• 0 Posts
  • 3 Comments
Joined 1 year ago
cake
Cake day: March 17th, 2024

help-circle
  • Any advice on what should I do would be welcome.

    You can play around with the mount option nofail, if that’s set, systemd will not wait for the mount point to be ready and continue booting normally. Can be useful with HDDs that take a while to spin up and aren’t needed for the boot process (e.g. backup drives, etc.).

    Another thing to look out for: SDCards or USB flash drives that might randomly fail to “spin up” and hang, unplugging those helps.


  • journalctl is the one part of systemd I really do not like. For whatever reason, it’s insanely slow, taking multiple seconds before it gets around to display anything. It also has all the wrong defaults, displaying error messages from a year ago first, while scrolling to the bottom again also takes forever and consumes 100% CPU while doing so.

    There are flags to filter and display only the relevant parts, but not only are none of them intuitive, doing a mistake there just gives you “-- No entries --”, not an error. So you can never quite tell if you typed it wrong or if were are no messages.

    Maybe it all makes more sense when studying the man page in depths and learned all the quirks, but /var/log/ kind of just worked and was fast, without any extra learning.


  • Where are the source packages?

    It’s reproducible, so random updates are a no-no. You can however just dump the Git URL in your flake.nix inputs and then override the src of the package with that. The source gets updated when you do nix flake update next time. Something like this:

    inputs {
        ...
        mypackage_src.url = "github:myorg/mypackage";
        mypackage_src.flake = false;
        ...
    }
    
    pkgs.mypackage.overrideAttrs (oldAttrs: {
                  src = mypackage_src;
                  version = "nightly-${mypackage_src.shortRev or "src"}";
                })