{ 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; }; }