nix/common/terminal.nix
2025-07-31 18:07:41 +10:00

62 lines
1.3 KiB
Nix

{
pkgs,
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";
"gcam" = "git commit -am";
"gcl" = "git clone";
"gcd" = "git clone --depth 1";
};
shellAliases = {
"l" = "eza -lg --icons=always --colour=always $argv | culr";
"la" = "eza -lg --icons=always --colour=always $argv | culr";
"p" = "ps $argv | culr";
"mnt" = "mount | culr";
};
interactiveShellInit = ''
function fish_title
set -q argv[1]; or set argv fish
echo (fish_prompt_pwd_dir_length=100 prompt_pwd): $argv;
end
${./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";
};
}