NixOS for declarative system configuration.
@lemmy.opensupply.space
It all began with Nix software build system and package manager; they needee a way to build, compile software in a reproducible way. That is, if it builds on my machine, it should build on yours too given some constraints. Then they build a whole package repository for such sofware or package definitions, Nixpkgs, that can be build or retrieved using Nix package manager. Nixpkgs grew to be a repository for enabling runnig an GNU Linux OS on it: NixOS. It is declarative in the sense you write what it should contain like packages and behaves like system services. For example, see https://git.sr.ht/~misterio/nix-config.
Atomic in the sense that when you want to change system's configuration or state, everything should suceed in that update, otherwise fails; it is everything or nothing. This enables storing previous and current system revisions, so can rollback to previous state.
Nix plus things like flakes, nix shell, enables a build inviroment akin to containers, but much better, correct, and flexible.
Haskell is just an ecossytem Nixpkgs support.
Basically all that. The unfinished part IMO is mostly for use in developer use cases, and that some ecosystems like JVM are not as well supported.
Can run yes, given that you have to spend some time learning Nix and NixOS specifics. I do that myself.
You either package the software if it is easy to do so—take a look a at nix-init which eases the process—or use Flatpack, containers, steam-run...
GNU has interviews and more clarifying all the way back to MIT AI lab, lisp machines the printers proprietary code triggering free software movement, etc.
Linux just happened because GNU hand't developed a proper kernel yet; Linus wrote that himself on an mail to the Linux Kernel or Minix mailing list IIRC.
I also think this is the way. Glad to know I am not alone. Thank you!
PS: I have a pretty nice and modularized GNU Emacs config, but it's to me just as Lex we are missing a ton by constraining only on GNU Emacs.
Nix files are Nix [function] expressions to declare and set your system; there are many options you can set for example. You just need to learn a few chapters of https://nixcloud.io/tour/ and https://nixos.org/manual/nix/stable/language/, also modularization using imports.
For user/de configuration, you can either do the usual way or use home-manager.
I’ve done some small extension development for vscode and hated it
I respect your argument
Commercial arguments are a thing, but a bit reductive no?
I meant you're putting into practice a language/tech that has real and great demand than one that has little to none outside the specific domain of a text editor. Not that it automatically lands you money
For those saying NixOS has no commercial support, there is: https://nixos.org/community/commercial-support
Maybe you're talking from easy to use way. But Guix and Guile documentation are more cohesive in my experience, given that you're into GNU Emacs. But I don't think running GNU Guix System to be worth it.
for appimage, see e.g. https://github.com/...
thanks for using Leebra!
go to feed...