Commit 6074e74

HPCesia <me@hpcesia.com>
2025-09-30 17:25:02
refactor: migrate terminals
1 parent 2015eb6
Changed files (11)
home
base
gui
modules
os-modules
home/base/gui/terminals/ghostty/default.nix
@@ -1,18 +0,0 @@
-{...}: {
-  programs.ghostty = {
-    enable = true;
-    enableBashIntegration = true;
-    enableFishIntegration = true;
-    settings = {
-      font-family = "Maple Mono NF CN";
-      command = "fish";
-      window-padding-x = 5;
-      window-padding-y = 5;
-      window-padding-balance = true;
-      window-height = 32;
-      window-width = 128;
-      window-new-tab-position = "current";
-      copy-on-select = false;
-    };
-  };
-}
home/base/gui/terminals/wezterm/default.nix
@@ -1,11 +0,0 @@
-{config, ...}: let
-  configPath = "${config.home.homeDirectory}/nix-config/home/base/gui/terminals/wezterm/config";
-in {
-  xdg.configFile."wezterm".source = config.lib.file.mkOutOfStoreSymlink configPath;
-
-  catppuccin.wezterm.enable = false;
-
-  programs.wezterm = {
-    # enable = true;
-  };
-}
home/base/gui/terminals/default.nix
@@ -1,3 +0,0 @@
-{mylib, ...}: {
-  imports = mylib.scanModules ./.;
-}
modules/desktop/apps/terminal/ghostty/default.nix
@@ -0,0 +1,19 @@
+{
+  flake.modules.homeManager.terminal-ghostty = _: {
+    programs.ghostty = {
+      enable = true;
+      enableBashIntegration = true;
+      enableFishIntegration = true;
+      settings = {
+        command = "fish";
+        window-padding-x = 5;
+        window-padding-y = 5;
+        window-padding-balance = true;
+        window-height = 32;
+        window-width = 128;
+        window-new-tab-position = "current";
+        copy-on-select = false;
+      };
+    };
+  };
+}
home/base/gui/terminals/wezterm/config/module/appearance.lua โ†’ modules/desktop/apps/terminal/wezterm/config/module/appearance.lua
File renamed without changes
home/base/gui/terminals/wezterm/config/module/keybindings.lua โ†’ modules/desktop/apps/terminal/wezterm/config/module/keybindings.lua
File renamed without changes
home/base/gui/terminals/wezterm/config/wezterm.lua โ†’ modules/desktop/apps/terminal/wezterm/config/wezterm.lua
File renamed without changes
modules/desktop/apps/terminal/wezterm/default.nix
@@ -0,0 +1,9 @@
+{
+  flake.modules.homeManager.terminal-wezterm = _: {
+    programs.wezterm = {
+      enable = true;
+    };
+    xdg.configFile."wezterm".source = ./config;
+    catppuccin.wezterm.enable = false;
+  };
+}
modules/desktop/apps/terminal/default.nix
@@ -0,0 +1,24 @@
+{config, ...}: {
+  flake.modules.nixos.desktop = {pkgs, ...}: {
+    # add user's shell into /etc/shells
+    environment.shells = with pkgs; [
+      bashInteractive
+      fish
+      nushell
+    ];
+    # set user's default shell system-wide
+    users.defaultUserShell = pkgs.bashInteractive;
+
+    services.xserver.excludePackages = [pkgs.xterm];
+    environment.plasma6.excludePackages = [pkgs.kdePackages.konsole];
+
+    # fix for `sudo xxx` in kitty/wezterm/foot and other modern terminal emulators
+    security.sudo.keepTerminfo = true;
+  };
+  flake.modules.homeManager.desktop = _: {
+    imports = with config.flake.modules.homeManager; [
+      terminal-ghostty
+      # terminal-wezterm
+    ];
+  };
+}
os-modules/nixos/desktop/misc.nix
@@ -1,21 +1,4 @@
-{
-  config,
-  pkgs,
-  myvars,
-  ...
-}: {
-  # add user's shell into /etc/shells
-  environment.shells = with pkgs; [
-    bashInteractive
-    fish
-    nushell
-  ];
-  # set user's default shell system-wide
-  users.defaultUserShell = pkgs.bashInteractive;
-
-  # fix for `sudo xxx` in kitty/wezterm/foot and other modern terminal emulators
-  security.sudo.keepTerminfo = true;
-
+{myvars, ...}: {
   services = {
     gvfs.enable = true; # Mount, trash, and other functionalities
     tumbler.enable = true; # Thumbnail support for images
os-modules/nixos/desktop.nix
@@ -16,9 +16,6 @@
     tumbler.enable = true; # Thumbnail support for images
     xserver = {
       xkb.layout = "us";
-      excludePackages = with pkgs; [
-        xterm
-      ];
     };
     displayManager = {
       autoLogin = {
@@ -29,7 +26,6 @@
   };
 
   environment.plasma6.excludePackages = with pkgs.kdePackages; [
-    konsole
     kdepim-runtime
     kate
     elisa