main
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}