diff options
author | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2023-07-27 14:38:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-27 14:38:18 +0200 |
commit | 478c0fd0a450d887dbb6198d813d489832638aa1 (patch) | |
tree | e525acf0fd4f5a5b3263a41fcd1d8400fb14434f | |
parent | 445e6037e0c38daab0cb4649fde17b17ff8d840a (diff) | |
parent | 5950a71f62302fb8fa63ae53ae139f50cdff0e11 (diff) | |
download | nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar.gz nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar.bz2 nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar.lz nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar.xz nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.tar.zst nixpkgs-478c0fd0a450d887dbb6198d813d489832638aa1.zip |
Merge pull request #244487 from srid/nixci
nixci: init at 0.1.3
-rw-r--r-- | maintainers/maintainer-list.nix | 7 | ||||
-rw-r--r-- | pkgs/tools/nix/devour-flake/default.nix | 27 | ||||
-rw-r--r-- | pkgs/tools/nix/nixci/default.nix | 38 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
4 files changed, 78 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 08d54dbd861..79564e8a178 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15727,6 +15727,13 @@ githubId = 219362; name = "Sarah Brofeldt"; }; + srid = { + email = "srid@srid.ca"; + matrix = "@srid:matrix.org"; + github = "srid"; + githubId = 3998; + name = "Sridhar Ratnakumar"; + }; srounce = { name = "Samuel Rounce"; email = "me@samuelrounce.co.uk"; diff --git a/pkgs/tools/nix/devour-flake/default.nix b/pkgs/tools/nix/devour-flake/default.nix new file mode 100644 index 00000000000..a4248365355 --- /dev/null +++ b/pkgs/tools/nix/devour-flake/default.nix @@ -0,0 +1,27 @@ +{ writeShellApplication +, fetchFromGitHub +, nix +}: + +let + devour-flake = fetchFromGitHub { + owner = "srid"; + repo = "devour-flake"; + rev = "v2"; + hash = "sha256-CZedJtbZlWAbv/b/aYgOEFd9vcTBn/oJNI3p29UitLk="; + }; +in +writeShellApplication { + name = "devour-flake"; + runtimeInputs = [ nix ]; + text = '' + FLAKE="$1" + shift 1 || true + + nix build ${devour-flake}#default \ + "$@" \ + -L --no-link --print-out-paths \ + --override-input flake "$FLAKE" \ + | xargs cat + ''; +} diff --git a/pkgs/tools/nix/nixci/default.nix b/pkgs/tools/nix/nixci/default.nix new file mode 100644 index 00000000000..0d881d6976e --- /dev/null +++ b/pkgs/tools/nix/nixci/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv +, rustPlatform +, fetchCrate +, libiconv +, openssl +, pkg-config +, Security +, devour-flake +}: + +rustPlatform.buildRustPackage rec { + pname = "nixci"; + version = "0.1.3"; + + src = fetchCrate { + inherit version; + pname = "nixci"; + hash = "sha256-sM/1G1mf+msWbG4CX/pZNt4FmSKR2hWXdcq5h7W1AM0="; + }; + + cargoHash = "sha256-PKBNQKuWV4PE7iSKr+LugayroFjDBT4/vyyjJiw/E+I="; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libiconv openssl ] + ++ lib.optionals stdenv.isDarwin [ Security ]; + + # The rust program expects an environment (at build time) that points to the + # devour-flake executable. + DEVOUR_FLAKE = lib.getExe devour-flake; + + meta = with lib; { + description = "Define and build CI for Nix projects anywhere"; + homepage = "https://github.com/srid/nixci"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ srid ]; + mainProgram = "nixci"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21289fab607..df84821efaa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -577,6 +577,8 @@ with pkgs; dec-decode = callPackage ../development/tools/dec-decode { }; + devour-flake = callPackage ../tools/nix/devour-flake { }; + dnf5 = callPackage ../tools/package-management/dnf5 { }; dsq = callPackage ../tools/misc/dsq { }; @@ -40316,6 +40318,10 @@ with pkgs; alejandra = callPackage ../tools/nix/alejandra { }; + nixci = callPackage ../tools/nix/nixci { + inherit (darwin.apple_sdk.frameworks) Security; + }; + nixfmt = haskellPackages.nixfmt.bin; nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { }; |