Arch Linux Hyprland Noctalia
Arch Linux / Hyprlandの環境にNoctaliaを導入してみました。

環境
OS
項目 内容 ブートローダ grub ルートパーティション ext4 ディストリビューション Arch Linux ディスプレイマネージャ GDM ウィンドウマネージャ Hyprland デスクトップシェル Noctalia サービス
項目 内容 RDPサーバ hypr-rdp 日本語入力 fcitx5 ツール
項目 内容 パッケージマネージャ paru Hyprland設定ツール HyprMod ソフトウェア
項目 内容 シェル fish ファイルマネージャ Thunar ターミナル Kitty ブラウザ google-chrome IDE visual-studio-code-bin プログラミングフォント HackGen メディアプレイヤー Kodi
パッケージの設定
fastfetch
- インストール
paru -S fastfetch
- シンプルなテーマ
mkdir -p ~/.config/fastfetch
cd ~/.config/fastfetch
curl -O https://gist.githubusercontent.com/ktkr3d/40805f88c7c72e67d9da5e28d5118fa8/raw/283833287ef744be0bc0809825f972b59019aa51/config.jsonc
fish
- プロンプトテーマをインストール
paru -S fish-pure-prompt eza fastfetch
set --universal pure_color_current_directory brcyan
- 設定
~/.config/fish/config.fish if status is-interactive
# Commands to run in interactive sessions can go here
# function
function fish_greeting
fastfetch
end
function mkcd
mkdir -p $argv
and cd $argv[-1]
end
# alias
alias ls='eza -al --color=always --group-directories-first --icons=always' # preferred listing
alias la='eza -a --color=always --group-directories-first --icons=always' # all files and dirs
alias ll='eza -l --color=always --group-directories-first --icons=always' # long format
alias lt='eza -aT --color=always --group-directories-first --icons=always' # tree listing
alias l.="eza -a | grep -e '^\.'" # show only dotfiles
alias l='ls'
# abbr
abbr -a .. 'cd ..'
abbr -a ... 'cd ../..'
abbr -a c 'clear'
abbr -a h 'history'
abbr -a vcf 'vi ~/.config/fish/config.fish'
end
fcitx5
インストール
paru -S fcitx5-im fcitx5-mozc fcitx5-configtool
HyprModのAutoStartに追加
fcitx5 -d
HyprModのEnv Variablesに追加
Name Value XMODIFIERS @im=fcitx QT_IM_MODULE fcitx GTK_IM_MODULE fcitx
hyprpolkitagent
- インストール
paru -S hyprpolkitagent
- HyprModのAutoStartに追加
/usr/lib/hyprpolkitagent/hyprpolkitagent
hypr-rdp
- インストール
paru -S hypr-rdp
- HyprModのAutoStartに追加
hypr-rdp -u user -p pass --bind 0.0.0.0:13389
3389/tcpはGDM/GNOME Shellで使っているので13389/tcpを利用
Kitty
- インストール
paru -S kitty ttf-hackgen
- フォント
Hackgen Console NFを選択kitty +list-fonts
Thunar
- インストール
paru -S thunar gvfs-smb thunar-archive-plugin file-roller
- 設定
編集 > 設定 > カスタムウィンドウ装飾を使用する : オン - Thunarのダイアログをフロートにする
HyprModのWindow Rulesメニューで以下のルールを追加hl.window_rule({
match = {
class = "^(thunar)$",
title = "negative:.*Thunar$",
},
float = true,
})
Noctalia
バーウィジェット
位置 ウィジェット Start Launcher Center Workspaces End Notifications Tray Date Clock Battery Session スクリプトランチャ
mkdir -p $HOME/bin/scripts
~/.config/noctalia/config.toml [shell.launcher.dmenu.entry.run_scripts]
prefix = "scripts"
glyph = "file-code"
command = "find $HOME/bin/scripts -maxdepth 1 -type f -executable -exec basename {} \\;"
exec = "kitty \"$HOME/bin/scripts/{selection}\""プラグイン
- bookmarksが便利

- コード
https://noctalia.dev/plugins/community/bookmarks
https://github.com/noctalia-dev/community-plugins/tree/main/bookmarks - ブックマークの編集、削除、並び替え
目のアイコンで編集モードに切り替えます。 - シェルを起動するターミナルアプリ
環境変数TERMINALが優先されます。
HyprMod等で指定します。
TERMINAL=kitty
TERM=linux - ブックマークを編集するコマンド
ブックマークデータは以下に保存されます。data.jsonを整形して編集します。~/.local/state/noctalia/plugins/data/dunarand/bookmarks/data.json
TARGET_FILE="$HOME/.local/state/noctalia/plugins/data/dunarand/bookmarks/data.json" ; jq '.' "$TARGET_FILE" > tmp.json && mv tmp.json "$TARGET_FILE" && vim "$TARGET_FILE"
- ブックマークアイコンの変更
data.jsonでglyphを指定可能です。
https://tabler.io/icons
- コード
- bookmarksが便利
HyprMod
設定ファイル
- Hyprland
~/.config/hypr/hyprland.lua -- HyprMod managed settings
require("hyprland-gui") - HyprMod
~/.config/hypr/hyprland-gui.lua -- Generated by HyprMod
Keybinds
設定(⭐:よく使うもの)
Mod + Key(s) 内容 Super Enter kitty E⭐ thunar T⭐ kitty C code W⭐ google-chrome-stable Z⭐ noctalia settings X noctalia control-center Space⭐ launcher . launcher /emo L lock ALT+C session menu SHIFT+W wallpaper V⭐ clipboard A notifications Q⭐ close window ALT+Space floating D⭐ fullscreen (mode=1) F fullscreen J split SHIFT + S⭐ special workspace S⭐ scratchpad M⭐ hyprmod K⭐ launcher /scripts Print screenshot fullscreen - Print screenshot region
デュアルブートWindows
- Windowsの時刻ずれ防止
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f


