NixConf読書会#2
NixConf読書会 第2回
読書会の趣旨については親ページ NixConf読書会 を参照してください
開催概要
日時: 2024-12-29 (Sun) 16:00
場所: nix-ja Discord #読書会
対象: yasunori
リポジトリ (yasunori0418/dotfiles): https://github.com/yasunori0418/dotfiles
commit hash: c876a88e0188d74b833c72d89a75fca38951c69a
https://github.com/yasunori0418/dotfiles/tree/c876a88e0188d74b833c72d89a75fca38951c69a
読書中メモ
以下、メモ(気づいたことや感想など)を自由に書いていってください
flake.nix#L10-L13: xremapだけflakeで持ってきているのか。NixOSだとよくあるんだろうか peacock0803sz.icon
xremapがnixpkgsに無いのとたまたま公式でflake用意されてるだけかなkuuote.icon
search.nixos.org 本当だ。前見たときあった気がしたけど全然勘違いだった。satler.icon
./nixos/settings/applications/xremap.nix, ./nixos/Desktop/default.nix#L85 最近Modulesは使うところで imports するべきなのかまとめて imports でいいのか迷っているsatler.icon (ここではまとめて imports)
flake.nix L71-L74: x86なmacOSの中にOrbstackたてているのは初めて見たなあ peacock0803sz.icon
Intel MacだとmacOSよりOrbStack上のLinuxの方が動きいいってtimes-yasunori(vim-jp slack)で見て何とも言えない気持ちになってたkuuote.icon
flake.nix#L82-L91: hostname毎じゃなくOS/Arch毎でprofile切っているのか。それもアリだなあpeacock0803sz.icon
nixos/default.nix: そしてこっちにホスト毎の設定が記載されている。思想の違いが見えて面白い peacock0803sz.icon
flake.nix#L80 inheritの括弧の中って式書けたのかkuuote.icon
nixos/ThinkPadE14Gen2/default.nix#L11: importしか使ってなかったけどこういうファイル分割もあるんだなぁ(いやimportだった...)yadokani389.icon
一旦Pathを定数に入れてわかりやすくしている感じかsatler.icon
nix-overlays/awscli2.nix: awscli2結構壊れるなあと思っていたけど、こういう自作overlayで固定しちゃう方法もアリか。いいすね peacock0803sz.icon
気軽にOverlay作ったりできるので楽kuuote.icon
オレオレOverlayまとめたflakeみたいなのを作ると便利かもしれないsatler.icon
nixos/settings/services/displayManager/ly.nix#L2: lyなるDisplay Manager初耳 peacock0803sz.icon
https://github.com/fairyglade/ly これかpeacock0803sz.icon
home-manager/default.nix#L18+19 home-managerもimportしなくてもoverlay設定できたはずkuuote.icon
nixos/settings/i18n.nix#L3-L13 *nix系は日本語にできたとしても英語にするのが安定わかる。なれるしsatler.icon
わかる。私はmacOSも英語にしてますw peacock0803sz.icon
nixos/settings/hardware/sane.nix: saneってなんだと思ったら書類スキャナーだった。なるほど.... peacock0803sz.icon
/nixos/ThinkPadE14Gen2/default.nix#L15 ここではかなりシンプルだからそこまでメリットないかもしれないけどこういうのをNixOS Modules(省略されていない方か、config でアクセスする)にするといいはずsatler.icon
自分もModules化していきたいけどできてないsatler.icon
home-manager/applications.nix#L54+14 グローバルに開発ツール入れちゃう派かkuuote.icon
やっぱり咄嗟に欲しい時に面倒なんですよねえ peacock0803sz.icon
とっさに欲しい時はnix runとnix shell使ってるsatler.icon
それなkuuote.icon
各言語のディレクトリにdirenvしているyadokani389.icon
flake.nix#L22-L25: kawarimidollさんのvim-overlay使ってるー! 自分も入れようかな peacock0803sz.icon
ref: https://zenn.dev/kawarimidoll/articles/dbc584bb549c15 peacock0803sz.icon
scripts/*.sh: ビルド用のスクリプトはbashで書くのか...ww 自分もnix式の中でやるとハイライトとかshellcheck厳しいから外に出したい人です peacock0803sz.icon
NixConf読書会#1で出てたhmts.nvimで一部(ハイライトは)解決できそうsatler.icon
ただ、がっつりスクリプト書きたいときは別ファイルに出しちゃうかなあ。軟弱者なので補完とかLSPがしんどい.... peacock0803sz.icon
それはそうなんですよね。周囲に無駄なコンテキストがたくさんある状態になってしまうからというのもあるsatler.icon
↑の依存を明示的にしたいって気持ちも分かります。結構せめぎあいになるw peacock0803sz.icon
partedit.vimを使うという手もあるkuuote.icon
nixos/settings/nix.nix#L11-L16: 強制的に3日でgcされるようにしちゃうの、勇気いるけどアリだなあww peacock0803sz.icon
関係ないけどthanがthenになってるなkuuote.icon
/home-manager/linux/packages.nix#L11-L17 lib.attrValues でいい感じにできるかも?satler.icon
あ〜でも全部使っているわけではないのかsatler.icon
メモの書式ガイド
NOTE: 各自で好きにファイルを辿る形式のため、順番は整理する必要ありません。
.config/nix/hosts/toccata/default.nixL#L1-L3: 引数を inputs 一つにする形、やりがちpeacock0803sz.icon
先頭に [path/to/file.nix https://github.com/username/dotfiles/blob/<hash>/path/to/file.nix] のようにファイル名(+行範囲)
GitHubの場合は <hash> があるとmaster/mainブランチが更新されてもURL先の内容が変わらないのでオススメ
TIPS: (ブラウザでGitHubを見ている場合) 回の最初に最終コミットのページから「Browse files」を押下し、以後は別タブでザッピングすると便利です
行末に発言者を「( + 自分の名前」または「アイコン記法」で明記する
アイコン記法について
自分のアイコン(+プロフィールページへのリンク)をCtrl + iで挿入できるConsenseの機能
プロフィールページは作成方法など含め 自分のページ | Cosense公式ヘルプ を参照してください
FYI: Cosense(Scrapbox)の記法については以下を参照してください
ブラケティング | Cosense公式ヘルプ
その他の書き方 | Cosense公式ヘルプ
ショートカットキー | | Cosense公式ヘルプ