nix-config/home/essentials/zsh.nix

110 lines
2.4 KiB
Nix

{
programs.nix-index-database.comma.enable = true;
programs.zsh = {
enable = true;
autocd = true;
shellAliases = {
os-update = "nh os switch /home/rhea/nix-config/";
os-upgrade = "cd ~/nix-config && nix flake update && nh os switch /home/rhea/nix-config/";
light-off = "echo -n \"{\\\"id\\\":1,\\\"method\\\":\\\"setState\\\",\\\"params\\\":{\\\"state\\\":false}}\" | nc -u -w 1 192.168.178.28 38899";
clr = "clear";
power-saver = "powerprofilesctl set power-saver";
power-balanced = "powerprofilesctl set balanced";
power-performance = "powerprofilesctl set performance";
};
autosuggestion = {
enable = true;
strategy = [ "history" "completion" ];
};
history = {
append = true;
expireDuplicatesFirst = true;
size = 2500;
};
syntaxHighlighting = {
enable = true;
highlighters = [
"brackets"
];
};
oh-my-zsh = {
enable = true;
plugins = [
"git"
"sudo"
"virtualenv"
"safe-paste"
"timer"
"z"
];
theme = "agnoster";
};
};
programs.starship = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
settings = {
add_newline = false;
command_timeout = 1000;
right_format = "$time";
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
vicmd_symbol = "[](bold yellow)";
};
username = {
show_always = true;
format = ''\[[$user]($style)'';
};
hostname = {
ssh_only = false;
format = ''@[$ssh_symbol$hostname]($style)\]'';
};
directory = {
truncation_length = 6;
format = ''\[[$path]($style)[$read_only]($read_only_style)\]'';
read_only = " ";
};
git_branch = {
symbol = " ";
format = ''\[[$symbol$branch]($style)\]'';
};
git_status = {
format = ''([\[$all_status$ahead_behind\]]($style))'';
};
nix_shell = {
symbol = "󱄅 ";
format = ''\[[$symbol$state(\($name\))]($style)\]'';
};
cmd_duration = {
format = ''\[[󰅐 $duration]($style)\]'';
};
time = {
disabled = false;
format = ''\[[$time]($style)\]'';
};
};
};
}