mirror of
https://codeberg.org/muon/home.git
synced 2025-12-05 23:57:46 +00:00
55 lines
1.1 KiB
Nix
55 lines
1.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
cfg = config.mods.terminal;
|
|
|
|
aliases = with lib; {
|
|
la = "ls -lah";
|
|
xc = "${getExe pkgs.xclip} -selection clipboard";
|
|
".." = "cd ..";
|
|
"..." = "cd ../..";
|
|
"...." = "cd ../..";
|
|
"....." = "cd ../../..";
|
|
"......" = "cd ../../../..";
|
|
};
|
|
in {
|
|
options.mods.terminal = {zsh.enable = lib.mkEnableOption "enables zsh";};
|
|
|
|
config = {
|
|
programs.starship.enable = true;
|
|
|
|
programs.zsh = lib.mkIf cfg.zsh.enable {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
history = {
|
|
save = 2097152;
|
|
size = 2097152;
|
|
expireDuplicatesFirst = true;
|
|
ignoreDups = true;
|
|
ignoreSpace = true;
|
|
path = "${config.xdg.dataHome}/zsh/history";
|
|
};
|
|
|
|
initContent = ''
|
|
autoload -U compinit
|
|
setopt no_auto_remove_slash
|
|
'';
|
|
|
|
shellAliases = aliases;
|
|
|
|
plugins = with pkgs; [
|
|
{
|
|
name = "zsh-vi-mode";
|
|
src = zsh-vi-mode;
|
|
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|