flake/nixos/zsh.nix
2024-11-16 20:34:53 -05:00

50 lines
1.4 KiB
Nix
Executable file

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