<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sadjow Leão</title>
    <description>The latest articles on DEV Community by Sadjow Leão (@sadjow).</description>
    <link>https://dev.to/sadjow</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1267886%2Fca4526ee-5a38-4929-9782-1d88ece787c9.jpeg</url>
      <title>DEV Community: Sadjow Leão</title>
      <link>https://dev.to/sadjow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sadjow"/>
    <language>en</language>
    <item>
      <title>Claude Code: Properly Packaged and Always Fresh with Nix Flakes</title>
      <dc:creator>Sadjow Leão</dc:creator>
      <pubDate>Sun, 06 Jul 2025 19:36:48 +0000</pubDate>
      <link>https://dev.to/sadjow/claude-code-properly-packaged-and-always-fresh-with-nix-flakes-1ma8</link>
      <guid>https://dev.to/sadjow/claude-code-properly-packaged-and-always-fresh-with-nix-flakes-1ma8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global &lt;code&gt;npm install -g&lt;/code&gt; tools vanish when you switch Node versions. Nix fixes that.&lt;/li&gt;
&lt;li&gt;This flake bundles Claude Code with its &lt;strong&gt;own&lt;/strong&gt; Node 22 LTS runtime and ships &lt;strong&gt;hourly&lt;/strong&gt; updates.&lt;/li&gt;
&lt;li&gt;Use it with &lt;code&gt;nix run&lt;/code&gt; for zero setup, or add it to Home Manager/devshell for a permanent, reproducible install.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ever switched Node versions and watched half your CLI tools evaporate? Same. That's why I packaged &lt;strong&gt;Claude Code&lt;/strong&gt; with &lt;strong&gt;Nix&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Global npm installs are fragile—especially with &lt;code&gt;nvm&lt;/code&gt;, &lt;code&gt;asdf&lt;/code&gt;, or per-project Node. When you hop between versions, your "globals" live in versioned directories that come and go. The result: tools like Claude Code disappear exactly when you need them most.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nix to the Rescue
&lt;/h2&gt;

&lt;p&gt;Nix packages Claude Code with an &lt;strong&gt;isolated&lt;/strong&gt; Node runtime. Not your system Node. Not your project Node. Its &lt;strong&gt;own&lt;/strong&gt; Node. That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No more hunting for where npm stashed it this time&lt;/li&gt;
&lt;li&gt;No breakage when switching Node versions or machines&lt;/li&gt;
&lt;li&gt;Reproducible installs across macOS and Linux&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both &lt;strong&gt;nixpkgs&lt;/strong&gt; and &lt;strong&gt;this flake&lt;/strong&gt; solve the "global npm" problem. The differences are about &lt;strong&gt;speed&lt;/strong&gt;, &lt;strong&gt;Node version&lt;/strong&gt;, and &lt;strong&gt;control&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Use This Flake (vs. Upstream nixpkgs)?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Faster updates.&lt;/strong&gt; A scheduled workflow checks npm &lt;strong&gt;hourly&lt;/strong&gt; and publishes immediately (build → test → merge → push binaries to Cachix). You get new Claude Code releases within ~1 hour.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern runtime.&lt;/strong&gt; Upstream is pinned to &lt;strong&gt;Node 20&lt;/strong&gt;; this flake uses &lt;strong&gt;Node 22 LTS&lt;/strong&gt; for performance and security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focused maintenance.&lt;/strong&gt; If Claude Code changes its packaging needs, this repo adapts instantly—without waiting on nixpkgs PR review and channel propagation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;In short:&lt;/strong&gt; if you want &lt;strong&gt;latest Claude Code quickly&lt;/strong&gt; and you prefer &lt;strong&gt;Node 22 LTS&lt;/strong&gt;, use this flake.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quickstart
&lt;/h2&gt;

&lt;p&gt;Install Nix (and optionally Home Manager) the easy way:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install Nix&lt;/span&gt;
curl &lt;span class="nt"&gt;--proto&lt;/span&gt; &lt;span class="s1"&gt;'=https'&lt;/span&gt; &lt;span class="nt"&gt;--tlsv1&lt;/span&gt;.2 &lt;span class="nt"&gt;-sSf&lt;/span&gt; &lt;span class="nt"&gt;-L&lt;/span&gt; https://install.determinate.systems/nix | sh &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# (Optional) Initialize Home Manager&lt;/span&gt;
nix run home-manager/master &lt;span class="nt"&gt;--&lt;/span&gt; init &lt;span class="nt"&gt;--switch&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run Claude Code instantly (no system-wide changes):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Optional: use the binary cache for fast, no-build installs&lt;/span&gt;
cachix use claude-code

&lt;span class="c"&gt;# Run once (or whenever you need it)&lt;/span&gt;
nix run github:sadjow/claude-code-nix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pin it to your user profile (survives shells and reboots):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nix profile &lt;span class="nb"&gt;install &lt;/span&gt;github:sadjow/claude-code-nix
claude &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add to Home Manager
&lt;/h2&gt;

&lt;p&gt;Make Claude Code part of your reproducible dotfiles:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nix"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nv"&gt;inputs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;nixpkgs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"github:NixOS/nixpkgs/nixpkgs-unstable"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;home-manager&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"github:nix-community/home-manager"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"github:sadjow/claude-code-nix"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="nv"&gt;outputs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nv"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;nixpkgs&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;home-manager&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt;
      &lt;span class="nv"&gt;system&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"x86_64-darwin"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;# or x86_64-linux/aarch64-darwin/aarch64-linux&lt;/span&gt;
      &lt;span class="nv"&gt;pkgs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nv"&gt;nixpkgs&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="kn"&gt;inherit&lt;/span&gt; &lt;span class="nv"&gt;system&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="kn"&gt;in&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nv"&gt;homeConfigurations&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"your-user"&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;home-manager&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;homeManagerConfiguration&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;inherit&lt;/span&gt; &lt;span class="nv"&gt;pkgs&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;modules&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;
          &lt;span class="nv"&gt;home&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;packages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;packages&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;system&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;claude-code&lt;/span&gt;
          &lt;span class="p"&gt;];&lt;/span&gt;
          &lt;span class="c"&gt;# Optional, convenience alias&lt;/span&gt;
          &lt;span class="nv"&gt;programs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;bash&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;shellAliases&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;ccode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"claude"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}];&lt;/span&gt;
      &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add to a Dev Shell
&lt;/h2&gt;

&lt;p&gt;Keep Claude Code available in project shells without touching global state:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nix"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nv"&gt;inputs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;nixpkgs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"github:NixOS/nixpkgs/nixpkgs-unstable"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"github:sadjow/claude-code-nix"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="nv"&gt;outputs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nv"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;nixpkgs&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt;
      &lt;span class="nv"&gt;system&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"x86_64-linux"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;# pick your system&lt;/span&gt;
      &lt;span class="nv"&gt;pkgs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nv"&gt;nixpkgs&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="kn"&gt;inherit&lt;/span&gt; &lt;span class="nv"&gt;system&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="kn"&gt;in&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nv"&gt;devShells&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;system&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;default&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;pkgs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;mkShell&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;packages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;claude-code-nix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;packages&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;system&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;claude-code&lt;/span&gt; &lt;span class="p"&gt;];&lt;/span&gt;
      &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How It Stays Fresh
&lt;/h2&gt;

&lt;p&gt;The auto-update flow runs &lt;strong&gt;hourly&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check npm for a new &lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt; version&lt;/li&gt;
&lt;li&gt;Update the version + Nix hash&lt;/li&gt;
&lt;li&gt;Open a PR with changes&lt;/li&gt;
&lt;li&gt;Build + test on macOS and Linux CI&lt;/li&gt;
&lt;li&gt;Auto-merge if green and push binaries to &lt;strong&gt;Cachix&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Result: new releases are typically available via &lt;code&gt;nix run&lt;/code&gt; within an hour of hitting npm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trust, Security, and Control
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reproducible by design.&lt;/strong&gt; Versions and hashes are pinned; you can rebuild from source if you don't want to use the binary cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Binary cache is optional.&lt;/strong&gt; If you skip Cachix, Nix will compile locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin or track latest.&lt;/strong&gt; Pin this repo at a commit or tag to freeze; update your lock file when you want to move.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open and auditable.&lt;/strong&gt; The packaging is tiny and readable—easy to review or fork.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Pros&lt;/th&gt;
&lt;th&gt;Cons&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;npm -g&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simple on one machine&lt;/td&gt;
&lt;td&gt;Breaks with Node switches; path/permission drift; hard to reproduce&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;nixpkgs (upstream)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stable, reviewed, reproducible&lt;/td&gt;
&lt;td&gt;Slower release cadence; pinned to Node 20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;This flake&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hourly updates; Node 22 LTS; easy to integrate&lt;/td&gt;
&lt;td&gt;Third‑party source (auditable); depends on your Cachix/CI trust model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  When to Choose What
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;npm -g&lt;/strong&gt; if you truly never change Node versions and don't care about reproducibility.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;nixpkgs&lt;/strong&gt; if you prefer upstream curation and can wait for updates.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;this flake&lt;/strong&gt; if you want &lt;strong&gt;fast updates&lt;/strong&gt;, &lt;strong&gt;Node 22 LTS&lt;/strong&gt;, and the easiest path to keep Claude Code working everywhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Build takes a while:&lt;/strong&gt; use &lt;code&gt;cachix use claude-code&lt;/code&gt; for prebuilt binaries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hash mismatch after a brand-new upstream release:&lt;/strong&gt; pull the latest flake revision or retry shortly—the hourly updater may still be in flight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command not found after &lt;code&gt;nix profile install&lt;/code&gt;:&lt;/strong&gt; ensure your shell sources the Nix profile (restart the shell or source your profile scripts).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Claude symlink points to invalid binary" warning:&lt;/strong&gt; This is a false positive. Claude Code expects a large binary file, but Nix packages it as a wrapper script—everything works correctly despite the warning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a complete development environment setup with Nix and Home Manager, check out my &lt;a href="https://github.com/sadjow/home-manager" rel="noopener noreferrer"&gt;home-manager configuration&lt;/a&gt;—it includes this Claude Code package and many other development tools properly packaged.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Note on AI Collaboration
&lt;/h2&gt;

&lt;p&gt;This article—and the flake—were created with AI assistance to draft, review, and polish text. The problems are real, the solution works, and the implementation reflects years of Nix + dev tooling experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nixos.org/" rel="noopener noreferrer"&gt;Nix&lt;/a&gt; – Purely functional package manager&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nix-community/home-manager" rel="noopener noreferrer"&gt;Home Manager&lt;/a&gt; – Manage user environments with Nix&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cachix.org/" rel="noopener noreferrer"&gt;Cachix&lt;/a&gt; – Binary cache hosting for Nix&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://claude.ai/code" rel="noopener noreferrer"&gt;Claude Code&lt;/a&gt; – The AI coding assistant this package wraps&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;The claude-code-nix package lives at &lt;a href="https://github.com/sadjow/claude-code-nix" rel="noopener noreferrer"&gt;github.com/sadjow/claude-code-nix&lt;/a&gt;. Packaging is MIT-licensed (the tool itself follows its own license). Contributions welcome—especially improvements to the updater, tests, and platform support.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>nix</category>
      <category>automation</category>
      <category>devtools</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
