I frequently reinstall Linux. Is there a tool to say what to install and configure that I can just run once after OS install? Things like

  • Install neovim, signal, steam
  • Configure firefox, desktop environment

I’m using this for just me, on my personal machine.

I don’t anticipate it’s possible between different distros, so assume I’m reinstalling the same distro.

EDIT: thanks for replies. I’m mostly seeing Ansible and NixOS. I’ll start looking at those.

    • staircase@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      Usually if I’ve made a mess with installs or config and want a clean slate, but this time I’m doing it cos I tried out a new OS and it didn’t work out.

      Hard to say exactly, how much, maybe twice a year, but when I do reinstall I often reinstall like three times in quick succession until I get a good foundation.

      • throwaway403@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        2 days ago

        Aight. Understood. Thank you!

        In your case, I’d propose something like NixOS then. As your full system configuration can be contained within a (set of) config file(s), the very same ones you use to install/config stuff, a reinstall just becomes very easy. Heck, if you’re willing to embrace the Erase your darlings-lifestyle, then I don’t even think you’d ever feel the need for a reinstall. Because, frankly, the clean slate is just a reboot away.

        EDIT: Perhaps Guix System is also worth considering as an alternative to NixOS*.

        EDIT2: If you still want to explore other distros, then it’s worth noting that nix, i.e. NixOS’ package manager, is available on most distros and offers a lot of the benefits already. Like, you could configure your system using it, and then use that config on another distro to get your config back. Good stuff.

      • a14o@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        If you want to learn a new tool, look at Ansible. If you just want to get the job done, make a list of the packages you need and track your dotfiles.

        • staircase@programming.devOP
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          I do, but something about it doesn’t feel right. Maybe I’m just not committing to it cos I can too easily jump back to the host OS

          • muhyb@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            21 hours ago

            To be fair, testing in a VM is for seeing the basic fundamentals of the OS. Ok, let me try to help with a couple of things then.

            For finding you distro:

            1. Find your favourite environment. Is it GNOME, is it KDE, Cinnamon, maybe it’s Xmonad or dwm? There are a lot of these and you should test this first. Distro doesn’t really matter in this step. Just find one with the desired environment and test it in a VM.
            2. Once you find your perfect environment, find out if you want a really stable system or something cutting edge? Maybe something balanced in between. Distro still doesn’t matter in this step. Once you decide what you want, now you can find distros that suit this.
            3. Choose you favourite init system (Optional). Some people like to control what’s under the hood. Just note that, not choosing systemd will filter a lot of distros here. If you don’t care what’s under the hood, skip this step.
            4. Now you have narrowed down to possibly 3-10 distros. Still a lot. However this step is where you choose your favourite package manager. If you don’t care about the mechanism, just pick one you liked from the default installations of them. If you are using Linux for some time, you might already have a favourite package manager.
            5. Congratulations, you have found your distro. Just use it and see for yourself.
            6. Wait, it might still not be the correct one. However you cannot know this without using them daily. Some people stay with what distro they start, some people distrohop a lot and settle on Debian. And some other love their niche distro that works nicely for them. Stay with what really clicks with you.