From 0ee24498210e397f3beeefb4a3b87e43d1d5817b Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:20:31 -0300 Subject: [PATCH 1/9] cosmic-bg: use mold linker --- pkgs/by-name/co/cosmic-bg/package.nix | 98 +++++++++++++++------------ 1 file changed, 53 insertions(+), 45 deletions(-) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index 5b6098a42f5f..04e7a6de2120 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + stdenvAdapters, fetchFromGitHub, rustPlatform, just, @@ -8,58 +9,65 @@ makeBinaryWrapper, libxkbcommon, wayland, + + withMoldLinker ? stdenv.targetPlatform.isLinux, }: -rustPlatform.buildRustPackage rec { - pname = "cosmic-bg"; - version = "1.0.0-alpha.6"; +rustPlatform.buildRustPackage.override + { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } + rec { + pname = "cosmic-bg"; + version = "1.0.0-alpha.6"; - src = fetchFromGitHub { - owner = "pop-os"; - repo = pname; - rev = "epoch-${version}"; - hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks="; - }; + src = fetchFromGitHub { + owner = "pop-os"; + repo = pname; + rev = "epoch-${version}"; + hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks="; + }; - useFetchCargoVendor = true; - cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk="; + useFetchCargoVendor = true; + cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk="; - postPatch = '' - substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" - ''; + postPatch = '' + substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" + ''; - nativeBuildInputs = [ - just - pkg-config - makeBinaryWrapper - ]; - buildInputs = [ - libxkbcommon - wayland - ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + wayland + ]; - dontUseJustBuild = true; + dontUseJustBuild = true; - justFlags = [ - "--set" - "prefix" - (placeholder "out") - "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-bg" - ]; + justFlags = [ + "--set" + "prefix" + (placeholder "out") + "--set" + "bin-src" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-bg" + ]; - postInstall = '' - wrapProgram $out/bin/cosmic-bg \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" - ''; + env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = + lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold"; - meta = with lib; { - homepage = "https://github.com/pop-os/cosmic-bg"; - description = "Applies Background for the COSMIC Desktop Environment"; - license = licenses.mpl20; - maintainers = with maintainers; [ nyabinary ]; - platforms = platforms.linux; - mainProgram = "cosmic-bg"; - }; -} + postInstall = '' + wrapProgram $out/bin/cosmic-bg \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" + ''; + + meta = with lib; { + homepage = "https://github.com/pop-os/cosmic-bg"; + description = "Applies Background for the COSMIC Desktop Environment"; + license = licenses.mpl20; + maintainers = with maintainers; [ nyabinary ]; + platforms = platforms.linux; + mainProgram = "cosmic-bg"; + }; + } From 0a49ff25e2c847f255b24cb1cdc2cbe94f8be50c Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:23:45 -0300 Subject: [PATCH 2/9] cosmic-bg: refactor --- pkgs/by-name/co/cosmic-bg/package.nix | 36 ++++++++------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index 04e7a6de2120..183ed2ad9af7 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -4,11 +4,9 @@ stdenvAdapters, fetchFromGitHub, rustPlatform, + libcosmicAppHook, just, - pkg-config, - makeBinaryWrapper, - libxkbcommon, - wayland, + nasm, withMoldLinker ? stdenv.targetPlatform.isLinux, }: @@ -21,29 +19,22 @@ rustPlatform.buildRustPackage.override src = fetchFromGitHub { owner = "pop-os"; - repo = pname; - rev = "epoch-${version}"; + repo = "cosmic-bg"; + tag = "epoch-${version}"; hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks="; }; useFetchCargoVendor = true; cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk="; - postPatch = '' - substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" - ''; - nativeBuildInputs = [ just - pkg-config - makeBinaryWrapper - ]; - buildInputs = [ - libxkbcommon - wayland + libcosmicAppHook + nasm ]; dontUseJustBuild = true; + dontUseJustCheck = true; justFlags = [ "--set" @@ -57,17 +48,12 @@ rustPlatform.buildRustPackage.override env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold"; - postInstall = '' - wrapProgram $out/bin/cosmic-bg \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" - ''; - - meta = with lib; { + meta = { homepage = "https://github.com/pop-os/cosmic-bg"; description = "Applies Background for the COSMIC Desktop Environment"; - license = licenses.mpl20; - maintainers = with maintainers; [ nyabinary ]; - platforms = platforms.linux; + license = lib.licenses.mpl20; + maintainers = with lib.maintainers; [ nyabinary ]; + platforms = lib.platforms.linux; mainProgram = "cosmic-bg"; }; } From ad42512ff34c32e8e061c248df01ae4239773717 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:24:13 -0300 Subject: [PATCH 3/9] cosmic-bg: add HeitorAugustoLN as a maintainer --- pkgs/by-name/co/cosmic-bg/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index 183ed2ad9af7..635e727fe498 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -52,7 +52,10 @@ rustPlatform.buildRustPackage.override homepage = "https://github.com/pop-os/cosmic-bg"; description = "Applies Background for the COSMIC Desktop Environment"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [ nyabinary ]; + maintainers = with lib.maintainers; [ + nyabinary + HeitorAugustoLN + ]; platforms = lib.platforms.linux; mainProgram = "cosmic-bg"; }; From 63a365d8ffd47ffe7bbd0e577e3fecb51130efed Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:27:32 -0300 Subject: [PATCH 4/9] cosmic-launcher: use mold linker --- pkgs/by-name/co/cosmic-launcher/package.nix | 106 ++++++++++---------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index 3db03c2d7c51..6c9bfa4c8665 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -1,68 +1,70 @@ { lib, stdenv, + stdenvAdapters, fetchFromGitHub, rustPlatform, just, libcosmicAppHook, nix-update-script, + + withMoldLinker ? stdenv.targetPlatform.isLinux, }: -rustPlatform.buildRustPackage rec { - pname = "cosmic-launcher"; - version = "1.0.0-alpha.6"; +rustPlatform.buildRustPackage.override + { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } + rec { + pname = "cosmic-launcher"; + version = "1.0.0-alpha.6"; - src = fetchFromGitHub { - owner = "pop-os"; - repo = "cosmic-launcher"; - tag = "epoch-${version}"; - hash = "sha256-BtYnL+qkM/aw+Air5yOKH098V+TQByM5mh1DX7v+v+s="; - }; + src = fetchFromGitHub { + owner = "pop-os"; + repo = "cosmic-launcher"; + tag = "epoch-${version}"; + hash = "sha256-BtYnL+qkM/aw+Air5yOKH098V+TQByM5mh1DX7v+v+s="; + }; - useFetchCargoVendor = true; - cargoHash = "sha256-g7Qr3C8jQg65KehXAhftdXCpEukag0w12ClvZFkxfqs="; + useFetchCargoVendor = true; + cargoHash = "sha256-g7Qr3C8jQg65KehXAhftdXCpEukag0w12ClvZFkxfqs="; - nativeBuildInputs = [ - just - libcosmicAppHook - ]; - - dontUseJustBuild = true; - dontUseJustCheck = true; - - justFlags = [ - "--set" - "prefix" - (placeholder "out") - "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-launcher" - ]; - - postPatch = '' - substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" - ''; - - env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = "--cfg tokio_unstable"; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--version" - "unstable" - "--version-regex" - "epoch-(.*)" + nativeBuildInputs = [ + just + libcosmicAppHook ]; - }; - meta = { - homepage = "https://github.com/pop-os/cosmic-launcher"; - description = "Launcher for the COSMIC Desktop Environment"; - mainProgram = "cosmic-launcher"; - license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ - nyabinary - HeitorAugustoLN + dontUseJustBuild = true; + dontUseJustCheck = true; + + justFlags = [ + "--set" + "prefix" + (placeholder "out") + "--set" + "bin-src" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-launcher" ]; - platforms = lib.platforms.linux; - }; -} + + env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = + "--cfg tokio_unstable${lib.optionalString withMoldLinker " -C link-arg=-fuse-ld=mold"}"; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version" + "unstable" + "--version-regex" + "epoch-(.*)" + ]; + }; + + meta = { + homepage = "https://github.com/pop-os/cosmic-launcher"; + description = "Launcher for the COSMIC Desktop Environment"; + mainProgram = "cosmic-launcher"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + nyabinary + HeitorAugustoLN + ]; + platforms = lib.platforms.linux; + }; + } From a91e87b1f024e9a69c19a410f2c80e8bea8e5385 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:28:26 -0300 Subject: [PATCH 5/9] cosmic-bg: add updateScript --- pkgs/by-name/co/cosmic-bg/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index 635e727fe498..1ca3e6b61639 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -7,6 +7,7 @@ libcosmicAppHook, just, nasm, + nix-update-script, withMoldLinker ? stdenv.targetPlatform.isLinux, }: @@ -48,6 +49,15 @@ rustPlatform.buildRustPackage.override env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold"; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version" + "unstable" + "--version-regex" + "epoch-(.*)" + ]; + }; + meta = { homepage = "https://github.com/pop-os/cosmic-bg"; description = "Applies Background for the COSMIC Desktop Environment"; From 801b31bb362705233a52c364cef9a7328667ab24 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Sun, 2 Mar 2025 19:31:15 -0300 Subject: [PATCH 6/9] cosmic-randr: use mold linker --- pkgs/by-name/co/cosmic-randr/package.nix | 104 ++++++++++++----------- 1 file changed, 56 insertions(+), 48 deletions(-) diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index 92e96e25c270..ce99615b10ec 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -1,65 +1,73 @@ { lib, stdenv, + stdenvAdapters, fetchFromGitHub, rustPlatform, just, pkg-config, wayland, nix-update-script, + + withMoldLinker ? stdenv.targetPlatform.isLinux, }: -rustPlatform.buildRustPackage rec { - pname = "cosmic-randr"; - version = "1.0.0-alpha.6"; +rustPlatform.buildRustPackage.override + { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } + rec { + pname = "cosmic-randr"; + version = "1.0.0-alpha.6"; - src = fetchFromGitHub { - owner = "pop-os"; - repo = "cosmic-randr"; - tag = "epoch-${version}"; - hash = "sha256-Sqxe+vKonsK9MmJGtbrZHE7frfrjkHXysm0WQt7WSU4="; - }; + src = fetchFromGitHub { + owner = "pop-os"; + repo = "cosmic-randr"; + tag = "epoch-${version}"; + hash = "sha256-Sqxe+vKonsK9MmJGtbrZHE7frfrjkHXysm0WQt7WSU4="; + }; - useFetchCargoVendor = true; - cargoHash = "sha256-UQ/fhjUiniVeHRQYulYko4OxcWB6UhFuxH1dVAfAzIY="; + useFetchCargoVendor = true; + cargoHash = "sha256-UQ/fhjUiniVeHRQYulYko4OxcWB6UhFuxH1dVAfAzIY="; - nativeBuildInputs = [ - just - pkg-config - ]; - - buildInputs = [ wayland ]; - - dontUseJustBuild = true; - dontUseJustCheck = true; - - justFlags = [ - "--set" - "prefix" - (placeholder "out") - "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-randr" - ]; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--version" - "unstable" - "--version-regex" - "epoch-(.*)" + nativeBuildInputs = [ + just + pkg-config ]; - }; - meta = { - homepage = "https://github.com/pop-os/cosmic-randr"; - description = "Library and utility for displaying and configuring Wayland outputs"; - license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [ - nyabinary - HeitorAugustoLN + buildInputs = [ wayland ]; + + dontUseJustBuild = true; + dontUseJustCheck = true; + + justFlags = [ + "--set" + "prefix" + (placeholder "out") + "--set" + "bin-src" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-randr" ]; - platforms = lib.platforms.linux; - mainProgram = "cosmic-randr"; - }; -} + + env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = + lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold"; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version" + "unstable" + "--version-regex" + "epoch-(.*)" + ]; + }; + + meta = { + homepage = "https://github.com/pop-os/cosmic-randr"; + description = "Library and utility for displaying and configuring Wayland outputs"; + license = lib.licenses.mpl20; + maintainers = with lib.maintainers; [ + nyabinary + HeitorAugustoLN + ]; + platforms = lib.platforms.linux; + mainProgram = "cosmic-randr"; + }; + } From 58156542d271b4f0e128ce4984cb1014fe242eaa Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Mon, 3 Mar 2025 10:38:55 -0300 Subject: [PATCH 7/9] cosmic-bg: replace `rec` with `finalAttrs` --- pkgs/by-name/co/cosmic-bg/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index 1ca3e6b61639..61fe82b61528 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage.override { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } - rec { + (finalAttrs: { pname = "cosmic-bg"; version = "1.0.0-alpha.6"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-bg"; - tag = "epoch-${version}"; + tag = "epoch-${finalAttrs.version}"; hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks="; }; @@ -69,4 +69,4 @@ rustPlatform.buildRustPackage.override platforms = lib.platforms.linux; mainProgram = "cosmic-bg"; }; - } + }) From 713d43cdb4ccaa6e1df436adbbe5f597f511dcc3 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Mon, 3 Mar 2025 10:39:20 -0300 Subject: [PATCH 8/9] cosmic-randr: replace `rec` with `finalAttrs` --- pkgs/by-name/co/cosmic-randr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index ce99615b10ec..e8115fad0f15 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage.override { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } - rec { + (finalAttrs: { pname = "cosmic-randr"; version = "1.0.0-alpha.6"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-randr"; - tag = "epoch-${version}"; + tag = "epoch-${finalAttrs.version}"; hash = "sha256-Sqxe+vKonsK9MmJGtbrZHE7frfrjkHXysm0WQt7WSU4="; }; @@ -70,4 +70,4 @@ rustPlatform.buildRustPackage.override platforms = lib.platforms.linux; mainProgram = "cosmic-randr"; }; - } + }) From 1b269226f081c09d5be0da0f8153728bc8deb4bb Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Mon, 3 Mar 2025 10:40:17 -0300 Subject: [PATCH 9/9] cosmic-launcher: replace `rec` with `finalAttrs` --- pkgs/by-name/co/cosmic-launcher/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index 6c9bfa4c8665..fba267328761 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -13,14 +13,14 @@ rustPlatform.buildRustPackage.override { stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; } - rec { + (finalAttrs: { pname = "cosmic-launcher"; version = "1.0.0-alpha.6"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-launcher"; - tag = "epoch-${version}"; + tag = "epoch-${finalAttrs.version}"; hash = "sha256-BtYnL+qkM/aw+Air5yOKH098V+TQByM5mh1DX7v+v+s="; }; @@ -67,4 +67,4 @@ rustPlatform.buildRustPackage.override ]; platforms = lib.platforms.linux; }; - } + })