"value":"\n <p>I started using the Nix package manager <a href=\"https:\/\/github.com\/opdavies\/dotfiles.nix\/commit\/af1d8d37\">in September 2022<\/a> as a replacement for Ansible.<\/p>\n\n<p>Since then, I've switched to daily-driving NixOS as my main operating system and Home Manager to manage my dotfiles (configuration files for managing application settings, like Neovim, tmux and Alacritty).<\/p>\n\n<p>A benefit I didn't initially think of was that now I can write all my configuration files in the Nix language.<\/p>\n\n<p>I don't need to write YAML, TOML, INI or JSON configuration files. Nix and Home Manager will convert it for me.<\/p>\n\n<p>For example, see <a href=\"https:\/\/github.com\/opdavies\/dotfiles\/blob\/172b7c9ca61d2dd6ffdc967af9102b1ca24edd81\/nix\/modules\/home-manager\/git.nix#L25\">my Git configuration written in Nix<\/a> which is converted and written to .gitignore.<\/p>\n\n<p>And, if there isn't a built-in module for what I need, there are functions like <code>toJSON<\/code> that will convert Nix code to JSON that I can write to a file.<\/p>\n\n<p>This is also great if a program changes its configuration file language, which Alacritty did recently.<\/p>\n\n<p>They changed from YAML to TOML and I didn't need to change anything.<\/p>\n\n<p>Nix has become my one configuration language to rule them all.<\/p>\n\n ",
"format":"full_html",
"processed":"\n <p>I started using the Nix package manager <a href=\"https:\/\/github.com\/opdavies\/dotfiles.nix\/commit\/af1d8d37\">in September 2022<\/a> as a replacement for Ansible.<\/p>\n\n<p>Since then, I've switched to daily-driving NixOS as my main operating system and Home Manager to manage my dotfiles (configuration files for managing application settings, like Neovim, tmux and Alacritty).<\/p>\n\n<p>A benefit I didn't initially think of was that now I can write all my configuration files in the Nix language.<\/p>\n\n<p>I don't need to write YAML, TOML, INI or JSON configuration files. Nix and Home Manager will convert it for me.<\/p>\n\n<p>For example, see <a href=\"https:\/\/github.com\/opdavies\/dotfiles\/blob\/172b7c9ca61d2dd6ffdc967af9102b1ca24edd81\/nix\/modules\/home-manager\/git.nix#L25\">my Git configuration written in Nix<\/a> which is converted and written to .gitignore.<\/p>\n\n<p>And, if there isn't a built-in module for what I need, there are functions like <code>toJSON<\/code> that will convert Nix code to JSON that I can write to a file.<\/p>\n\n<p>This is also great if a program changes its configuration file language, which Alacritty did recently.<\/p>\n\n<p>They changed from YAML to TOML and I didn't need to change anything.<\/p>\n\n<p>Nix has become my one configuration language to rule them all.<\/p>\n\n ",