-
> With that being said, I’d love it if a NixOS like variant came to a BSD.
https://github.com/nixos-bsd/nixbsd exists, though I've not tried it
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
I eventually figured out how to configure neovim by just using nix to provide the lsp packages: https://github.com/foehammer127/machines/tree/main/users%2Ff....
-
The greatest feature of NixOS (in my opinion) is the ability to run what are called "ephemeral shells" -- that is, to be able to download and run software in an isolated environment without initially installing it, without it changing or damaging the main environment in any way.
This is accomplished via the shell command:
'nix-shell -p '"
i.e.,
$ nix-shell -p vim
Where can be found from over 100,000 packages here:
https://search.nixos.org/
Functionally, the above is the equivalent of what Google Play Store, Apple App Store or Microsoft Store or other Linux package managers are to their respective platforms.
To install software permanently, edit /etc/nixos/configuration.nix to include it (typically under environment.systemPackages), and follow up with:
$ sudo nixos-rebuild switch
It is also not too difficult to undo those changes should that be wished, but that's beyond the scope of a simple HN post!
Anyway, in my opinion, NixOS is probably the most Software Developer friendly evolution of Unix since Linux itself!
Well worth a try for technical people -- but there is a learning curve when trying to do very specific esoteric things with it... but that's sort of the case with anything technological...
That being said, there is a lot more documentation about NixOS on the web these days then there was in the early days...
-
I'm of the mindset that NixOS is too much, all at once. I understand the power of the Nix ecosystem, but the barrier of entry remains too high to enter.
I've switched to using devenv[1] as a first step. This at least allows me to experiment with using nix to configure my dev environment in a per directory fashion, while allowing me to use the Linux distro of my choice.
[1]: https://github.com/cachix/devenv