this post was submitted on 13 May 2024
134 points (91.9% liked)

linuxmemes

20463 readers
583 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

The product of a chat with @[email protected]

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 3 months ago (1 children)

I'm going to have to come back to Nix/NixOS in a bit. I tried setting it up as a baremetal OS but clearly didn't have sufficient understanding of the Nix DSL to get it to do what I want. Following the instructions in the manual led to a functional system missing the network stack. I'll probably wait until the official docs catch up as it appears that they are quite a bit behind. That and I'm not sure how I feel about a DSL for package management. I'd much rather use JSON or YAML, or even INI or TOML. Maybe if I were a LISP or Haskell guy.

So, after a few hours sunk there, I switched to Fedora Silverblue, which worked out of the box and added Incus via rpm-os-tree. Just need to get the UI setup and I can start moving through my distro list.

[–] [email protected] 4 points 3 months ago

I’m going to have to come back to Nix/NixOS in a bit.

Use nix + home-manager first for sure. It's far easier, and you can slowly get into it while making a list of bleeding edge packages.

I’ll probably wait until the official docs catch up as it appears that they are quite a bit behind

Skip them altogether when you're starting out. I gave up on trying nix the first few times due to how bad they are. zero-to-nix.com is better for learning the basics of nix.

That and I’m not sure how I feel about a DSL for package management. I’d much rather use JSON or YAML, or even INI or TOML.

The closest you can get is home-manager with a list of packages in a json-like format. It's really not practical to develop a declarative system without a programming language. A basic example would be variables, more advanced would be to write a wrapper that modifies the package so it automatically runs the required cli commands to use your dediated gpu and nixGL with specific packages (nvidia-run-mx nixVulkanNvidia-525.147.05 obs for example).

It's sort of like IaC where you've got terraform (dsl), pulumi (various languages), and cloudformation (json/yaml). Can you guess which one is universally despised?

Maybe if I were a LISP or Haskell guy.

Then you'd use guix and a dsl made within an actual programming language (much better approach IMO).