53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{config, ...}: {
|
|
imports = [
|
|
./aliases.nix
|
|
./init.nix
|
|
./plugins.nix
|
|
];
|
|
|
|
config = {
|
|
programs.zsh = {
|
|
enable = true;
|
|
dotDir = ".config/zsh";
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
sessionVariables = {LC_ALL = "en_US.UTF-8";};
|
|
|
|
history = {
|
|
# share history between different zsh sessions
|
|
share = true;
|
|
|
|
# avoid cluttering $HOME with the histfile
|
|
path = "${config.xdg.dataHome}/zsh/zsh_history";
|
|
|
|
# saves timestamps to the histfile
|
|
extended = true;
|
|
|
|
# optimize size of the histfile by avoiding duplicates
|
|
# or commands we don't need remembered
|
|
save = 100000;
|
|
size = 100000;
|
|
expireDuplicatesFirst = true;
|
|
ignoreDups = true;
|
|
ignoreSpace = true;
|
|
ignorePatterns = ["rm *" "pkill *" "kill *" "killall *"];
|
|
};
|
|
|
|
# dirhashes are easy aliases to commonly used directoryies
|
|
# e.g. `cd ~dl` would take you to $HOME/Downloads
|
|
dirHashes = {
|
|
docs = "$HOME/Documents";
|
|
dl = "$HOME/Downloads";
|
|
media = "$HOME/Media";
|
|
vids = "$HOME/Media/Videos";
|
|
music = "$HOME/Media/Music";
|
|
pics = "$HOME/Media/Pictures";
|
|
screenshots = "$HOME/Media/Pictures/Screenshots";
|
|
notes = "$HOME/Cloud/Notes";
|
|
dev = "$HOME/Dev";
|
|
dots = "$HOME/.config/nyx";
|
|
};
|
|
};
|
|
};
|
|
}
|