nix/home/terminal/fish.nix

60 lines
1.5 KiB
Nix

{
config,
pkgs,
lib,
...
}:
{
home.packages = with pkgs; [
kdePackages.qttools
eza
];
programs.fish = {
enable = true;
shellAliases = {
ssh = "kitty-ssh";
cat = "bat";
ls = "eza";
gl = "git log";
ga = "git add -v .";
gac = "git add -v . && git commit";
gaca = "git add -v . && git commit --amend --no-edit";
gp = "git push";
gpf = "git push --force";
};
functions = {
fish_prompt = {
description = "Write out the prompt";
body = builtins.readFile ./fish_functions/fish-prompt.fish;
};
kitty-ssh = {
description = "Integrate Kitten SSH with Fish";
body = builtins.readFile ./fish_functions/kitty-ssh.fish;
};
nix-shell = {
description = "Wrapper for nix-shell that runs fish by default";
body = builtins.readFile ./fish_functions/nix-shell.fish;
};
logout = {
description = "Log out of KDE Plasma";
body = builtins.readFile ./fish_functions/logout.fish;
};
};
};
programs.man.generateCaches = false;
home.file.".config/fish/colors.fish" = {
text =
let
flavor = config.catppuccin.flavor;
palette = pkgs.catppuccin.bare.${flavor};
accent = config.catppuccin.accent;
in
lib.concatStringsSep "\n" (
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
++ [ "set -g color_accent ${palette.${accent}}" ]
);
force = true;
};
}