Distrobox is the greatest escape hatch for NixOS

TL;DR Use Distrobox when nixpkgs fails you or you don’t bother with declarative configuration. Introduction Never have I expected this much friction and frustration when switching to NixOS as my daily driver for development work. 1. Only nodejs 18 and above are available on nixpkgs I don’t get to choose what nodejs versions to use for work. For legacy projects I need nodejs 8, 14, 16 etc. The “oldest” compiled nodejs version available in nixpkgs is 18. I found Nix package versions but it requires compiling them from source. I can’t tell my boss “I’m compiling Nodejs 10 please wait 4 hours” before working on it. How I miss fnm. ...

March 31, 2025 · 3 min

How to Use nixCats-nvim in NixOS

flowchart TD A[Start] --> B{Is plugin in nixpkgs?} B -->|Yes| C[Add to optionalPlugins] B -->|No| D[Add to flake inputs] C --> E[Add any plugin dependencies and tools] D --> E E --> G[Register to lze in init.lua] G --> K[Run nix build .] K --> L[Test with ./result/bin/nvim] TL;DR Check it out: nixCats-nvim-example Run git clone https://github.com/kohane27/nixCats-nvim-example.git ~/.config/nixCats-nvim and start tinkering! Caveat My template assumes you are familiar with the Neovim plugin ecosystem, like adding plugins with lazy.nvim in a normal Linux/MacOS environment. This guide only shows you how to do so in Nix/NixOS. ...

March 29, 2025 · 5 min

Which one should I use: programs.neovim, nixCats-nvim, nixvim or nvf?

flowchart TD A[How do you use Neovim?] --> B[Basic text editing] A --> C[IDE/PDE experience] B --> D[Use programs.neovim] C --> E[Configuration preference?] E --> F["Nix manages plugins Lua configures nvim"] E --> G[Fully in Nix] F --> H[Use nixCats-nvim] G --> I["Use nvf"] H --> J[Starting point?] J --> K[Already using lazy.nvim] J --> L[Want maximum control] K --> M["templates/LazyVim"] L --> N["templates/example"] click C "https://www.youtube.com/watch?v=QMVIJhC9Veg" _blank click D "https://nixos.wiki/wiki/Neovim" _blank click H "https://github.com/BirdeeHub/nixCats-nvim" _blank click K "https://github.com/folke/lazy.nvim" _blank click I "https://github.com/NotAShelf/nvf" _blank click M "https://github.com/BirdeeHub/nixCats-nvim/tree/main/templates/LazyVim" _blank click N "https://github.com/BirdeeHub/nixCats-nvim/tree/main/templates/example" _blank programs.neovim If the following describes how you use neovim: ...

March 29, 2025 · 4 min