2025年7月23日水曜日

NixOS + dwm だけで最低限のPC操作を快適にする方法

NixOS + dwm だけで最低限のPC操作を快適にする方法

シンプルで軽量な dwm だけを使って、音量調整・バッテリー表示・画面輝度調整 など、最低限のPC設定をできるようにする方法を紹介します。デスクトップ環境(LXQtやXFCE)を入れなくても、CUIツールと軽量な常駐アプリだけでかなり快適になります。

基本方針

  • dwm には GUI設定ツールがないので CLIベースで対応
  • xsetrootdwmblocks でステータス表示
  • sxhkd などでキーボードショートカット対応

1. 必要パッケージ(configuration.nix

{ pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    pulseaudio
    pavucontrol
    alsa-utils
    brightnessctl
    acpi
    sxhkd
    dunst
    networkmanager
    bluez
    blueman
    xorg.xsetroot
  ];

  networking.networkmanager.enable = true;

  sound.enable = true;
  hardware.pulseaudio.enable = true;

  hardware.bluetooth.enable = true;

  services.xserver.enable = true;
  services.xserver.windowManager.dwm.enable = true;
}

2. 音量・輝度・バッテリーのコマンド例

音量調整(PulseAudio):


pactl set-sink-volume @DEFAULT_SINK@ +5%
pactl set-sink-volume @DEFAULT_SINK@ -5%
pactl set-sink-mute @DEFAULT_SINK@ toggle

バッテリー残量:

acpi -b

輝度調整:

brightnessctl s +10%
brightnessctl s 10%-

3. キー割り当て(sxhkd


XF86AudioRaiseVolume
    pactl set-sink-volume @DEFAULT_SINK@ +5%

XF86AudioLowerVolume
    pactl set-sink-volume @DEFAULT_SINK@ -5%

XF86MonBrightnessUp
    brightnessctl s +10%

XF86MonBrightnessDown
    brightnessctl s 10%-

4. ステータスバー(xsetroot)のスクリプト例


#!/bin/sh
while true; do
  VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | grep -o '[0-9]\+%' | head -n1)
  BAT=$(acpi | cut -d, -f 2 | tr -d ' ')
  DATE=$(date '+%Y-%m-%d %H:%M')
  xsetroot -name "VOL:$VOL | BAT:$BAT | $DATE"
  sleep 10
done

5. オプション:Home Managerを使う場合


programs.sxhkd = {
  enable = true;
  keybindings = {
    "XF86AudioRaiseVolume" = "pactl set-sink-volume @DEFAULT_SINK@ +5%";
    "XF86AudioLowerVolume" = "pactl set-sink-volume @DEFAULT_SINK@ -5%";
    "XF86MonBrightnessUp" = "brightnessctl s +10%";
  };
};

まとめ

  • dwm でも工夫すれば GUIなしで快適な操作が可能
  • sxhkd + pactl/brightnessctl が超便利
  • xsetroot or dwmblocks で情報も見やすく

余計なDEを入れず、軽くて統一感のある環境が好きな人には、NixOS + dwm 構成は非常におすすめです。

NixOS + dwm だけで最低限のPC操作を快適にする方法

NixOS + dwm だけで最低限のPC操作を快適にする方法 シンプルで軽量な dwm だけを使って、 音量調整・バッテリー表示・画面輝度調整 など、最低限のPC設定をできるようにする方法を紹介します。デスクトップ環境(LXQtやXFCE)を入れなくても、CUIツール...