81 lines
1.3 KiB
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
|
|
];
|
|
};
|
|
}
|