• Vuraniute@vlemmy.netOP
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    Sounds great, but I don’t like editing a config file every time I want to install an app,.

    • Laser@feddit.de
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      Alright, if that’s too much of a hassle you shouldn’t switch. I’m unaware how to do all of that in one step on the command line. All I can say is that the last time I added programs to the array was two weeks ago. So the workload is negligible… on the other hand, on Arch, when installing something new that you then decide not to keep, you need to track the dependencies that you no longer need (pacman -Rs $(pacman -Qqdt)) if I’m not mistaken.

      Also, the amount of work saved depends on what you’re installing: let’s say you install OpenSSH on your machine. On NixOS, that’s editing about six lines in my configuration and then rebuilding. On Arch, that’s

      1. installing OpenSSH (pacman -S openssh)
      2. Editing /etc/ssh/sshd_config
      3. Editing your firewall settings (This happens automatically on NixOS)
      4. Enabling and starting the OpenSSH service (NixOS does this for you)
      5. Applying your changed firewall rules (again, automatically on NixOS and guaranteed to be correct)

      So you have double the configuration files to be edited and triple the commands to be ran, while during all of this, nix actually does the thinking for you (e.g. you change a port in your OpenSSH config -> the firewall configuration is updated automatically).

      • Vuraniute@vlemmy.netOP
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        Sounds neat. I am really considering NixOS, that’s why I’m asking for advice here. It really sounds like a nice and more convenient distro. Sadly, I still haven’t figured out how to make my own builders, even after Nix Pills. Thankfully, programs like crate2nix exist.