dotfiles/home-manager/sh.nix

90 lines
2.2 KiB
Nix
Raw Normal View History

2024-01-16 21:08:19 +00:00
{ config, lib, pkgs, ... }:
let
aliases = {
cls = "printf '\\033c'; clear";
# vim = "nvim";
hm = "home-manager";
# ls = "eza -la --icons";
lg = "lazygit";
};
in
{
programs.zsh = {
enable = true;
autocd = true;
dotDir = ".config/zsh";
enableAutosuggestions = true;
enableCompletion = true;
shellAliases = aliases;
oh-my-zsh = {
enable = true;
plugins = [
"git"
"extract"
"httpie"
"gh"
"node"
"npm"
"yarn"
# "bun"
"deno"
"vscode"
# "zsh-interactive-cd"
];
custom = "${pkgs.spaceship-prompt}/share/zsh";
theme = "spaceship";
};
plugins = [
{
name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh";
src = pkgs.fetchFromGitHub {
owner = "chisui";
repo = "zsh-nix-shell";
rev = "v0.8.0";
sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7";
};
}
];
initExtra = ''
SHELL=${pkgs.zsh}/bin/zsh
SPACESHIP_HOST_SHOW="always"
SPACESHIP_TIME_SHOW=false
SPACESHIP_PROMPT_ORDER=(
time # Time stamps section
# user # Username section
dir # Current directory section
host # Hostname section
git # Git section (git_branch + git_status)
node # Node.js section
bun # Bun section
deno # Deno section
crystal # Crystal section
ruby # Ruby section
golang # Go section
php # PHP section
rust # Rust section
venv # virtualenv section
python # Python section
exec_time # Execution time
line_sep # Line break
# battery # Battery level and status
# vi_mode # Vi-mode indicator
jobs # Background jobs indicator
exit_code # Exit code section
char # Prompt character
sudo # sudo status
)
'';
};
programs.bash = {
enable = true;
shellAliases = aliases;
};
}