From 7be2edee33ce37b9c843bf83be1d9c7c72fbfc2d Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 2 Nov 2025 07:21:08 +0800 Subject: [PATCH 1/2] feat: Improve legacyPackage function --- flake/perSystem.nix | 30 +++++++++++++++---- overlays/modifications/cliphist.nix | 2 +- overlays/modifications/radicle-explorer.nix | 2 +- overlays/modifications/spotifyd.nix | 2 +- pkgs/{cliphist.nix => cliphist'.nix} | 0 ...cle-explorer.nix => radicle-explorer'.nix} | 0 pkgs/{spotifyd.nix => spotifyd'.nix} | 4 +-- 7 files changed, 29 insertions(+), 11 deletions(-) rename pkgs/{cliphist.nix => cliphist'.nix} (100%) rename pkgs/{radicle-explorer.nix => radicle-explorer'.nix} (100%) rename pkgs/{spotifyd.nix => spotifyd'.nix} (92%) diff --git a/flake/perSystem.nix b/flake/perSystem.nix index e46b620..5341411 100644 --- a/flake/perSystem.nix +++ b/flake/perSystem.nix @@ -47,14 +47,16 @@ inherit inputs rootPath; srcs = self.callPackage (rootPath + "/_sources/generated.nix") { }; inherit (inputs'.nixvim.legacyPackages) makeNixvim makeNixvimWithModule; - inherit (self'.legacyPackages) nixvimPlugins editor-runtime; neovim_git = inputs'.neovim-nightly.packages.default; }); in - lib.packagesFromDirectoryRecursive { - inherit (inputsScope) callPackage; - directory = rootPath + "/pkgs"; - }; + inputsScope.overrideScope ( + final: _prev: + lib.packagesFromDirectoryRecursive { + inherit (final) callPackage; + directory = rootPath + "/pkgs"; + } + ); packages = let flattenPkgs = @@ -68,7 +70,23 @@ else { }; in - flattenPkgs [ ] self'.legacyPackages; + flattenPkgs [ ] ( + lib.removeAttrs self'.legacyPackages [ + "inputs" + + "srcs" + + "rootPath" + + "makeNixvim" + "makeNixvimWithModule" + + "newScope" + "overrideScope" + "packages" + "callPackage" + ] + ); checks = lib.concatMapAttrs (name: value: { "package-${name}" = value; }) self'.packages; diff --git a/overlays/modifications/cliphist.nix b/overlays/modifications/cliphist.nix index 6ad9740..2aa546a 100644 --- a/overlays/modifications/cliphist.nix +++ b/overlays/modifications/cliphist.nix @@ -4,5 +4,5 @@ let inherit (prev.stdenv.hostPlatform) system; in { - inherit (outputs.packages."${system}") cliphist; + inherit (outputs.packages."${system}") cliphist'; } diff --git a/overlays/modifications/radicle-explorer.nix b/overlays/modifications/radicle-explorer.nix index a001fde..316b7a6 100644 --- a/overlays/modifications/radicle-explorer.nix +++ b/overlays/modifications/radicle-explorer.nix @@ -4,5 +4,5 @@ let inherit (prev.stdenv.hostPlatform) system; in { - radicle-explorer = outputs.packages."${system}".radicle-explorer; + radicle-explorer = outputs.packages."${system}".radicle-explorer'; } diff --git a/overlays/modifications/spotifyd.nix b/overlays/modifications/spotifyd.nix index 2d19fce..2689a30 100644 --- a/overlays/modifications/spotifyd.nix +++ b/overlays/modifications/spotifyd.nix @@ -4,5 +4,5 @@ let inherit (prev.stdenv.hostPlatform) system; in { - spotifyd = outputs.packages."${system}".spotifyd; + spotifyd = outputs.packages.${system}.spotifyd'; } diff --git a/pkgs/cliphist.nix b/pkgs/cliphist'.nix similarity index 100% rename from pkgs/cliphist.nix rename to pkgs/cliphist'.nix diff --git a/pkgs/radicle-explorer.nix b/pkgs/radicle-explorer'.nix similarity index 100% rename from pkgs/radicle-explorer.nix rename to pkgs/radicle-explorer'.nix diff --git a/pkgs/spotifyd.nix b/pkgs/spotifyd'.nix similarity index 92% rename from pkgs/spotifyd.nix rename to pkgs/spotifyd'.nix index 211ff3f..f7f61f4 100644 --- a/pkgs/spotifyd.nix +++ b/pkgs/spotifyd'.nix @@ -8,7 +8,7 @@ let inherit (srcs.spotifyd) src date version; in spotifyd.overrideAttrs ( - final: prev: { + _final: prev: { inherit src; version = if prev.version != "0.4.1" then @@ -18,7 +18,7 @@ spotifyd.overrideAttrs ( else "0-unstable-${date}-git${version}"; cargoDeps = rustPlatform.fetchCargoVendor { - inherit (final) + inherit (prev) src ; hash = "sha256-WwShp1ebk89cBqRXqKDgbwGZraCDjQAOxoL4uEIq2aw="; From fe6e4f4c0b14a38c89bd8f8d2e20a16372960935 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 2 Nov 2025 07:21:08 +0800 Subject: [PATCH 2/2] feat: Add rime-all package for all rime plugins --- home/modules/i18n/default.nix | 14 ------------- nixos/modules/i18n.nix | 5 +---- overlays/additions/default.nix | 1 + overlays/additions/rime-all.nix | 8 +++++++ .../rime-all}/default.custom.yaml | 0 .../rime-all}/double_pinyin_flypy.custom.yaml | 0 pkgs/rime-all/package.nix | 21 +++++++++++++++++++ .../rime-all}/yustar_sc.custom.yaml | 0 8 files changed, 31 insertions(+), 18 deletions(-) delete mode 100644 home/modules/i18n/default.nix create mode 100644 overlays/additions/rime-all.nix rename {home/modules/i18n => pkgs/rime-all}/default.custom.yaml (100%) rename {home/modules/i18n => pkgs/rime-all}/double_pinyin_flypy.custom.yaml (100%) create mode 100644 pkgs/rime-all/package.nix rename {home/modules/i18n => pkgs/rime-all}/yustar_sc.custom.yaml (100%) diff --git a/home/modules/i18n/default.nix b/home/modules/i18n/default.nix deleted file mode 100644 index 5dddd23..0000000 --- a/home/modules/i18n/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - osConfig ? null, - lib, - ... -}: -{ - config = lib.mkIf (osConfig != null) { - xdg.dataFile = { - "fcitx5/rime/default.custom.yaml".source = ./default.custom.yaml; - "fcitx5/rime/double_pinyin_flypy.custom.yaml".source = ./double_pinyin_flypy.custom.yaml; - "fcitx5/rime/yustar_sc.custom.yaml".source = ./yustar_sc.custom.yaml; - }; - }; -} diff --git a/nixos/modules/i18n.nix b/nixos/modules/i18n.nix index b71184f..22a9ff5 100644 --- a/nixos/modules/i18n.nix +++ b/nixos/modules/i18n.nix @@ -37,10 +37,7 @@ in fcitx5-fluent (fcitx5-rime.override { rimeDataPkgs = [ - rime-ice - rime-zhwiki - rime-moegirl - rime-yuhaostar + rime-all ]; }) ]; diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index 1ea4ffc..a73aec7 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -9,6 +9,7 @@ in ./editor-runtime.nix ./wallpapers.nix ./rime-yuhaostar.nix + ./rime-all.nix ./nixvim.nix ./doom-emacs.nix ./osu-lazer-bin.nix # typochecker: disable-line diff --git a/overlays/additions/rime-all.nix b/overlays/additions/rime-all.nix new file mode 100644 index 0000000..23675dc --- /dev/null +++ b/overlays/additions/rime-all.nix @@ -0,0 +1,8 @@ +{ outputs, ... }: +_final: prev: +let + inherit (prev.stdenv.hostPlatform) system; +in +{ + inherit (outputs.packages.${system}) rime-all; +} diff --git a/home/modules/i18n/default.custom.yaml b/pkgs/rime-all/default.custom.yaml similarity index 100% rename from home/modules/i18n/default.custom.yaml rename to pkgs/rime-all/default.custom.yaml diff --git a/home/modules/i18n/double_pinyin_flypy.custom.yaml b/pkgs/rime-all/double_pinyin_flypy.custom.yaml similarity index 100% rename from home/modules/i18n/double_pinyin_flypy.custom.yaml rename to pkgs/rime-all/double_pinyin_flypy.custom.yaml diff --git a/pkgs/rime-all/package.nix b/pkgs/rime-all/package.nix new file mode 100644 index 0000000..834d446 --- /dev/null +++ b/pkgs/rime-all/package.nix @@ -0,0 +1,21 @@ +{ + rime-ice, + rime-yuhaostar, + rime-moegirl, + rime-zhwiki, + buildEnv, +}: +buildEnv { + name = "rime-all"; + paths = [ + rime-ice + rime-yuhaostar + rime-zhwiki + rime-moegirl + ]; + postBuild = '' + ln -s ${./yustar_sc.custom.yaml} $out/share/rime-data/yustar_sc.custom.yaml + ln -s ${./double_pinyin_flypy.custom.yaml} $out/share/rime-data/double_pinyin_flypy.custom.yaml + ln -s ${./default.custom.yaml} $out/share/rime-data/default.custom.yaml + ''; +} diff --git a/home/modules/i18n/yustar_sc.custom.yaml b/pkgs/rime-all/yustar_sc.custom.yaml similarity index 100% rename from home/modules/i18n/yustar_sc.custom.yaml rename to pkgs/rime-all/yustar_sc.custom.yaml