Comment by wolvoleo
FreeBSD is kinda declarative. A lot of it is (or can be) configured in a text file called rc.conf
https://man.freebsd.org/cgi/man.cgi?rc.conf
It's not as completely declarative as Nix but it was never intended to be.
FreeBSD is kinda declarative. A lot of it is (or can be) configured in a text file called rc.conf
https://man.freebsd.org/cgi/man.cgi?rc.conf
It's not as completely declarative as Nix but it was never intended to be.
What about declarative listing of installed packages? One of the neat things about NixOS is that I know exactly what packages I've manually installed since they're specified in my config file.
The other big difference I notice between NixOS and e.g. Debian is that on NixOS I only have to specify the changes from the defaults. On e.g. Debian I usually have to change config files that already exist. Then when the package updates its default config I end up having to review all the changes to the config, even when they have nothing to do with what I've explicitly configured.
You should really give it a try.
More like 3 files.
- /boot/loader.conf for kernel settings to be set only at boot
- /etc/sysctl.conf for kernel settings to be set anytime
- /etc/rc.conf for rest of configuration