How does it stack up against traditional package management and others like AUR and Nix?

  • Guenther_Amanita@feddit.de
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    That all sounds great, thanks!
    Do you have any tips for an “easy” start, where everything is already pre-configured?

    • Shareni@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      6 months ago

      Nope, and that’s the worst part of nix. I’m actually planning on writing a short startup guide, but I need to solve a few more issues first.

      But, this should help you out until then:

      The home.nix should be automatically generated, and that’s where you put all of your packages. I left a few as an example.

      NixGL is needed to use openGL (nixGL lutris for example). It works in most cases, but I couldn’t get alacritty or kitty to work. There are some ways to have packages automatically use it, but I still haven’t tried them out.

      Flake allows you to select the correct nix repo (stable/unstable), appropriate home-manager version, and add outside packages like nixgl. It’s technically not necessary, but I wouldn’t go without it. Here I’m using the unstable repository, check the relevant docs if you want to go with releases instead.

      The equivalent of apt update && apt upgrade is nix flake update && home-manager switch --impure. I like cd-ing into the nix dotfile directory (all of the files are in there and symlinked to ~/.config/ locations), but you can also use command line arguments to point to the flake.

      nix flake update updates the package definitions to what’s in the repo

      home-manager switch install them, and also updates any configs it’s managing. The --impure is only needed if you’re using nixgl (bad build commands depend on system time).

      nix-collect-garbage to force a clean up of unused packages

      https://search.nixos.org/packages makes searching for packages a lot easier

      https://mynixos.com/search?q=home-manager+ same, but for finding options to configure packages through home-manager

      Comment if you need help

      update: removed nixGL from flake and home, installed it through nix-channel in order to not use --impure during home-manager switch