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.

  • Nibodhika@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    6 hours ago

    You should have a look at NixOS. It’s a Linux distro where you declare the whole system in configuration like files, in a language called Nix (hence NixOS), then you run a command and that gets resolved into your system.

    It takes a long time to setup the first time, but it’s a breeze when you need to reinstall, and you will never need to reinstall as every boot is a fresh copy of the system you declared.

    There’s also a thing called home-manager which uses the Nix language to declare your home configuration. That part can be used in any other Linux by installing the home-manager package.

    You can declare your OS in a way that the home part is portable for machines running other systems. I do that, then my machines are very easy to declare, and with some groups for things like Base (Terminal, prompt, some things I expect to have on every system like Python, nvim fully configured, etc), Gaming (Steam mostly), UI (Sway, many GUI things I use like browser with extensions, etc) I can add configs for a new machine in instants depending on what I expected for it, and if I ever want to convert my “Steam machine” into a desktop it’s just a couple line changes, regenerate the config and it’s exactly the same as my laptop.

    Honestly I don’t think Nix is for everyone, but it’s a very niche thing that works extremely well for what it sets up to do, and if you’re in the target audience it’s a game changer.