NixOS環境構築
ArchLinuxを捨ててNixOSに乗り換えたので環境構築をしていく。
このスクラップには、導入したツール、詰まった点などをメモしていく。
設定の書き方について
NixOS Modulesについては以下を参照。
複数マシン間で設定を共有するために、mySettings
モジュール(NixOS Modules)とmyHomeSettings
モジュール(home-manager)を生やして、各マシン固有の設定ファイルで必要な設定をenableする形を採っている。
この方法はダイナミックにインポートすべきファイルを指定するのに比べ、各設定間に依存関係がある(こっちがenableな場合はあれもenableしなきゃいけない)場合に、import順を考える手間がなくなるメリットがある。
マシンごとの設定の例
カラーテーマについて
base24という24色のカラーコードから各種アプリケーションの配色を生成するプロジェクトに準拠する。
カラーパレットは背景色/前景色にNord、アクセントカラーにAtom OneDarkのカラーパレットを採用したOneNordを使用する。
Nix言語から扱いやすくするためにbase16.nixを採用した。
入れるだけでbase16に則って各種アプリケーションをよしなな見た目にしてくれるstylixというプロジェクトもあるが、設定される見た目が好みではなかったため自分で1つ1つ設定することにする。
デスクトップ環境 Hyprland
Wayland上で動作するタイル型のコンポーザーであるHyprlandを選択した。
関連して入れたもの
waybar
ステータスバー。
GTK3ベースのためbase24-gtk-cssジェネレータで@define-color
形式のCSSを吐き、style.css
でimportしている。
wezterm
ターミナルエミュレータ。
nixpkgsにもパッケージが存在するが、未リリースの変更を含むnightly版を使いたいのでwez/wezterm公式が提供するカスタムflakeを使用している。
networkmanager_dmenu
ネットワーク設定をdmenu互換のアプリケーションで行うツール。
nm-appletのステータスウィジェットではなくwaybarのnetwork moduleを使いたかったというだけ。
wofi
アプリケーションランチャー/メニュー。
アプリケーション起動の起点になる他、networkmanager_dmenuでのdmenu互換プログラムとして使用している。
TODO: カラーテーマの設定をやる
dunst
通知デーモン。
通知センターが欲しくなってきたので後でswayncに入れ替える予定。
wlogout
ログアウト/シャットダウンメニュー
wofiでシャットダウンメニュー出すのでもいいのでは?と思案中。
Dolphin
ファイルマネージャ。
GTKテーマがうまいこと適用されていないらしく、見た目が変になっている。
Thunarに入れ替え予定。