flake/nixos/zsh.nix
2024-11-18 14:27:31 -05:00

70 lines
2 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";
plugins = [ "git" "direnv"];
};
shellAliases = let ezaArgs = "--time-style='+%Y-%m-%d %H:%M' --icons";
in {
ff = "fastfetch";
neofetch = "fastfetch";
nf = "fastfetch";
lg = "lazygit";
lad = "lazydocker";
clip = "wl-copy";
paste = "wl-paste";
cat = "bat";
l = "eza -lhg ${ezaArgs}";
la = "eza -lAh ${ezaArgs}";
ll = "eza -lhg ${ezaArgs}";
ls = "eza ${ezaArgs}";
lsa = "eza -lah ${ezaArgs}";
tree = "eza --tree --git-ignore ${ezaArgs}";
nixrc = "$EDITOR /etc/nixos";
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 -C /etc/nixos --git-dir=/etc/nixos/.git add /etc/nixos/hosts/$(hostname).nix && sudo nixos-rebuild switch";
taildrop = "tailscale file";
forgejo-runner = "act_runner";
runactions =
"act_runner exec --default-actions-url=https://www.coastalcommits.com --gitea-instance=https://www.coastalcommits.com";
c = "clear";
# alias sudo to itself so user aliases can be sudoed
sudo = "sudo ";
s = "sudo ";
};
};
}