nixos/system/home/shell/default.nix

101 lines
2.3 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
imports = [
./git.nix
./ssh.nix
./starship.nix
];
home.shellAliases = {
sync-all = "sync-emacs; sync-git; vdirsyncer sync; mbsync -a";
sync-and-shutdown = "sync-all && shutdown now";
protonup = "sudo wg-quick up protonvpn && sudo wg";
protondown = "sudo wg-quick down protonvpn";
};
programs = {
# Shells
bash.enable = true;
nushell.enable = true;
# CLI programs and utilities
btop.enable = true;
carapace.enable = true;
fd.enable = true;
jq.enable = true;
ripgrep.enable = true;
bat = {
enable = true;
config.style = "plain,numbers,changes";
};
cava = {
enable = true;
settings = {
color = with config.lib.stylix.colors.withHashtag; {
gradient = 1;
gradient_count = 6;
gradient_color_1 = "'${red}'";
gradient_color_2 = "'${yellow}'";
gradient_color_3 = "'${green}'";
gradient_color_4 = "'${cyan}'";
gradient_color_5 = "'${blue}'";
gradient_color_6 = "'${magenta}'";
};
};
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
eza = {
enable = true;
git = true;
icons = "auto";
extraOptions = [
"--header"
"--time-style=iso"
];
};
fzf = {
enable = true;
defaultCommand = "${pkgs.fd}/bin/fd --type f";
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
colors = {
bg = lib.mkForce "-1";
"bg+" = lib.mkForce "-1";
};
};
hyfetch = {
enable = true;
settings = {
preset = "rainbow";
mode = "rgb";
light_dark = config.lib.stylix.scheme.variant;
lightness = 0.4;
color_align = {
mode = "horizontal";
};
};
};
readline = {
enable = true;
variables = {
bell-style = "visible";
blink-matching-paren = "On";
colored-completion-prefix = "On";
colored-stats = "On";
completion-ignore-case = "On";
completion-map-case = "On";
editing-mode = "emacs";
expand-tilde = "On";
mark-directories = "On";
mark-symlinked-directories = "On";
visible-stats = "On";
};
};
};
}