From 12d73fb3871cc03befa6ab4b97617fbfb23b788f Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Tue, 5 May 2026 00:56:04 +0300 Subject: [PATCH 1/5] yadm: add myself as maintainer --- pkgs/by-name/ya/yadm/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ya/yadm/package.nix b/pkgs/by-name/ya/yadm/package.nix index 4ff69e0faaff..cac71480a38b 100644 --- a/pkgs/by-name/ya/yadm/package.nix +++ b/pkgs/by-name/ya/yadm/package.nix @@ -135,7 +135,10 @@ resholve.mkDerivation (finalAttrs: { ''; changelog = "https://github.com/yadm-dev/yadm/blob/${finalAttrs.version}/CHANGES"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ abathur ]; + maintainers = with lib.maintainers; [ + abathur + sandarukasa + ]; platforms = lib.platforms.unix; mainProgram = "yadm"; }; From ddeae20607fa53a95e309ec9719b120d3444974c Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Tue, 5 May 2026 00:56:04 +0300 Subject: [PATCH 2/5] yadm: allow omitting some dependencies --- pkgs/by-name/ya/yadm/package.nix | 49 +++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/pkgs/by-name/ya/yadm/package.nix b/pkgs/by-name/ya/yadm/package.nix index cac71480a38b..a3423c51e99b 100644 --- a/pkgs/by-name/ya/yadm/package.nix +++ b/pkgs/by-name/ya/yadm/package.nix @@ -26,8 +26,19 @@ installShellFiles, runCommand, yadm, -}: + # Templates: + withAwk ? true, + withEsh ? true, + withJ2 ? true, + + # Encryption: + withGpg ? true, + withOpenssl ? true, +}: +let + withTar = withGpg || withOpenssl; +in resholve.mkDerivation (finalAttrs: { pname = "yadm"; version = "3.5.0"; @@ -62,32 +73,32 @@ resholve.mkDerivation (finalAttrs: { scripts = [ "bin/yadm" ]; interpreter = "${bash}/bin/sh"; inputs = [ + bash + coreutils git - gnupg - openssl - gawk # see head comment # git-crypt # transcrypt - j2cli - esh - bash - coreutils - gnutar - ]; + ] + ++ lib.optional withGpg gnupg + ++ lib.optional withOpenssl openssl + ++ lib.optional withAwk gawk + ++ lib.optional withJ2 j2cli + ++ lib.optional withEsh esh + ++ lib.optional withTar gnutar; fake = { - external = if stdenv.hostPlatform.isCygwin then [ ] else [ "cygpath" ]; + external = lib.optional (!stdenv.hostPlatform.isCygwin) "cygpath" ++ lib.optional (!withTar) "tar"; }; fix = { - "$GPG_PROGRAM" = [ "gpg" ]; - "$OPENSSL_PROGRAM" = [ "openssl" ]; "$GIT_PROGRAM" = [ "git" ]; - "$AWK_PROGRAM" = [ "awk" ]; + "$GPG_PROGRAM" = lib.optional withGpg "gpg"; + "$OPENSSL_PROGRAM" = lib.optional withOpenssl "openssl"; + "$AWK_PROGRAM" = lib.optional withAwk "awk"; # see head comment # "$GIT_CRYPT_PROGRAM" = [ "git-crypt" ]; # "$TRANSCRYPT_PROGRAM" = [ "transcrypt" ]; - "$J2CLI_PROGRAM" = [ "j2" ]; - "$ESH_PROGRAM" = [ "esh" ]; + "$J2CLI_PROGRAM" = lib.optional withJ2 "j2"; + "$ESH_PROGRAM" = lib.optional withEsh "esh"; # not in nixpkgs (yet) # "$ENVTPL_PROGRAM" = [ "envtpl" ]; # "$LSB_RELEASE_PROGRAM" = [ "lsb_release" ]; @@ -100,6 +111,12 @@ resholve.mkDerivation (finalAttrs: { "$hook_command" = true; # ~git hooks? "exec" = [ "$YADM_BOOTSTRAP" ]; # yadm bootstrap script + "$GPG_PROGRAM" = !withGpg; + "$OPENSSL_PROGRAM" = !withOpenssl; + "$AWK_PROGRAM" = !withAwk; + "$J2CLI_PROGRAM" = !withJ2; + "$ESH_PROGRAM" = !withEsh; + # not in nixpkgs "$ENVTPL_PROGRAM" = true; "$LSB_RELEASE_PROGRAM" = true; From 879fd04e82db5294110a45e1d58d765a3bad22c0 Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Sat, 16 May 2026 18:49:51 +0300 Subject: [PATCH 3/5] yadmMinimal: init --- pkgs/by-name/ya/yadmMinimal/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 pkgs/by-name/ya/yadmMinimal/package.nix diff --git a/pkgs/by-name/ya/yadmMinimal/package.nix b/pkgs/by-name/ya/yadmMinimal/package.nix new file mode 100644 index 000000000000..7554c12469d1 --- /dev/null +++ b/pkgs/by-name/ya/yadmMinimal/package.nix @@ -0,0 +1,10 @@ +{ + yadm, +}: +yadm.override { + withAwk = false; + withEsh = false; + withJ2 = false; + withGpg = false; + withOpenssl = false; +} From 0a1bf9d0abb878ab91f50a697bd47e891026b021 Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Sat, 16 May 2026 19:05:28 +0300 Subject: [PATCH 4/5] resholve.mkDerivation: propagate `strictDeps` & `__structuredAttrs` --- pkgs/development/misc/resholve/resholve-utils.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/misc/resholve/resholve-utils.nix b/pkgs/development/misc/resholve/resholve-utils.nix index e9350ed08e29..648de4bddea7 100644 --- a/pkgs/development/misc/resholve/resholve-utils.nix +++ b/pkgs/development/misc/resholve/resholve-utils.nix @@ -287,8 +287,7 @@ rec { postFixup = unresholved.postResholve; - # don't break the metadata... - meta = unresholved.meta; + inherit (unresholved) meta strictDeps __structuredAttrs; }; }; } From 795bc3c27d1060fbee3f1b1c2ff17bffaf2e7276 Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Sat, 16 May 2026 19:12:41 +0300 Subject: [PATCH 5/5] yadm: set `strictDeps` & `__structuredAttrs` to true --- pkgs/by-name/ya/yadm/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ya/yadm/package.nix b/pkgs/by-name/ya/yadm/package.nix index a3423c51e99b..09a35130fb86 100644 --- a/pkgs/by-name/ya/yadm/package.nix +++ b/pkgs/by-name/ya/yadm/package.nix @@ -43,6 +43,9 @@ resholve.mkDerivation (finalAttrs: { pname = "yadm"; version = "3.5.0"; + strictDeps = true; + __structuredAttrs = true; + nativeBuildInputs = [ installShellFiles ]; src = fetchFromGitHub {