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
+9 -3
View File
@@ -5,7 +5,7 @@ let
in
{
flake.modules.nixos.janus-ca =
{ config, lib, ... }:
{ config, pkgs, lib, ... }:
let
cfg = config.janus-ca;
johnHome = lib.attrByPath [ "users" "users" username "home" ] "/home/${username}" config;
@@ -58,7 +58,7 @@ in
nixos.docker
nixos.login-text
nixos.mtls
{
({ lib, pkgs, ... }: {
networking.hostName = hostname;
sops.defaultSopsFile = ../../../keys/secrets.yaml;
step-ssh-host = {
@@ -77,6 +77,12 @@ in
];
};
users.users."${username}" = {
shell = lib.mkForce (
lib.getExe inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.jsl-zsh
);
};
# users.users."${username}".openssh.authorizedKeys.keys = [
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMOkGLo4N/L3RYvaIZ1FmePlxa1HK0fMciZxKtRhN58F root@janus"
# ];
@@ -87,7 +93,7 @@ in
];
docker.enable = true;
};
}
})
];
};
}
+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;
};
}
+2 -5
View File
@@ -1,4 +1,4 @@
{ self, inputs, lib, ... }:
{ self, inputs, ... }:
let
username = "john";
baseUserModules = self.factory.user {
@@ -20,7 +20,7 @@ in
};
flake.modules = {
nixos."${username}" = { ... }: {
nixos."${username}" = { config, pkgs, ... }: {
imports = [
baseUserModules.nixos."${username}"
];
@@ -38,9 +38,6 @@ in
inputs.self.modules.homeManager.ssh
inputs.self.modules.homeManager.git
];
# home.packages = [
# inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools
# ];
xdg.enable = true;
programs.git.settings.user.name = name;
programs.git.settings.user.email = email;