2013年10月19日土曜日

NixOSインストール記

ごせつめい

LinuxとはOSのカーネル(核)の呼称であり、
Linux OSは通常様々な個人や団体がユーティリティー郡・アプリケーション・パッケージ管理システムを同梱しディストリビューションとして配布しているため、
一口にLinux OSと言っても様々な種類があります。

そのなかでも異彩を放つディストリビューションがNixOSです。
これはNixというパッケージ管理システムを採用したディストリビューションの模様です。

このNixが特殊なのは、従来のLinuxと違い設定ファイルは全てNixが提供する機能で管理することです。
/etc/nixos/に*.nixなファイルを作成し、ビルドすることで設定ファイルが生成され/etc/にシンボリックリンクが張られます。
この*.nixはブートローダーであったりユーザーであったり各種ソフトウェアであったりデーモンであったり様々な物を管理できる上に、これが何よりも重要なのですが、函数型です

このNix ExpressionやNixOSの説明はこれ以上上手くできる気がしないので
詳しい説明は@ITの記事論文に譲ります。これらを参照してください。

なにがあったの




突如インストール開始してみた

どうなったの

http://twilog.org/kotatsu_mi/search?word=NixOSinstallBattle&ao=a&order=allasc

とりあえずマニュアル見ながらてきとーやったらサクっとインストールできました

手順を書くと、

1. いつも通りfdiskでパーティション分割
2. いつも通り/mntにマウント
3. nixos-generate-configure --root=/mnt で/mnt/etc/nixos/以下に*.nixを自動生成
4. /mnt/etc/nixos/configuratation.nixの設定を自分好みに変更
5. nixos-installを実行
6. reboot

ね、簡単でしょ?

おとしぁな

マニュアル 1.2 Installationの項目8、
nixos-option --installを実行と書いてあるが嘘です。
上に書いたようにnixos-generate-configure --root=/mntが正しい。

そしてこの時二つのファイルが生成され、ファイルシステム構成(普段fstabに書くやつ)
は/mnt/etc/nixos/configuration.nixのコメントアウトされているfileSystemらへんを弄らなくても
/mnt/etc/nixos/hardware-configuration.nixに自動生成されているのでほとんどの場合
自分で設定する必要がなくなっています。

また、GentooやArch、UbuntuのPPAみたいになんでもパッケージがあるわけではなく
日本語入力が難しそう
ibusやuimのNix Expressionを書かなきゃっぽいけど今のところは放棄。

https://github.com/NixOS/nixpkgs/blob/master/pkgs/desktops/kde-4.10/kdeplasma-addons.nix
のTODOにibusとか書いてあるしそのうち対応してくれるんじゃないかなー  かなー……

けっこうびっくりするのは、vimどころかviもgccも一切なにも最初から入ってないのでいろいろ戸惑います。
nix-env -i <package-name>でインストールしときましょう。

これもおとしぁなですが、rubyでgemを使おうとすると/nix/store/とかから色々を起動したりしてるからなのかPermission deniedと言われます。これはsudoでも同様。

gemのパッケージはruby-*という形のパッケージでレポジトリに置かれているのでそこから使う必要があります。

ruby-bundlerを入れた後、mikutterのフォルダでbundle installをしたがruby-glib2のビルドでコケた。
原因不明。

NixOSの公式はKDEを勧めてきてるっぽいです。
(/etc/nixos/configuration.nixのservices/xserver.displayManagerはデフォルトだとkde4がコメントアウトされて書いてある)
最後にNixOSでKDE4を起動してる様子を貼っておきます。普通です。