nix-home-manager/terminal.nix

86 lines
2.0 KiB
Nix

{ config, pkgs, lib, ... }:
{
programs.alacritty = {
enable = true;
settings = {
font.normal = { family = "hack", style = "Regular" };
size = "12";
colors.primary = {
foreground = "#d8d8d8"; # RRGGBB
background = "#181818";
dim_foreground = "#828482";
};
#shell = { program = "/bin/zsh", args = ["-l"] };
};
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
# autosuggestion.highlight = null; # Custom styles for autosuggestion highlighting
syntaxHighlighting = {
enable = true;
highlighters = [ "main" "brackets" "cursor" ];
patterns = { "rm -rf *" = "fg=white,bold,bg=red"; };
};
enableVteIntegration = true; # let the terminal track the current working directory
autocd = null; # Automatically enter into a directory if typed directly into shell.
sessionVariables = { # Environment variables that will be set for zsh session
isZSH = true
};
ohMyZsh = {
enable = true;
plugins = [
"alias-finder" # learn alias easier
"colorize"
"cp"
"direnv"
"git"
"git-extras"
"git-lfs"
"history"
"rust"
"ssh"
"sudo"
"vscode"
"z"
];
theme = "jonathan"; # "amuse"; #"robbyrussell";
};
shellAliases = {
ll = "ls -l";
edit = "sudo -e";
".." = "cd ..";
update = "sudo nixos-rebuild switch";
};
history = {
ignoreAllDups = true;
expireDuplicatesFirst = true;
ignorePatterns = ["rm *" "pkill *"];
save = 10000; # number of history lines
};
histSize = 10000;
histFile = "$HOME/.zsh_history";
setOptions = [
"HIST_IGNORE_ALL_DUPS"
];
};
programs.btop = {
enable = true;
settings = {
color_theme = "tokyo-night"; # "Default";
truecolor = true;
};
};
programs.htop = {
enable = true;
};
}