From d1c2006e24ea9660107c59a9f3952e4bc439be30 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 1/9] pkgs: Improve packaging functions to facilitate input override --- pkgs/pinentry-selector.nix | 9 ++++++--- pkgs/radicle-explorer.nix | 4 ++-- pkgs/spotifyx.nix | 14 +++++++++----- pkgs/wshowkeys-mao.nix | 4 ++-- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/pkgs/pinentry-selector.nix b/pkgs/pinentry-selector.nix index d44c418..e4825ef 100644 --- a/pkgs/pinentry-selector.nix +++ b/pkgs/pinentry-selector.nix @@ -1,7 +1,10 @@ -{pkgs}: -pkgs.writeShellApplication { +{ + writeShellApplication, + pinentry-all, +}: +writeShellApplication { name = "pinentry"; - runtimeInputs = with pkgs; [ + runtimeInputs = [ pinentry-all ]; text = '' diff --git a/pkgs/radicle-explorer.nix b/pkgs/radicle-explorer.nix index 790cd47..56cbdfc 100644 --- a/pkgs/radicle-explorer.nix +++ b/pkgs/radicle-explorer.nix @@ -1,8 +1,8 @@ { - pkgs, + radicle-explorer, rootPath, }: -(pkgs.radicle-explorer.withConfig { +(radicle-explorer.withConfig { preferredSeeds = [ { hostname = "seed.youthlic.fun"; diff --git a/pkgs/spotifyx.nix b/pkgs/spotifyx.nix index 0718727..d15bb46 100644 --- a/pkgs/spotifyx.nix +++ b/pkgs/spotifyx.nix @@ -1,16 +1,20 @@ { - pkgs, + spotify, + unzip, + zip, + perl, + symlinkJoin, srcs, }: let inherit (srcs) spotx; - spotifyx = pkgs.spotify.overrideAttrs (final: prev: { + spotifyx = spotify.overrideAttrs (final: prev: { nativeBuildInputs = prev.nativeBuildInputs - ++ (with pkgs; [ + ++ [ unzip zip perl - ]); + ]; spotx = spotx.src; postUnpack = '' cp $spotx/spotx.sh ./spotx.sh @@ -22,7 +26,7 @@ ''; }); in - pkgs.symlinkJoin { + symlinkJoin { name = "spotifyx"; paths = [spotifyx]; } diff --git a/pkgs/wshowkeys-mao.nix b/pkgs/wshowkeys-mao.nix index aff1b83..f9049f8 100644 --- a/pkgs/wshowkeys-mao.nix +++ b/pkgs/wshowkeys-mao.nix @@ -1,10 +1,10 @@ { - pkgs, srcs, + wshowkeys, }: let inherit (srcs) wshowkeys-mao; in - pkgs.wshowkeys.overrideAttrs (final: prev: { + wshowkeys.overrideAttrs (final: prev: { inherit (wshowkeys-mao) src; pname = "wshowkeys-mao"; version = wshowkeys-mao.date + "-" + wshowkeys-mao.version; From dcbba5b66eca1b7acc71337019e25091d4b21b56 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 2/9] pkgs: Add package for cliphist --- overlays/modifications/cliphist.nix | 5 +++++ overlays/modifications/default.nix | 1 + pkgs/_sources/generated.json | 21 +++++++++++++++++ pkgs/_sources/generated.nix | 12 ++++++++++ pkgs/cliphist.nix | 35 +++++++++++++++++++++++++++++ pkgs/default.nix | 1 + pkgs/nvfetcher.toml | 4 ++++ 7 files changed, 79 insertions(+) create mode 100644 overlays/modifications/cliphist.nix create mode 100644 pkgs/cliphist.nix diff --git a/overlays/modifications/cliphist.nix b/overlays/modifications/cliphist.nix new file mode 100644 index 0000000..a123457 --- /dev/null +++ b/overlays/modifications/cliphist.nix @@ -0,0 +1,5 @@ +{outputs, ...}: final: prev: let + inherit (prev.stdenv.hostPlatform) system; +in { + inherit (outputs.packages."${system}") cliphist; +} diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index 7fd84f5..2243a41 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -10,6 +10,7 @@ in ./wshowkeys.nix ./QQ.nix ./helix.nix + ./cliphist.nix ] |> map (file: import file args) |> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/pkgs/_sources/generated.json b/pkgs/_sources/generated.json index 4e64455..7952938 100644 --- a/pkgs/_sources/generated.json +++ b/pkgs/_sources/generated.json @@ -43,6 +43,27 @@ }, "version": "ee6c8a19de97a244cf33f618678fe89bd0d3e38c" }, + "cliphist": { + "cargoLocks": null, + "date": "2025-06-07", + "extract": null, + "name": "cliphist", + "passthru": null, + "pinned": false, + "src": { + "deepClone": false, + "fetchSubmodules": false, + "leaveDotGit": false, + "name": null, + "owner": "sentriz", + "repo": "cliphist", + "rev": "f49bd905cff72d32d62c209224353865436f9a13", + "sha256": "sha256-waD4AIAAlorW+UBvHKFc5dm/CqP0Fw3pygYqPX5cYNc=", + "sparseCheckout": [], + "type": "github" + }, + "version": "f49bd905cff72d32d62c209224353865436f9a13" + }, "dioxionary": { "cargoLocks": { "./Cargo.lock": [ diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index dd4769c..7d5c325 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -28,6 +28,18 @@ }; date = "2025-06-09"; }; + cliphist = { + pname = "cliphist"; + version = "f49bd905cff72d32d62c209224353865436f9a13"; + src = fetchFromGitHub { + owner = "sentriz"; + repo = "cliphist"; + rev = "f49bd905cff72d32d62c209224353865436f9a13"; + fetchSubmodules = false; + sha256 = "sha256-waD4AIAAlorW+UBvHKFc5dm/CqP0Fw3pygYqPX5cYNc="; + }; + date = "2025-06-07"; + }; dioxionary = { pname = "dioxionary"; version = "4db80d458ff7494967c94ebb1db596abba0775b2"; diff --git a/pkgs/cliphist.nix b/pkgs/cliphist.nix new file mode 100644 index 0000000..6a4cebd --- /dev/null +++ b/pkgs/cliphist.nix @@ -0,0 +1,35 @@ +{ + srcs, + cliphist, + imagemagick, + wl-clipboard, + fuzzel, + gawk, + gnugrep, + lib, + makeWrapper, +}: let + inherit (srcs.cliphist) src date version; +in + cliphist.overrideAttrs (final: prev: { + inherit src; + version = "unstable-${date}-git${version}"; + vendorHash = "sha256-No8d9ztepBO+fgF2XkEf/tyCPDAD57rBkzA8iVyNUmw="; + buildInputs = + (prev.buildInputs or []) + ++ [ + makeWrapper + ]; + postInstall = '' + cp -t $out/bin/ $src/contrib/* + rm $out/bin/cliphist.service + wrapProgram $out/bin/cliphist-fuzzel-img \ + --prefix PATH : ${lib.makeBinPath [ + imagemagick + wl-clipboard + fuzzel + gawk + gnugrep + ]} + ''; + }) diff --git a/pkgs/default.nix b/pkgs/default.nix index f27dedf..a989a15 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -22,6 +22,7 @@ in OuterWildsTextAdventure = callPackage ./OuterWildsTextAdventure.nix {}; QQ = callPackage ./QQ.nix {}; editor-runtime = callPackage ./editor-runtime.nix {}; + cliphist = callPackage ./cliphist.nix {}; noto-serif-cjk = callPackage ./noto-serif-cjk.nix {}; noto-sans-cjk = callPackage ./noto-sans-cjk.nix {}; diff --git a/pkgs/nvfetcher.toml b/pkgs/nvfetcher.toml index 58bad99..99856e3 100644 --- a/pkgs/nvfetcher.toml +++ b/pkgs/nvfetcher.toml @@ -42,3 +42,7 @@ fetch.github = "DreamMaoMao/wshowkeys" [OuterWildsTextAdventure] src.git = "https://github.com/top-mind/OuterWildsTextAdventureWeb.git" fetch.github = "top-mind/OuterWildsTextAdventureWeb" + +[cliphist] +src.git = "https://github.com/sentriz/cliphist.git" +fetch.github = "sentriz/cliphist" From 9110727e038d13e3730cef7876bbcc8ff57fd8f2 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 3/9] gui(niri): Use cliphist's builtin selector for niri binds --- home/david/modules/programs/niri/config.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/david/modules/programs/niri/config.nix b/home/david/modules/programs/niri/config.nix index 33e403b..a12084f 100644 --- a/home/david/modules/programs/niri/config.nix +++ b/home/david/modules/programs/niri/config.nix @@ -39,8 +39,8 @@ swaybg = getExe pkgs.swaybg; ghostty = getExe config.programs.ghostty.package; wl-paste = getExe' pkgs.wl-clipboard "wl-paste"; - wl-copy = getExe' pkgs.wl-clipboard "wl-copy"; cliphist = getExe' pkgs.cliphist "cliphist"; + cliphist-fuzzel-img = getExe' pkgs.cliphist "cliphist-fuzzel-img"; in ( let @@ -48,7 +48,7 @@ in in [ (plain "binds" [ (plain "Mod+V" [ - (spawn [sh "-c" "${cliphist} list | ${fuzzel} --dmenu | ${cliphist} decode | ${wl-copy}"]) + (spawn [cliphist-fuzzel-img]) ]) (plain "Mod+Shift+P" [ (spawn [swaylock "--screenshots" "--clock" "--indicator" "--indicator-radius" "100" "--indicator-thickness" "7" "--effect-blur" "7x5" "--effect-vignette" "0.5:0.5" "--grace" "2" "--fade-in" "0.5"]) From 2ded35f4be1c8ff817717af66d845842a14649d8 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 4/9] gui(niri): Start wl-clip-persist with niri --- home/david/modules/programs/niri/config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/david/modules/programs/niri/config.nix b/home/david/modules/programs/niri/config.nix index a12084f..cc0a58f 100644 --- a/home/david/modules/programs/niri/config.nix +++ b/home/david/modules/programs/niri/config.nix @@ -41,6 +41,7 @@ wl-paste = getExe' pkgs.wl-clipboard "wl-paste"; cliphist = getExe' pkgs.cliphist "cliphist"; cliphist-fuzzel-img = getExe' pkgs.cliphist "cliphist-fuzzel-img"; + wl-clip-persist = getExe pkgs.wl-clip-persist; in ( let @@ -391,6 +392,7 @@ in (spawn-at-startup [polkit-kde-agent]) (spawn-at-startup [wl-paste "--watch" cliphist "store"]) (spawn-at-startup [sh "-c" "${sleep} 10; ${fcitx5} --replace"]) + (spawn-at-startup [wl-clip-persist "--clipboard" "regular"]) (plain "input" [ (plain "touchpad" [ (leaf "click-method" "clickfinger") From 094f9d86f9b37fb8efc6835a13297b2d02101f42 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 5/9] gui(niri): Launch fcitx5 instantly on niri startup --- home/david/modules/programs/niri/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/david/modules/programs/niri/config.nix b/home/david/modules/programs/niri/config.nix index cc0a58f..060606c 100644 --- a/home/david/modules/programs/niri/config.nix +++ b/home/david/modules/programs/niri/config.nix @@ -391,8 +391,8 @@ in (spawn-at-startup [swaybg "-i" "${config.home.homeDirectory}/wallpaper/01.png"]) (spawn-at-startup [polkit-kde-agent]) (spawn-at-startup [wl-paste "--watch" cliphist "store"]) - (spawn-at-startup [sh "-c" "${sleep} 10; ${fcitx5} --replace"]) (spawn-at-startup [wl-clip-persist "--clipboard" "regular"]) + (spawn-at-startup [fcitx5 "--replace"]) (plain "input" [ (plain "touchpad" [ (leaf "click-method" "clickfinger") From 68458ec74c7163c77d3e8ef37980d59a3c22d906 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 15:54:54 +0800 Subject: [PATCH 6/9] pkgs: Synchronize upstream source archives for packages --- pkgs/_sources/generated.json | 16 ++++++++-------- pkgs/_sources/generated.nix | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/_sources/generated.json b/pkgs/_sources/generated.json index 7952938..2508ebe 100644 --- a/pkgs/_sources/generated.json +++ b/pkgs/_sources/generated.json @@ -22,7 +22,7 @@ }, "TrackersListCollection": { "cargoLocks": null, - "date": "2025-06-09", + "date": "2025-06-10", "extract": null, "name": "TrackersListCollection", "passthru": null, @@ -34,14 +34,14 @@ "name": null, "owner": "XIU2", "repo": "TrackersListCollection", - "rev": "ee6c8a19de97a244cf33f618678fe89bd0d3e38c", - "sha256": "sha256-KaVR91W/2XbYIxFrE8aKvpJTE10Mfb25ZlMOR2dRL5M=", + "rev": "01e578ea12a7f00d989dfaf13c5f43875f1ff853", + "sha256": "sha256-npX1g1rvprXLEwkjE7S3hfpUCdmEnolSq4eLki9pvag=", "sparseCheckout": [ "all.txt" ], "type": "github" }, - "version": "ee6c8a19de97a244cf33f618678fe89bd0d3e38c" + "version": "01e578ea12a7f00d989dfaf13c5f43875f1ff853" }, "cliphist": { "cargoLocks": null, @@ -157,7 +157,7 @@ }, "rime-ice": { "cargoLocks": null, - "date": "2025-06-06", + "date": "2025-06-09", "extract": null, "name": "rime-ice", "passthru": null, @@ -169,12 +169,12 @@ "name": null, "owner": "iDvel", "repo": "rime-ice", - "rev": "b86e6147d68c229b45bb1f2a593f8b76155e964d", - "sha256": "sha256-ttGHvxv6ZImn6xBifsL4bc+7Q/RvarwPwegx9pT+Hsg=", + "rev": "5b94b7df626bffedc3fe05ee71511aa0272bfc36", + "sha256": "sha256-RK5togo9YEQVSUL1bpkcsHmzK1V8IMe0adFB1T2hVoI=", "sparseCheckout": [], "type": "github" }, - "version": "b86e6147d68c229b45bb1f2a593f8b76155e964d" + "version": "5b94b7df626bffedc3fe05ee71511aa0272bfc36" }, "spotx": { "cargoLocks": null, diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index 7d5c325..fe471e1 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -15,18 +15,18 @@ }; TrackersListCollection = { pname = "TrackersListCollection"; - version = "ee6c8a19de97a244cf33f618678fe89bd0d3e38c"; + version = "01e578ea12a7f00d989dfaf13c5f43875f1ff853"; src = fetchFromGitHub { owner = "XIU2"; repo = "TrackersListCollection"; - rev = "ee6c8a19de97a244cf33f618678fe89bd0d3e38c"; + rev = "01e578ea12a7f00d989dfaf13c5f43875f1ff853"; fetchSubmodules = false; deepClone = false; leaveDotGit = false; sparseCheckout = [ "all.txt" ]; - sha256 = "sha256-KaVR91W/2XbYIxFrE8aKvpJTE10Mfb25ZlMOR2dRL5M="; + sha256 = "sha256-npX1g1rvprXLEwkjE7S3hfpUCdmEnolSq4eLki9pvag="; }; - date = "2025-06-09"; + date = "2025-06-10"; }; cliphist = { pname = "cliphist"; @@ -104,15 +104,15 @@ }; rime-ice = { pname = "rime-ice"; - version = "b86e6147d68c229b45bb1f2a593f8b76155e964d"; + version = "5b94b7df626bffedc3fe05ee71511aa0272bfc36"; src = fetchFromGitHub { owner = "iDvel"; repo = "rime-ice"; - rev = "b86e6147d68c229b45bb1f2a593f8b76155e964d"; + rev = "5b94b7df626bffedc3fe05ee71511aa0272bfc36"; fetchSubmodules = false; - sha256 = "sha256-ttGHvxv6ZImn6xBifsL4bc+7Q/RvarwPwegx9pT+Hsg="; + sha256 = "sha256-RK5togo9YEQVSUL1bpkcsHmzK1V8IMe0adFB1T2hVoI="; }; - date = "2025-06-06"; + date = "2025-06-09"; }; spotx = { pname = "spotx"; From 90830d3d061c74edcb75507f9fe23a27390f521c Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 18:23:34 +0800 Subject: [PATCH 7/9] overlays: Disable QQ overlay to block Wayland launch --- overlays/modifications/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index 2243a41..2f18ea8 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -8,7 +8,7 @@ in ./spotifyx.nix ./radicle-explorer.nix ./wshowkeys.nix - ./QQ.nix + # ./QQ.nix ./helix.nix ./cliphist.nix ] From 2c37d1f7c976eaeab4368f4460fc2ce9f2f04ab0 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 18:59:42 +0800 Subject: [PATCH 8/9] pkgs(cliphist): Add upstream update alert to purge local pkg --- pkgs/cliphist.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/cliphist.nix b/pkgs/cliphist.nix index 6a4cebd..40f08f9 100644 --- a/pkgs/cliphist.nix +++ b/pkgs/cliphist.nix @@ -13,7 +13,13 @@ in cliphist.overrideAttrs (final: prev: { inherit src; - version = "unstable-${date}-git${version}"; + version = + if prev.version != "0.6.1" + then + throw '' + Please remove + '' + else "0-unstable-${date}-git${version}"; vendorHash = "sha256-No8d9ztepBO+fgF2XkEf/tyCPDAD57rBkzA8iVyNUmw="; buildInputs = (prev.buildInputs or []) From edfca1462145f341b14efed5566ee64b646dbbd8 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Tue, 10 Jun 2025 19:11:40 +0800 Subject: [PATCH 9/9] machine(Cape): Disable Cape transfer.sh svc --- nixos/configurations/Cape/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 85e7d6f..b34fe32 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -19,7 +19,6 @@ users.deploy.enable = true; containers.interface = "ens3"; programs = { - transfer-sh.enable = true; rustypaste = { enable = true; url = "https://paste.youthlic.fun";