jsl-zsh working as a login shell
This commit is contained in:
+21
-15
@@ -79,6 +79,19 @@ in
|
||||
ignorePatterns = [
|
||||
"ls" "eza" "history" "clear"
|
||||
];
|
||||
integrationPackages = with pkgs; [
|
||||
fzf
|
||||
zoxide
|
||||
self'.packages.starship
|
||||
];
|
||||
extraToolPackages = with pkgs; [
|
||||
lazygit
|
||||
lazydocker
|
||||
devenv
|
||||
self'.packages.shell-tools
|
||||
self'.packages.neovim-min
|
||||
];
|
||||
loginBootstrapPath = lib.makeBinPath (integrationPackages ++ extraToolPackages);
|
||||
aliasStr = lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (k: v: "alias -- ${lib.escapeShellArg k}=${lib.escapeShellArg v}") {
|
||||
ls = "eza";
|
||||
@@ -116,18 +129,17 @@ in
|
||||
ignoreAllDups = true;
|
||||
ignoreSpace = true;
|
||||
};
|
||||
integrations = {
|
||||
fzf.enable = true;
|
||||
starship = {
|
||||
enable = true;
|
||||
package = self'.packages.starship;
|
||||
};
|
||||
zoxide.enable = true;
|
||||
};
|
||||
};
|
||||
extraRC = ''
|
||||
${homeEndKeyBindings}
|
||||
|
||||
# Login shells may reset PATH before integrations run.
|
||||
export PATH=${lib.escapeShellArg loginBootstrapPath}:$PATH
|
||||
|
||||
source <(fzf --zsh)
|
||||
eval "$(zoxide init zsh)"
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
HISTFILE=$HOME/.config/zsh/.zsh_history
|
||||
SAVEHIST=${toString historySize}
|
||||
HISTORY_IGNORE=${lib.escapeShellArg "(${lib.concatStringsSep "|" ignorePatterns})"}
|
||||
@@ -137,13 +149,7 @@ in
|
||||
|
||||
eval "$(devenv hook zsh)"
|
||||
'';
|
||||
extraPackages = with pkgs; [
|
||||
lazygit
|
||||
lazydocker
|
||||
devenv
|
||||
self'.packages.shell-tools
|
||||
self'.packages.neovim-min
|
||||
];
|
||||
extraPackages = extraToolPackages;
|
||||
}).wrapper;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user