From 584fab5b00d5d6016ba11a30c8e31a6314a5ce65 Mon Sep 17 00:00:00 2001 From: seth Date: Wed, 30 Aug 2023 13:13:21 -0400 Subject: refactor: don't instantiate nixpkgs https://zimbatm.com/notes/1000-instances-of-nixpkgs --- templates/basic/default.nix | 25 +++++++++++++++++++++++++ templates/basic/flake.nix | 35 ++++++++--------------------------- 2 files changed, 33 insertions(+), 27 deletions(-) create mode 100644 templates/basic/default.nix (limited to 'templates') diff --git a/templates/basic/default.nix b/templates/basic/default.nix new file mode 100644 index 0000000..5d0e6a1 --- /dev/null +++ b/templates/basic/default.nix @@ -0,0 +1,25 @@ +{ + lib, + stdenv, + self, + version, + ... +}: +stdenv.mkDerivation { + pname = "hello"; + inherit version; + + src = self; + + installPhase = '' + echo "hi" > $out + ''; + + meta = with lib; { + description = ""; + homepage = ""; + license = licenses.mit; + maintainers = [maintainers.getchoo]; + platforms = platforms.linux; + }; +} diff --git a/templates/basic/flake.nix b/templates/basic/flake.nix index 32fd25b..17943a8 100644 --- a/templates/basic/flake.nix +++ b/templates/basic/flake.nix @@ -10,6 +10,7 @@ nixpkgs, ... }: let + inherit (nixpkgs) lib; version = builtins.substring 0 8 self.lastModifiedDate or "dirty"; systems = [ @@ -19,14 +20,13 @@ "aarch64-darwin" ]; - genSystems = nixpkgs.lib.genAttrs systems; - nixpkgsFor = genSystems (system: - import nixpkgs { - inherit system; - overlays = [self.overlays.default]; - }); - + genSystems = lib.genAttrs systems; + nixpkgsFor = genSystems (sys: nixpkgs.legacyPackages.${sys}); forAllSystems = fn: genSystems (sys: fn nixpkgsFor.${sys}); + + packageFn = pkgs: { + hello = pkgs.callPackage ./default.nix {inherit self version;}; + }; in { devShells = forAllSystems (pkgs: { default = pkgs.mkShell { @@ -43,25 +43,6 @@ default = pkgs.hello; }); - overlays.default = _: prev: { - hello = prev.stdenv.mkDerivation { - pname = "hello"; - inherit version; - - src = self; - - installPhase = '' - echo "hi" > $out - ''; - - meta = with prev.lib; { - description = ""; - homepage = ""; - license = licenses.mit; - maintainers = [maintainers.getchoo]; - platforms = platforms.linux; - }; - }; - }; + overlays.default = _: prev: (packageFn prev); }; } -- cgit v1.2.3