From 2a7b36213c1b8bc9e03466bd7b99fa96abfecd8f Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 26 Sep 2022 17:50:41 -0700 Subject: feat(naersk): use naersk to build packages with rust naersk makes it simple to build rust project in nix. For this to work, `mkSystem` and `mkHomeManagerConfiguration` needs to pass naersk to my overlays. I dropped the support to run the tools with `nix run .#tools...`: I don't use this in practice and it's not making things simpler. I dropped `nix-linter` from the check, it's reporting many errors without helping me to fix them. --- nix/mkHomeManagerConfiguration.nix | 10 ++++++++-- nix/mkSystem.nix | 12 +++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'nix') diff --git a/nix/mkHomeManagerConfiguration.nix b/nix/mkHomeManagerConfiguration.nix index bcf374a..70e875d 100644 --- a/nix/mkHomeManagerConfiguration.nix +++ b/nix/mkHomeManagerConfiguration.nix @@ -3,9 +3,11 @@ inputs@{ self, ... }: , username ? "fcuny" , hostname , stateVersion ? "22.05" -, extraModules ? [ ] , }: +let + naersk = inputs.naersk.lib."${system}"; +in inputs.home-manager.lib.homeManagerConfiguration { inherit system; inherit username; @@ -19,8 +21,12 @@ inputs.home-manager.lib.homeManagerConfiguration { overlays = [ inputs.emacs-overlay.overlay inputs.nur.overlay + inputs.naersk.overlay inputs.rust.overlays.default - (final: prev: { tools = import "${self}/tools" { pkgs = prev; }; }) + (final: prev: + { + tools = import "${self}/tools" { pkgs = prev; inherit naersk; }; + }) ]; }; configuration.imports = diff --git a/nix/mkSystem.nix b/nix/mkSystem.nix index 00b5664..4debbab 100644 --- a/nix/mkSystem.nix +++ b/nix/mkSystem.nix @@ -1,5 +1,8 @@ inputs@{ self, ... }: { system ? "x86_64-linux", hostname, }: +let + naersk = inputs.naersk.lib."${system}"; +in inputs.nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs system hostname; }; @@ -14,13 +17,12 @@ inputs.nixpkgs.lib.nixosSystem { overlays = [ inputs.nur.overlay inputs.rust.overlays.default - (final: prev: { tools = import "${self}/tools" { pkgs = prev; }; }) + (final: prev: + { + tools = import "${self}/tools" { pkgs = prev; inherit naersk; }; + }) ]; }; - # Add each input as a registry - nix.registry = inputs.nixpkgs.lib.mapAttrs' - (n: v: inputs.nixpkgs.lib.nameValuePair (n) ({ flake = v; })) - inputs; } ]; } -- cgit 1.4.1