this post was submitted on 10 Dec 2023
32 points (84.8% liked)

Linux

47231 readers
1239 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
32
submitted 9 months ago* (last edited 9 months ago) by [email protected] to c/[email protected]
 

I have been using PopOS for a while now (came installed with my S76 Lemp10), but now looking for a new distro (I want to try Linux Mint). I am looking for the easiest way to set up the new distro with most of my current applications installed.

My current plan on how to move my applications and settings:

  • Get dotfiles to external repo (I am using stow)
  • Use ansible-playbook to set up installation of all the apps I need
  • Try the ansible setup on a docker container to ensure it works
  • Then try the ansible setup on a PopOS VM to ensure things work
  • Modify the ansible setup to use Linux Mint package manager (synaptic I believe)
  • Then try the ansible setup on a Linux Mint VM
  • Once everything works, copy the data, install new distro and run ansible script on the new OS

Is above the correct way to go about this, or is there anything better or easier available?

Edit: Thanks everyone for responses. The general consensus seems to be that that above is overkill (although doable and works) and copying home folder & dotfiles and trying out the distro fresh is easier, and install software as needed. Or, try NixOS :)

all 27 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 9 months ago (2 children)

That sounds like overkill, is your system really that complex that you need to automate it's installation? Usually when I reinstall my system I install the programs I remember and whenever I need something I install it.

My dotfiles are in a repo, but that only started when I started using i3 since the config is entirely a text file, before I just used the GUI to setup my system to look like I wanted it to.

[–] [email protected] 12 points 9 months ago

I'd push this further: I install what I need now, and then install anything else when needed. Old installs get bloated because of shit we pull over time. A new one has to be fresh. When testing a new distro you wanna see it at its (default) best.

[–] [email protected] 2 points 9 months ago (2 children)

I just want it to get to a usable state pretty quick on a new distro, and also to go back quickly to pop-os if I don't like the new stuff. That's why trying out ansible for this.

[–] [email protected] 10 points 9 months ago

You might be overcomplicating stuff, I always like to point to this https://xkcd.com/1319/ if it's something that will take you 30 min once every couple of years when you decide to switch distros, it's not worth the time to automate IMO.

[–] [email protected] 2 points 9 months ago

I think what people are suggesting is doing all those steps will be more time and testing than just installing the os and adding apps.

[–] [email protected] 18 points 9 months ago (1 children)

Mint is an Ubuntu derivative like Pop, so the package manager is apt. Synaptic is a gui for apt.

If you want to learn and use ansible, go for it, but it might be a bit more than you need. If you are just wanting to install the apps you want, you can just write a quick bash script that installs all the apps you want.

The file structure should be the same in Mint as Pop, so restoring your dot files should be straight forward.

[–] [email protected] 1 points 9 months ago

This. Go the Ansible way only if you are interested in gaining skills in that domain. It is a must have skill if you want to pivot to devOps

[–] [email protected] 11 points 9 months ago

You COULD probably do it like this if you want to gain experience with ansible. Otherwise it's total overkill. Just write down a list of must-have apps that you currently use and install them manually in the new system. It's always a nice opportunity to start fresh and clean.

[–] [email protected] 4 points 9 months ago

Back up home and install the new distro from scratch.

[–] [email protected] 4 points 9 months ago

My advice is to install a clean copy of the new distro and install new software as you need it. I do this to avoid the inevitable extra packages hanging around that I never use.

If you want to get real crazy you could switch your apt sources from pop to mint and tell apt to reinstall everything, but it will almost certainly fail at some point.

[–] [email protected] 4 points 9 months ago

Nix os has a thing like that. Personally I use an arch distrobox. I have a backup of the distrobox image container that I can put on any computer and have all the apps and settings available.

[–] [email protected] 3 points 9 months ago (1 children)

Are you really comfortable with ansible? The only reason to use it for your case is that you want to learn it. Time you spend writing a playbook and testing it will be much longer than installing everything manually on a single machine. And it will be impossible to reuse it if you consider moving to not debian based distro later.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

I feel if I'm switching things often, even trying out a distro and going back to PopOS, ansible should save time in the long run. Plus, I can make my ansible yaml configs install software depending on the distro and package manager, right? I'm learning ansible as I go.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

If you want to automate your system install Nix is a good one to look at, nowadays when I use a new system/wipe an existing one I can just install NixOS drop my config, sign into the things that need signing into and go

Obviously doesn't work as well if you're trying other distros but you can still use it on them

[–] [email protected] 1 points 9 months ago (1 children)

Do you know a good beginner friendly tutorial for NixOS, I could try it in a VM first.

[–] [email protected] 1 points 9 months ago

They have a getting started guide on their wiki I believe

Once you install it it should generate a config file in /etc/nixos/configuration.nix, the way I did it was reading that and figuring it out from there. (That file is your universal source of truth for your entire system)

You can install packages/software by adding them to the systemPackages block in the file and running sudo nixos-rebuild switch and you can find pretty much anything you need on https://nixos.org/nixos/packages.html

Also the community is pretty friendly, can generally get your questions answered on lemmy/matrix

[–] [email protected] 2 points 9 months ago

you can automate a lot of the basc profile stuff in your dotfiles with some automation such as https://github.com/anishathalye/dotbot to bootstrap a new install. it makes your new distro right at home, and if you combine this with github to store your dotfiles, you’ll also have a backup of your environment.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

Use Nix or Guix if there's a lot of stuff that you want to move. What you're doing is just pointless overkill.

[–] [email protected] 2 points 9 months ago

I would try the Distro on an external SSD first maybe?

PopOS is way more modern that Mint, so you may have negative effects from switching

[–] [email protected] 2 points 9 months ago

I LOVE how portable flatpaks are, other than some lines from fstab i just want to set the rest of the system new anyway.

Thank fuck i don't use anything super complicated, so switching is a breeze for me.

[–] [email protected] 1 points 9 months ago

I'm pretty sure there's a easier way. I don't know what that way is but you likely don't need Ansible

[–] [email protected] 1 points 9 months ago

How did you get on with this? I was looking to do this myself.

It's that one step closer to having a customised disposable distro

[–] [email protected] 1 points 9 months ago

I haven't tried it yet so anyone tell me if there are serious problems with it, but you can have a separate partition mounted at /home with your home folder so you can keep all your files and config files between distros

[–] [email protected] 1 points 9 months ago

You could make a live distro image(s) of your choice and use em on a pendrive with ventoy installed. (It's a bit tricky tho.)