91 lines
2.2 KiB
Nix
91 lines
2.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
let
|
|
aliases = {
|
|
cls = "printf '\\033c'; clear";
|
|
vim = "nvim";
|
|
hm = "home-manager --flake ~/dotfiles";
|
|
hms = "home-manager switch";
|
|
lsa = "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;
|
|
};
|
|
}
|