From 150afcb24029418f77b00b5910b0a9447fa71e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 15 May 2022 07:48:48 +0200 Subject: [PATCH] move all nix expressions to pkgs --- default.nix | 40 ++++++--------------------- flake.nix | 2 +- pkgs/cross-build.nix | 14 ++++++++++ pkgs/lint.nix | 13 +++++++++ pkgs/sops-pgp-hook-test.nix | 11 ++++++++ unit-tests.nix => pkgs/unit-tests.nix | 2 +- 6 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 pkgs/cross-build.nix create mode 100644 pkgs/lint.nix create mode 100644 pkgs/sops-pgp-hook-test.nix rename unit-tests.nix => pkgs/unit-tests.nix (94%) diff --git a/default.nix b/default.nix index 22de563..4252a3e 100644 --- a/default.nix +++ b/default.nix @@ -16,42 +16,18 @@ in rec { inherit (pkgs) ssh-to-pgp; # used in the CI only - sops-pgp-hook-test = pkgs.buildGoModule { - name = "sops-pgp-hook-test"; - src = ./.; + sops-pgp-hook-test = pkgs.callPackage ./pkgs/sops-pgp-hook-test.nix { inherit vendorSha256; - buildPhase = '' - go test -c ./pkgs/sops-pgp-hook - install -D sops-pgp-hook.test $out/bin/sops-pgp-hook.test - ''; }; - unit-tests = pkgs.callPackage ./unit-tests.nix {}; + unit-tests = pkgs.callPackage ./pkgs/unit-tests.nix {}; } // (pkgs.lib.optionalAttrs pkgs.stdenv.isLinux { inherit sops-install-secrets; - lint = sops-install-secrets.overrideAttrs (old: { - name = "golangci-lint"; - nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.golangci-lint ]; - buildPhase = '' - HOME=$TMPDIR golangci-lint run --timeout 360s - ''; - doCheck = false; - installPhase = '' - touch $out $unittest - ''; - fixupPhase = ":"; - }); + lint = pkgs.callPackage ./pkgs/lint.nix { + inherit sops-install-secrets; + }; - cross-build = sops-install-secrets.overrideAttrs (old: { - name = "cross-build"; - nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gox ]; - buildPhase = '' - (cd pkgs/sops-install-secrets && gox -os linux) - ''; - doCheck = false; - installPhase = '' - touch $out $unittest - ''; - fixupPhase = ":"; - }); + cross-build = pkgs.callPackage ./pkgs/cross-build.nix { + inherit sops-install-secrets; + }; }) diff --git a/flake.nix b/flake.nix index 5991bff..a1c819c 100644 --- a/flake.nix +++ b/flake.nix @@ -40,7 +40,7 @@ nixpkgs.legacyPackages.${system}.callPackage ./shell.nix {} ); devShells = forAllSystems (system: { - unit-tests = nixpkgs.legacyPackages.${system}.callPackage ./unit-tests.nix {}; + unit-tests = nixpkgs.legacyPackages.${system}.callPackage ./pkgs/unit-tests.nix {}; }); }; } diff --git a/pkgs/cross-build.nix b/pkgs/cross-build.nix new file mode 100644 index 0000000..5ad27b9 --- /dev/null +++ b/pkgs/cross-build.nix @@ -0,0 +1,14 @@ +{ sops-install-secrets, gox }: + +sops-install-secrets.overrideAttrs (old: { + name = "cross-build"; + nativeBuildInputs = old.nativeBuildInputs ++ [ gox ]; + buildPhase = '' + (cd pkgs/sops-install-secrets && gox -os linux) + ''; + doCheck = false; + installPhase = '' + touch $out $unittest + ''; + fixupPhase = ":"; +}) diff --git a/pkgs/lint.nix b/pkgs/lint.nix new file mode 100644 index 0000000..f14d1d8 --- /dev/null +++ b/pkgs/lint.nix @@ -0,0 +1,13 @@ +{ sops-install-secrets, golangci-lint }: +sops-install-secrets.overrideAttrs (old: { + name = "golangci-lint"; + nativeBuildInputs = old.nativeBuildInputs ++ [ golangci-lint ]; + buildPhase = '' + HOME=$TMPDIR golangci-lint run --timeout 360s + ''; + doCheck = false; + installPhase = '' + touch $out $unittest + ''; + fixupPhase = ":"; +}) diff --git a/pkgs/sops-pgp-hook-test.nix b/pkgs/sops-pgp-hook-test.nix new file mode 100644 index 0000000..75f809d --- /dev/null +++ b/pkgs/sops-pgp-hook-test.nix @@ -0,0 +1,11 @@ +{ buildGoModule, vendorSha256 }: + +buildGoModule { + name = "sops-pgp-hook-test"; + src = ../.; + inherit vendorSha256; + buildPhase = '' + go test -c ./pkgs/sops-pgp-hook + install -D sops-pgp-hook.test $out/bin/sops-pgp-hook.test + ''; +} diff --git a/unit-tests.nix b/pkgs/unit-tests.nix similarity index 94% rename from unit-tests.nix rename to pkgs/unit-tests.nix index 20029a7..e0c9f8b 100644 --- a/unit-tests.nix +++ b/pkgs/unit-tests.nix @@ -1,7 +1,7 @@ { pkgs ? import {} }: let - sopsPkgs = import ./. { inherit pkgs; }; + sopsPkgs = import ../. { inherit pkgs; }; in pkgs.stdenv.mkDerivation { name = "env"; nativeBuildInputs = with pkgs; [