summaryrefslogtreecommitdiff
path: root/templates/full/nix
diff options
context:
space:
mode:
Diffstat (limited to 'templates/full/nix')
-rw-r--r--templates/full/nix/default.nix17
-rw-r--r--templates/full/nix/dev.nix12
-rw-r--r--templates/full/nix/packages.nix24
-rw-r--r--templates/full/nix/pkgs/default.nix24
-rw-r--r--templates/full/nix/pkgs/hello.nix25
5 files changed, 32 insertions, 70 deletions
diff --git a/templates/full/nix/default.nix b/templates/full/nix/default.nix
deleted file mode 100644
index 2033702..0000000
--- a/templates/full/nix/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-_: {
- imports = [
- ./dev.nix
- ./pkgs
- ];
-
- systems = [
- "x86_64-linux"
- "aarch64-linux"
- "x86_64-darwin"
- "aarch64-darwin"
- ];
-
- perSystem = {pkgs, ...}: {
- formatter = pkgs.alejandra;
- };
-}
diff --git a/templates/full/nix/dev.nix b/templates/full/nix/dev.nix
index 508e3d6..e3197ff 100644
--- a/templates/full/nix/dev.nix
+++ b/templates/full/nix/dev.nix
@@ -1,9 +1,10 @@
-{self, ...}: {
+{
perSystem = {
- config,
pkgs,
+ config,
+ self',
...
- } @ args: {
+ }: {
pre-commit = {
settings.hooks = {
alejandra.enable = true;
@@ -16,13 +17,16 @@
devShells = {
default = pkgs.mkShell {
shellHook = config.pre-commit.installationScript;
+
packages = with pkgs; [
- self.formatter.${args.system}
+ self'.formatter
deadnix
nil
statix
];
};
};
+
+ formatter = pkgs.alejandra;
};
}
diff --git a/templates/full/nix/packages.nix b/templates/full/nix/packages.nix
new file mode 100644
index 0000000..8b23ea7
--- /dev/null
+++ b/templates/full/nix/packages.nix
@@ -0,0 +1,24 @@
+{self, ...}: {
+ flake.overlays.default = _: prev: {
+ foo = prev.callPackage ./derivation.nix {inherit self;};
+ };
+
+ perSystem = {
+ lib,
+ pkgs,
+ ...
+ }: {
+ package = let
+ fixup = lib.filterAttrs (
+ _: v:
+ builtins.elem (v.meta.platforms or []) && !(v.meta.broken or false)
+ );
+
+ unfiltered = lib.fix (final: self.overlays.default final pkgs);
+ pkgs' = fixup unfiltered;
+ in {
+ inherit (pkgs') foo;
+ default = pkgs'.foo;
+ };
+ };
+}
diff --git a/templates/full/nix/pkgs/default.nix b/templates/full/nix/pkgs/default.nix
deleted file mode 100644
index 2bc2a93..0000000
--- a/templates/full/nix/pkgs/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- self,
- inputs,
- ...
-}: let
- version = builtins.substring 0 8 self.lastModifiedDate or "dirty";
-
- filterPkgs =
- inputs.nixpkgs.lib.filterAttrs (_: v:
- builtins.elem (v.meta.platforms or []) && !(v.meta.broken or false));
-
- packageFn = pkgs: {
- hello = pkgs.callpackage ./hello.nix {inherit self version;};
- };
-in {
- flake.overlays = _: prev: (packageFn prev);
-
- perSystem = {pkgs, ...}: {
- packages = let
- p = filterPkgs (packageFn pkgs);
- in
- p // {default = p.hello;};
- };
-}
diff --git a/templates/full/nix/pkgs/hello.nix b/templates/full/nix/pkgs/hello.nix
deleted file mode 100644
index 1e2ec12..0000000
--- a/templates/full/nix/pkgs/hello.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- lib,
- stdenv,
- self,
- version,
- ...
-}:
-stdenv.mkDerivation {
- pname = "hello";
- inherit version;
-
- src = lib.cleanSource self;
-
- installPhase = ''
- echo "hi" > $out
- '';
-
- meta = with lib; {
- description = "";
- homepage = "";
- license = licenses.mit;
- maintainers = [maintainers.getchoo];
- platforms = platforms.linux;
- };
-}