current
 1{config, ...}: {
 2  flake.modules.nixos.desktop = {pkgs, ...}: {
 3    # add user's shell into /etc/shells
 4    environment.shells = with pkgs; [
 5      bashInteractive
 6      fish
 7    ];
 8    # set user's default shell system-wide
 9    users.defaultUserShell = pkgs.bashInteractive;
10
11    services.xserver.excludePackages = [pkgs.xterm];
12    environment.plasma6.excludePackages = [pkgs.kdePackages.konsole];
13
14    # fix for `sudo xxx` in kitty/wezterm/foot and other modern terminal emulators
15    security.sudo.keepTerminfo = true;
16  };
17  flake.modules.homeManager.desktop = _: {
18    imports = with config.flake.modules.homeManager; [
19      terminal-foot
20      terminal-ghostty
21      # terminal-wezterm
22    ];
23
24    xdg.terminal-exec = {
25      enable = true;
26      settings = {
27        default = ["com.mitchellh.ghostty.desktop"];
28      };
29    };
30  };
31}