diff options
Diffstat (limited to 'templates/full/nix')
| -rw-r--r-- | templates/full/nix/default.nix | 6 | ||||
| -rw-r--r-- | templates/full/nix/flake/default.nix | 43 | ||||
| -rw-r--r-- | templates/full/nix/packages/default.nix | 23 | ||||
| -rw-r--r-- | templates/full/nix/packages/hello.nix | 29 |
4 files changed, 101 insertions, 0 deletions
diff --git a/templates/full/nix/default.nix b/templates/full/nix/default.nix new file mode 100644 index 0000000..4b52983 --- /dev/null +++ b/templates/full/nix/default.nix @@ -0,0 +1,6 @@ +_: { + imports = [ + ./packages + ./flake + ]; +} diff --git a/templates/full/nix/flake/default.nix b/templates/full/nix/flake/default.nix new file mode 100644 index 0000000..4402a16 --- /dev/null +++ b/templates/full/nix/flake/default.nix @@ -0,0 +1,43 @@ +{ + inputs, + self, + ... +}: { + perSystem = { + pkgs, + system, + ... + }: { + checks = { + pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { + src = builtins.path { + name = "flake-src"; + path = ../../.; + }; + + hooks = { + alejandra.enable = true; + deadnix.enable = true; + nil.enable = true; + statix.enable = true; + }; + }; + }; + + devShells = let + inherit (pkgs) mkShell; + in { + default = mkShell { + inherit (self.checks.${system}.pre-commit-check) shellHook; + packages = with pkgs; [ + alejandra + deadnix + nil + statix + ]; + }; + }; + + formatter = pkgs.alejandra; + }; +} diff --git a/templates/full/nix/packages/default.nix b/templates/full/nix/packages/default.nix new file mode 100644 index 0000000..78e10db --- /dev/null +++ b/templates/full/nix/packages/default.nix @@ -0,0 +1,23 @@ +{self, ...}: let + version = builtins.substring 0 8 self.lastModifiedDate; + + packageFn = pkgs: { + hello = pkgs.callPackage ./hello.nix {inherit version;}; + }; +in { + systems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + flake.overlays = final: _: packageFn final; + + perSystem = {pkgs, ...}: { + packages = let + p = packageFn pkgs; + in + p // {default = p.hello;}; + }; +} diff --git a/templates/full/nix/packages/hello.nix b/templates/full/nix/packages/hello.nix new file mode 100644 index 0000000..30cfc8d --- /dev/null +++ b/templates/full/nix/packages/hello.nix @@ -0,0 +1,29 @@ +{ + lib, + stdenv, + version, + ... +}: let + inherit (lib) licenses maintainers platforms; +in + stdenv.mkDerivation rec { + pname = "hello"; + inherit version; + + src = builtins.path { + name = "${pname}-src"; + path = ./.; + }; + + installPhase = '' + echo "hi" > $out + ''; + + meta = { + description = ""; + homepage = ""; + license = licenses.mit; + maintainers = [maintainers.getchoo]; + platforms = platforms.linux; + }; + } |
