diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..0b8ce6b --- /dev/null +++ b/flake.nix @@ -0,0 +1,49 @@ +{ + inputs.fenix = { + url = "github:nix-community/fenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = + { + self, + fenix, + flake-utils, + nixpkgs, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + toolchain = fenix.packages.${system}.stable.withComponents [ + "cargo" + "rustc" + "clippy" + ]; + rust = pkgs.makeRustPlatform { + cargo = toolchain; + rustc = toolchain; + }; + in + rec { + devShells.default = pkgs.mkShell { + inputsFrom = builtins.attrValues packages; + nativeBuildInputs = [ + pkgs.cargo-watch + pkgs.sqlx-cli + ]; + }; + + packages.default = + let + toml = builtins.fromTOML (builtins.readFile ./Cargo.toml); + in + rust.buildRustPackage { + pname = toml.package.name; + version = toml.package.version; + src = ./.; + cargoLock.lockFile = ./Cargo.lock; + }; + } + ); +} |