{ pkgs, ... }: { # starship - an customizable prompt for any shell #programs.starship = { #enable = true; # custom settings #settings = { #format = "$all$nix_shell$python$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status\n$username$hostname$directory"; #add_newline = true; #aws.disabled = true; #gcloud.disabled = true; #line_break.disabled = true; #}; #}; users.defaultUserShell = pkgs.zsh; programs.zsh = { enable = true; enableCompletion = true; enableBashCompletion = true; autosuggestions.enable = true; syntaxHighlighting.enable = true; shellInit = '' export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HOME/go/bin" ''; histSize = 10000; histFile = "$HOME/.zsh_history"; ohMyZsh = { enable = true; theme = "agnoster"; }; shellAliases = { ff = "fastfetch"; neofetch = "fastfetch"; nf = "fastfetch"; cat = "bat"; ls = "eza --icons"; l = "eza -lhg --icons"; upd = "sudo nixos-generate-config --dir /etc/nixos/hosts && sudo rm /etc/nixos/hosts/configuration.nix && sudo mv /etc/nixos/hosts/hardware-configuration.nix /etc/nixos/hosts/$(hostname).nix && git --git-dir=/etc/nixos add /etc/nixos/hosts/$(hostname).nix && sudo nixos-rebuild switch"; c = "clear"; # alias sudo to itself so user aliases can be sudoed sudo = "sudo "; s = "sudo "; }; }; }