nix/common/cli.nix
atagen 4921973b9a amaan can't into kernel
do 400 pushups per cache miss idiot
2026-04-27 16:09:39 +10:00

96 lines
2.1 KiB
Nix

{
pkgs,
lib,
getPkgs,
config,
mkWrappers,
...
}:
let
pal = config.rice.palette.hex;
ui = config.rice.roles pal;
inherit (mkWrappers pkgs) wrap wrapXdg;
lazygitConfig = pkgs.writeText "lazygit-config.yml" ''
gui:
theme:
activeBorderColor:
- "${ui.highlight}"
- bold
inactiveBorderColor:
- "${ui.muted}"
searchingActiveBorderColor:
- "${ui.accent}"
- bold
optionsTextColor:
- "${ui.primary}"
selectedLineBgColor:
- "${ui.surface}"
selectedRangeBgColor:
- "${ui.surface}"
cherryPickedCommitBgColor:
- "${ui.accent}"
cherryPickedCommitFgColor:
- "${ui.bg}"
unstagedChangesColor:
- "${ui.error}"
defaultFgColor:
- "${ui.fg}"
'';
zellijConfig = pkgs.writeTextDir "zellij-config.kdl" ''
themes {
nix-rice {
fg "${ui.fg}"
bg "${ui.surface}"
black "${pal.normal.black}"
red "${pal.normal.red}"
green "${pal.normal.green}"
yellow "${pal.normal.yellow}"
blue "${pal.normal.blue}"
magenta "${pal.normal.magenta}"
cyan "${pal.normal.cyan}"
white "${pal.normal.white}"
orange "${ui.highlight}"
}
}
theme "nix-rice"
'';
btopConfigDir = pkgs.runCommand "btop-xdg" { } ''
mkdir -p $out/btop
cp ${pkgs.writeText "btop.conf" ''
color_theme = "TTY"
update_ms = 100
''} $out/btop/btop.conf
'';
in
{
environment.systemPackages = getPkgs {
inherit (pkgs)
curl
eza
gitMinimal
ripgrep
fd
ouch
bat
;
lazygit = wrap {
name = "lazygit";
pkg = pkgs.lazygit;
args = [ "--use-config-file=${lazygitConfig}" ];
};
zellij = wrap {
name = "zellij";
pkg = pkgs.zellij;
args = [ "--config-dir ${zellijConfig}" ];
envs = {
SHELL = "${config.users.defaultUserShell}/bin/nu";
};
};
btop = wrapXdg "btop" pkgs.btop btopConfigDir;
};
environment.variables.BAT_THEME = "ansi";
}