i dont have to recreate nix to get easy customized installs, my installer script doesnt need to know or do anything about derivations, monads, flakes, etc. it just uses packages from my distro and pulls in my .config directory. what else does nix do that my script should do? the software my script installs is probably more supported than it would be on nix because its on ubuntu, one of the more commonly supported distros.
Nixlang doesn't have a type system sufficient to encode monads, so you don't have to worry about it ;)
> tools that wont fade away, its much harder to believe that about nixlang than its for bash/dash/sh
Bash has been around for over 34 years, which is very respectable. But Nixlang has also already been here for more than 20.
> the software my script installs is probably more supported than it would be on nix because its on ubuntu, one of the more commonly supported distros
wat? Nix runs on Ubuntu just fine...
At some point if you want to configure everything with your own shell script it will be a nightmare to maintain, NixOS is easy to learn in comparison.
i am not sold on the maintainability delta between my script and a guix one, but i only use a text editor, a terminal emulator and two web browsers for 90% of my use, so maybe im just too small scale to run into the maintainability issue it's trying to solve. the main struggle i have is in making the config files, and guix would only add another layer to that.
easy to learn might be a valid consideration for me if i didn't already feel comfortable with scripts of the normal non guix variety, but the devil i know does fine.
Maybe I'll update my script to use named instead of randomly generated profiles, though.
What does it do for multiple profiles?
Installing a list of packages is relatively easy, sure.
A NixOS system configuration also takes care of settings for different services; which typically you'd edit files under /etc/ for.
The closest practical analogue to a NixOS system configuration that's popular is probably setting up your computer.
When it comes to reliably getting a system to an expected state, shell scripts aren't a popular solution.
Nix and Guix are more complex than not using them. I'd compare that to Vim/Emacs being more complex than Notepad.
Also not a popular way to configure a system? They are THE default way, that is being tried to displaced by various configuration management tooling and Guix, no?
If I wanted to sells emacs to someone on notepad I wouldn't have to resort to things as vague and hand wavy and dubious in value as reproducible'). I'd be listing features they lack. The Guix features I want I have, which is simple install of my applications and configs
You don't need Guix to copy files to /etc, you don't need it to install your applications and you can get a pretty reasonably easy custom install with a repo of config files and a script to clone and copy.
edit: and isnt shell a DSL too? one i already know in contrast with Nixlang.
edit2: and not just already know it, but also much much much less likely to fade into obscurity than nixlang... bash/dash/sh aren't ever going away
The reproducibility of that would not be nearly as high.
For example, if the source of those applications is apt the versions of packages would change over time.
In the time since running the old version of hugo, enough about the system had changed:
- The OS had changed significantly (so re-running an old build didn't work). - The compiler had changed significantly (so compiling from source would have been difficult).
I read this as:
> i am fine with the lack of reproducibility of apt-update personally and its hard for me to grok what benefits reproducibility in the guix sense would get me here
To which my answer is:
Guix gets you the reproducibility benefit of not having the reproducibility harming apt-update.
Does this help answer your question or confuse things more?