Compare commits

...

6 commits

Author SHA1 Message Date
0f8a3d5d99
Use rime-ice in nixpkgs instead of self-packaged
- remove package rime-ice
- remove overlay of rime-ice
- regenerate nvfetcher
- add configuration for rime-ice
- add zhwiki and moegirl as dict
2025-06-21 19:39:30 +08:00
ebb171dc3f
module(i18n): Add fcitx5-gtk addon 2025-06-21 19:39:29 +08:00
e629204c18
flake: Synchronize upstream inputs for flake and fix niri config 2025-06-21 19:39:27 +08:00
eae222883f
module(firefox): Add addon redirector for firefox 2025-06-21 19:39:25 +08:00
e50aa81b8c
pkgs(dioxionary): Delete the packaging function of dioxionary 2025-06-21 19:39:24 +08:00
dc6f0ad7aa
pkgs: Synchronize upstream source archives for packages 2025-06-21 19:39:22 +08:00
19 changed files with 353 additions and 3976 deletions

96
flake.lock generated
View file

@ -96,11 +96,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1750212424, "lastModified": 1750330289,
"narHash": "sha256-qVefRn4cmrH3nNjT3sP5U2I9dsCTJKWzl8uDhwfAGFw=", "narHash": "sha256-16+LlTyw9wmINhxXB8BxGnSvngwm4nfrQ7GDKi7Cbdw=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "6725337207f86ac50a0ae4075718f47b5cb9174e", "rev": "ed44dff18a42ae3852f0d182cd39eb10d6a723e3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -119,11 +119,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749975763, "lastModified": 1750260393,
"narHash": "sha256-27qcno2+7CHU6ssR4i8SDNxIoXO+pmM0932oxnjR+Qs=", "narHash": "sha256-DJtTX/hxht6X0mway2HMEKCm9bbFNkecz7SNte5GaAw=",
"owner": "daeuniverse", "owner": "daeuniverse",
"repo": "flake.nix", "repo": "flake.nix",
"rev": "c7fcf3fad955f7e028e16d00a274825737ad7cdf", "rev": "1e51d98b6e606f935faaf08f68c1a3a68d5ee441",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -393,11 +393,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1750169866, "lastModified": 1750344736,
"narHash": "sha256-3gCFhONErZ13S0ixwLaQ4cfgaIOXOUHH2g/yzt3ZFg8=", "narHash": "sha256-pPktfkA5r1zhza2Gw+u7K4g/s9EfpXXMh7m/IQ3mIbs=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "1491cbc8f3694e52a565d192eaef1a7bf200d33f", "rev": "036729211a94d058b835f5ee212ab15de83bc037",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -415,11 +415,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750127463, "lastModified": 1750275572,
"narHash": "sha256-K2xFtlD3PcKAZriOE3LaBLYmVfGQu+rIF4Jr1RFYR0Q=", "narHash": "sha256-upC/GIlsIgtdtWRGd1obzdXWYQptNkfzZeyAFWgsgf0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "28eef8722d1af18ca13e687dbf485e1c653a0402", "rev": "0f355844e54e4c70906b1ef5cc35a0047d666c04",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -435,11 +435,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750127463, "lastModified": 1750304462,
"narHash": "sha256-K2xFtlD3PcKAZriOE3LaBLYmVfGQu+rIF4Jr1RFYR0Q=", "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "28eef8722d1af18ca13e687dbf485e1c653a0402", "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -457,11 +457,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750172631, "lastModified": 1750230721,
"narHash": "sha256-XwqAqM1UmKahdCwzp2UQHTpjnY0b82/VTfA8VpZIR6g=", "narHash": "sha256-rg/lnazeno/f4VNSv+t2Zwio/OyCYKx5zV9/8hfhfgA=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "7de24ceed8c7693191b74a7bda6d89c91f94c8f5", "rev": "6c88df8c85ad3f80a5832edc50534a5add255b47",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -522,11 +522,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1750230031, "lastModified": 1750390275,
"narHash": "sha256-h1aDeX8j10N0pHqdvmVoLQsnTwj1TbxeTPos7x1wuZA=", "narHash": "sha256-k0cDsEK8aQLCYhBXXEMgBVdFWrPWd19JEtwJ5+DA91w=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "1fc50d02ad4fe47daa5c22f9fa116ca220ab5154", "rev": "3bebe770ebe600fc7f28cc593df14a9e90a3c02e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -555,11 +555,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1750225787, "lastModified": 1750334747,
"narHash": "sha256-7O/8CChaOhSBSu94McHE0vyH0o+J5R4exq2DDq4zHAg=", "narHash": "sha256-nsD1Z6vVP2Hhdgrd0uYHacre2+NhaH/53TFRXn6pRcs=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "ed14e8da8476d5fde27b14d1dde03256a2f6e11b", "rev": "e0b0b04b445f7044f383e50104f861e632e1c905",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -599,11 +599,11 @@
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1750244952, "lastModified": 1750331408,
"narHash": "sha256-678XeoTKUT1tEKSXaGA/rwHYQ2cBntr1I3Xw2D5Onew=", "narHash": "sha256-Rjc9aW5Dxn+KeBsx1DvkC+4SyLvdjEEyKJSVD5Q5UZw=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "fd677bef9e0172bc0cea0daccae3d28a74be882c", "rev": "39eb68d021d698bc4d0cd86bf0c75a70285726cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -630,11 +630,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1750134718,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -661,11 +661,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1750133334, "lastModified": 1750259320,
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "narHash": "sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "36ab78dab7da2e4e27911007033713bab534187b", "rev": "9ba04bda9249d5d5e5238303c9755de5a49a79c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -768,11 +768,11 @@
"nur-rycee": { "nur-rycee": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1750219402, "lastModified": 1750392203,
"narHash": "sha256-b3y7V7db0VwLGtpcLRmT1Aa9dpAKoHQdem55UhgB/fw=", "narHash": "sha256-rJU+WeeLxDinRWEGXw5OT4tToIAO8zy/ULFVWHhLp/Q=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "a00ce73b626ed274fbfe9f51627861e140b08f6d", "rev": "09e3cfed476fc06384610a7e6027df221fc93bd3",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -812,11 +812,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750127910, "lastModified": 1750214276,
"narHash": "sha256-FIgEIS0RAlOyXGqoj/OufTfcKItYq668yPYL4SXdU0M=", "narHash": "sha256-1kniuhH70q4TAC/xIvjFYH46aHiLrbIlcr6fdrRwO1A=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "45418795a73b77b7726c62ce265d68cf541ffb49", "rev": "f9b2b2b1327ff6beab4662b8ea41689e0a57b8d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -854,11 +854,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750214276, "lastModified": 1750300711,
"narHash": "sha256-1kniuhH70q4TAC/xIvjFYH46aHiLrbIlcr6fdrRwO1A=", "narHash": "sha256-4XHPocwP+66PhxyyObPXfI+Rql4PoGe/xBK791N8I78=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "f9b2b2b1327ff6beab4662b8ea41689e0a57b8d4", "rev": "4178888556c15e0a1c57850d2f103ac300a6e9e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -915,11 +915,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1750205637, "lastModified": 1750369088,
"narHash": "sha256-49wV81h1jnHJky1XNHfgwxNA0oCwSTLMz4hhrtWCM8A=", "narHash": "sha256-njtrVYrl+4I3ikgAoKLyQ+5MZ1BKwazAiEpLq2efwrE=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "82323751bcd45579c8d3a5dd05531c3c2a78e347", "rev": "8c1421ae02475a874f2a09cc4a7ad6de63fbc9e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1099,11 +1099,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1749315541, "lastModified": 1750388715,
"narHash": "sha256-bEik1BfVOFnWvtOrcOHluos/edJ8f+G2y1QySbt/0Ak=", "narHash": "sha256-6WMpcn3Ga/L71NiX9SdWw7ZELpNfrFnWJ0Gt2uAHjJg=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "da2ecb5be816de35e2efe23a408a1c49fe8b11ba", "rev": "03cbb2ee3a9da931bb9a39eb917674297a0b9318",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,15 +5,17 @@ in {
extraConfig = let extraConfig = let
output = node "output"; output = node "output";
in [ in [
(output "eDP-1" [ (output ["eDP-1"] [
(leaf "mode" "1920x1200@60.018") (leaf "mode" ["1920x1200@60.018"])
(leaf "scale" 1.0) (leaf "scale" [1.0])
(flag "focus-at-startup") (flag "focus-at-startup")
(leaf "position" { (leaf "position" [
x = 0; {
y = 0; x = 0;
}) y = 0;
(leaf "transform" "normal") }
])
(leaf "transform" ["normal"])
]) ])
]; ];
}; };

View file

@ -5,34 +5,40 @@ in {
extraConfig = let extraConfig = let
output = node "output"; output = node "output";
in [ in [
(output "DP-3" [ (output ["DP-3"] [
(leaf "mode" "2560x1440@169.900") (leaf "mode" ["2560x1440@169.900"])
(leaf "scale" 1.0) (leaf "scale" [1.0])
(leaf "position" { (leaf "position" [
x = 0; {
y = 0; x = 0;
}) y = 0;
(leaf "transform" "normal") }
])
(leaf "transform" ["normal"])
(flag "focus-at-startup") (flag "focus-at-startup")
]) ])
(output "DP-1" [ (output ["DP-1"] [
(leaf "mode" "2560x1440@169.900") (leaf "mode" ["2560x1440@169.900"])
(leaf "scale" 1.0) (leaf "scale" [1.0])
(leaf "position" { (leaf "position" [
x = 0; {
y = 0; x = 0;
}) y = 0;
(leaf "transform" "normal") }
])
(leaf "transform" ["normal"])
(flag "focus-at-startup") (flag "focus-at-startup")
]) ])
(output "eDP-1" [ (output ["eDP-1"] [
(leaf "mode" "2560x1440@165.003") (leaf "mode" ["2560x1440@165.003"])
(leaf "scale" 1.5) (leaf "scale" [1.5])
(leaf "position" { (leaf "position" [
x = 2560; {
y = 0; x = 2560;
}) y = 0;
(leaf "transform" "normal") }
])
(leaf "transform" ["normal"])
]) ])
]; ];
}; };

View file

@ -64,24 +64,24 @@ in
(flag "toggle-column-tabbed-display") (flag "toggle-column-tabbed-display")
]) ])
(plain "Mod+Space" [ (plain "Mod+Space" [
(spawn fuzzel) (spawn [fuzzel])
]) ])
(node "XF86AudioRaiseVolume" {allow-when-locked = true;} [ (node "XF86AudioRaiseVolume" [{allow-when-locked = true;}] [
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"]) (spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"])
]) ])
(node "XF86AudioLowerVolume" {allow-when-locked = true;} [ (node "XF86AudioLowerVolume" [{allow-when-locked = true;}] [
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"]) (spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"])
]) ])
(node "XF86AudioMute" {allow-when-locked = true;} [ (node "XF86AudioMute" [{allow-when-locked = true;}] [
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "toggle"]) (spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "toggle"])
]) ])
(node "XF86AudioMicMute" {allow-when-locked = true;} [ (node "XF86AudioMicMute" [{allow-when-locked = true;}] [
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SOURCE@" "toggle"]) (spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SOURCE@" "toggle"])
]) ])
(plain "Mod+Q" [ (plain "Mod+Q" [
(flag "close-window") (flag "close-window")
]) ])
(node "Mod+O" {repeat = false;} [ (node "Mod+O" [{repeat = false;}] [
(flag "toggle-overview") (flag "toggle-overview")
]) ])
(plain "Mod+Left" [ (plain "Mod+Left" [
@ -228,10 +228,10 @@ in
(plain "Mod+Ctrl+I" [ (plain "Mod+Ctrl+I" [
(flag "move-workspace-up") (flag "move-workspace-up")
]) ])
(node "Mod+Shift+WheelScrollDown" {cooldown-ms = 150;} [ (node "Mod+Shift+WheelScrollDown" [{cooldown-ms = 150;}] [
(flag "focus-workspace-down") (flag "focus-workspace-down")
]) ])
(node "Mod+Shift+WheelScrollUp" {cooldown-ms = 150;} [ (node "Mod+Shift+WheelScrollUp" [{cooldown-ms = 150;}] [
(flag "focus-workspace-up") (flag "focus-workspace-up")
]) ])
(plain "Mod+WheelScrollDown" [ (plain "Mod+WheelScrollDown" [
@ -241,58 +241,58 @@ in
(flag "focus-column-left") (flag "focus-column-left")
]) ])
(plain "Mod+1" [ (plain "Mod+1" [
(leaf "focus-workspace" 1) (leaf "focus-workspace" [1])
]) ])
(plain "Mod+2" [ (plain "Mod+2" [
(leaf "focus-workspace" 2) (leaf "focus-workspace" [2])
]) ])
(plain "Mod+3" [ (plain "Mod+3" [
(leaf "focus-workspace" 3) (leaf "focus-workspace" [3])
]) ])
(plain "Mod+4" [ (plain "Mod+4" [
(leaf "focus-workspace" 4) (leaf "focus-workspace" [4])
]) ])
(plain "Mod+5" [ (plain "Mod+5" [
(leaf "focus-workspace" 5) (leaf "focus-workspace" [5])
]) ])
(plain "Mod+6" [ (plain "Mod+6" [
(leaf "focus-workspace" 6) (leaf "focus-workspace" [6])
]) ])
(plain "Mod+7" [ (plain "Mod+7" [
(leaf "focus-workspace" 7) (leaf "focus-workspace" [7])
]) ])
(plain "Mod+8" [ (plain "Mod+8" [
(leaf "focus-workspace" 8) (leaf "focus-workspace" [8])
]) ])
(plain "Mod+9" [ (plain "Mod+9" [
(leaf "focus-workspace" 9) (leaf "focus-workspace" [9])
]) ])
(plain "Mod+Shift+1" [ (plain "Mod+Shift+1" [
(leaf "move-column-to-workspace" 1) (leaf "move-column-to-workspace" [1])
]) ])
(plain "Mod+Shift+2" [ (plain "Mod+Shift+2" [
(leaf "move-column-to-workspace" 2) (leaf "move-column-to-workspace" [2])
]) ])
(plain "Mod+Shift+3" [ (plain "Mod+Shift+3" [
(leaf "move-column-to-workspace" 3) (leaf "move-column-to-workspace" [3])
]) ])
(plain "Mod+Shift+4" [ (plain "Mod+Shift+4" [
(leaf "move-column-to-workspace" 4) (leaf "move-column-to-workspace" [4])
]) ])
(plain "Mod+Shift+5" [ (plain "Mod+Shift+5" [
(leaf "move-column-to-workspace" 5) (leaf "move-column-to-workspace" [5])
]) ])
(plain "Mod+Shift+6" [ (plain "Mod+Shift+6" [
(leaf "move-column-to-workspace" 6) (leaf "move-column-to-workspace" [6])
]) ])
(plain "Mod+Shift+7" [ (plain "Mod+Shift+7" [
(leaf "move-column-to-workspace" 7) (leaf "move-column-to-workspace" [7])
]) ])
(plain "Mod+Shift+8" [ (plain "Mod+Shift+8" [
(leaf "move-column-to-workspace" 8) (leaf "move-column-to-workspace" [8])
]) ])
(plain "Mod+Shift+9" [ (plain "Mod+Shift+9" [
(leaf "move-column-to-workspace" 9) (leaf "move-column-to-workspace" [9])
]) ])
(plain "Mod+F" [ (plain "Mod+F" [
(flag "toggle-window-floating") (flag "toggle-window-floating")
@ -318,35 +318,35 @@ in
(plain "Mod+Period" [ (plain "Mod+Period" [
(flag "expel-window-from-column") (flag "expel-window-from-column")
]) ])
(node "Mod+R" {repeat = false;} [ (node "Mod+R" [{repeat = false;}] [
(flag "switch-preset-column-width") (flag "switch-preset-column-width")
]) ])
(node "Mod+Shift+R" {repeat = false;} [ (node "Mod+Shift+R" [{repeat = false;}] [
(flag "switch-preset-window-height") (flag "switch-preset-window-height")
]) ])
(plain "Mod+Ctrl+R" [ (plain "Mod+Ctrl+R" [
(flag "reset-window-height") (flag "reset-window-height")
]) ])
(node "Mod+M" {repeat = false;} [ (node "Mod+M" [{repeat = false;}] [
(flag "maximize-column") (flag "maximize-column")
]) ])
(node "Mod+Shift+M" {repeat = false;} [ (node "Mod+Shift+M" [{repeat = false;}] [
(flag "fullscreen-window") (flag "fullscreen-window")
]) ])
(plain "Mod+Z" [ (plain "Mod+Z" [
(flag "center-column") (flag "center-column")
]) ])
(node "Mod+Minus" {repeat = false;} [ (node "Mod+Minus" [{repeat = false;}] [
(leaf "set-column-width" "-10%") (leaf "set-column-width" ["-10%"])
]) ])
(node "Mod+Equal" {repeat = false;} [ (node "Mod+Equal" [{repeat = false;}] [
(leaf "set-column-width" "+10%") (leaf "set-column-width" ["+10%"])
]) ])
(node "Mod+Shift+Minus" {repeat = false;} [ (node "Mod+Shift+Minus" [{repeat = false;}] [
(leaf "set-window-height" "-10%") (leaf "set-window-height" ["-10%"])
]) ])
(node "Mod+Shift+Equal" {repeat = false;} [ (node "Mod+Shift+Equal" [{repeat = false;}] [
(leaf "set-window-height" "+10%") (leaf "set-window-height" ["+10%"])
]) ])
(plain "Print" [ (plain "Print" [
(flag "screenshot") (flag "screenshot")
@ -379,7 +379,7 @@ in
let let
spawn-at-startup = leaf "spawn-at-startup"; spawn-at-startup = leaf "spawn-at-startup";
in [ in [
(leaf "screenshot-path" "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png") (leaf "screenshot-path" ["${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png"])
(plain "hotkey-overlay" [ (plain "hotkey-overlay" [
(flag "skip-at-startup") (flag "skip-at-startup")
]) ])
@ -393,55 +393,57 @@ in
(spawn-at-startup [fcitx5 "--replace"]) (spawn-at-startup [fcitx5 "--replace"])
(plain "input" [ (plain "input" [
(plain "touchpad" [ (plain "touchpad" [
(leaf "click-method" "clickfinger") (leaf "click-method" ["clickfinger"])
(flag "dwt") (flag "dwt")
(leaf "scroll-method" "two-finger") (leaf "scroll-method" ["two-finger"])
(leaf "tap-button-map" "left-right-middle") (leaf "tap-button-map" ["left-right-middle"])
]) ])
]) ])
(plain "cursor" [ (plain "cursor" [
(leaf "hide-after-inactive-ms" 3000) (leaf "hide-after-inactive-ms" [3000])
(flag "hide-when-typing") (flag "hide-when-typing")
]) ])
(plain "layout" [ (plain "layout" [
(plain "border" [ (plain "border" [
(leaf "width" 4) (leaf "width" [4])
(leaf "active-color" "#7fc8ff") (leaf "active-color" ["#7fc8ff"])
(leaf "inactive-color" "#505050") (leaf "inactive-color" ["#505050"])
]) ])
(plain "focus-ring" [ (plain "focus-ring" [
(flag "off") (flag "off")
(leaf "width" 4) (leaf "width" [4])
(leaf "active-color" "#7fc8ff") (leaf "active-color" ["#7fc8ff"])
(leaf "inactive-color" "#505050") (leaf "inactive-color" ["#505050"])
]) ])
(plain "tab-indicator" [ (plain "tab-indicator" [
(flag "hide-when-single-tab") (flag "hide-when-single-tab")
]) ])
(plain "preset-column-widths" [ (plain "preset-column-widths" [
(leaf "proportion" (1. / 4.)) (leaf "proportion" [(1. / 4.)])
(leaf "proportion" (1. / 3.)) (leaf "proportion" [(1. / 3.)])
(leaf "proportion" (1. / 2.)) (leaf "proportion" [(1. / 2.)])
(leaf "proportion" (2. / 3.)) (leaf "proportion" [(2. / 3.)])
(leaf "proportion" (3. / 4.)) (leaf "proportion" [(3. / 4.)])
(leaf "proportion" (4. / 4.)) (leaf "proportion" [(4. / 4.)])
]) ])
(flag "always-center-single-column") (flag "always-center-single-column")
(leaf "center-focused-column" "never") (leaf "center-focused-column" ["never"])
(leaf "default-column-display" "tabbed") (leaf "default-column-display" ["tabbed"])
(plain "default-column-width" [ (plain "default-column-width" [
(leaf "proportion" (1. / 2.)) (leaf "proportion" [(1. / 2.)])
]) ])
(flag "empty-workspace-above-first") (flag "empty-workspace-above-first")
(leaf "gaps" 16) (leaf "gaps" [16])
]) ])
(plain "animations" [ (plain "animations" [
(plain "window-close" [ (plain "window-close" [
(leaf "spring" { (leaf "spring" [
damping-ratio = 1.0; {
stiffness = 800; damping-ratio = 1.0;
epsilon = 0.0001; stiffness = 800;
}) epsilon = 0.0001;
}
])
]) ])
]) ])
(plain "overview" [ (plain "overview" [
@ -454,59 +456,67 @@ in
match = leaf "match"; match = leaf "match";
in [ in [
(window-rule [ (window-rule [
(leaf "draw-border-with-background" true) (leaf "draw-border-with-background" [true])
(leaf "geometry-corner-radius" 12.0) (leaf "geometry-corner-radius" [12.0])
(leaf "clip-to-geometry" true) (leaf "clip-to-geometry" [true])
]) ])
(window-rule [ (window-rule [
(match {app-id = "^org\\.keepassxc\\.KeePassXC$";}) (match [{app-id = "^org\\.keepassxc\\.KeePassXC$";}])
(match {app-id = "^org\\.gnome\\.World\\.Secrets$";}) (match [{app-id = "^org\\.gnome\\.World\\.Secrets$";}])
(leaf "block-out-from" "screen-capture") (leaf "block-out-from" ["screen-capture"])
]) ])
(window-rule [ (window-rule [
(match { (match [
app-id = "^com\\.mitchellh\\.ghostty$"; {
is-active = true; app-id = "^com\\.mitchellh\\.ghostty$";
}) is-active = true;
(leaf "draw-border-with-background" false) }
])
(leaf "draw-border-with-background" [false])
]) ])
(window-rule [ (window-rule [
(match { (match [
app-id = "^com\\.mitchellh\\.ghostty$"; {
is-active = false; app-id = "^com\\.mitchellh\\.ghostty$";
}) is-active = false;
(leaf "opacity" 0.8) }
(leaf "draw-border-with-background" false) ])
(leaf "opacity" [0.8])
(leaf "draw-border-with-background" [false])
]) ])
(window-rule [ (window-rule [
(match {is-window-cast-target = true;}) (match [{is-window-cast-target = true;}])
(plain "focus-ring" [ (plain "focus-ring" [
(leaf "active-color" "#f38ba8") (leaf "active-color" ["#f38ba8"])
(leaf "inactive-color" "#7d0d2d") (leaf "inactive-color" ["#7d0d2d"])
]) ])
(plain "border" [ (plain "border" [
(leaf "active-color" "#f38ba8") (leaf "active-color" ["#f38ba8"])
(leaf "inactive-color" "#7d0d2d") (leaf "inactive-color" ["#7d0d2d"])
]) ])
(plain "tab-indicator" [ (plain "tab-indicator" [
(leaf "active-color" "#f38ba8") (leaf "active-color" ["#f38ba8"])
(leaf "inactive-color" "#7d0d2d") (leaf "inactive-color" ["#7d0d2d"])
]) ])
(plain "shadow" [ (plain "shadow" [
(flag "on") (flag "on")
]) ])
]) ])
(window-rule [ (window-rule [
(match { (match [
app-id = "^org\\.telegram\\.desktop$"; {
title = "Media viewer"; app-id = "^org\\.telegram\\.desktop$";
}) title = "Media viewer";
(match { }
app-id = "^QQ$"; ])
title = ""; (match [
}) {
(leaf "open-floating" true) app-id = "^QQ$";
(leaf "open-fullscreen" false) title = "";
}
])
(leaf "open-floating" [true])
(leaf "open-fullscreen" [false])
]) ])
] # window-rule ] # window-rule
) )
@ -516,16 +526,16 @@ in
match = leaf "match"; match = leaf "match";
in [ in [
(layer-rule [ (layer-rule [
(match {namespace = "^swaync-notification-window$";}) (match [{namespace = "^swaync-notification-window$";}])
(match {namespace = "^swaync-control-center$";}) (match [{namespace = "^swaync-control-center$";}])
(leaf "block-out-from" "screen-capture") (leaf "block-out-from" ["screen-capture"])
]) ])
(layer-rule [ (layer-rule [
(match {namespace = "^launcher$";}) (match [{namespace = "^launcher$";}])
(plain "shadow" [ (plain "shadow" [
(flag "on") (flag "on")
]) ])
(leaf "geometry-corner-radius" 10.0) (leaf "geometry-corner-radius" [10.0])
]) ])
] # layer-rule ] # layer-rule
) )

View file

@ -7,6 +7,7 @@
++ [ ++ [
./programs ./programs
./xdg-dirs.nix ./xdg-dirs.nix
./i18n
]; ];
config = { config = {

View file

@ -0,0 +1,83 @@
patch:
"__include": rime_ice_suggestion:/
"schema_list":
- schema: double_pinyin_flypy
"menu/page_size": 7
"switcher/caption": 「方案选单」
"switcher/hotkeys":
- F4
"switcher/save_options":
- ascii_punct
- traditionalization
- emoji
- full_shape
- search_single_char
"switcher/fold_options": false
"ascii_composer/good_old_caps_lock": true
"ascii_composer/switch_key/Caps_Lock": clear
"ascii_composer/switch_key/Shift_L": noop
"ascii_composer/switch_key/Shift_R": noop
"ascii_composer/switch_key/Control_L": noop
"ascii_composer/switch_key/Control_R": noop
"key_binder/bindings":
# Tab / Shift+Tab 切换光标至下/上一个拼音
- { when: composing, accept: Shift+Tab, send: Shift+Left }
- { when: composing, accept: Tab, send: Shift+Right }
# Option/Alt + ←/→ 切换光标至下/上一个拼音
- { when: composing, accept: Shift+Tab, send: Shift+Left }
- { when: composing, accept: Tab, send: Shift+Right }
# 翻页 , .
- { when: paging, accept: comma, send: Page_Up }
- { when: has_menu, accept: period, send: Page_Down }
# 翻页 - =
- { when: has_menu, accept: minus, send: Page_Up }
- { when: has_menu, accept: equal, send: Page_Down }
- {
when: always,
toggle: ascii_punct,
accept: Control+Shift+3,
} # 切换中英标点
- {
when: always,
toggle: ascii_punct,
accept: Control+Shift+numbersign,
} # 切换中英标点
- {
when: always,
toggle: traditionalization,
accept: Control+Shift+4,
} # 切换简繁
- {
when: always,
toggle: traditionalization,
accept: Control+Shift+dollar,
} # 切换简繁
- { when: always, toggle: full_shape, accept: Control+Shift+5 } # 切换全半角
- {
when: always,
toggle: full_shape,
accept: Control+Shift+percent,
} # 切换全半角
# 将小键盘 0~9 . 映射到主键盘,数字金额大写的 Lua 如 R1234.5678 可使用小键盘输入
- { accept: KP_0, send: 0, when: composing }
- { accept: KP_1, send: 1, when: composing }
- { accept: KP_2, send: 2, when: composing }
- { accept: KP_3, send: 3, when: composing }
- { accept: KP_4, send: 4, when: composing }
- { accept: KP_5, send: 5, when: composing }
- { accept: KP_6, send: 6, when: composing }
- { accept: KP_7, send: 7, when: composing }
- { accept: KP_8, send: 8, when: composing }
- { accept: KP_9, send: 9, when: composing }
- { accept: KP_Decimal, send: period, when: composing }
# 将小键盘 + - * / 映射到主键盘,使计算器 如 1+2-3*4 可使用小键盘输入
- { accept: KP_Multiply, send: asterisk, when: composing }
- { accept: KP_Add, send: plus, when: composing }
- { accept: KP_Subtract, send: minus, when: composing }
- { accept: KP_Divide, send: slash, when: composing }

View file

@ -0,0 +1,12 @@
{
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;
};
};
}

View file

@ -0,0 +1,4 @@
patch:
"translator/packs/+":
- zhwiki
- moegirl

View file

@ -33,10 +33,38 @@ in {
}; };
name = "default"; name = "default";
isDefault = true; isDefault = true;
extensions.packages = with outputs.packages."${system}"; [ extensions = {
immersive-translate # settings = {
tridactyl # "redirector@einaregilsson.com" = {
]; # settings = {
# redirects = [
# {
# description = "NixOS Wiki";
# exampleUrl = "http://nixos.wiki/wiki/Main_Page";
# exampleResult = "http://wiki.nixos.org/wiki/Main_Page";
# error = null;
# includePattern = "http(s?)://nixos.wiki/wiki/(.*)";
# excludePattern = "";
# patternDesc = "";
# redirectUrl = "http$1://wiki.nixos.org/wiki/$2";
# patternType = "R";
# processMatches = "noProcessing";
# disabled = false;
# grouped = false;
# appliesTo = [
# "main_frame"
# ];
# }
# ];
# };
# };
# };
packages = with outputs.packages."${system}"; [
immersive-translate
tridactyl
redirector
];
};
settings = { settings = {
"sidebar.verticalTabs" = true; "sidebar.verticalTabs" = true;
"sidebar.visibility" = "expand-on-hover"; "sidebar.visibility" = "expand-on-hover";

View file

@ -32,10 +32,13 @@ in {
addons = with pkgs; [ addons = with pkgs; [
libsForQt5.fcitx5-qt libsForQt5.fcitx5-qt
fcitx5-gtk fcitx5-gtk
fcitx5-gtk
fcitx5-fluent fcitx5-fluent
(fcitx5-rime.override { (fcitx5-rime.override {
rimeDataPkgs = [ rimeDataPkgs = [
rime-ice rime-ice
rime-zhwiki
rime-moegirl
]; ];
}) })
]; ];

View file

@ -2,7 +2,6 @@
inherit (prev) lib; inherit (prev) lib;
in in
[ [
./rime-ice.nix
./TrackersListCollection.nix ./TrackersListCollection.nix
./OuterWildsTextAdventure.nix ./OuterWildsTextAdventure.nix
./editor-runtime.nix ./editor-runtime.nix

View file

@ -1,5 +0,0 @@
{outputs, ...}: final: prev: let
inherit (prev.stdenv.hostPlatform) system;
in {
rime-ice = outputs.packages."${system}".rime-ice;
}

File diff suppressed because it is too large Load diff

View file

@ -22,7 +22,7 @@
}, },
"TrackersListCollection": { "TrackersListCollection": {
"cargoLocks": null, "cargoLocks": null,
"date": "2025-06-10", "date": "2025-06-20",
"extract": null, "extract": null,
"name": "TrackersListCollection", "name": "TrackersListCollection",
"passthru": null, "passthru": null,
@ -34,14 +34,14 @@
"name": null, "name": null,
"owner": "XIU2", "owner": "XIU2",
"repo": "TrackersListCollection", "repo": "TrackersListCollection",
"rev": "01e578ea12a7f00d989dfaf13c5f43875f1ff853", "rev": "434c1455c6877e91d2f399e3f8ec52727974167d",
"sha256": "sha256-npX1g1rvprXLEwkjE7S3hfpUCdmEnolSq4eLki9pvag=", "sha256": "sha256-UcDxpNWGO72pS54SsmaF09NWmUYo8y+peGaOVKMSxZA=",
"sparseCheckout": [ "sparseCheckout": [
"all.txt" "all.txt"
], ],
"type": "github" "type": "github"
}, },
"version": "01e578ea12a7f00d989dfaf13c5f43875f1ff853" "version": "434c1455c6877e91d2f399e3f8ec52727974167d"
}, },
"cliphist": { "cliphist": {
"cargoLocks": null, "cargoLocks": null,
@ -64,31 +64,6 @@
}, },
"version": "f49bd905cff72d32d62c209224353865436f9a13" "version": "f49bd905cff72d32d62c209224353865436f9a13"
}, },
"dioxionary": {
"cargoLocks": {
"./Cargo.lock": [
"./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock",
{}
]
},
"date": "2025-04-07",
"extract": null,
"name": "dioxionary",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"rev": "4db80d458ff7494967c94ebb1db596abba0775b2",
"sha256": "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU=",
"sparseCheckout": [],
"type": "git",
"url": "https://github.com/vaaandark/dioxionary.git"
},
"version": "4db80d458ff7494967c94ebb1db596abba0775b2"
},
"juicity": { "juicity": {
"cargoLocks": null, "cargoLocks": null,
"date": "2025-02-20", "date": "2025-02-20",
@ -155,30 +130,9 @@
}, },
"version": "Serif2.003" "version": "Serif2.003"
}, },
"rime-ice": {
"cargoLocks": null,
"date": "2025-06-09",
"extract": null,
"name": "rime-ice",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "iDvel",
"repo": "rime-ice",
"rev": "5b94b7df626bffedc3fe05ee71511aa0272bfc36",
"sha256": "sha256-RK5togo9YEQVSUL1bpkcsHmzK1V8IMe0adFB1T2hVoI=",
"sparseCheckout": [],
"type": "github"
},
"version": "5b94b7df626bffedc3fe05ee71511aa0272bfc36"
},
"spotx": { "spotx": {
"cargoLocks": null, "cargoLocks": null,
"date": "2025-05-31", "date": "2025-06-18",
"extract": null, "extract": null,
"name": "spotx", "name": "spotx",
"passthru": null, "passthru": null,
@ -190,12 +144,12 @@
"name": null, "name": null,
"owner": "SpotX-Official", "owner": "SpotX-Official",
"repo": "SpotX-Bash", "repo": "SpotX-Bash",
"rev": "b1de24ec4c23c45da373dcb64a44e372253a0c16", "rev": "181fd7fc8fe838237660a46ae096570d869bc30f",
"sha256": "sha256-bIfqqZLMboA5GKxz9EVv8GZQRVejheHw2nLTBS6AKyE=", "sha256": "sha256-tK0ZpyNNI2hDfAhgvrR6s0gaL8VLbHUsHPhnhXD8P40=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "b1de24ec4c23c45da373dcb64a44e372253a0c16" "version": "181fd7fc8fe838237660a46ae096570d869bc30f"
}, },
"tree-sitter-idris": { "tree-sitter-idris": {
"cargoLocks": null, "cargoLocks": null,

View file

@ -15,18 +15,18 @@
}; };
TrackersListCollection = { TrackersListCollection = {
pname = "TrackersListCollection"; pname = "TrackersListCollection";
version = "01e578ea12a7f00d989dfaf13c5f43875f1ff853"; version = "434c1455c6877e91d2f399e3f8ec52727974167d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "XIU2"; owner = "XIU2";
repo = "TrackersListCollection"; repo = "TrackersListCollection";
rev = "01e578ea12a7f00d989dfaf13c5f43875f1ff853"; rev = "434c1455c6877e91d2f399e3f8ec52727974167d";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ "all.txt" ]; sparseCheckout = [ "all.txt" ];
sha256 = "sha256-npX1g1rvprXLEwkjE7S3hfpUCdmEnolSq4eLki9pvag="; sha256 = "sha256-UcDxpNWGO72pS54SsmaF09NWmUYo8y+peGaOVKMSxZA=";
}; };
date = "2025-06-10"; date = "2025-06-20";
}; };
cliphist = { cliphist = {
pname = "cliphist"; pname = "cliphist";
@ -40,26 +40,6 @@
}; };
date = "2025-06-07"; date = "2025-06-07";
}; };
dioxionary = {
pname = "dioxionary";
version = "4db80d458ff7494967c94ebb1db596abba0775b2";
src = fetchgit {
url = "https://github.com/vaaandark/dioxionary.git";
rev = "4db80d458ff7494967c94ebb1db596abba0775b2";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
sha256 = "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU=";
};
cargoLock."./Cargo.lock" = {
lockFile = ./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock;
outputHashes = {
};
};
date = "2025-04-07";
};
juicity = { juicity = {
pname = "juicity"; pname = "juicity";
version = "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5"; version = "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5";
@ -102,29 +82,17 @@
sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4="; sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4=";
}; };
}; };
rime-ice = {
pname = "rime-ice";
version = "5b94b7df626bffedc3fe05ee71511aa0272bfc36";
src = fetchFromGitHub {
owner = "iDvel";
repo = "rime-ice";
rev = "5b94b7df626bffedc3fe05ee71511aa0272bfc36";
fetchSubmodules = false;
sha256 = "sha256-RK5togo9YEQVSUL1bpkcsHmzK1V8IMe0adFB1T2hVoI=";
};
date = "2025-06-09";
};
spotx = { spotx = {
pname = "spotx"; pname = "spotx";
version = "b1de24ec4c23c45da373dcb64a44e372253a0c16"; version = "181fd7fc8fe838237660a46ae096570d869bc30f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SpotX-Official"; owner = "SpotX-Official";
repo = "SpotX-Bash"; repo = "SpotX-Bash";
rev = "b1de24ec4c23c45da373dcb64a44e372253a0c16"; rev = "181fd7fc8fe838237660a46ae096570d869bc30f";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-bIfqqZLMboA5GKxz9EVv8GZQRVejheHw2nLTBS6AKyE="; sha256 = "sha256-tK0ZpyNNI2hDfAhgvrR6s0gaL8VLbHUsHPhnhXD8P40=";
}; };
date = "2025-05-31"; date = "2025-06-18";
}; };
tree-sitter-idris = { tree-sitter-idris = {
pname = "tree-sitter-idris"; pname = "tree-sitter-idris";

View file

@ -13,8 +13,6 @@ in
pinentry-selector = callPackage ./pinentry-selector.nix {}; pinentry-selector = callPackage ./pinentry-selector.nix {};
helix = callPackage ./helix {}; helix = callPackage ./helix {};
juicity = callPackage ./juicity.nix {}; juicity = callPackage ./juicity.nix {};
rime-ice = callPackage ./rime-ice.nix {};
dioxionary = callPackage ./dioxionary.nix {};
spotifyx = callPackage ./spotifyx.nix {}; spotifyx = callPackage ./spotifyx.nix {};
radicle-explorer = callPackage ./radicle-explorer.nix {}; radicle-explorer = callPackage ./radicle-explorer.nix {};
TrackersListCollection = callPackage ./TrackersListCollection.nix {}; TrackersListCollection = callPackage ./TrackersListCollection.nix {};
@ -31,5 +29,5 @@ in
let let
firefox-addons = callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" {}; firefox-addons = callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" {};
in in
lib.genAttrs ["immersive-translate" "tridactyl"] (name: firefox-addons."${name}") lib.genAttrs ["immersive-translate" "tridactyl" "redirector"] (name: firefox-addons."${name}")
) )

View file

@ -1,35 +0,0 @@
{
srcs,
rustPlatform,
pkg-config,
openssl,
installShellFiles,
lib,
}: let
src = srcs.dioxionary;
in
rustPlatform.buildRustPackage {
inherit (src) pname src;
version = "${src.version}";
cargoLock = src.cargoLock."./Cargo.lock";
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = [openssl.dev];
doCheck = false;
postInstall = ''
installShellCompletion --cmd dioxionary \
--bash <($out/bin/dioxionary completion bash) \
--zsh <($out/bin/dioxionary completion zsh) \
--fish <($out/bin/dioxionary completion fish)
'';
meta = {
description = "Rusty stardict. Enables terminal-based word lookup and vocabulary memorization using offline or online dictionaries";
homepage = "https://github.com/vaaandark/dioxionary";
changelog = "https://github.com/vaaandark/dioxionary/releases/tag/${src.version}";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ulic-youthlic];
mainProgram = "dioxionary";
};
}

View file

@ -7,15 +7,6 @@ src.git = "https://github.com/kayhide/tree-sitter-idris"
fetch.git = "https://github.com/kayhide/tree-sitter-idris" fetch.git = "https://github.com/kayhide/tree-sitter-idris"
passthru.name = "idris" passthru.name = "idris"
[rime-ice]
src.git = "https://github.com/iDvel/rime-ice.git"
fetch.github = "iDvel/rime-ice"
[dioxionary]
src.git = "https://github.com/vaaandark/dioxionary.git"
fetch.git = "https://github.com/vaaandark/dioxionary.git"
cargo_locks = ["./Cargo.lock"]
[noto-serif-cjk] [noto-serif-cjk]
src.github = "notofonts/noto-cjk" src.github = "notofonts/noto-cjk"
fetch.github = "notofonts/noto-cjk" fetch.github = "notofonts/noto-cjk"

View file

@ -1,18 +0,0 @@
{
srcs,
stdenvNoCC,
}: let
source = srcs.rime-ice;
in
stdenvNoCC.mkDerivation {
inherit (source) pname version src;
installPhase = ''
runHook preInstall
mkdir -p $out/share/rime-data
cp -r * $out/share/rime-data/
runHook postInstall
'';
}