62 lines
1.4 KiB
Nix
62 lines
1.4 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.programs.bash;
|
|
in
|
|
{
|
|
config = {
|
|
programs = {
|
|
bash = {
|
|
enable = true;
|
|
bashrcExtra = ''
|
|
shopt -s expand_aliases
|
|
shopt -s histappend
|
|
'';
|
|
historySize = 100000;
|
|
historyFile = "${config.xdg.stateHome}/shell_history";
|
|
historyFileSize = 100000;
|
|
historyControl = [
|
|
"erasedups"
|
|
"ignoredups"
|
|
"ignorespace"
|
|
];
|
|
};
|
|
zsh = {
|
|
enable = true;
|
|
autosuggestion.enable = true;
|
|
enableCompletion = true;
|
|
syntaxHighlighting.enable = true;
|
|
historySubstringSearch.enable = true;
|
|
initExtra = builtins.readFile ./zshrc.sh;
|
|
defaultKeymap = "viins";
|
|
history = {
|
|
size = cfg.historySize;
|
|
save = cfg.historyFileSize;
|
|
path = cfg.historyFile;
|
|
expireDuplicatesFirst = true;
|
|
};
|
|
shellAliases = cfg.shellAliases;
|
|
plugins = [
|
|
{
|
|
name = "zsh-nix-shell";
|
|
file = "nix-shell.plugin.zsh";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "chisui";
|
|
repo = "zsh-nix-shell";
|
|
rev = "v0.8.0";
|
|
sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
imports = [
|
|
./atuin.nix
|
|
./direnv.nix
|
|
];
|
|
}
|