.hive/modules/home/zsh/default.nix

81 lines
1.3 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.hive.zsh;
omz_custom = "${config.home.homeDirectory}/.config/omz_custom";
in {
options.hive.zsh = {
enable = lib.mkEnableOption "Enable Zsh";
};
config = lib.mkIf cfg.enable {
home.file."${omz_custom}" = {
source = ./static/omz_custom;
recursive = true;
};
# direnv
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
# fancy ls command
programs.lsd = {
enable = true;
};
# Zsh
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
history.size = 10000;
history.path = "${config.xdg.dataHome}/zsh/history";
oh-my-zsh = {
enable = true;
plugins = [
"docker"
"docker-compose"
"fzf"
"git"
"pass"
"poetry"
"python"
"rust"
];
theme = "my_bureau";
custom = omz_custom;
};
};
home.packages = with pkgs; [
bat
fzf
git
htop
killall
mmtui
nh
nix-output-monitor
nix-search-cli
nix-tree
nixpkgs-fmt
pass
pay-respects
ranger
unzip
vim
w3m
wget
yt-dlp
zip
];
};
}