{ description = "knot-static: read-only static Tangled knot (nginx + immutable files)"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, fenix, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; rustPlatform = pkgs.makeRustPlatform { inherit (fenix.packages.${system}.stable) rustc cargo; }; in { packages.knot-static = rustPlatform.buildRustPackage { pname = "knot-static"; version = "2.0.0"; src = self; cargoLock.lockFile = ./Cargo.lock; nativeBuildInputs = [ pkgs.cmake pkgs.perl pkgs.pkg-config ]; doCheck = false; meta.mainProgram = "knot-static"; }; packages.default = self.packages.${system}.knot-static; devShells.default = pkgs.mkShell { packages = [ (fenix.packages.${system}.stable.toolchain) pkgs.cmake pkgs.perl pkgs.pkg-config ]; }; }); }