私のLinux環境を晒す(自慢)

hyprlandとかぁ

目次

fastfetch

OS: NixOS

友人やTwitterで強く勧められ使ってみたら案外楽だったので。

基本的に手間をかけたりしたくないのと、自分の記憶と作業の精度を信用してないので再現性のあるシステムは相性がいい。

Archなどのようなハックして云々するよりは、計算機として抽象化されたものを使える感?がいいです。

設定はだいたい以下の構成で、NixOS(+ homemanager), Linux + Standalone nix, or macOS(nix)といった感じ。最近はmacOSのサポートをサボっているので、rebuildに失敗する。

dotfiles
├── flake.lock
├── flake.nix
├── 󱂵 home
   ├── alice.nix # mac向け
   ├── common_user.nix # どっちも
   └── seli.nix  # linux向け
├── hosts
   └── desktop
       ├── configuration.nix
       └── hardware-configuration.nix
└── modules
    ├── common.nix
    ├── desktop.nix
    └── thinkpad.nix

正直nixの記述面でのコストは全てAIで踏み倒したため、私はほぼnixという言語は書けない。

まあ使えてるので良し。

エディタ: Neovim(lazy.nvim)

1年弱前くらいから始めた。理由はカッコいいから。普通に慣れれば楽でvimがないエディタが嫌いになるくらいには馴染んだ。ただ惰性で使っているのでマクロとかよくわからないし、未だにpluginを作れる気はしない。

vscode -> nvim -> helix -> nvimといった感じで、一瞬helixを使ってやっぱりvimが欲しくなり戻ってきた。

このhelix -> nvimの過程でいくつかnvimに逆輸入した機能があり、

左がfzfなfile picker, 右がlspの一覧。どちらの似たUIで操作できるのでスイッチコストが低め。lsp経由のcode actionsなども似たUIなので楽。

snacks.nvim file piker on nvim#medium lsp on nvim#medium

Window Manager: Hyprland

みんな大好きなHyprlandです。選定理由としては

くらいです。

個人的に好きなカスタムをいくつか

waybar

ぶっちゃけ書いたのはほぼAIですが、好みに仕上げてます。waybarは文字ベースなのでアイコンはnerd fontsのiconを使ってます。kittyかわいいね。イメージはネオン管。

これはBarで細長くてスクショに入らないので切って並べてますが、上からleft, center(正確には温度計以降がright), rightになってます。特にrightのシステム系はそれぞれhyprlandのfloating windowでkittyを起動して適切なTUIが動くようになってます。4

waybar

キーボードだけのウィンドウ リサイズ

hyprlandにはsub mapというものがあり、特定のモードによってキーバインドを変更出来ます。

そこで私はSUPER + Rでresizeモードに入り、hjklでウィンドウをリサイズできるようにしています。

rofiにいろいろ集約

デスクトップでは様々なものを選択しますが、それぞれが別のUIでは面倒です。そこでrofiのdmenuモードを使って色んなことを同様のUIで操作できるようにしています。

左上からapp launcher, clipboard history, コマンドパレット, 即時lockとかlogoutとか。パレットはキーバインドにするほどじゃないやつとか。

lau#medium lau#medium lau#medium lau#medium

ターミナル: kitty

特別に理由もないですが、nix手入れやすい & linuxで使いやすいを求めると自然にこうなった感じ。tab機能くらいしか使ってない。強いて言うなら独自のプロトコルでエスケープシーケンスで文字サイズを同一バッファー内で変更できるので、presentermなどとの相性が良いというのもある。

Shell: Zsh

bash互換強めでabbrが使えるとなると割と妥協点。対話だけならfishもいいけど、たまに互換性とかで面倒になるので結局zshに。

ハード: ThinkPad

特にこだわりはない。USレイアウトのラップトップを国内で調達できるのがMacbookかThinkPadか、くらいか感じなので… (DELLもあったかな?) 強いて言うならもっと輝度が高くまででるマシンにすればよかったとは。窓が近いとつらい。300nitsがMAXなので。

Footnotes

  1. Neovim toggle-term内のスペースが重い

  2. 他にもいろんな便利機能(statuscolumn, indent guides, etc…)があって便利。細かいpluginsを吸収してくれる

  3. /foo/index.tsじゃなくて/foo/foo.tsとかにしたくなるっていう。pickerでもディレクトリ命も検索対象だけどファイル名で絞れたほうが楽なので。

  4. 左から温度: btop, 音量: wiremix, BT: bluetui, Net: nmtuiが起動する。