nix/base/terminal.nix
2025-07-21 16:47:26 +10:00

85 lines
1.9 KiB
Nix

{
pkgs,
rice,
inputs,
...
}:
let
inherit (pkgs) fish;
in
{
imports = [
inputs.culr.nixosModules.culr
];
programs.culr = {
enable = true;
pattern = "rainbow-split";
};
programs.fish = {
enable = true;
shellAbbrs = {
"gco" = "git checkout";
"gcb" = "git checkout -b";
"gp" = "git push";
"gpf" = "git push --force";
"gap" = "git commit -a --amend --no-edit && git push --force";
"gl" = "git pull";
"ga" = "git add";
"l" = "eza -lg --icons=always --colour=always | culr";
"la" = "eza -lg --icons=always --colour=always | culr";
};
interactiveShellInit = ''
${../rice/header.sh}
'';
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
};
environment.systemPackages = [
fish
];
environment.shells = [ fish ];
users.defaultUserShell = fish;
console = {
font = "Lat2-Terminus16";
};
environment.sessionVariables = {
EDITOR = "hx";
};
hm.programs.kitty = {
enable = true;
font = {
inherit (rice.fonts.monospace) name size;
};
settings = with rice.palette.hex; {
foreground = util.fg;
background = util.bg;
inherit (util) cursor;
cursor_text = util.bg;
selection_foreground = util.fg_sel;
selection_background = util.bg_sel;
color0 = normal.black;
color1 = normal.red;
color2 = normal.green;
color3 = normal.yellow;
color4 = normal.blue;
color5 = normal.magenta;
color6 = normal.cyan;
color7 = normal.white;
color8 = bright.black;
color9 = bright.red;
color10 = bright.green;
color11 = bright.yellow;
color12 = bright.blue;
color13 = bright.magenta;
color14 = bright.cyan;
color15 = bright.white;
sync_to_monitor = "yes";
shell = "fish";
cursor_trail = 100;
};
};
}