diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-11-04 20:29:45 +0100 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-11-05 22:47:43 +0100 |
| commit | 26b46c743994788550ca90b916c6359c855bbba7 (patch) | |
| tree | 14ccdd3e9637ee82415268413da6923b7437070b | |
| parent | pkgs/rollup: Finish first mvp (diff) | |
| download | nixos-config-26b46c743994788550ca90b916c6359c855bbba7.zip | |
pkgs/rollup: Actually also parse renames in patches
| -rw-r--r-- | pkgs/by-name/ro/rollup/patches2/0001-add | 21 | ||||
| -rw-r--r-- | pkgs/by-name/ro/rollup/patches2/0002-changes | 391 | ||||
| -rw-r--r-- | pkgs/by-name/ro/rollup/patches2/0004-rename | 278 | ||||
| -rw-r--r-- | pkgs/by-name/ro/rollup/patches2/0006-remove | 145 | ||||
| -rw-r--r-- | pkgs/by-name/ro/rollup/src/main.rs | 23 | ||||
| -rw-r--r-- | pkgs/by-name/ro/rollup/src/parse.rs | 53 |
6 files changed, 61 insertions, 850 deletions
diff --git a/pkgs/by-name/ro/rollup/patches2/0001-add b/pkgs/by-name/ro/rollup/patches2/0001-add deleted file mode 100644 index 0d9213b6..00000000 --- a/pkgs/by-name/ro/rollup/patches2/0001-add +++ /dev/null @@ -1,21 +0,0 @@ -From 60e073a216a039cc49f35db9d26ecc60c7e3feb9 Mon Sep 17 00:00:00 2001 -From: Benedikt Peetz <benedikt.peetz@b-peetz.de> -Date: Mon, 2 Nov 2026 15:03:48 +0100 -Subject: [PATCH 1/7] hosts/apzu: Add host.toml - ---- - hosts/by-name/apzu/host.toml | 2 ++ - 1 file changed, 2 insertions(+) - create mode 100644 hosts/by-name/apzu/host.toml - -diff --git a/hosts/by-name/apzu/host.toml b/hosts/by-name/apzu/host.toml -new file mode 100644 -index 00000000..9e975618 ---- /dev/null -+++ b/hosts/by-name/apzu/host.toml -@@ -0,0 +1,2 @@ -+hostname = "apzu.fritzbox.com" -+nixpkgs = "unstable" --- -2.55.0 - diff --git a/pkgs/by-name/ro/rollup/patches2/0002-changes b/pkgs/by-name/ro/rollup/patches2/0002-changes deleted file mode 100644 index c231408f..00000000 --- a/pkgs/by-name/ro/rollup/patches2/0002-changes +++ /dev/null @@ -1,391 +0,0 @@ -From 4f492b1253fb14354068a04e6ca37889e1c6b773 Mon Sep 17 00:00:00 2001 -From: Benedikt Peetz <benedikt.peetz@b-peetz.de> -Date: Mon, 2 Nov 2026 15:05:07 +0100 -Subject: [PATCH 2/7] treewide: Use `extra_modules` to import dependency - modules - ---- - flake.nix | 28 ++++++++++++------- - .../tiamat/legacy-disk-module/module.nix | 4 +-- - hosts/default.nix | 19 ++++++------- - modules/by-name/ag/age/module.nix | 4 +-- - modules/by-name/bo/boot/module.nix | 6 ++-- - modules/by-name/di/disks/module.nix | 4 +-- - modules/by-name/ho/home-manager/module.nix | 4 +-- - modules/by-name/im/impermanence/module.nix | 4 +-- - modules/by-name/ni/nix-index/module.nix | 4 +-- - modules/by-name/nv/nvim/module.nix | 4 +-- - tests/default.nix | 23 ++++++--------- - tests/old/by-name/nv/nvim-neorg/test.nix | 4 +-- - tests/old/infrastructure/default.nix | 2 +- - 13 files changed, 55 insertions(+), 55 deletions(-) - -diff --git a/flake.nix b/flake.nix -index 9e306ef7..860ce277 100644 ---- a/flake.nix -+++ b/flake.nix -@@ -24,14 +24,22 @@ - lib = packageSets.unstable.lib; - extra_lib = raw_sources.library.nixLib; - -- extra_modules = [ -- sources.agenix.nixosModules.default -- sources.turtle.nixosModules.nixos -- sources.disko.nixosModules.default -- sources.impermanence.nixosModules.impermanence -- sources.simple-nixos-mailserver.nixosModule -- sources.rocie.nixosModules.default -- ]; -+ extra_modules = { -+ nixos = { -+ agenix = sources.agenix.nixosModules.default; -+ turtle = sources.turtle.nixosModules.nixos; -+ disko = sources.disko.nixosModules.default; -+ impermanence = sources.impermanence.nixosModules.impermanence; -+ simple-nixos-mailserver = sources.simple-nixos-mailserver.nixosModule; -+ rocie = sources.rocie.nixosModules.default; -+ home-manager = sources.home-manager.nixosModules.home-manager; -+ lanzaboote = sources.lanzaboote.nixosModules.lanzaboote; -+ }; -+ home = { -+ nix-index-database = sources.nix-index-database.homeModules.nix-index; -+ nixvim = sources.nixvim.homeManagerModule; -+ }; -+ }; - module_args = { - inherit - sources -@@ -48,6 +56,7 @@ - # Needs to be a special argument, because it is used for determining the `imports` - # value (via `mkByName`). - extra_lib -+ extra_modules - ; - }; - -@@ -64,7 +73,6 @@ - extra_lib - module_args - special_args -- extra_modules - system - ; - inherit -@@ -78,7 +86,7 @@ - deployChecks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) sources.deploy-rs.lib; - tests = lib.attrsets.filterAttrs (_: v: !(v ? meta && v.meta.broken)) (import ./tests - { -- inherit sources packageSets extra_modules module_args special_args extra_lib; -+ inherit sources packageSets module_args special_args extra_lib; - }); - # myPkgsFlat = - # builtins.listToAttrs -diff --git a/hosts/by-name/tiamat/legacy-disk-module/module.nix b/hosts/by-name/tiamat/legacy-disk-module/module.nix -index 955d2026..8c49f6eb 100644 ---- a/hosts/by-name/tiamat/legacy-disk-module/module.nix -+++ b/hosts/by-name/tiamat/legacy-disk-module/module.nix -@@ -11,7 +11,7 @@ - config, - lib, - pkgs, -- modules, -+ extra_modules, - ... - }: let - # FIXME: The iso redeploy requires a bigger efi partition <2024-05-12> -@@ -48,7 +48,7 @@ in { - }; - - imports = [ -- modules.disko.nixosModules.default -+ extra_modules.nixos.disko - ]; - - config = lib.mkIf cfg.enable { -diff --git a/hosts/default.nix b/hosts/default.nix -index 4a3d52fc..4f5d2982 100644 ---- a/hosts/default.nix -+++ b/hosts/default.nix -@@ -2,7 +2,6 @@ - self, - extra_lib, - module_args, -- extra_modules, - special_args, - nixpkgs-stable, - nixpkgs-unstable, -@@ -24,17 +23,15 @@ - in - nixpkgs.lib.nixosSystem { - specialArgs = special_args; -- modules = -- extra_modules -- ++ [ -- { -- _module.args = module_args; -- } -- path -+ modules = [ -+ { -+ _module.args = module_args; -+ } -+ path - -- ../modules -- # ../modules/common -- ]; -+ ../modules -+ # ../modules/common -+ ]; - }; - mkDeployHost = name: path: let - host_file = builtins.fromTOML (builtins.readFile path + "/host.toml"); -diff --git a/modules/by-name/ag/age/module.nix b/modules/by-name/ag/age/module.nix -index 9a498ab6..6eb0f9c4 100644 ---- a/modules/by-name/ag/age/module.nix -+++ b/modules/by-name/ag/age/module.nix -@@ -1,7 +1,7 @@ - { - config, - lib, -- modules, -+ extra_modules, - pkgs, - ... - }: let -@@ -12,7 +12,7 @@ in { - }; - - imports = [ -- modules.agenix.nixosModules.default -+ extra_modules.nixos.agenix - ]; - - config = lib.mkIf cfg.enable { -diff --git a/modules/by-name/bo/boot/module.nix b/modules/by-name/bo/boot/module.nix -index 86ad58da..8d3cbe5f 100644 ---- a/modules/by-name/bo/boot/module.nix -+++ b/modules/by-name/bo/boot/module.nix -@@ -11,7 +11,7 @@ - config, - lib, - pkgs, -- modules, -+ extra_modules, - modulesPath, - system, - specialArgs, -@@ -94,7 +94,7 @@ in { - }; - - imports = [ -- modules.lanzaboote.nixosModules.lanzaboote -+ extra_modules.nixos.lanzaboote - ]; - - config = lib.mkIf cfg.enable { -@@ -130,7 +130,7 @@ in { - lanzabooteInstallHook = import "${modulesPath}/../lib/eval-config.nix" { - inherit system specialArgs; - modules = [ -- modules.lanzaboote.nixosModules.lanzaboote -+ extra_modules.nixos.lanzaboote - - { - # Copy the relevant config into the eval-module context. -diff --git a/modules/by-name/di/disks/module.nix b/modules/by-name/di/disks/module.nix -index ed5c939a..0a46c402 100644 ---- a/modules/by-name/di/disks/module.nix -+++ b/modules/by-name/di/disks/module.nix -@@ -11,7 +11,7 @@ - config, - lib, - pkgs, -- modules, -+ extra_modules, - ... - }: let - cfg = config.soispha.disks; -@@ -42,7 +42,7 @@ in { - }; - - imports = [ -- modules.disko.nixosModules.default -+ extra_modules.nixos.disko - ]; - - config = lib.mkIf cfg.enable { -diff --git a/modules/by-name/ho/home-manager/module.nix b/modules/by-name/ho/home-manager/module.nix -index d7eccbd6..e20cfa6d 100644 ---- a/modules/by-name/ho/home-manager/module.nix -+++ b/modules/by-name/ho/home-manager/module.nix -@@ -11,7 +11,7 @@ - config, - lib, - system, -- modules, -+ extra_modules, - ... - }: let - cfg = config.soispha.home-manager; -@@ -21,7 +21,7 @@ in { - }; - - imports = [ -- modules.home-manager.nixosModules.home-manager -+ extra_modules.nixos.home-manager - ]; - - # TODO: Find a way to throw this error below, when a user `enable`s a home-manager -diff --git a/modules/by-name/im/impermanence/module.nix b/modules/by-name/im/impermanence/module.nix -index 0fbd7425..0de6f3e6 100644 ---- a/modules/by-name/im/impermanence/module.nix -+++ b/modules/by-name/im/impermanence/module.nix -@@ -1,7 +1,7 @@ - { - config, - lib, -- modules, -+ extra_modules, - ... - }: let - cfg = config.vhack.persist; -@@ -46,7 +46,7 @@ in { - }; - - imports = [ -- modules.impermanence.nixosModules.impermanence -+ extra_modules.nixos.impermanence - ]; - - config = lib.mkIf cfg.enable { -diff --git a/modules/by-name/ni/nix-index/module.nix b/modules/by-name/ni/nix-index/module.nix -index 72be6b52..269c6f95 100644 ---- a/modules/by-name/ni/nix-index/module.nix -+++ b/modules/by-name/ni/nix-index/module.nix -@@ -10,7 +10,7 @@ - { - config, - lib, -- modules, -+ extra_modules, - ... - }: let - cfg = config.soispha.programs.nix-index; -@@ -27,7 +27,7 @@ in { - - home-manager.users.soispha = { - imports = [ -- modules.nix-index-database.homeModules.nix-index -+ extra_modules.home.nix-index-database - ]; - - programs.nix-index = { -diff --git a/modules/by-name/nv/nvim/module.nix b/modules/by-name/nv/nvim/module.nix -index f6f9ba95..f6e2162e 100644 ---- a/modules/by-name/nv/nvim/module.nix -+++ b/modules/by-name/nv/nvim/module.nix -@@ -11,7 +11,7 @@ - pkgs, - lib, - config, -- modules, -+ extra_modules, - libraries, - ... - }: let -@@ -51,7 +51,7 @@ in { - - home-manager.users.soispha = { - imports = [ -- modules.nixvim.homeModules.nixvim -+ extra_modules.home.nixvim - ]; - - home.sessionVariables = { -diff --git a/tests/default.nix b/tests/default.nix -index 870ecfb5..6ab6b5fa 100644 ---- a/tests/default.nix -+++ b/tests/default.nix -@@ -1,6 +1,5 @@ - { - packageSets, -- extra_modules, - module_args, - special_args, - extra_lib, -@@ -86,12 +85,10 @@ - ]; - }; - name_server = {nodes, ...}: { -- imports = -- extra_modules -- ++ [ -- ./common/acme/client.nix -- ./common/dns/server.nix -- ]; -+ imports = [ -+ ./common/acme/client.nix -+ ./common/dns/server.nix -+ ]; - - vhack.dns.zones = let - mkDomain = attr: let -@@ -129,14 +126,12 @@ - - args.nodes - (builtins.mapAttrs (_: _: { -- imports = -- extra_modules -- ++ [ -- ./common/acme/client.nix -- ./common/dns/client.nix -+ imports = [ -+ ./common/acme/client.nix -+ ./common/dns/client.nix - -- ../modules -- ]; -+ ../modules -+ ]; - }) - args.nodes) - ]; -diff --git a/tests/old/by-name/nv/nvim-neorg/test.nix b/tests/old/by-name/nv/nvim-neorg/test.nix -index 9f160df5..82cb533d 100644 ---- a/tests/old/by-name/nv/nvim-neorg/test.nix -+++ b/tests/old/by-name/nv/nvim-neorg/test.nix -@@ -9,7 +9,7 @@ - # If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. - { - mkTest, -- extraModules, -+ extra_modules, - pkgs, - ... - }: -@@ -34,7 +34,7 @@ mkTest { - }; - home-manager.users.soispha = { - imports = [ -- extraModules.nixvim.homeManagerModule -+ extra_modules.home.nixvim - ]; - }; - }; -diff --git a/tests/old/infrastructure/default.nix b/tests/old/infrastructure/default.nix -index cd21198c..4696a99f 100644 ---- a/tests/old/infrastructure/default.nix -+++ b/tests/old/infrastructure/default.nix -@@ -47,7 +47,7 @@ nixos-lib.runTest { - machine = {config, ...}: { - imports = - [ -- extraModules.home-manager -+ extra_modules.home.home-manager - ../../modules/by-name/us/users/module.nix - ] - ++ configuration.imports; --- -2.55.0 - diff --git a/pkgs/by-name/ro/rollup/patches2/0004-rename b/pkgs/by-name/ro/rollup/patches2/0004-rename deleted file mode 100644 index 9f275376..00000000 --- a/pkgs/by-name/ro/rollup/patches2/0004-rename +++ /dev/null @@ -1,278 +0,0 @@ -From 4e606441932dfac2c99d12ed2fa2413c45d1dec6 Mon Sep 17 00:00:00 2001 -From: Benedikt Peetz <benedikt.peetz@b-peetz.de> -Date: Mon, 2 Nov 2026 19:53:17 +0100 -Subject: [PATCH 4/7] pkgs/*: Use a `stable`/`unstable` marker in the filename - ---- - .../aumo/{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.stable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../lock/{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../mpp/{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.stable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../sw/{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../{package.nix => package.unstable.nix} | 0 - .../tskm/{package.nix => package.unstable.nix} | 0 - .../yt/{package.nix => package.unstable.nix} | 0 - pkgs/default.nix | 18 +++++++++++------- - 40 files changed, 11 insertions(+), 7 deletions(-) - rename pkgs/by-name/au/aumo/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/ba/battery/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/be/beetsExtraPlugins/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/br/brightness/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/co/con2pdf/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/ct/ctpv-64-types/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/di/direnv-patched/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fd/fd_list/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fe/fetchmail-common-name/{package.nix => package.stable.nix} (100%) - rename pkgs/by-name/fi/fish-mk-maps/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fi/fish-patched/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fu/fupdate-flake/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fu/fupdate-sys/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/fu/fupdate/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/gi/git-cgit/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/gi/git-cm/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/gi/git-edit-index/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/hi/hibernate/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/i3/i3bar-river-patched/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/lf/lf-make-map/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/lo/lock/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/mp/mpdpopm/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/mp/mpp-beetrm/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/mp/mpp-lyrics/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/mp/mpp-searchadd/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/mp/mpp/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/no/notify-run/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/qu/qutebrowser-patched/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/ri/river-mk-keymap/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/sc/screenshot_persistent/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/sc/screenshot_temporary/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/st/stalwart-mail-patched/{package.nix => package.stable.nix} (100%) - rename pkgs/by-name/st/stamp/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/sw/sw/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/sy/systemd-toggle/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/ta/tails-iso/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/tr/tree-sitter-yts/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/ts/tskm/{package.nix => package.unstable.nix} (100%) - rename pkgs/by-name/yt/yt/{package.nix => package.unstable.nix} (100%) - -diff --git a/pkgs/by-name/au/aumo/package.nix b/pkgs/by-name/au/aumo/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/au/aumo/package.nix -rename to pkgs/by-name/au/aumo/package.unstable.nix -diff --git a/pkgs/by-name/ba/battery/package.nix b/pkgs/by-name/ba/battery/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/ba/battery/package.nix -rename to pkgs/by-name/ba/battery/package.unstable.nix -diff --git a/pkgs/by-name/be/beetsExtraPlugins/package.nix b/pkgs/by-name/be/beetsExtraPlugins/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/be/beetsExtraPlugins/package.nix -rename to pkgs/by-name/be/beetsExtraPlugins/package.unstable.nix -diff --git a/pkgs/by-name/br/brightness/package.nix b/pkgs/by-name/br/brightness/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/br/brightness/package.nix -rename to pkgs/by-name/br/brightness/package.unstable.nix -diff --git a/pkgs/by-name/co/con2pdf/package.nix b/pkgs/by-name/co/con2pdf/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/co/con2pdf/package.nix -rename to pkgs/by-name/co/con2pdf/package.unstable.nix -diff --git a/pkgs/by-name/ct/ctpv-64-types/package.nix b/pkgs/by-name/ct/ctpv-64-types/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/ct/ctpv-64-types/package.nix -rename to pkgs/by-name/ct/ctpv-64-types/package.unstable.nix -diff --git a/pkgs/by-name/di/direnv-patched/package.nix b/pkgs/by-name/di/direnv-patched/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/di/direnv-patched/package.nix -rename to pkgs/by-name/di/direnv-patched/package.unstable.nix -diff --git a/pkgs/by-name/fd/fd_list/package.nix b/pkgs/by-name/fd/fd_list/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fd/fd_list/package.nix -rename to pkgs/by-name/fd/fd_list/package.unstable.nix -diff --git a/pkgs/by-name/fe/fetchmail-common-name/package.nix b/pkgs/by-name/fe/fetchmail-common-name/package.stable.nix -similarity index 100% -rename from pkgs/by-name/fe/fetchmail-common-name/package.nix -rename to pkgs/by-name/fe/fetchmail-common-name/package.stable.nix -diff --git a/pkgs/by-name/fi/fish-mk-maps/package.nix b/pkgs/by-name/fi/fish-mk-maps/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fi/fish-mk-maps/package.nix -rename to pkgs/by-name/fi/fish-mk-maps/package.unstable.nix -diff --git a/pkgs/by-name/fi/fish-patched/package.nix b/pkgs/by-name/fi/fish-patched/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fi/fish-patched/package.nix -rename to pkgs/by-name/fi/fish-patched/package.unstable.nix -diff --git a/pkgs/by-name/fu/fupdate-flake/package.nix b/pkgs/by-name/fu/fupdate-flake/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fu/fupdate-flake/package.nix -rename to pkgs/by-name/fu/fupdate-flake/package.unstable.nix -diff --git a/pkgs/by-name/fu/fupdate-sys/package.nix b/pkgs/by-name/fu/fupdate-sys/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fu/fupdate-sys/package.nix -rename to pkgs/by-name/fu/fupdate-sys/package.unstable.nix -diff --git a/pkgs/by-name/fu/fupdate/package.nix b/pkgs/by-name/fu/fupdate/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/fu/fupdate/package.nix -rename to pkgs/by-name/fu/fupdate/package.unstable.nix -diff --git a/pkgs/by-name/gi/git-cgit/package.nix b/pkgs/by-name/gi/git-cgit/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/gi/git-cgit/package.nix -rename to pkgs/by-name/gi/git-cgit/package.unstable.nix -diff --git a/pkgs/by-name/gi/git-cm/package.nix b/pkgs/by-name/gi/git-cm/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/gi/git-cm/package.nix -rename to pkgs/by-name/gi/git-cm/package.unstable.nix -diff --git a/pkgs/by-name/gi/git-edit-index/package.nix b/pkgs/by-name/gi/git-edit-index/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/gi/git-edit-index/package.nix -rename to pkgs/by-name/gi/git-edit-index/package.unstable.nix -diff --git a/pkgs/by-name/hi/hibernate/package.nix b/pkgs/by-name/hi/hibernate/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/hi/hibernate/package.nix -rename to pkgs/by-name/hi/hibernate/package.unstable.nix -diff --git a/pkgs/by-name/i3/i3bar-river-patched/package.nix b/pkgs/by-name/i3/i3bar-river-patched/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/i3/i3bar-river-patched/package.nix -rename to pkgs/by-name/i3/i3bar-river-patched/package.unstable.nix -diff --git a/pkgs/by-name/lf/lf-make-map/package.nix b/pkgs/by-name/lf/lf-make-map/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/lf/lf-make-map/package.nix -rename to pkgs/by-name/lf/lf-make-map/package.unstable.nix -diff --git a/pkgs/by-name/lo/lock/package.nix b/pkgs/by-name/lo/lock/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/lo/lock/package.nix -rename to pkgs/by-name/lo/lock/package.unstable.nix -diff --git a/pkgs/by-name/mp/mpdpopm/package.nix b/pkgs/by-name/mp/mpdpopm/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/mp/mpdpopm/package.nix -rename to pkgs/by-name/mp/mpdpopm/package.unstable.nix -diff --git a/pkgs/by-name/mp/mpp-beetrm/package.nix b/pkgs/by-name/mp/mpp-beetrm/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/mp/mpp-beetrm/package.nix -rename to pkgs/by-name/mp/mpp-beetrm/package.unstable.nix -diff --git a/pkgs/by-name/mp/mpp-lyrics/package.nix b/pkgs/by-name/mp/mpp-lyrics/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/mp/mpp-lyrics/package.nix -rename to pkgs/by-name/mp/mpp-lyrics/package.unstable.nix -diff --git a/pkgs/by-name/mp/mpp-searchadd/package.nix b/pkgs/by-name/mp/mpp-searchadd/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/mp/mpp-searchadd/package.nix -rename to pkgs/by-name/mp/mpp-searchadd/package.unstable.nix -diff --git a/pkgs/by-name/mp/mpp/package.nix b/pkgs/by-name/mp/mpp/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/mp/mpp/package.nix -rename to pkgs/by-name/mp/mpp/package.unstable.nix -diff --git a/pkgs/by-name/no/notify-run/package.nix b/pkgs/by-name/no/notify-run/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/no/notify-run/package.nix -rename to pkgs/by-name/no/notify-run/package.unstable.nix -diff --git a/pkgs/by-name/qu/qutebrowser-patched/package.nix b/pkgs/by-name/qu/qutebrowser-patched/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/qu/qutebrowser-patched/package.nix -rename to pkgs/by-name/qu/qutebrowser-patched/package.unstable.nix -diff --git a/pkgs/by-name/ri/river-mk-keymap/package.nix b/pkgs/by-name/ri/river-mk-keymap/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/ri/river-mk-keymap/package.nix -rename to pkgs/by-name/ri/river-mk-keymap/package.unstable.nix -diff --git a/pkgs/by-name/sc/screenshot_persistent/package.nix b/pkgs/by-name/sc/screenshot_persistent/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/sc/screenshot_persistent/package.nix -rename to pkgs/by-name/sc/screenshot_persistent/package.unstable.nix -diff --git a/pkgs/by-name/sc/screenshot_temporary/package.nix b/pkgs/by-name/sc/screenshot_temporary/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/sc/screenshot_temporary/package.nix -rename to pkgs/by-name/sc/screenshot_temporary/package.unstable.nix -diff --git a/pkgs/by-name/st/stalwart-mail-patched/package.nix b/pkgs/by-name/st/stalwart-mail-patched/package.stable.nix -similarity index 100% -rename from pkgs/by-name/st/stalwart-mail-patched/package.nix -rename to pkgs/by-name/st/stalwart-mail-patched/package.stable.nix -diff --git a/pkgs/by-name/st/stamp/package.nix b/pkgs/by-name/st/stamp/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/st/stamp/package.nix -rename to pkgs/by-name/st/stamp/package.unstable.nix -diff --git a/pkgs/by-name/sw/sw/package.nix b/pkgs/by-name/sw/sw/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/sw/sw/package.nix -rename to pkgs/by-name/sw/sw/package.unstable.nix -diff --git a/pkgs/by-name/sy/systemd-toggle/package.nix b/pkgs/by-name/sy/systemd-toggle/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/sy/systemd-toggle/package.nix -rename to pkgs/by-name/sy/systemd-toggle/package.unstable.nix -diff --git a/pkgs/by-name/ta/tails-iso/package.nix b/pkgs/by-name/ta/tails-iso/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/ta/tails-iso/package.nix -rename to pkgs/by-name/ta/tails-iso/package.unstable.nix -diff --git a/pkgs/by-name/tr/tree-sitter-yts/package.nix b/pkgs/by-name/tr/tree-sitter-yts/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/tr/tree-sitter-yts/package.nix -rename to pkgs/by-name/tr/tree-sitter-yts/package.unstable.nix -diff --git a/pkgs/by-name/ts/tskm/package.nix b/pkgs/by-name/ts/tskm/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/ts/tskm/package.nix -rename to pkgs/by-name/ts/tskm/package.unstable.nix -diff --git a/pkgs/by-name/yt/yt/package.nix b/pkgs/by-name/yt/yt/package.unstable.nix -similarity index 100% -rename from pkgs/by-name/yt/yt/package.nix -rename to pkgs/by-name/yt/yt/package.unstable.nix -diff --git a/pkgs/default.nix b/pkgs/default.nix -index 4fdb94fe..bc7d70e7 100644 ---- a/pkgs/default.nix -+++ b/pkgs/default.nix -@@ -6,16 +6,20 @@ - inherit (unstable_pkgs) lib; - - mergePkgs = pkgs: lib.callPackageWith (extra_lib.warnMerge pkgs in_tree_pkgs "the ./pkgs/by-name set"); -- callPackageStable = lib.callPackageWith (mergePkgs stable_pkgs); -- callPackageUnstable = lib.callPackageWith (mergePkgs unstable_pkgs); -+ callPackageStable = mergePkgs stable_pkgs; -+ callPackageUnstable = mergePkgs unstable_pkgs; - - in_tree_pkgs = extra_lib.mkByName { - baseDirectory = ./by-name; -- fileName = "package.nix"; -- finalizeFunction = name: value: -- if value.stable -- then callPackageStable value.pkg {} -- else callPackageUnstable value.pkg {}; -+ fileRegex = "package.(stable|unstable).nix"; -+ finalizeFunction = name: pkgPathList: let -+ # When specifying a regex `mkByName` returns a list of candidates. -+ # But we know, that there can only be one. -+ pkgPath = builtins.head pkgPathList; -+ in -+ if (builtins.match "(stable)" (builtins.baseNameOf pkgPath)) == ["stable"] -+ then callPackageStable pkgPath {} -+ else callPackageUnstable pkgPath {}; - }; - in - in_tree_pkgs --- -2.55.0 - diff --git a/pkgs/by-name/ro/rollup/patches2/0006-remove b/pkgs/by-name/ro/rollup/patches2/0006-remove deleted file mode 100644 index 1cca069c..00000000 --- a/pkgs/by-name/ro/rollup/patches2/0006-remove +++ /dev/null @@ -1,145 +0,0 @@ -From b30b9eed670d9f02eccb1120f18cbf084caf32f0 Mon Sep 17 00:00:00 2001 -From: Benedikt Peetz <benedikt.peetz@b-peetz.de> -Date: Mon, 2 Nov 2026 19:56:15 +0100 -Subject: [PATCH 6/7] lib: Merge with the `extraLib` - ---- - lib/default.nix | 126 ------------------------------------------------ - 1 file changed, 126 deletions(-) - delete mode 100644 lib/default.nix - -diff --git a/lib/default.nix b/lib/default.nix -deleted file mode 100644 -index 1cdbf936..00000000 ---- a/lib/default.nix -+++ /dev/null -@@ -1,126 +0,0 @@ --# nixos-config - My current NixOS configuration --# --# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> --# SPDX-License-Identifier: GPL-3.0-or-later --# --# This file is part of my nixos-config. --# --# You should have received a copy of the License along with this program. --# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. --{lib}: rec { -- /* -- Converts `number` from a binary number to a decimal one. -- -- The input is indented to be a number composed only of `1`s and `0` (e.g., 10010.) -- -- # Type -- -- binaryToDecimal :: Int -> Int -- -- # Arguments -- -- number -- : The sequence of `1`s and `0`s defining a binary number, in little endian. -- -- # Examples -- -- binaryToDecimal 1001 -- => 9 -- */ -- binaryToDecimal = number: let -- binaryList = -- builtins.map lib.strings.toInt (lib.lists.reverseList (lib.strings.stringToCharacters (builtins.toString number))); -- in -- builtins.foldl' (acc: num: acc + num) 0 -- (lib.lists.imap0 (index: elem: elem * (pow 2 index)) binaryList); -- -- /* -- Converts `string` to a (probably) unique numerical id. -- -- This is achieved by hashing the string and returning the first six hex-digits -- converted to a base 10 number. -- -- # Type -- -- idFromString :: String -> Int -- -- # Arguments -- -- string -- : The string to use as seed for the id generation. -- -- # Examples -- -- idFromString "3d-printer" -- => 10365713 -- */ -- idFromString = string: let -- inputSeed = -- builtins.concatStringsSep "" -- (lib.lists.take 6 -- (lib.strings.stringToCharacters (builtins.hashString "sha256" string))); -- in -- lib.trivial.fromHexString inputSeed; -- -- /* -- source: https://github.com/NixOS/nix/issues/10387#issuecomment-2494597690 -- -- Raises the `base` to the power of `power`. -- -- Considering the small input size and the lack of a built-in power function [2], -- this naive power implementation should satisfy reasonable performance -- requirements. -- -- Due to the lack of a modulo and bitwise AND operator, it is questionable whether -- the recursive exponentiation by squaring [1] implementation would even be -- faster. -- -- [1]: https://en.wikipedia.org/wiki/Exponentiation_by_squaring -- [2]: https://github.com/NixOS/nix/issues/10387 -- -- # Type -- -- pow :: Number -> Number -> Number -- -- # Arguments -- -- base -- : The base number to be raised. -- -- power -- : The exponent to raise `base` to. -- -- # Examples -- -- pow 2 5 -- => 32 -- */ -- pow = base: power: -- if power == 0 -- then 1 -- else if power > 0 -- then (base * (pow base (power - 1))) -- else builtins.throw "Negative powers are not supported"; -- -- options = { -- /* -- Generate an enable option definition, that defaults to true. -- -- This conveniently allows the composition of a “common” module set. -- -- # Type -- -- mkEnable :: String -> AttrSet -- -- # Arguments -- -- name -- : The name to use in the option description. -- */ -- mkEnable = name: -- (lib.mkEnableOption name) -- // { -- default = true; -- }; -- }; --} --- -2.55.0 - diff --git a/pkgs/by-name/ro/rollup/src/main.rs b/pkgs/by-name/ro/rollup/src/main.rs index 48b395a5..f49eb81e 100644 --- a/pkgs/by-name/ro/rollup/src/main.rs +++ b/pkgs/by-name/ro/rollup/src/main.rs @@ -7,7 +7,7 @@ use std::{ use anyhow::{Context, Result, bail}; use clap::Parser; -use crate::parse::Patch; +use crate::parse::{FileDiff, Patch}; mod parse; @@ -64,13 +64,13 @@ fn main() -> Result<()> { let mut final_diffs = vec![]; for file_diff in &patch.files { match file_diff { - parse::FileDiff::Add { path, .. } => { + FileDiff::Add { path, .. } => { if args.to.join(path).exists() { bail!("A file was added, that already existed. This should be impossible.") } final_diffs.push(file_diff.to_owned()); } - parse::FileDiff::Remove { path, .. } => { + FileDiff::Remove { path, .. } => { if args.to.join(path).exists() { final_diffs.push(file_diff.to_owned()); } else { @@ -80,9 +80,9 @@ fn main() -> Result<()> { ); } } - parse::FileDiff::Change { from, to, .. } => { + FileDiff::Rename { from, to, .. } => { if args.to.join(from).exists() { - if from != to && args.to.join(to).exists() { + if args.to.join(to).exists() { bail!( "A rename (`{}` -> `{}`) tried to rename a path to an already existing path. This should be impossible.", from.display(), @@ -92,8 +92,19 @@ fn main() -> Result<()> { final_diffs.push(file_diff.to_owned()); } else { eprintln!( + "Dropping rename from `{}` to `{}`, as the from file does not exist in the rollup target.", + from.display(), + to.display() + ); + } + } + FileDiff::Change { path, .. } => { + if args.to.join(path).exists() { + final_diffs.push(file_diff.to_owned()); + } else { + eprintln!( "Dropping change to `{}`, as the file does not exist in the rollup target.", - from.display() + path.display() ); } } diff --git a/pkgs/by-name/ro/rollup/src/parse.rs b/pkgs/by-name/ro/rollup/src/parse.rs index ceb9d44f..fb5cd05e 100644 --- a/pkgs/by-name/ro/rollup/src/parse.rs +++ b/pkgs/by-name/ro/rollup/src/parse.rs @@ -36,10 +36,15 @@ pub(crate) enum FileDiff { deleted: String, }, Change { + path: PathBuf, + diff: String, + index: String, + }, + Rename { from: PathBuf, to: PathBuf, diff: String, - index: String, + similarity: String, }, } impl FileDiff { @@ -49,8 +54,9 @@ impl FileDiff { diff: String, index: Option<String>, deleted: Option<String>, + similarity: Option<String>, ) -> Self { - let diff = diff.trim().to_owned(); + let diff = diff[..diff.len() - 1].to_owned(); if from.display().to_string() == "/dev/null" { Self::Add { path: to, diff } @@ -61,12 +67,18 @@ impl FileDiff { index: index.unwrap(), deleted: deleted.unwrap(), } - } else { + } else if from == to { Self::Change { + path: from, + diff, + index: index.unwrap(), + } + } else { + Self::Rename { from, to, diff, - index: index.unwrap(), + similarity: similarity.unwrap(), } } } @@ -93,15 +105,22 @@ impl fmt::Display for FileDiff { writeln!(f, "+++ /dev/null")?; writeln!(f, "{}", diff)?; } - FileDiff::Change { + FileDiff::Change { path, diff, index } => { + writeln!(f, "diff --git a/{} b/{}", path.display(), path.display())?; + writeln!(f, "index {}", index)?; + writeln!(f, "--- a/{}", path.display())?; + writeln!(f, "+++ b/{}", path.display())?; + writeln!(f, "{}", diff)?; + } + FileDiff::Rename { from, to, diff, - index, + similarity, } => { writeln!(f, "diff --git a/{} b/{}", from.display(), to.display())?; - writeln!(f, "index {}", index)?; - writeln!(f, "--- a/{}", from.display())?; + writeln!(f, "similarity index {}", similarity)?; + writeln!(f, "rename from {}", from.display())?; writeln!(f, "+++ b/{}", to.display())?; writeln!(f, "{}", diff)?; } @@ -138,10 +157,12 @@ macro_rules! expect { pub(crate) fn parse_file(file: &Path, debug: bool) -> Result<Patch> { let data = Command::new("filterdiff") - .arg(&file) + .arg(file) .output() .context("Failed to run `filterdiff` for patch analysis")?; + eprintln!("Started parsing `{}`..", file.display()); + let filterdiff_output = String::from_utf8(data.stdout).unwrap(); if debug { eprintln!("{}", filterdiff_output); @@ -206,6 +227,7 @@ pub(crate) fn parse_file(file: &Path, debug: bool) -> Result<Patch> { let mut fd_diff: Option<String> = None; let mut fd_index: Option<String> = None; let mut fd_deleted: Option<String> = None; + let mut fd_similarity: Option<String> = None; let mut git_diff = None; for (idx, line) in filterdiff_output.lines().enumerate() { if debug { @@ -220,11 +242,23 @@ pub(crate) fn parse_file(file: &Path, debug: bool) -> Result<Patch> { fd_diff.take().unwrap(), fd_index.take(), fd_deleted.take(), + fd_similarity.take(), )); } git_diff = Some(line.to_owned()); continue; } + if line.starts_with("similarity index") { + expect!(if fd_similarity -> "similarity index" from line; assign |strp_line| { + strp_line.to_owned() + }); + } + if line.starts_with("rename from") { + expect!(if fd_from -> "rename from" from line; assign |strp_line| { + assert_ne!(strp_line, "/dev/null"); + PathBuf::from(strp_line) + }); + } if line.starts_with("deleted") { expect!(if fd_deleted -> "deleted" from line; assign |strp_line| { @@ -279,6 +313,7 @@ pub(crate) fn parse_file(file: &Path, debug: bool) -> Result<Patch> { fd_diff.take().unwrap(), fd_index.take(), fd_deleted.take(), + fd_similarity.take(), )); let check_content = diff.to_string(); |
