nix-conf/user/bin/default.nix
2026-03-21 20:22:14 -05:00

49 lines
1.2 KiB
Nix

{
config,
pkgs,
lib,
...
}: let
ln = config.u.lib.ln "${config.u.confPath}/user/bin";
in {
u.bin = with pkgs;
{
edit = [];
auto-tmux = [tmux];
sm = [];
rem = [fzf];
}
// lib.optionalAttrs config.u.has.graphical {
bell = [pipewire libnotify];
nsxiv-rifle = [nsxiv];
screenshot = [maim xclip];
record-audio = [pulseaudio ffmpeg jq];
}
// lib.optionalAttrs config.u.has.jp {
anki-update =
[libnotify inotify-tools pulseaudio ffmpeg jq pyp]
++ [
(writers.writePython3Bin "furigana" {
libraries = [python3Packages.fugashi python3Packages.unidic-lite];
} (builtins.readFile ./furigana))
];
};
home.file =
builtins.listToAttrs (
map
(x: {
name = ".local/bin/${x}";
value = {source = ln x;};
})
(builtins.attrNames config.u.bin)
)
// {
".local/bin/breaktime".source = let
breaktime = pkgs.writers.writePython3Bin "breaktime" {
libraries = [pkgs.python3Packages.pyqt6];
} (builtins.readFile ./breaktime);
in "${breaktime}/bin/breaktime";
};
home.packages = pkgs.lib.lists.flatten (builtins.attrValues config.u.bin);
}