diff --git a/home/david/modules/programs/niri/config.nix b/home/david/modules/programs/niri/config.nix index 33e403b..060606c 100644 --- a/home/david/modules/programs/niri/config.nix +++ b/home/david/modules/programs/niri/config.nix @@ -39,8 +39,9 @@ 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"; + wl-clip-persist = getExe pkgs.wl-clip-persist; in ( let @@ -48,7 +49,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"]) @@ -390,7 +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") 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"; 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..2f18ea8 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -8,8 +8,9 @@ in ./spotifyx.nix ./radicle-explorer.nix ./wshowkeys.nix - ./QQ.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..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,35 @@ "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, + "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": { @@ -136,7 +157,7 @@ }, "rime-ice": { "cargoLocks": null, - "date": "2025-06-06", + "date": "2025-06-09", "extract": null, "name": "rime-ice", "passthru": null, @@ -148,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 dd4769c..fe471e1 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -15,18 +15,30 @@ }; 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"; + version = "f49bd905cff72d32d62c209224353865436f9a13"; + src = fetchFromGitHub { + owner = "sentriz"; + repo = "cliphist"; + rev = "f49bd905cff72d32d62c209224353865436f9a13"; + fetchSubmodules = false; + sha256 = "sha256-waD4AIAAlorW+UBvHKFc5dm/CqP0Fw3pygYqPX5cYNc="; + }; + date = "2025-06-07"; }; dioxionary = { pname = "dioxionary"; @@ -92,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"; diff --git a/pkgs/cliphist.nix b/pkgs/cliphist.nix new file mode 100644 index 0000000..40f08f9 --- /dev/null +++ b/pkgs/cliphist.nix @@ -0,0 +1,41 @@ +{ + 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 = + 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 []) + ++ [ + 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" 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;