Files
2026-06-20 01:33:51 +09:00

60 lines
1.8 KiB
Nix

{ lib, config, ... }:
let
cfg = config.my.applications.zsh.homeManager;
in
{
options.my.applications.zsh.homeManager = {
enable = lib.mkEnableOption "Zsh home-manager configuration";
};
config.home-manager.sharedModules = [
{
config = lib.mkIf cfg.enable {
programs.zsh = {
enable = true;
enableCompletion = true;
oh-my-zsh = {
enable = true;
theme = "robbyrussell";
plugins = [ "git" ];
};
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initContent = ''
# ---- from gist: export / history size ----
export HISTSIZE=999999999
export HISTFILESIZE=999999999
# ---- from gist: setopt ----
setopt extended_history
setopt hist_allow_clobber
setopt hist_fcntl_lock
setopt hist_find_no_dups
setopt hist_ignore_all_dups
setopt hist_ignore_dups
setopt hist_ignore_space
# setopt hist_no_functions
# setopt hist_no_store
setopt hist_reduce_blanks
setopt hist_save_no_dups
setopt hist_verify
setopt inc_append_history_time
unsetopt SHARE_HISTORY
setopt APPEND_HISTORY
setopt INC_APPEND_HISTORY_TIME
# ---- from gist: aliases ----
alias docker-compose="docker compose"
alias clearsign='export GPG_TTY=$(tty) && openssl rand -hex 16 | gpg --clearsign'
alias lssh='ssh -o KexAlgorithms=+diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -o Ciphers=+aes256-cbc,aes128-cbc -o HostKeyAlgorithms=+ssh-rsa -o SetEnv=TERM=xterm'
'';
};
};
}
];
}