jsl-zsh working as a login shell

This commit is contained in:
John Lancaster
2026-07-02 20:11:49 -05:00
parent 621a61fb9e
commit 460d8908bb
3 changed files with 32 additions and 23 deletions
+21 -15
View File
@@ -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;
};
}