2024-10-27 13:34:49 -04:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
2025-01-01 10:17:26 -05:00
|
|
|
lib,
|
2024-10-27 13:34:49 -04:00
|
|
|
...
|
|
|
|
|
}: let
|
2024-12-17 19:09:12 -05:00
|
|
|
ln = config.u.lib.ln "${config.u.confPath}/user/bin";
|
2024-10-18 02:58:59 -04:00
|
|
|
in {
|
2025-01-01 10:22:14 -05:00
|
|
|
u.bin = with pkgs;
|
|
|
|
|
{
|
|
|
|
|
edit = [];
|
2025-01-24 14:13:20 -05:00
|
|
|
auto-tmux = [tmux];
|
2025-01-01 10:22:14 -05:00
|
|
|
sm = [];
|
|
|
|
|
}
|
|
|
|
|
// lib.optionalAttrs config.u.has.graphical {
|
|
|
|
|
bell = [pipewire libnotify];
|
|
|
|
|
nsxiv-rifle = [nsxiv];
|
|
|
|
|
screenshot = [maim xclip];
|
2025-07-13 15:40:51 -04:00
|
|
|
record-audio = [pulseaudio ffmpeg jq];
|
2025-07-13 15:42:38 -04:00
|
|
|
}
|
|
|
|
|
// lib.optionalAttrs config.u.has.jp {
|
|
|
|
|
anki-update = [libnotify inotify-tools pulseaudio ffmpeg jq pyp
|
|
|
|
|
(writers.writePython3Bin "furigana" {
|
2025-07-26 17:07:57 -04:00
|
|
|
libraries = [python3Packages.fugashi python3Packages.unidic-lite];
|
2025-07-13 15:42:38 -04:00
|
|
|
} (builtins.readFile ./furigana))
|
|
|
|
|
];
|
2025-01-01 10:22:14 -05:00
|
|
|
};
|
2024-10-27 13:34:49 -04:00
|
|
|
home.file = builtins.listToAttrs (
|
|
|
|
|
map
|
2024-10-18 02:58:59 -04:00
|
|
|
(x: {
|
|
|
|
|
name = ".local/bin/${x}";
|
2024-12-17 19:09:12 -05:00
|
|
|
value = {source = ln x;};
|
2024-10-18 02:58:59 -04:00
|
|
|
})
|
2025-01-01 10:17:26 -05:00
|
|
|
(builtins.attrNames config.u.bin)
|
2024-10-18 02:58:59 -04:00
|
|
|
);
|
2025-01-01 10:17:26 -05:00
|
|
|
home.packages = pkgs.lib.lists.flatten (builtins.attrValues config.u.bin);
|
2024-10-18 02:58:59 -04:00
|
|
|
}
|