Hyprland用のCaelestia dotsを試してみました。これは良いかもしれない。

https://github.com/caelestia-dots/caelestia
https://github.com/caelestia-dots/cli
https://github.com/caelestia-dots/shell

https://www.youtube.com/watch?v=TggHDm0_vBw

環境

ハードウェア

  • デスクトップPC、日本語キーボード配列、4Kディスプレイ
  • 2 in 1 PC、英語キーボード配列、1200x1920タッチスクリーン

ソフトウェア

  • Arch Linux
    • gdm 49.1
    • hyprland 0.25.1
    • quickshell 0.2.0
      • caelestia-shell 1.3.3
    • fish 4.2.1

インストール

バックアップ

  • 設定ファイルのバックアップ
    設定ファイルが上書きされるのでバックアップ推奨です。上書き確認はあります。
    ~/.config/
    ├── btop/ -> ~/.local/share/caelestia/btop/
    ├── fastfetch/ -> ~/.local/share/caelestia/fastfetch/
    ├── fish/ -> ~/.local/share/caelestia/fish/
    ├── foot/ -> ~/.local/share/caelestia/foot/
    ├── hypr/ -> ~/.local/share/caelestia/hypr/
    ├── uwsm/ -> ~/.local/share/caelestia/uwsm/
    ├── code-flags.conf -> ~/.local/share/caelestia/vscode/flags.conf
    └── starship.toml -> ~/.local/share/caelestia/starship.toml

インストール

  • 前提の確認等

    インストールスクリプトはfishが前提です。

    qqc2-desktop-style-5.116.1.tar.xz ... 失敗 (不明な公開鍵 58D0EE648A48B3BB)
    というようなエラーがでる場合は以下を実行します。
    gpg --keyserver keys.gnupg.net --recv-key 58D0EE648A48B3BB

  • Caelestia dots のインストール
    git clone https://github.com/caelestia-dots/caelestia.git ~/.local/share/caelestia
    ~/.local/share/caelestia/install.fish

関連ソフトウェア(オプション)

  • Todoist のインストール
    paru -S todoist-appimage
  • Github Desktop のインストール
    paru -S github-desktop-bin
  • Visual Stuio Code のインストール
    paru -S visual-studio-code-bin
  • PulseaudioからPipewireへの切り替え
    sudo pacman -R pulseaudio pulseaudio-bluetooth pulseaudio-equalizerjack pulseaudio-lirc pulseaudio-zeroconf
    sudo pacman -S pipewire-jack pipewire-alsa pipewire-pusle

アップデート

設定

設定ファイル

  • 編集するファイル
    ~/.config/caelestia/
    ├── cli.json
    ├── hypr-user.conf
    ├── hypr-vars.conf
    └── shell.json
  • 参考にするファイル
    ~/.config/hypr/ -> ~/.local/share/caelestia/hypr/
    ├── hyprland/
    │   ├── animations.conf
    │   ├── decoration.conf
    │   ├── env.conf
    │   ├── execs.conf
    │   ├── general.conf
    │   ├── gestures.conf
    │   ├── group.conf
    │   ├── input.conf
    │   ├── keybinds.conf
    │   ├── misc.conf
    │   └── rules.conf
    ├── scheme/
    │   ├── current.conf
    │   └── default.conf
    ├── scripts/
    │   └── wsaction.fish
    ├── hyprland.conf
    └── variables.conf
  • Caelestia CLIカスタマイズ用ファイルの作成
    https://github.com/caelestia-dots/cli#configuring
    Exampleを展開表示して内容を~/.config/caelestia/cli.jsonに保存
  • Caelestia Shellカスタマイズ用ファイルの作成
    https://github.com/caelestia-dots/shell#user-content-example-configuration
    Exampleを展開表示して内容を~/.config/caelestia/shell.jsonに保存

変数設定(hypr-vars.conf)

  • よく使うアプリの変更
    ~/.config/caelestia/hypr-vars.conf
    # Apps
    $browser = google-chrome-stable
    $editor = code
    $fileExplorer = nautilus
  • 開いているウィンドウ数に関わらずウィンドウGapを20pxに統一 (40 → 20)
    ~/.config/caelestia/hypr-vars.conf
    # Gaps
    $windowGapsOut = 20
    なお、右下のパネルからゲームモードをオンにするとGapを一時的にゼロにできる。
  • タッチパッドの3本指スワイプでワークスペース移動 (4 → 3)
    ~/.config/caelestia/hypr-vars.conf
    # Touchpad
    $workspaceSwipeFingers = 3
  • ボリュームキーの増減幅 (10 → 5)
    ~/.config/caelestia/hypr-vars.conf
    # Volume step
    $volumeStep = 5 # In percent

ユーザ設定(hypr-user.conf)

  • ディスプレイの解像度を指定する場合
    hyprctl monitors all
    ~/.config/caelestia/hypr-user.conf
    # Monitor
    monitor = DP-1, 1920x1080@60, 0x0, 1
  • ディスプレイとタッチスクリーンを回転(270°=90°*3)させる場合
    ~/.config/caelestia/hypr-user.conf
    # Monitor
    monitor = , preferred, auto, 1, transform, 3
    input {
    touchdevice {
    transform = 3
    }
    }
  • 日本語キーボード配列の場合 (us → jp)
    ~/.config/caelestia/hypr-user.conf
    # Keyboard layout
    input {
    kb_layout = jp
    }
  • NumLockをデフォルト有効にする場合 (false → true)
    ~/.config/caelestia/hypr-user.conf
    # NumLock
    input {
    numlock_by_default = true
    }
  • 日本語入力を有効化
    ~/.config/caelestia/hypr-user.conf
    # Fcitx5
    exec-once = fcitx5

Caelestia CLI / Shell設定の変更(cli.json, shell.json)

  • 天気を表示する地域を明示的に指定する場合 (“” → “Tokyo, JP”)

    ~/.config/caelestia/shell.json
    345
    346
    347
    348
    349
    350
    {
    "services": {
    "weatherLocation": "Tokyo, JP",
    "useFahrenheit": false
    }
    }
  • トレイにオーディオアイコンを表示 (“showAudio”: false → true)

    ~/.config/caelestia/shell.json
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    {
    "status": {
    "showAudio": true,
    "showBattery": true,
    "showBluetooth": true,
    "showKbLayout": false,
    "showMicrophone": false,
    "showNetwork": true,
    "showLockStatus": true
    }
    }
  • ロック時間の設定 (180 → 300)(オプション)

    ~/.config/caelestia/shell.json
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    {
    "idle": {
    "timeouts": [
    {
    "timeout": 300,
    "idleAction": "lock"
    }
    ]
    }
    }

    ロックを無効にするには右下のパネルでKeep Awakeを有効化する。

  • ログアウト処理の是正(オプション)
    ログアウトを選択してもGDMに戻らず再起動してしまう場合に設定します。
    https://github.com/caelestia-dots/shell/issues/816#issuecomment-3483658302

    ~/.config/caelestia/shell.json
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    {
    "launcher" {
    "actions" {
    "name": "Logout",
    "icon": "exit_to_app",
    "description": "Log out of the current session",
    "command": ["kill", "-9", "-1"],
    "enabled": true,
    "dangerous": true
    }
    }
    }
    ~/.config/caelestia/shell.json
    355
    356
    357
    358
    359
    360
    {
    "session": {
    "commands": {
    "logout": ["kill", "-9", "-1"],
    }
    }

特別ワークスペースの設定

  • 特別ワークスペースmusicのアプリケーションの変更(オプション)
    Super+MでJellyfin Media Playerをトグルするように設定します。

    1. アプリケーションを起動
      • Lollypop
      • Jellyfin Media Player
      • PWA化したAmazon Music
    2. アプリケーションのclassを確認
      hyprctl clients | grep class
      class: org.gnome.Lollypop
      class: com.github.iwalton3.jellyfin-media-player
      class: chrome-nannkgcclifoadocpogcflabgmmefngp-Default
    3. Caelestia CLIの設定
      ~/.config/caelestia/cli.json
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      {
      "toggles" {
      "music": {
      "spotify": {
      "enable": false,
      "match": [{ "class": "Spotify" }, { "initialTitle": "Spotify" }, { "initialTitle": "Spotify Free" }],
      "command": ["spicetify", "watch", "-s"],
      "move": true
      },
      "feishin": {
      "enable": false,
      "match": [{ "class": "feishin" }],
      "move": true
      },
      "lollypop": {
      "enable": false,
      "match": [{ "class": "org.gnome.Lollypop" }],
      "command": ["lollypop"],
      "move": true
      },
      "jellyfinmediaplayer": {
      "enable": true,
      "match": [{ "class": "com.github.iwalton3.jellyfin-media-player" }],
      "command": ["jellyfinmediaplayer"],
      "move": true
      },
      "amazonmusic": {
      "enable": false,
      "match": [{ "class": "chrome-nannkgcclifoadocpogcflabgmmefngp-Default" }],
      "command": ["/opt/google/chrome/google-chrome", "--profile-directory=Default", "--app-id=nannkgcclifoadocpogcflabgmmefngp"],
      "move": true
      }
      }
      }
      }

      起動したいアプリケーションには"enable": trueを設定します。

      PWA化したアプリケーション(Amazon Music等)も設定できます。
      起動コマンドは~/.local/share/applications/*.desktopExec=行で確認します。
      引数は配列にして渡します。

    4. 特別ワークスペースmusicのユーザ設定
      ~/.config/caelestia/hypr-user.conf
      # Special workspaces : music
      windowrule = workspace special:music, class:feishin|Spotify|Supersonic|Cider|org.gnome.Lollypop|com.github.iwalton3.jellyfin-media-player|chrome-nannkgcclifoadocpogcflabgmmefngp-Default
    5. Jellyfin Media PlayerでMPRISを有効化する場合
      https://github.com/jellyfin/jellyfin-media-player/pull/989
      昨日(2025-11-25)マージされた!
      paru -S jellyfin-media-player-git
      リリース版の場合はmpris.soを利用する
      paru -S jellyfin-media-player
      curl -L https://github.com/hoyon/mpv-mpris/releases/latest/download/mpris.so -o ~/.local/share/jellyfinmediaplayer/scripts/mpris.so
  • 特別ワークプレースtodoのアプリケーションの変更(オプション)
    Super+RでPWA化したGoogle Todoリストをトグルするように設定します。

    1. アプリケーションを起動
      • PWA化したGoogle Todoリスト
    2. アプリケーションのclassを確認
      hyprctl clients | grep class
      class: chrome-okhfeehhillipaleckndoboggdkcebmo-Default
    3. Caelestia CLIの設定
      ~/.config/caelestia/cli.json
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      {
      "toggles" {
      "todo": {
      "googletodolist": {
      "enable": true,
      "match": [{ "class": "chrome-okhfeehhillipaleckndoboggdkcebmo-Default" }],
      "command": ["/opt/google/chrome/google-chrome", "--profile-directory=Default", "--app-id=okhfeehhillipaleckndoboggdkcebmo"],
      "move": true
      }
      }
      }
      }
    4. 特別ワークスペースtodoのユーザ設定
      ~/.config/caelestia/hypr-user.conf
      # Special workspaces : todo
      windowrule = workspace special:todo, class:chrome-okhfeehhillipaleckndoboggdkcebmo-Default
  • 疑似的にウィンドウを最小化(オプション)

    ~/.config/caelestia/hypr-user.conf
    # Minimize window
    bind = Ctrl+Alt, down, movetoworkspace, special:magic
    bind = Ctrl+Alt, down, togglespecialworkspace, magic
    bind = Ctrl+Alt, up, togglespecialworkspace, magic
    bind = Ctrl+Alt, up, movetoworkspace, e+0
    Keybinds Description
    Ctrl + Alt + ウィンドウを特別ワークスペースmagicに移動(スタック)
    Ctrl + Alt + 移動したウィンドウを現在のワークスペースにリストア
  • チートシート表示設定(オプション)
    Super + Hでチートシート表示をトグルするようにします。

    sudo pacman -S feh
    curl -L https://ktkr3d.github.io/images/caelestia_cheatsheet_light.png -o ~/Pictures/caelestia_cheatsheet_light.png
    curl -L https://ktkr3d.github.io/images/caelestia_cheatsheet_dark.png -o ~/Pictures/caelestia_cheatsheet_dark.png
    ~/.config/caelestia/hypr-user.conf
    # Cheat sheet
    $kbCheatSheet = Super, H
    bind = $kbCheatSheet, exec, caelestia toggle cheatsheet
    windowrule = workspace special:cheatsheet, class:cheatsheet
    windowrulev2 = float, class:cheatsheet
    exec-once = [ workspace special:cheatsheet silent ] feh ~/Pictures/caelestia_cheatsheet_light.png --class cheatsheet
    #exec-once = [ workspace special:cheatsheet silent ] feh ~/Pictures/caelestia_cheatsheet_dark.png --class cheatsheet

その他の設定

  • ターミナルで表示されるバナーとfastfetchの無効化
    ~/.config/fish/functions/fish_greeting.fishが読み込まれている。
    単純にファイルを削除するか、以下を実行してファイルを削除する。
    functions --erase fish_greeting
    funcsave fish_greeting
    set -U fish_greeting
  • 壁紙
    1. ~/Pictures/Wallpapers/に画像を格納

      サブディレクトも検索されます。

    2. Super then >
    3. Wallpaperを選択
    4. 画像を選択
  • 壁紙に応じてテーマを自動で変更
    1. Super then >
    2. Schemeを選択
    3. default/dynamic (7番目)を選択
  • プロフィール画像(オプション)
    ~/.faceとして画像を保存するか、シムリンクを設定する。
    cp -s ~/Pictures/avator.png ~/.face
  • gparted
    ~/.config/fish/config.fish
    abbr gparted 'pkexec env WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" XDG_RUNTIME_DIR=/run/user/0 gparted'

利用

キーバインド

Categories Keybinds Descripton
Application Super Open Launcher
  Super+T Execute Terminal
  Super+W Execute Web Browser
  Super+C Execute Code Editor
  Super+E Execute File Explorer
Window Super+Q Close Active Window
  Super+F Toggle Window to Fullscreen
  Super+Alt+Space Toggle Window Floating
  Super+/// Move Focus
  Alt+Tab Cycle Focus
  Super+Alt+1(〜0) Move window to
workspace #
  Ctrl+Super+Shift+/ Move Window to
Workspcae
Workspace Super+1(〜0) Switch Workspaces
  Ctrl+Super+/ Move to Workspace
Misc Ctrl+Alt+C Clear Notifs
Categories Keybinds Descripton
Special
Workspace
Ctrl+Shift+Esc Toggle System Monitor
(btop)
  Super+M Toggle Music (Spotify)
  Super+D Toggle Communication (Discord)
  Super+R Toggle Todo (Todoist)
  Super+S Toggle Special Workspace
Utilities Super then > List Utilities
  Super+V Clipboard Manger
  Super+. Emoji Selector
  Super+K Show Panels
  Super+Shift+M Mute
Session Ctrl+Alt+Delete Open session menu
  Super+L Lock Screen
Mouse Super+ Mouse Scroll Scroll Thru Workspaces
  Super+ Left Click Drag Window
  Super+ Right Click Resize Window
  • 画像版 (ライト / ダーク)

アクション (Super then >

  • 一覧
    Name Description
    Caluculator Do simple math equations (powered by Qalc)
    Scheme Change the current colour scheme
    Wallpaper Change the current wallpaper
    Variant Change the current scheme variant
    Random Switch to a random wallpaper
    Light Change the scheme to light mode
    Dark Change the scheme to dark mode
    Lock Lock the current sessio
    Sleep Suspend then hibernate

アプリケーション検索 (Super then @

特別ワークスペースspecial

  • ウィンドウを一時的に退避したり、リストアしたりできます。

    Keybinds Description
    Ctrl+Super+Shift+ ウィンドウを特別ワークスペースspecialに移動し、フォーカスも特別ワークスペースspecialに移動
    Super+S 特別ワークスペースspecialをトグル
    Ctrl+Super+Shift+ 特別ワークスペースspecialのウィンドウを現在のワークスペースにリストア、フォーカスも現在のワークスペースに移動

画面キャプチャ/録画

  • キーバインド

    Keybinds Description
    PrintScreen Full screen capture > clipboard
    Super+Shift+S Capture region (freeze)
    Super+Shift+Alt+S Capture region
    Super+Alt+R Record screen with sound
    Ctrl+Alt+R Record screen
    Super+Shift+Alt+R Record region
    Super+Shift+C Colour picker
  • 画面キャプチャ
    ~/.cache/caelestia/screenshots/に保存される。

  • 録画
    Super+Alt+Rで録画開始。
    再度、Super+Alt+Rで録画終了。
    ~/Videos/Recordings/に保存される。

To Do

  • リモートログイン
    • GNOME Remote Desktopを利用する場合
      接続後、GDM画面でHyprlandセッションが選択肢に表示されない。
      gdmの設定を見直す必要があるかもしれない。
    • wayvncを利用する場合
      接続先のHyprlandセッションでwayvncを起動しておくことで、接続元からVNCで接続できます。
      sudo pacman -S wayvnc
      ~/.config/caelestia/hypr-user.conf
      # wayvnc
      exec-once = wayvnc 0.0.0.0 5900
  • VPN
    shell.jsonにvpnセクションがあり、デフォルトは無効化状態になっている。
    wireguardをopenvpnに変更して有効化可能か確認する。
  • 背景に時刻表示
    ~/.config/caelestia/shell.json
    {
    "background": {
    "desktopClock": {
    "enabled": true
    },
    "enabled": true,
    "visualiser": {
    "blur": false,
    "enabled": false,
    "autoHide": true,
    "rounding": 1,
    "spacing": 1
    }
    }
    }
    画面右下に表示されるようになるけれど不要なので無効のままにする。
  • Bluetoothの確認
    ペアリング、接続、動作に問題ありませんでした。
  • Game Mode
    Quick Toggles の右側から二番目
  • Installing VSCode/VSCodium configs
    https://github.com/caelestia-dots/caelestia?tab=readme-ov-file#installing-vscodevscodium-configs
  • メディアアプリの切り替え
    画面上部パネル > Media > 🔽からアプリを選択
  • Gapをさらに調整したい場合addreservedを使う
    ~/.config/caelestia/hypr-user.conf
    monitor = , addreserved, -100, 0, 0, 0 # top, bottom, left, right
  • トップパネルのPerformanceタブのチャートの見方
    位置 内容
    左グラフの右上 GPU Usage %
    左グラフの左下 GPU Temp
    中グラフの右上 CPU Usage %
    中グラフの左下 CPU Temp
    右グラフの右上 Storage Use %
    右グラフの左下 Memory Use %
  • スリープモードの永続的な抑止方法
    とりあえずタイムアウト値を十分大きな値にしておく。
    0にすると一時的にロック画面に遷移してしまう。ログイン直後も。
    enableフラグのようなものがないか確認する。
  • Visual Studio Code のファイルオープンダイアログをNautilusに戻す
    sudo pacman -R xdg-desktop-portal-kde illogical-impulse-portal plasma-integration plasma-workspace plasma-browser-integration plasma-nm
    sudo reboot