summaryrefslogtreecommitdiff
path: root/templates/basic
diff options
context:
space:
mode:
authorseth <[email protected]>2023-08-30 13:13:21 -0400
committerseth <[email protected]>2023-08-30 13:17:40 -0400
commit584fab5b00d5d6016ba11a30c8e31a6314a5ce65 (patch)
tree1e7abb71f4715dca2b916a5ab4df098d31104bd6 /templates/basic
parent99e97b17e9b4e4f3d655aab9822402cb8545331e (diff)
refactor: don't instantiate nixpkgs
https://zimbatm.com/notes/1000-instances-of-nixpkgs
Diffstat (limited to 'templates/basic')
-rw-r--r--templates/basic/default.nix25
-rw-r--r--templates/basic/flake.nix35
2 files changed, 33 insertions, 27 deletions
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);
};
}