{ 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; autosuggestion.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; }; oh-my-zsh = { # 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 }; #setOptions = [ # "HIST_IGNORE_ALL_DUPS" #]; }; programs.btop = { enable = true; settings = { color_theme = "tokyo-night"; # "Default"; truecolor = true; }; }; programs.htop = { enable = true; }; }