kachick / times_kachick

`#times_kachick channel in chat` as a public repository. Personal Note and TODOs
https://github.com/kachick/times_kachick/issues?q=is%3Aissue+is%3Aclosed
6 stars 0 forks source link

2023-06-13 - nix 使ってない他人のリポジトリに nix ファイル置かせて貰うの気が引けるのでメモる #221

Closed kachick closed 1 year ago

kachick commented 1 year ago

https://github.com/kachick/times_kachick/issues/204 で書いたようにわからんなりに nix 使ってて環境構築周りが大変楽になった(Mac だとOSアップデートの度にぶっ壊れるのでそうもいかんけど) ただ自分のリポジトリでは default.nix なり shell.nix なり flake.nix ? なり置けば良いと思うんだけど、そもそも nix を使っているOSSプロジェクトがそんなには無い印象 なんとなくわかる気もして、CIでうまい事 Cachix とかいう外部のキャッシュサービスと連携でもさせないと毎回ビルドするのでCI/CDが大変重くなる。自分はまだうまい事連携出来てない なので使うツールセットによっては結局専用の setup-* action なりバイナリダウンロードなり asdf を使う方がマシとなる。 カチッと固めたいとこはそれはそれで Docker ファイルを置くという派閥の方が多そうだし

そういうとこでも、便利だから置いてくれ!と nix ファイルを置くようなPRは見たことあるけど自分が nix へそんな詳しくないしそういうモチベーションはあんまない なので、このリポジトリに対しては置いときたいな・・・と思ったら代わりにメモする場所としてここを使おう 数が増えたらそういうリポジトリを立てても良いかもしんない

というのを、昨日今日で他人のブログ弄ってて思った

kachick commented 1 year ago

自分が開発しているリポジトリに nix ファイル置くと凄い便利なのはわかったけれど、そのツールを積極的に開発するわけでもないリポジトリになんで nix 置きたがるんだ? nixpkgs 側にだけ置けば良いのでは? と思ってたけど、なんとなくわかってきた。まだ experimental 扱いらしい flake.nix をリポジトリに置いてビルドステップだとか実行時依存性を記述しておくと、外から nix run github~ とかでインストールとかなんも考えずワンショット実行できるのめっちゃ便利だった。

革命なのでは・・・(大げさ?)

kachick commented 1 year ago

しかし flake はあくまで experimental と謳っているので、どっかで大きく方向転換されて全部おしゃかになると面倒だから stable リリース待ったほうが良いんかなー と思ってたら、そのへん突っつくスレッドがあった。 https://discourse.nixos.org/t/why-are-flakes-still-experimental/29317/12

そうなんだ、 niv 気になるながら使ってなかったけど、これと対になるものだったのか?

kachick commented 1 year ago

flake 前提であるところも含めて、今一から使い出すときの学習資料としては https://zero-to-nix.com/start がいいらしい

https://github.com/kachick/times_kachick/issues/226 を作ったところの人たちが書いたっぽい?

kachick commented 5 months ago

しかし flake 擁護派と否定派?に熾烈な対立があるようで・・・ https://discourse.nixos.org/t/introducing-flakehub/32044 推進派なら本体へ貢献しろよ的な言葉が飛び交っていて怖い。そしてその叩かれているのが zero to nix とかの人たちなんだよなぁ

kachick commented 5 months ago

恐らく最初期の flake 仕様調整と実装は(多分)ファウンダー自らの手で為されている https://github.com/NixOS/rfcs/pull/49 => https://github.com/NixOS/nix/pull/3573

この人は今 https://github.com/DeterminateSystems の一員のようなので、flake推進してるのもわかるし、当面 「flakeはやっぱ無し」となることも考えにくい気はする

kachick commented 4 months ago

flake がなぜ物議を醸すのかについて詳述されてるのを初めて見つけた https://github.com/NixOS/nix.dev/blob/f32c85e0968c4bd8861df1ecf9f1e77831207009/source/concepts/flakes.md?plain=1#L48-L116

kachick commented 4 months ago

https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/add0a9e21aee1288a13826f3cd7682840acbdc25/.github/workflows/ci.yml#L15

https://discourse.nixos.org/t/how-to-use-pnpm-with-recent-nodejs/21867/3?u=kachick

nix shell nixpkgs#nodejs_21.pkgs.pnpm -c pnpm exec node --version

kachick commented 4 months ago

この人は今

やりがちだけれどこういうメタ読みみたいなのはやってて嫌な気分になる類の生活の知恵なのでやらずに済むようにはなりたい