From dd0e6e45c35133ec8a3e2886b7b050484b388d03 Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Fri, 22 Nov 2024 00:11:43 -0600 Subject: Initial commit --- flake.nix | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') 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; + }; + } + ); +} -- cgit v1.2.3