直近5記事
NixOSで暗号化USBメモリのマウントコマンドを半自動的に生成する
背景 GPGを導入して署名用サブキーを端末ごとに分けて運用することにしました - ncaq に書いたように、 GPGのマスターキーなど機密データを暗号化したUSBメモリにバックアップしています。 普段はオフラインで保管しているこのUSBメモリを、必要なときに手動でマウントするのですが、毎回cryptsetupのコマンドを手打ちするのは面倒ですし、別のデバイスをフォーマットしてしまうなどの事故が怖いです。 そこで、既知の暗号化USBメモリのデバイスIDをNixOSの設定に書いておいて、専用のマウントコマンド
DevContainer上でNix Flake環境を構築する
背景 チーム開発でDevContainerを使っているプロジェクトがあり、 CIや開発環境を整える作業を任されました。 私はVSCodeを一切使わないので当然DevContainerも使わないのですが。 自分はNix以外使う気があまりしないので、 Nix Flakesで管理したくなりました。既にCI環境とかはNixを使って管理していましたし。 DockerfileやDevContainer Featuresだけで開発環境を管理すると、再現性が低くなって私がメンバーの問題を再現して解決するのが面倒だったり、
NixOS containersでForgejoとAtticdをコンテナ化した
背景 以前、自宅サーバにForgejoでGitのホスティングサーバを立ててCloudflare Tunnel経由でアクセスする - ncaq に書いたように自宅サーバでForgejoを運用しています。また、 Atticを利用して個人用にNixのキャッシュサーバを自宅サーバに構築する - ncaq に書いたように、 Attic というNixのバイナリキャッシュサーバも同じサーバで動かしています。 これらのサービスはホスト上で直接動作していたのですが、セキュリティ向上のためにコンテナ化することにしました。
GPGを導入して署名用サブキーを端末ごとに分けて運用することにしました
背景 これまでGPGは使っていなかったのですが、今回新規に導入することにしました。 導入理由は主に以下の通りです。 Gitのcommitに署名したかった GitHubでVerifiedバッジがついているとかっこいい。というのは冗談として、一部の厳格なリポジトリ、例えば、 gentoo/gentoo: [MIRROR] Official Gentoo ebuild repository のようなリポジトリにコミットするには署名が原則として求められるからです。いやまあ今はもうGentooは使ってないのですが
Claude Codeに`nix run '.#generate-hlint'`みたいなシェルと干渉する記号を含むコマンドを自動実行してもらう
背景 nix flakesにワークフローで以下のようなappを追加することがあります。 generate-hlint = { type = "app"; program = pkgs.lib.getExe ( pkgs.writeShellApplication { name = "generate-hlint"; runtimeInputs = [ pkgs.dhall-yaml pkgs.g
hatena-bookmark