From 71fc9bacd5604b087d5e7d6321f6f8d43a9926f5 Mon Sep 17 00:00:00 2001 From: ncaq Date: Tue, 7 Jul 2026 17:39:35 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20xserver=E3=81=A8=E3=83=87=E3=82=A3?= =?UTF-8?q?=E3=82=B9=E3=83=97=E3=83=AC=E3=82=A4=E3=83=9E=E3=83=8D=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=83=A3=E3=81=A8IceWM=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E5=88=86=E9=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新しいウィンドウマネージャを追加したくなったときなどにスッキリとさせたいため。 --- nixos/native-linux/display-manager.nix | 34 +++++++++++++++++++++++++ nixos/native-linux/xserver-recovery.nix | 14 ++++++++++ nixos/native-linux/xserver.nix | 30 +--------------------- 3 files changed, 49 insertions(+), 29 deletions(-) create mode 100644 nixos/native-linux/display-manager.nix create mode 100644 nixos/native-linux/xserver-recovery.nix diff --git a/nixos/native-linux/display-manager.nix b/nixos/native-linux/display-manager.nix new file mode 100644 index 00000000..570936eb --- /dev/null +++ b/nixos/native-linux/display-manager.nix @@ -0,0 +1,34 @@ +{ username, ... }: +let + home-manager-session-name = "hm-xsession"; +in +{ + services = { + xserver = { + displayManager = { + lightdm.enable = true; + session = [ + { + manage = "desktop"; + name = home-manager-session-name; + description = '' + home-manager側で設定した`.xsession`を起動する。 + デフォルトで起動するセッション。 + ''; + start = '' + exec $HOME/.xsession + ''; + } + ]; + }; + }; + displayManager = { + enable = true; + defaultSession = home-manager-session-name; + autoLogin = { + enable = true; + user = username; + }; + }; + }; +} diff --git a/nixos/native-linux/xserver-recovery.nix b/nixos/native-linux/xserver-recovery.nix new file mode 100644 index 00000000..20f4b01f --- /dev/null +++ b/nixos/native-linux/xserver-recovery.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + services = { + xserver = { + # 何かあったときの復旧用のミニマルなウィンドウマネージャを有効にしておきます。 + windowManager.icewm.enable = true; + }; + }; + # 復旧に必要な最低限のパッケージをインストールしておきます。 + environment.systemPackages = with pkgs; [ + rxvt-unicode + xterm + ]; +} diff --git a/nixos/native-linux/xserver.nix b/nixos/native-linux/xserver.nix index fb38f9be..9d5da00f 100644 --- a/nixos/native-linux/xserver.nix +++ b/nixos/native-linux/xserver.nix @@ -1,41 +1,13 @@ -# 基本的にビルドした自分のxmonad-launchを使うが、トラブル時の復旧セッションも用意する。 -{ pkgs, username, ... }: -{ +_: { services = { xserver = { enable = true; - displayManager = { - lightdm.enable = true; - session = [ - { - manage = "desktop"; - name = "hm-xsession"; - description = "home-manager側で設定した `.xsession` を起動する。"; - start = '' - exec $HOME/.xsession - ''; - } - ]; - }; - windowManager.icewm.enable = true; xkb = { layout = "us"; model = "pc104"; variant = "dvorak"; }; }; - displayManager = { - enable = true; - defaultSession = "hm-xsession"; - autoLogin = { - enable = true; - user = username; - }; - }; libinput.enable = true; }; - environment.systemPackages = with pkgs; [ - rxvt-unicode - xterm - ]; }