From 3d98a4985618ad4c76c006b3c4942beb1a9aabfb Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Tue, 22 Jul 2025 22:04:21 +0300 Subject: [PATCH 01/11] greetd.*: move to 'pkgs/by-name' and top level --- doc/release-notes/rl-2511.section.md | 2 ++ .../services/display-managers/greetd.nix | 4 ++-- nixos/tests/greetd-no-shadow.nix | 2 +- .../gr/greetd/package.nix} | 19 +++++++++++++++++++ .../gt/gtkgreet/package.nix} | 0 .../qt/qtgreet/package.nix} | 0 .../re/regreet/package.nix} | 0 .../tu/tuigreet/package.nix} | 0 .../wl/wlgreet/package.nix} | 0 pkgs/top-level/all-packages.nix | 14 -------------- 10 files changed, 24 insertions(+), 17 deletions(-) rename pkgs/{applications/display-managers/greetd/default.nix => by-name/gr/greetd/package.nix} (77%) rename pkgs/{applications/display-managers/greetd/gtkgreet.nix => by-name/gt/gtkgreet/package.nix} (100%) rename pkgs/{applications/display-managers/greetd/qtgreet.nix => by-name/qt/qtgreet/package.nix} (100%) rename pkgs/{applications/display-managers/greetd/regreet.nix => by-name/re/regreet/package.nix} (100%) rename pkgs/{applications/display-managers/greetd/tuigreet.nix => by-name/tu/tuigreet/package.nix} (100%) rename pkgs/{applications/display-managers/greetd/wlgreet.nix => by-name/wl/wlgreet/package.nix} (100%) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index bb8943416017..47d89812633e 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -35,6 +35,8 @@ - `stalwart-mail` since `0.13.0` "introduces a significant redesign of the MTA’s delivery and queueing subsystem". See [the upgrading announcement for the `0.13.0` release](https://github.com/stalwartlabs/stalwart/blob/89b561b5ca1c5a11f2a768b4a2cfef0f473b7a01/UPGRADING.md#upgrading-from-v012x-and-v011x-to-v013x). +- Greetd and its original greeters (`tuigreet`, `gtkgreet`, `qtgreet`, `regreet`, `wlgreet`) were moved from `greetd` namespace to top level (`greetd.tuigreet` -> `tuigreet`, `greetd.greetd` -> `greetd`, etc). The original attrs are available for compatibility as passthrus of `greetd`, but will emit a warning. They will be removed in future releases. + - The `archipelago-minecraft` package was removed, as upstream no longer provides support for the Minecraft APWorld. - `navidrome` 0.58.0 introduces [multi-library support](https://www.navidrome.org/docs/usage/multi-library/) diff --git a/nixos/modules/services/display-managers/greetd.nix b/nixos/modules/services/display-managers/greetd.nix index 8d0580187d0e..9c967ac71696 100644 --- a/nixos/modules/services/display-managers/greetd.nix +++ b/nixos/modules/services/display-managers/greetd.nix @@ -21,14 +21,14 @@ in options.services.greetd = { enable = lib.mkEnableOption "greetd, a minimal and flexible login manager daemon"; - package = lib.mkPackageOption pkgs [ "greetd" "greetd" ] { }; + package = lib.mkPackageOption pkgs "greetd" { }; settings = lib.mkOption { type = settingsFormat.type; example = lib.literalExpression '' { default_session = { - command = "''${pkgs.greetd.greetd}/bin/agreety --cmd sway"; + command = "''${pkgs.greetd}/bin/agreety --cmd sway"; }; } ''; diff --git a/nixos/tests/greetd-no-shadow.nix b/nixos/tests/greetd-no-shadow.nix index c4cb028ff6eb..947271716b0b 100644 --- a/nixos/tests/greetd-no-shadow.nix +++ b/nixos/tests/greetd-no-shadow.nix @@ -27,7 +27,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.greetd}/bin/agreety --cmd bash"; + command = "${pkgs.greetd}/bin/agreety --cmd bash"; }; }; }; diff --git a/pkgs/applications/display-managers/greetd/default.nix b/pkgs/by-name/gr/greetd/package.nix similarity index 77% rename from pkgs/applications/display-managers/greetd/default.nix rename to pkgs/by-name/gr/greetd/package.nix index b1e1dca24f6e..52a9d87f9c5e 100644 --- a/pkgs/applications/display-managers/greetd/default.nix +++ b/pkgs/by-name/gr/greetd/package.nix @@ -5,6 +5,13 @@ pam, scdoc, installShellFiles, + # legacy passthrus + greetd, + gtkgreet, + qtgreet, + regreet, + tuigreet, + wlgreet, }: rustPlatform.buildRustPackage rec { @@ -37,6 +44,18 @@ rustPlatform.buildRustPackage rec { installManPage man/* ''; + # Added 2025-07-23. To be deleted on 26.05 + passthru = lib.mapAttrs (k: lib.warnOnInstantiate "`greetd.${k}` was renamed to `${k}`") { + inherit + greetd + gtkgreet + qtgreet + regreet + tuigreet + wlgreet + ; + }; + meta = with lib; { description = "Minimal and flexible login manager daemon"; longDescription = '' diff --git a/pkgs/applications/display-managers/greetd/gtkgreet.nix b/pkgs/by-name/gt/gtkgreet/package.nix similarity index 100% rename from pkgs/applications/display-managers/greetd/gtkgreet.nix rename to pkgs/by-name/gt/gtkgreet/package.nix diff --git a/pkgs/applications/display-managers/greetd/qtgreet.nix b/pkgs/by-name/qt/qtgreet/package.nix similarity index 100% rename from pkgs/applications/display-managers/greetd/qtgreet.nix rename to pkgs/by-name/qt/qtgreet/package.nix diff --git a/pkgs/applications/display-managers/greetd/regreet.nix b/pkgs/by-name/re/regreet/package.nix similarity index 100% rename from pkgs/applications/display-managers/greetd/regreet.nix rename to pkgs/by-name/re/regreet/package.nix diff --git a/pkgs/applications/display-managers/greetd/tuigreet.nix b/pkgs/by-name/tu/tuigreet/package.nix similarity index 100% rename from pkgs/applications/display-managers/greetd/tuigreet.nix rename to pkgs/by-name/tu/tuigreet/package.nix diff --git a/pkgs/applications/display-managers/greetd/wlgreet.nix b/pkgs/by-name/wl/wlgreet/package.nix similarity index 100% rename from pkgs/applications/display-managers/greetd/wlgreet.nix rename to pkgs/by-name/wl/wlgreet/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 15b7b79653f4..a25f98d102d0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12086,20 +12086,6 @@ with pkgs; }; gnuradioPackages = lib.recurseIntoAttrs gnuradio.pkgs; - greetd = recurseIntoAttrs ( - { - greetd = callPackage ../applications/display-managers/greetd { }; - gtkgreet = callPackage ../applications/display-managers/greetd/gtkgreet.nix { }; - qtgreet = callPackage ../applications/display-managers/greetd/qtgreet.nix { }; - regreet = callPackage ../applications/display-managers/greetd/regreet.nix { }; - tuigreet = callPackage ../applications/display-managers/greetd/tuigreet.nix { }; - wlgreet = callPackage ../applications/display-managers/greetd/wlgreet.nix { }; - } - // lib.optionalAttrs config.allowAliases { - dlm = throw "greetd.dlm has been removed as it is broken and abandoned upstream"; # Added 2024-07-15 - } - ); - goldendict = libsForQt5.callPackage ../applications/misc/goldendict { }; goldendict-ng = qt6Packages.callPackage ../applications/misc/goldendict-ng { }; From 78e7bb6ad583bb5e9f0d3a58a175a1c7f018b543 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 20:11:46 +0300 Subject: [PATCH 02/11] greetd: clean up and modernize - removed `with lib;` - replaced `rec` with `finalAttrs` - removed redundant `useFetchCargoVendor` - updated fetcher attrs --- pkgs/by-name/gr/greetd/package.nix | 45 +++++++++++++++++------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/gr/greetd/package.nix b/pkgs/by-name/gr/greetd/package.nix index 52a9d87f9c5e..2cc5aa18ad13 100644 --- a/pkgs/by-name/gr/greetd/package.nix +++ b/pkgs/by-name/gr/greetd/package.nix @@ -6,7 +6,6 @@ scdoc, installShellFiles, # legacy passthrus - greetd, gtkgreet, qtgreet, regreet, @@ -14,15 +13,15 @@ wlgreet, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "greetd"; version = "0.10.3"; src = fetchFromSourcehut { owner = "~kennylevinsen"; - repo = pname; - rev = version; - sha256 = "sha256-jgvYnjt7j4uubpBxrYM3YiUfF1PWuHAN1kwnv6Y+bMg="; + repo = "greetd"; + rev = finalAttrs.version; + hash = "sha256-jgvYnjt7j4uubpBxrYM3YiUfF1PWuHAN1kwnv6Y+bMg="; }; cargoHash = "sha256-JwTLZawY9+M09IDbMPoNUcNrnW1C2OVlEVn1n7ol6dY="; @@ -45,18 +44,24 @@ rustPlatform.buildRustPackage rec { ''; # Added 2025-07-23. To be deleted on 26.05 - passthru = lib.mapAttrs (k: lib.warnOnInstantiate "`greetd.${k}` was renamed to `${k}`") { - inherit - greetd - gtkgreet - qtgreet - regreet - tuigreet - wlgreet - ; - }; + passthru = + let + warnPassthru = name: lib.warnOnInstantiate "`greetd.${name}` was renamed to `${name}`"; + in + lib.mapAttrs warnPassthru { + inherit + gtkgreet + qtgreet + regreet + tuigreet + wlgreet + ; + } + // { + greetd = warnPassthru "greetd" finalAttrs.finalPackage; + }; - meta = with lib; { + meta = { description = "Minimal and flexible login manager daemon"; longDescription = '' greetd is a minimal and flexible login manager daemon @@ -65,8 +70,8 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://sr.ht/~kennylevinsen/greetd/"; mainProgram = "greetd"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ]; + platforms = lib.platforms.linux; }; -} +}) From b4704ef13e2fc440e453ebcf29c6dbe60b86655d Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:29:06 +0300 Subject: [PATCH 03/11] greetd: add update script --- pkgs/by-name/gr/greetd/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/gr/greetd/package.nix b/pkgs/by-name/gr/greetd/package.nix index 2cc5aa18ad13..06642f98b4a1 100644 --- a/pkgs/by-name/gr/greetd/package.nix +++ b/pkgs/by-name/gr/greetd/package.nix @@ -5,6 +5,7 @@ pam, scdoc, installShellFiles, + nix-update-script, # legacy passthrus gtkgreet, qtgreet, @@ -59,6 +60,7 @@ rustPlatform.buildRustPackage (finalAttrs: { } // { greetd = warnPassthru "greetd" finalAttrs.finalPackage; + updateScript = nix-update-script { }; }; meta = { From 478930a7126a919b0494c4380d252f24413ad85b Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 20:42:55 +0300 Subject: [PATCH 04/11] gtkgreet: clean up and modernize - removed `with lib;` - replaced `rec` with `finalAttrs` - updated fetcher attrs --- pkgs/by-name/gt/gtkgreet/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/gt/gtkgreet/package.nix b/pkgs/by-name/gt/gtkgreet/package.nix index 425e4c1790b3..27fa029536c7 100644 --- a/pkgs/by-name/gt/gtkgreet/package.nix +++ b/pkgs/by-name/gt/gtkgreet/package.nix @@ -14,15 +14,15 @@ scdoc, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtkgreet"; version = "0.8"; src = fetchFromSourcehut { owner = "~kennylevinsen"; - repo = pname; - rev = version; - sha256 = "sha256-GKBYql0hzqB6uY87SsAqHwf3qLAr7xznMnAjRtP4HS8="; + repo = "gtkgreet"; + rev = finalAttrs.version; + hash = "sha256-GKBYql0hzqB6uY87SsAqHwf3qLAr7xznMnAjRtP4HS8="; }; depsBuildBuild = [ pkg-config ]; @@ -54,12 +54,12 @@ stdenv.mkDerivation rec { # G_APPLICATION_FLAGS_NONE is deprecated in GLib 2.73.3+. env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; - meta = with lib; { + meta = { description = "GTK based greeter for greetd, to be run under cage or similar"; homepage = "https://git.sr.ht/~kennylevinsen/gtkgreet"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ]; + platforms = lib.platforms.linux; mainProgram = "gtkgreet"; }; -} +}) From 32d4d81c957ab0ccf7c70467f2f4cdf2ca57901d Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:28:04 +0300 Subject: [PATCH 05/11] gtkgreet: add update script --- pkgs/by-name/gt/gtkgreet/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/gt/gtkgreet/package.nix b/pkgs/by-name/gt/gtkgreet/package.nix index 27fa029536c7..bffb651c16d8 100644 --- a/pkgs/by-name/gt/gtkgreet/package.nix +++ b/pkgs/by-name/gt/gtkgreet/package.nix @@ -12,6 +12,7 @@ json_c, librsvg, scdoc, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: { # G_APPLICATION_FLAGS_NONE is deprecated in GLib 2.73.3+. env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + passthru.updateScript = nix-update-script { }; + meta = { description = "GTK based greeter for greetd, to be run under cage or similar"; homepage = "https://git.sr.ht/~kennylevinsen/gtkgreet"; From e487dee12f50ed7ba6337f0d4d03c7c3f22838ce Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 20:54:37 +0300 Subject: [PATCH 06/11] regreet: clean up and modernize - removed `with lib;` - replaced `rec` with `finalAttrs` - removed redundant `useFetchCargoVendor` --- pkgs/by-name/re/regreet/package.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/re/regreet/package.nix b/pkgs/by-name/re/regreet/package.nix index 0872941b8cb3..580939bfda3e 100644 --- a/pkgs/by-name/re/regreet/package.nix +++ b/pkgs/by-name/re/regreet/package.nix @@ -10,14 +10,14 @@ librsvg, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "regreet"; version = "0.2.0"; src = fetchFromGitHub { owner = "rharish101"; repo = "ReGreet"; - rev = version; + rev = finalAttrs.version; hash = "sha256-f8Xvno5QqmWz4SUiFYDvs8lFU1ZaqQ8gpTaVzWxW4T8="; }; @@ -36,12 +36,12 @@ rustPlatform.buildRustPackage rec { librsvg ]; - meta = with lib; { + meta = { description = "Clean and customizable greeter for greetd"; homepage = "https://github.com/rharish101/ReGreet"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ fufexan ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ fufexan ]; + platforms = lib.platforms.linux; mainProgram = "regreet"; }; -} +}) From 3f53712e6e17e45c4db198118249e35d8d5a2efe Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:12:56 +0300 Subject: [PATCH 07/11] regreet: add update script --- pkgs/by-name/re/regreet/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/re/regreet/package.nix b/pkgs/by-name/re/regreet/package.nix index 580939bfda3e..0f673686620f 100644 --- a/pkgs/by-name/re/regreet/package.nix +++ b/pkgs/by-name/re/regreet/package.nix @@ -8,6 +8,7 @@ gtk4, pango, librsvg, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -36,6 +37,8 @@ rustPlatform.buildRustPackage (finalAttrs: { librsvg ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Clean and customizable greeter for greetd"; homepage = "https://github.com/rharish101/ReGreet"; From 525b40ebed4d4bcd70decab1e332190ab51b4168 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:04:48 +0300 Subject: [PATCH 08/11] tuigreet: clean up and modernize - removed `with lib;` - replaced `rec` with `finalAttrs` - removed redundant `useFetchCargoVendor` - updated fetcher attrs --- pkgs/by-name/tu/tuigreet/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/tu/tuigreet/package.nix b/pkgs/by-name/tu/tuigreet/package.nix index 19ca3c8b592d..ef5f2320decb 100644 --- a/pkgs/by-name/tu/tuigreet/package.nix +++ b/pkgs/by-name/tu/tuigreet/package.nix @@ -6,15 +6,15 @@ installShellFiles, scdoc, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "tuigreet"; version = "0.9.1"; src = fetchFromGitHub { owner = "apognu"; repo = "tuigreet"; - rev = "refs/tags/${version}"; - sha256 = "sha256-e0YtpakEaaWdgu+bMr2VFoUc6+SUMFk4hYtSyk5aApY="; + tag = finalAttrs.version; + hash = "sha256-e0YtpakEaaWdgu+bMr2VFoUc6+SUMFk4hYtSyk5aApY="; }; cargoHash = "sha256-w6ZOqpwogKoN4oqqI1gFqY8xAnfvhEBVaL8/6JXpKXs="; @@ -32,10 +32,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Graphical console greeter for greetd"; homepage = "https://github.com/apognu/tuigreet"; - changelog = "https://github.com/apognu/tuigreet/releases/tag/${version}"; + changelog = "https://github.com/apognu/tuigreet/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ]; platforms = lib.platforms.linux; mainProgram = "tuigreet"; }; -} +}) From d4bc74646acffd6c7c42e4c3ea1b0467cc672064 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:10:26 +0300 Subject: [PATCH 09/11] tuigreet: add update script --- pkgs/by-name/tu/tuigreet/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/tu/tuigreet/package.nix b/pkgs/by-name/tu/tuigreet/package.nix index ef5f2320decb..0a42d42e91d9 100644 --- a/pkgs/by-name/tu/tuigreet/package.nix +++ b/pkgs/by-name/tu/tuigreet/package.nix @@ -2,9 +2,9 @@ lib, rustPlatform, fetchFromGitHub, - installShellFiles, scdoc, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "tuigreet"; @@ -29,6 +29,8 @@ rustPlatform.buildRustPackage (finalAttrs: { installManPage tuigreet.1 ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Graphical console greeter for greetd"; homepage = "https://github.com/apognu/tuigreet"; From b61108a776c6030aa53397ff4546f89f4d134358 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:07:14 +0300 Subject: [PATCH 10/11] wlgreet: clean up and modernize - removed `with lib;` - replaced `rec` with `finalAttrs` - removed redundant `useFetchCargoVendor` --- pkgs/by-name/wl/wlgreet/package.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/wl/wlgreet/package.nix b/pkgs/by-name/wl/wlgreet/package.nix index 9f5820148b32..0d103173d015 100644 --- a/pkgs/by-name/wl/wlgreet/package.nix +++ b/pkgs/by-name/wl/wlgreet/package.nix @@ -8,14 +8,14 @@ libxkbcommon, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "wlgreet"; version = "0.5.0"; src = fetchFromSourcehut { owner = "~kennylevinsen"; - repo = pname; - rev = version; + repo = "wlgreet"; + rev = finalAttrs.version; hash = "sha256-TQTHFBOTxtSuzrAG4cjZ9oirl80xc0rPdYeLJ0t39DQ="; }; @@ -30,12 +30,12 @@ rustPlatform.buildRustPackage rec { libxkbcommon ]; - meta = with lib; { + meta = { description = "Raw wayland greeter for greetd, to be run under sway or similar"; mainProgram = "wlgreet"; homepage = "https://git.sr.ht/~kennylevinsen/wlgreet"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ]; + platforms = lib.platforms.linux; }; -} +}) From 3b1824f7032cf7ebd2b5cd6bcdf2d5d3ec18c603 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Wed, 23 Jul 2025 21:09:35 +0300 Subject: [PATCH 11/11] wlgreet: add update script --- pkgs/by-name/wl/wlgreet/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/wl/wlgreet/package.nix b/pkgs/by-name/wl/wlgreet/package.nix index 0d103173d015..d73e1da53d75 100644 --- a/pkgs/by-name/wl/wlgreet/package.nix +++ b/pkgs/by-name/wl/wlgreet/package.nix @@ -6,6 +6,7 @@ gcc-unwrapped, wayland, libxkbcommon, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -30,6 +31,8 @@ rustPlatform.buildRustPackage (finalAttrs: { libxkbcommon ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Raw wayland greeter for greetd, to be run under sway or similar"; mainProgram = "wlgreet";