• 34 Posts
  • 259 Comments
Joined 1 year ago
cake
Cake day: July 9th, 2023

help-circle
  • (What about options in flakes.nix? Should I search those on the flakes/options tab?)

    Not quite sure what you mean here. I normally only configure out-of-tree packages as flake modules (or whatever the term is), and I don’t think there is an official collection/search page for these. It’s mainly that certain packages require it like lanzaboote, and home-manager for that matter.

    Once I enabled home-manager, I saw that in ~/.config/nixos a flakes.nix and a home.nix files appeared. I already have a flake.nix and a home.nix files in my etc/nixos directory. What’s going on?

    It sounds like you configured home-manager system wide, probably through /etc/nixos/flake.nix, but then called the home-manager executable. If you did configure it like this then you do not need to call home-manager ever since nixos-rebuild etc commands will handle this for you.

    Does putting packages in configuration.nix use the version control flakes provide?

    Typically, it will be configured to follow inputs.nixpkgs so packages will use versions of whatever revision is currently pulled. In my system that is:

    inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    

    and then you essentially pass that to configuration.nix, and home.nix.

    And although you seem to already be using flakes, when you call:

    nix flake update
    

    a new revision of input.nixpkgs will be pulled, and so packages configured in configuration.nix will be updated when you next call

    nixos-rebuild switch
    

    or whatever you used to update your system.

    Refer to: https://nixos-and-flakes.thiscute.world/

    if you haven’t already as there is where I got started from for the most part. There’s a lot more detail I missed since nix and flakes are pretty complex (and I don’t fully understand much of it either).


  • System packages in configuration.nix, user packages in home.nix. I’d say anything that is non-interactive and/or requires root access is a good rule of thumb for system packages. Beyond that I try to use modules for configuring packges and there is usually only one of nixos and home manager options (sometimes there are duplicates).

    As for flakes I mostly use it to handle a bunch of different systems from one config and any flake specific configs. I also use standalone flakes for dev environments but that’s not related to the system config.




















  • that I put on a SD card for my phone

    Pretty soon you won’t be able to buy a phone without expandable storage. On the plus side, internal storage is going up, but it’s still not big enough to hold a complete FLAC collection if it’s a reasonably large library. You can re-encode your library just for phone usage, but that’s a bit annoying to maintain.

    Also, I’ve found all of the offline music players on Android kind of suck, and don’t support the workflow I like or have bugs.