From 045224f9139951ec68d1b4922acb754bd1348904 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 18:45:47 -0300 Subject: [PATCH 1/6] cosmic-greeter: refactor --- pkgs/by-name/co/cosmic-greeter/package.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index b6c1d204c40e..dd2c7cbb6952 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -14,23 +14,21 @@ wayland, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-greeter"; version = "1.0.0-alpha.2"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-greeter"; - rev = "epoch-${version}"; + tag = "epoch-${finalAttrs.version}"; hash = "sha256-5BSsiGgL369/PePS0FmuE42tktK2bpgJziYuUEnZ2jY="; }; useFetchCargoVendor = true; cargoHash = "sha256-5TXFE/pIeIOvy8x8c5sR3YaI8R2RTA8fzloguIpE4TM="; - cargoBuildFlags = [ - "--all" - ]; + cargoBuildFlags = [ "--all" ]; nativeBuildInputs = [ rustPlatform.bindgenHook @@ -38,6 +36,7 @@ rustPlatform.buildRustPackage rec { just pkg-config ]; + buildInputs = [ libinput libxkbcommon @@ -47,6 +46,7 @@ rustPlatform.buildRustPackage rec { ]; dontUseJustBuild = true; + dontUseJustCheck = true; justFlags = [ "--set" @@ -64,12 +64,12 @@ rustPlatform.buildRustPackage rec { substituteInPlace src/greeter.rs --replace-fail '/usr/bin/env' '${lib.getExe' coreutils "env"}' ''; - meta = with lib; { + meta = { homepage = "https://github.com/pop-os/cosmic-greeter"; description = "Greeter for the COSMIC Desktop Environment"; mainProgram = "cosmic-greeter"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ nyabinary ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ nyabinary ]; + platforms = lib.platforms.linux; }; -} +}) From b458df04ff439a84725766ba743356ec37a96d1e Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 18:48:26 -0300 Subject: [PATCH 2/6] cosmic-greeter: use libcosmicAppHook --- pkgs/by-name/co/cosmic-greeter/package.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index dd2c7cbb6952..a5635371d5a9 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -3,15 +3,13 @@ stdenv, fetchFromGitHub, rustPlatform, + libcosmicAppHook, cmake, - coreutils, just, libinput, - libxkbcommon, linux-pam, - pkg-config, udev, - wayland, + coreutils, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -34,15 +32,13 @@ rustPlatform.buildRustPackage (finalAttrs: { rustPlatform.bindgenHook cmake just - pkg-config + libcosmicAppHook ]; buildInputs = [ libinput - libxkbcommon linux-pam udev - wayland ]; dontUseJustBuild = true; From c9c3f370a212f42310f137f8ddd72cbdc0cfebb0 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 18:53:15 -0300 Subject: [PATCH 3/6] cosmic-greeter: add X11 xkb rules paths to wrapper Set X11_BASE_RULES_XML and X11_BASE_EXTRA_RULES_XML environment variables in the wrapper to fix xkeyboard_config path resolution. The xkb-data crate used by cosmic-settings had hard-coded paths for the base.xml and extra.xml files (/usr/share/X11/xkb/rules/), which are not compatible with NixOS. --- pkgs/by-name/co/cosmic-greeter/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index a5635371d5a9..13d3c0808e6f 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -10,6 +10,7 @@ linux-pam, udev, coreutils, + xkeyboard_config, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -60,6 +61,13 @@ rustPlatform.buildRustPackage (finalAttrs: { substituteInPlace src/greeter.rs --replace-fail '/usr/bin/env' '${lib.getExe' coreutils "env"}' ''; + preFixup = '' + libcosmicAppWrapperArgs+=( + --set-default X11_BASE_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/base.xml + --set-default X11_BASE_EXTRA_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/extra.xml + ) + ''; + meta = { homepage = "https://github.com/pop-os/cosmic-greeter"; description = "Greeter for the COSMIC Desktop Environment"; From 57786e6d36e99e8e61facdae65e1c0ccc40cc95c Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 18:59:30 -0300 Subject: [PATCH 4/6] cosmic-greeter: add updateScript --- pkgs/by-name/co/cosmic-greeter/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 13d3c0808e6f..fd06de3a5c65 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -11,6 +11,7 @@ udev, coreutils, xkeyboard_config, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -68,6 +69,15 @@ rustPlatform.buildRustPackage (finalAttrs: { ) ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version" + "unstable" + "--version-regex" + "epoch-(.*)" + ]; + }; + meta = { homepage = "https://github.com/pop-os/cosmic-greeter"; description = "Greeter for the COSMIC Desktop Environment"; From c5f4bfd4604f411154290e56aa32cd26d041058e Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 18:59:58 -0300 Subject: [PATCH 5/6] cosmic-greeter: add HeitorAugustoLN as a maintainer --- pkgs/by-name/co/cosmic-greeter/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index fd06de3a5c65..209271ddc84d 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -83,7 +83,10 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Greeter for the COSMIC Desktop Environment"; mainProgram = "cosmic-greeter"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ nyabinary ]; + maintainers = with lib.maintainers; [ + nyabinary + HeitorAugustoLN + ]; platforms = lib.platforms.linux; }; }) From 7a85dedfa43c8b32b294a94c228cdb1fc061032c Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Tue, 18 Mar 2025 19:01:23 -0300 Subject: [PATCH 6/6] cosmic-greeter: 1.0.0-alpha.2 -> 1.0.0-alpha.6 --- pkgs/by-name/co/cosmic-greeter/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 209271ddc84d..90ca350a82c2 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -16,17 +16,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-greeter"; - version = "1.0.0-alpha.2"; + version = "1.0.0-alpha.6"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-greeter"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-5BSsiGgL369/PePS0FmuE42tktK2bpgJziYuUEnZ2jY="; + hash = "sha256-K6kCBtlmFfav8UP4zorzDJBzHt4CoSaFFAufrW1DPrw="; }; useFetchCargoVendor = true; - cargoHash = "sha256-5TXFE/pIeIOvy8x8c5sR3YaI8R2RTA8fzloguIpE4TM="; + cargoHash = "sha256-nmkM/Jm2P5ftZFfzX+O1Fe6eobRbgBkajZsbyI67Zfw="; cargoBuildFlags = [ "--all" ];