1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CachyOSでNiriを使うセットアップメモ

1
Last updated at Posted at 2026-04-29

背景

Lenovo Flex5がサブラップトップになったのでWindows11から入れ替え
今のところ戻らなくても良さそう

OSインストール

OachyOSのisoをダウンロードしてrufusで書き込み
UEFI向けじゃないといけないのね
USBブートしてインストーラーを進める
その際にwifi接続しないと進めなかった
keyboard layoutをjp106にしたけどusのままで嫌な予感
KDE plasmaとNiriで迷ったけど今回の用途(AI Coding)だとNiriを選択(使ったことはない)

touchpadのスクロール方向を逆へ(超重要)

下にスクロールしたら下に動いてほしい民なのでコントロールパネルから歯車からスクロール方向逆を選択

ショートカット集

  • ランチャー起動: win+ctrl+enter
  • ターミナルを追加: win+enter
  • ウインドウを閉じる: win+q
  • フォーカスを移動: win+arrow(タッチパッドの3本指ジェスチャでもOK)
  • ウインドウを移動: win+ctrl+arrow
  • ウインドウオーバービュー: win+o
  • フルスクリーン: win+f
  • ショートカットを表示: win+shift+esc

パッケージマネージャparuの導入

普段はyayを使ってるんだけどChatGPTからparu使えと言われたので言われたままにインストール
pacmanでインストールできるのは便利

sudo pacman -S --needed base-devel git paru

日本語環境

keyboard layoutをJIS配列へ

keyboardが使いにくいのにkeyboard操作を最低限に下記を実行

sudo localectl set-x11-keymap jp
localectl

ここから先は快適にkeyboardが使えるはずなので打ち込む量が増える

日本語入力のためにFcitx5+Mozcの導入

sudo pacman -Syu
sudo pacman -S fcitx5-im fcitx5-mozc

インストールが完了したら

fcitx5-configtool

で設定ツールを開く
日本語切り替えに半角全角のみが使われるようにすると誤爆を防げる

うまく日本語動かない場合

しょうがないので設定を書く
~/.config/niri/config.kdl

input {
    keyboard {
        xkb {
            layout "jp"
        }
    }
}

設定ファイルを書いたあとは

niri validate

しないと設定が反映されない

ターミナルでコピペ

wl-clipboard使うといいみたい

sudo pacman -S wl-clipboard
echo test | wl-copy
wl-paste

マウス操作の場合はctrl+shift+c, ctrl+shift+v

日本語フォント

sudo pacman -S --needed noto-fonts noto-fonts-cjk noto-fonts-emoji \
  adobe-source-han-sans-jp-fonts adobe-source-han-serif-jp-fonts \
  ttf-jetbrains-mono

UDEVはAURなのでparuでインストール

paru -S ttf-udev-gothic

コントロールセンターから歯車の一般からフォント設定
(システム全体はUDEVが設定できなかった)
ログオフしてログインして反映

VSCodeの導入

paru -S visual-studio-code-bin

自分の環境だと特に日本語入力も問題なかった

kittyの導入

インストール

標準のalacrittyも良いんだけど、せっかくlinuxネイティブ環境ならkittyやghosttyだよね

sudo pacman -S --needed kitty

お好みでテーマを使う

kitten themes

自分は読みやすいと評判のCatppuccin-Mochaを選択している

Win+Enterで起動

~/.config/niri/config.kdl

binds {
    Mod+Return { spawn "kitty"; }
}

反映は下記

niri validate

Bluetoothを使う

自分の環境だとデフォルトでBluetoothが使えなくて悲しかったので有効化

インストール

sudo pacman -Syu
sudo pacman -S --needed bluez bluez-utils blueman

サービス有効化

sudo systemctl enable --now bluetooth.service
systemctl status bluetooth.service

rfkillの確認

rfkill list

ここでblocked: yesが出るなら

sudo rfkill unblock bluetooth
sudo rfkill unblock all

で使えるようになる
コントロールセンターからBluetoothを選ぶと使えることが確認できた

ショートカットのカスタマイズ

win+fでフルスクリーンはできるんだけど、win+ctrl+fは"可能な限り大きくする"なのでフルサイズにはならない
例えばfirefoxを起動してブラウジングしたいときに半分サイズだと見づらい

なので追加でwin+alt+fに下記を設定する

binds {
    Mod+Alt+F { maximize-column; }
}

これも反映するには下記が必要

niri validate

slackの導入

niriなのでwayland版を使う

paru -S slack-desktop-wayland

壁紙を変える

壁紙をcloneしてくる

git clone https://github.com/mylinuxforwork/wallpaper

コントロールセンターから歯車で壁紙を選択
壁紙フォルダを上記をcloneしたディレクトリに指定
コントロールセンターから壁紙選択パネルを起動して選択

waydroidでkindleを読む(検証中)

※おそらく最新状況は変わるのでchatgpt/codexにおまかせしたほうが成功率は高い気がする

インストール

sudo pacman -Syu
sudo pacman -S waydroid

GAPPS初期化

sudo waydroid init -s GAPPS -f

ufwでwaydroidが使うポートを解除

sudo ufw allow 53
sudo ufw allow 67
sudo ufw default allow FORWARD

ARM互換対応(kindleがx86向けにアプリを出していないため)

必要なパッケージのインストール

paru -S git lzip python python-pip

libndkのインストール

git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
sudo venv/bin/python3 main.py install libndk

もしうまくいかないときはストアキャッシュを削除(下記のshow full ui起動後)

sudo waydroid shell pm clear com.android.vending
sudo waydroid shell pm clear com.google.android.gms

waydroid起動

sudo systemctl enable --now waydroid-container.service
waydroid session start

別のターミナルで下記からウインドウを開く

waydroid show-full-ui

またはランチャーからwaydroidを起動(この場合はwaydroid session startとshow-full-uiが同時起動するらしい)

touchpadのダブルタップでクリックを有効化する

なんかおかしいと思っていたら有効化されていなかったっぽい

~/.config/niri/config.kdl

input {
    touchpad {
        tap
    }
}

いつもの有効化

niri validate

braveブラウザの導入

chrome拡張を使う必要が出てきたのでbraveを導入

paru -S brave-bin

curaの導入

3Dプリンタを使うためにインストール

sudo pacman -Syu
sudo pacman -S xwayland-satellite xorg-xwayland
paru -S cura-bin

※設定自体はwindowsのAppDataから持ってきたものをcodexにインポートしてと指示

steamの導入

ゲームしたいよね

paru -Syu
paru -S cachyos-gaming-applications xwayland-satellite noto-fonts-cjk vulkan-radeon lib32-vulkan-radeon

再ログインが必要

firefoxのフォントがイケてない

chatgptと相談した

sudo pacman -S noto-fonts-cjk adobe-source-han-sans-jp-fonts
paru -S ttf-hackgen ttf-plemoljp-bin ttf-udev-gothic
fc-cache -fv
setting font
Proportional Sans Serif
Serif HackGen
Sans-serif HackGen
Monospace HackGen Console NF
Proportional size 17
Monospace size 17
Minimum font size 13

漢字が中国語っぽく見えるんだけど

fc-match sans-serif
fc-match sans-serif:lang=ja
fc-match "Noto Sans CJK JP"
fc-match "Noto Sans CJK SC"

ふむ、SCが出てくるな

mkdir -p ~/.config/fontconfig/conf.d
nano ~/.config/fontconfig/conf.d/65-japanese-fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <!-- 日本語のsans-serifは日本語字形を優先 -->
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>UDEV Gothic</family>
      <family>HackGen</family>
      <family>Noto Sans CJK JP</family>
      <family>Source Han Sans JP</family>
      <family>BIZ UDPGothic</family>
    </prefer>
  </alias>

  <!-- 日本語のserifは日本語字形を優先 -->
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Serif CJK JP</family>
      <family>Source Han Serif JP</family>
    </prefer>
  </alias>

  <!-- 等幅はプログラミング向け日本語フォントを優先 -->
  <alias>
    <family>monospace</family>
    <prefer>
      <family>HackGen Console NF</family>
      <family>HackGen Console</family>
      <family>UDEV Gothic NF</family>
      <family>Noto Sans Mono CJK JP</family>
    </prefer>
  </alias>
</fontconfig>

設定を反映

fc-cache -fv

kittyでもhackgenを使いたい

~/.config/kitty/kitty.confを下記にする

font_family HackGen35 Console NF
bold_font auto
italic_font auto
bold_italic_font auto

font_size 13.0

background_opacity 0.80
dynamic_background_opacity yes

# BEGIN_KITTY_THEME
# Catppuccin-Mocha
include current-theme.conf
# END_KITTY_THEME

kittyを上下に分割したい

~/.config/niri/config.kdlを下記に変更した
※もともとwin+hとwin+lはフォーカスの左右だったんだけど、win+arrowでやっているので上書き

binds {
    Mod+Return { spawn "kitty"; }
    Mod+Alt+F { maximize-column; }
    Mod+H hotkey-overlay-title="Consume or expel window left" {
        consume-or-expel-window-left;
    }
    Mod+L hotkey-overlay-title="Consume or expel window right" {
        consume-or-expel-window-right;
    }
}

braveでpwaする

※めんどいのでcodexにやらせた

X.com

x.com 公式 manifest の 512px アイコンを保存する:

必要なら 192px 版も保存する:

desktop entry は Icon=brave-desktop から Icon=x-com に変更する。
desktop entry の本体は ~/.local/share/applications/x-brave.desktop に置く。

[Desktop Entry]
Version=1.0
Type=Application
Name=X
Comment=Open x.com in Brave app mode
TryExec=brave
Exec=brave --app=https://x.com
Icon=x-com
Terminal=false
Categories=Network;WebBrowser;
StartupNotify=true
StartupWMClass=brave-browser

youtube music

公式 manifest は https://music.youtube.com/manifest.webmanifest を使う。
YouTube Music 公式アイコンを保存する:

desktop entry は ~/.local/share/applications/youtube-music-brave.desktop に作成する。

[Desktop Entry]
Version=1.0
Type=Application
Name=YouTube Music
Comment=Open YouTube Music in Brave app mode
TryExec=brave
Exec=brave --app=https://music.youtube.com
Icon=youtube-music
Terminal=false
Categories=AudioVideo;Audio;Player;
StartupNotify=true
StartupWMClass=brave-browser

gmail

[Desktop Entry]
Version=1.0
Type=Application
Name=Gmail
Comment=Open Gmail in Brave app mode
TryExec=brave
Exec=brave --app=https://mail.google.com/
Icon=gmail
Terminal=false
Categories=Network;Email;
StartupNotify=true
StartupWMClass=brave-browser

trello

[Desktop Entry]
Version=1.0
Type=Application
Name=Trello
Comment=Open Trello in Brave app mode
TryExec=brave
Exec=brave --app=https://trello.com/
Icon=trello
Terminal=false
Categories=Office;ProjectManagement;
StartupNotify=true
StartupWMClass=brave-browser
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?