Slide 1

Slide 1 text

Nixを使う @tak

Slide 2

Slide 2 text

もくじ •自己紹介 •Nixについて •Nixを使ってみる 今日使ったコードは↓ https://github.com/ttak0422/Momiji-LT2

Slide 3

Slide 3 text

自己紹介 名前:tak 所属:広島大学大学院(21卒) 推し:F#, xR, VTuber Momiji-LT2回目の登壇です(1敗)

Slide 4

Slide 4 text

Nixについて ➢Nix is a purely functional package manager. This means that it …(公式サイトより) Nixは純粋関数型のパッケージマネージャ. パッケージのインストールや削除、更新で 環境が破壊されない. Nixはラテン語で雪を意味し, ロゴは雪の結晶になってます.

Slide 5

Slide 5 text

Nixを使ってみる パッケージをインストールしてみる

Slide 6

Slide 6 text

Nixを使ってみる 利用できるパッケージは60000~

Slide 7

Slide 7 text

Nixを使ってみる home-managerなどを使うことで, Ubuntuなどでもインストールしたいパッケージ を宣言的に定義できる.

Slide 8

Slide 8 text

Nixを使ってみる ただインストールを行うパッケージを記述するだけではなく その設定の記述もできる. この例ならtmuxがインストールされ.tmux.confが homeDirectoryに生成される.

Slide 9

Slide 9 text

Nixを使ってみる ユーザ環境だけでなく,プロジェクト 単位の開発環境の構築でも役立つ tiny_shell.nix lorriもおすすめ!!

Slide 10

Slide 10 text

Nixを使ってみる direnvを使うと,ディレクトリの移動 だけで環境構築が完了する.

Slide 11

Slide 11 text

Nixを使ってみる VSCodeでも拡張機能を使うと 同じようにして環境を構築できる

Slide 12

Slide 12 text

Nixを使ってみる 応用例 退屈なことをさせるpython のスクリプトを楽に共有

Slide 13

Slide 13 text

ところで 発表の中で何か違和感 を感じた人はいませんか?

Slide 14

Slide 14 text

Nixを使ってみる Nix is a purely functional package manager.

Slide 15

Slide 15 text

Nixを使ってみる impure = 不純 impureとは??

Slide 16

Slide 16 text

Nixを使ってみる 特に指示を行わなければimpure ユーザがインストールしているパッケージが使える. 指示を行うとpureな環境に

Slide 17

Slide 17 text

Nixを使ってみる Impureでうれしい事例

Slide 18

Slide 18 text

Nixを使ってみる 最低限の環境の定義を しているだけだが… Nix向けのpkgsをmozillaが公開しています.(これが言いたかっただけ) 割愛しますがnivを使うとよりバージョン管理が楽になります.

Slide 19

Slide 19 text

Nixを使ってみる ユーザ環境でインストールしたjqみたいなどこでも使うパッケージ を開発環境でも利用できる. ターミナルなんかの設定をそのまま引き継げるのもうれしい.

Slide 20

Slide 20 text

Nixを使ってみる 興味を持ってパッケージを調べてくれた人の中で パッケージのバージョンの選択肢が少ないと感じた 人がいるかもしれません. (Preview版やRC版が無いなど) でも大丈夫です.overlayを行いましょう.

Slide 21

Slide 21 text

Nixを使ってみる 先日公開された.NET v5.0.0-rc.1を入れてみます. dotnet-overlay.nix Nix/dotnet-overlay.nix shell.nix

Slide 22

Slide 22 text

Nixを使ってみる やりました! Nixユーザも安心して.NET5, F#5が使えますね!! F#はいいぞ!!!

Slide 23

Slide 23 text

No content