diff --git a/backend/flake.lock b/backend/flake.lock index fd477dd..da663de 100644 --- a/backend/flake.lock +++ b/backend/flake.lock @@ -22,6 +22,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "naersk": { "inputs": { "fenix": "fenix", @@ -59,11 +77,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1757487488, + "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", "type": "github" }, "original": { @@ -75,6 +93,7 @@ }, "root": { "inputs": { + "flake-utils": "flake-utils", "naersk": "naersk", "nixpkgs": "nixpkgs_2" } @@ -95,6 +114,21 @@ "repo": "rust-analyzer", "type": "github" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/backend/flake.nix b/backend/flake.nix index 998a32d..18a6d66 100644 --- a/backend/flake.nix +++ b/backend/flake.nix @@ -1,44 +1,52 @@ { - description = "lead-rust"; + description = "lead"; inputs = { naersk.url = "github:nix-community/naersk"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, naersk, nixpkgs, - }: let - system = "x86_64-linux"; - pkgs = import nixpkgs {inherit system;}; - naerskLib = pkgs.callPackage naersk {}; - buildInputs = [pkgs.openssl]; - nativeBuildInputs = [pkgs.pkg-config]; - in { - packages.${system}.default = naerskLib.buildPackage { - src = ./.; - buildInputs = buildInputs; - nativeBuildInputs = nativeBuildInputs; - }; + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: let + pkgs = import nixpkgs { + inherit system; + }; + naerskLib = pkgs.callPackage naersk {}; + buildInputs = [pkgs.openssl]; + nativeBuildInputs = [pkgs.pkg-config]; + lead = naerskLib.buildPackage { + src = ./.; + buildInputs = buildInputs; + nativeBuildInputs = nativeBuildInputs; + }; + in { + packages.default = lead; - devShells.${system}.default = pkgs.mkShell { - inputsFrom = [self.packages.${system}.default]; + devShells.default = pkgs.mkShell { + inputsFrom = [lead]; - packages = with pkgs; [ - rustc - cargo - rustfmt - rust-analyzer - zsh - ]; + packages = with pkgs; [ + rustc + cargo + rustfmt + rust-analyzer + zsh + ]; - shellHook = '' - export SHELL=${pkgs.zsh}/bin/zsh - # jump into zsh if we didn't already start in it - [ -z "$ZSH_VERSION" ] && exec ${pkgs.zsh}/bin/zsh -l - ''; - }; - }; + shellHook = '' + export SHELL=${pkgs.zsh}/bin/zsh + # jump into zsh if we didn't already start in it + [ -z "$ZSH_VERSION" ] && exec ${pkgs.zsh}/bin/zsh -l + ''; + }; + } + ); }