From 058309e5f935ecb243d782b657c36b603d34e283 Mon Sep 17 00:00:00 2001 From: phuclee <125681538+phucisstupid@users.noreply.github.com> Date: Tue, 4 Aug 2026 21:04:38 +0700 Subject: [PATCH] feat: add environment.shells for darwin on macos we must add the shell to `environment.shells` and change the default shell using `chsh -s` Signed-off-by: phuclee <125681538+phucisstupid@users.noreply.github.com> --- modules/aspects/batteries/user-shell.nix | 34 ++++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/modules/aspects/batteries/user-shell.nix b/modules/aspects/batteries/user-shell.nix index 08f359388..77c12ece4 100644 --- a/modules/aspects/batteries/user-shell.nix +++ b/modules/aspects/batteries/user-shell.nix @@ -12,26 +12,32 @@ let ]; ''; - userShell = - shell: user: - let - nixos = - { pkgs, ... }: - { - programs.${shell}.enable = true; - users.users.${user.userName}.shell = pkgs.${shell}; - }; - darwin = nixos; - homeManager.programs.${shell}.enable = true; - in - { - inherit nixos darwin homeManager; + userShell = shell: user: { + nixos = + { pkgs, ... }: + { + programs.${shell}.enable = true; + users.users.${user.userName}.shell = pkgs.${shell}; + }; + + darwin = + { pkgs, ... }: + { + programs.${shell}.enable = true; + users.users.${user.userName}.shell = pkgs.${shell}; + environment.shells = [ pkgs.${shell} ]; + }; + + homeManager = { + programs.${shell}.enable = true; }; + }; in { den.batteries.user-shell = shell: { inherit description; + includes = [ ({ host, user }: { name = "user-shell/${user.userName}@${host.name}"; } // userShell shell user) ({ home }: { name = "user-shell/${home.name}"; } // userShell shell home)