this post was submitted on 16 Mar 2024
263 points (74.3% liked)

linuxmemes

20762 readers
1655 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
 

It's necessary for my very important hobby of generating anime nudes.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 6 months ago* (last edited 6 months ago)

Nix is a programming language, so you have to organize your configuration yourself like you would for any programming project, usually by splitting it into multiple files. Also you can search system modules on the same page that you search for packages though usually there's not much of an explanation for what it does outside of reading the source code.

System modules use the package from the repository while enabling some systemd stuff and whatever other options that you will want enabled with it. On a single user system, there is no meaningful difference between system packages and user packages.

Home-manager can be used to manage files in your home directory, like your configs for apps and stuff. It also can have more module options for apps so you can set up their settings declaratively. Its not for everyone but this is what its supposed to do, outside of your normal nix configuration.

Nix flakes aren't a way to install packages, but a way to manage the nix based projects which include nix packages and your nixos configuration and is supposed to make it more reproducible, so its not directly related to installing packages. However if a package for something isn't in the repos, someone may make a nix flake for installing and building the package.

Its understandable that you are having trouble though, because the documentation for nix and nixos is terrible, and it only got better for me once I actually spent time learning the nix programming language.