"value":"\n <p>I've been a Nix user for about a year, starting with its package manager on my previously installed Linux distribution.<\/p>\n\n<p>I started to use Home Manager for my user configuration and dotfiles and later switched to the NixOS operating system.<\/p>\n\n<h2 id=\"using-nix-for-software-development\">Using Nix for software development<\/h2>\n\n<p>I've also been using Nix Flakes for per-project configuration.<\/p>\n\n<p>A Flake file is a simple file written in the Nix language that defines the project's dependencies and installs them from the Nix package manager.<\/p>\n\n<p>Here is an example Flake for a PHP CLI application:<\/p>\n\n<pre><code class=\"nix\">{\n\u00a0 inputs.nixpkgs.url = \"github:NixOS\/nixpkgs\/nixos-unstable\";\n\n\u00a0 outputs = inputs@{ flake-parts, ... }:\n\u00a0 \u00a0 flake-parts.lib.mkFlake { inherit inputs; } {\n\u00a0 \u00a0 \u00a0 systems = [ \"x86_64-linux\" ];\n\n\u00a0 \u00a0 \u00a0 perSystem = { config, self', inputs', pkgs, system, ... }: {\n\u00a0 \u00a0 \u00a0 \u00a0 devShells = {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 default = pkgs.mkShell {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 buildInputs = with pkgs; [ php82 php82Packages.composer ];\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };\n\u00a0 \u00a0 \u00a0 \u00a0 };\n\u00a0 \u00a0 \u00a0 };\n\u00a0 \u00a0 };\n}\n<\/code><\/pre>\n\n<p>It declares that PHP 8.2 and Composer are available, even if I have different versions installed globally.<\/p>\n\n<h2 id=\"will-nix-replace-docker%3F\">Will Nix replace Docker?<\/h2>\n\n<p>Nix and Flakes have replaced Docker for me on some projects.<\/p>\n\n<p>If I have a simple setup and need a specific version of PHP or Node and some additional programs, I can get those from the Flake.<\/p>\n\n<p>I don't know if it'll replace Docker for me completely and work on more complex projects, but it's working well for me where I'm using it.<\/p>\n\n ",
"format":"full_html",
"processed":"\n <p>I've been a Nix user for about a year, starting with its package manager on my previously installed Linux distribution.<\/p>\n\n<p>I started to use Home Manager for my user configuration and dotfiles and later switched to the NixOS operating system.<\/p>\n\n<h2 id=\"using-nix-for-software-development\">Using Nix for software development<\/h2>\n\n<p>I've also been using Nix Flakes for per-project configuration.<\/p>\n\n<p>A Flake file is a simple file written in the Nix language that defines the project's dependencies and installs them from the Nix package manager.<\/p>\n\n<p>Here is an example Flake for a PHP CLI application:<\/p>\n\n<pre><code class=\"nix\">{\n inputs.nixpkgs.url = \"github:NixOS\/nixpkgs\/nixos-unstable\";\n\n outputs = inputs@{ flake-parts, ... }:\n flake-parts.lib.mkFlake { inherit inputs; } {\n systems = [ \"x86_64-linux\" ];\n\n perSystem = { config, self', inputs', pkgs, system, ... }: {\n devShells = {\n default = pkgs.mkShell {\n buildInputs = with pkgs; [ php82 php82Packages.composer ];\n };\n };\n };\n };\n}\n<\/code><\/pre>\n\n<p>It declares that PHP 8.2 and Composer are available, even if I have different versions installed globally.<\/p>\n\n<h2 id=\"will-nix-replace-docker%3F\">Will Nix replace Docker?<\/h2>\n\n<p>Nix and Flakes have replaced Docker for me on some projects.<\/p>\n\n<p>If I have a simple setup and need a specific version of PHP or Node and some additional programs, I can get those from the Flake.<\/p>\n\n<p>I don't know if it'll replace Docker for me completely and work on more complex projects, but it's working well for me where I'm using it.<\/p>\n\n ",