<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Nix on d.oppara.tv</title><link>http://d.oppara.tv/tags/nix/</link><description>Recent content in Nix on d.oppara.tv</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Thu, 08 Oct 2026 00:35:45 +0900</lastBuildDate><atom:link href="http://d.oppara.tv/tags/nix/index.xml" rel="self" type="application/rss+xml"/><item><title>Nix 入門 01 - インストール</title><link>http://d.oppara.tv/posts/2026/10/nix-install/</link><pubDate>Thu, 08 Oct 2026 00:35:45 +0900</pubDate><guid>http://d.oppara.tv/posts/2026/10/nix-install/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Nix をインストールしたので備忘録。&lt;/p&gt;
&lt;h2 id="手順"&gt;手順&lt;/h2&gt;
&lt;h3 id="インストール"&gt;インストール&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c5c9c5;background-color:#181616;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sh &amp;lt;&lt;span style="color:#c4746e;font-weight:bold"&gt;(&lt;/span&gt;curl -L https://nixos.org/nix/install&lt;span style="color:#c4746e;font-weight:bold"&gt;)&lt;/span&gt; --daemon&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="バージョン確認"&gt;バージョン確認&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c5c9c5;background-color:#181616;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ nix --version
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nix &lt;span style="color:#c4746e;font-weight:bold"&gt;(&lt;/span&gt;Nix&lt;span style="color:#c4746e;font-weight:bold"&gt;)&lt;/span&gt; 2.35.2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="flakes-を有効にする"&gt;flakes を有効にする&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c5c9c5;background-color:#181616;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ &lt;span style="color:#c4746e"&gt;echo&lt;/span&gt; &lt;span style="color:#8a9a7b"&gt;&amp;#34;experimental-features = nix-command flakes&amp;#34;&lt;/span&gt; | sudo tee -a /etc/nix/nix.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ sudo launchctl kickstart -k system/org.nixos.nix-daemon&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="flakenix-の動作確認"&gt;flake.nix の動作確認&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c5c9c5;background-color:#181616;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ nix flake init
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ cat flake.nix
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c4746e;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; description &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#8a9a7b"&gt;&amp;#34;A very basic flake&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; inputs &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#c4746e;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nixpkgs.url &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#8a9a7b"&gt;&amp;#34;https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c4746e;font-weight:bold"&gt;}&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; outputs &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; inputs: &lt;span style="color:#c4746e;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; packages &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; builtins.mapAttrs &lt;span style="color:#c4746e;font-weight:bold"&gt;(&lt;/span&gt;system: pkgs: &lt;span style="color:#c4746e;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hello &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; pkgs.hello;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; default &lt;span style="color:#c4746e;font-weight:bold"&gt;=&lt;/span&gt; inputs.self.packages.&lt;span style="color:#949fb5"&gt;${&lt;/span&gt;system&lt;span style="color:#949fb5"&gt;}&lt;/span&gt;.hello;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c4746e;font-weight:bold"&gt;})&lt;/span&gt; inputs.nixpkgs.legacyPackages;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c4746e;font-weight:bold"&gt;}&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c4746e;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ nix build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ ./result/bin/hello
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello, world!&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="hello-パッケージを削除"&gt;hello パッケージを削除&lt;/h3&gt;
&lt;p&gt;厳密にはパッケージを「インストール」しているわけではなく、ビルド結果を &lt;code&gt;/nix/store&lt;/code&gt; に置き、カレントディレクトリにそこを指す &lt;code&gt;result&lt;/code&gt; というシンボリックリンクを作っているそうな。&lt;br&gt;
なので、result (GC ルート) を削除して、ガベージコレクションを実行する。&lt;/p&gt;</description></item></channel></rss>