I’m getting ready to switch but there are a few things that I could not figure out how to do optimally. Here’s one of those, maybe you can help me with that:
For the past 30 years on Windows when I found a new application I wanted to use I put it in D:\Tools. Almost all applications don’t actually need to be installed even if they are only distributed in an installer. That meant that to move my tool collection to a new computer I pull out the D-Drive, mount it in the new computer as D and I’m instantly ready to go.
On Linux there are 2 scenarios flatpak or traditional Package Manager distributions.
For flatpaks putting them on a specific drive seems easy enough.
But how do I handle applications that are not (yet?) available as a flatpak? I tried Nix but decided I’m not ready for that. I could put everything in a bash script but that seems clumsy and would be work to maintain. Is there any other clever way to avoid manually installing my defaults when I updgrade / reinstall my OS?
I tried out a tool that helped you do that, but i can’t remember the name. Maybe it rings a bell to someone ?
Basically it was a dotfile manager (which you use to save your config files and deploy them on a new install), which also recorded which packages were installed on your system. It would output a bunch of bash scripts which you could customize and save on a git repo. Running those bash scripts would install all the mentioned packages with the configs you have saved. It may have been Arch only, i can’t remember.
There’s a bunch of dotfile managers listed on this page, such as chezmoi and yadm, but i’m not sure if one of them handles packages as well.
Realistically the list of tools you really need to reinstall on a new system shouldn’t be very long. Personally i just reinstall a bare system and install tools if and when i need them. The advantage is that you don’t carry over bloat from one system to the other. Do you think it would be applicable to your use case ?
That’s not a thing on Linux. I usually have a live USB with a lightweight recovery distro. The basics for partition handling and backup/recovery tasks, stuff like that. But I’ve only needed it once in over 15 years. When you upgrade the distro handles everything, including flatpaks and applications. A well managed distro has the apps, the config and the user data all segregated, thus the system should be in an identical state after an upgrade. On containerized, immutable distros the user doesn’t even notice the entire system was upgraded.
Alright fine, forget about the upgrade. Let’s say I put together my system tomorrow. I find my preferred Audio Player, Browser, Password Manager and a couple of other things. In 10 years I want to move to a new computer, how do I get all of these things over on the new system without reinstalling the tools manually.
Well, if you are still going to be using those exact same tools in 10 years, then realize that it is identical to framing it from one day to another. I’m using X software today (regardless if I installed it 10 years or 10 days ago), how do I get it over to a brand new system tomorrow? Easy, you clone your drive.
Most Linux systems are easily reproducible via snapshots, cloning, etc. There are several tools to do it, since it is the bread and butter of servers sysadmins all over the world.
It’s irrelevant how much time has passed, and thanks to update cycles of most distros, your OS will already be up to the point you would want it to be in a different system. Compared to Windows, Linux systems have a far lower library entropy. You won’t accumulate registry entries or leftover files from old versions, configurations corrupted by auto-updates or anything of the sort. So your system today is exactly what you would get if you installed a new system and installed the same libraries and apps manually tomorrow.
[packet manager][list of packages]
Clumsy? How?
Oh, and you don’t need to reinstall soft while upgrading adequate Linux distros.
And reinstalling Linux is done once in a decade when some serious changes are here. Like 32->64bit. And even then it isn’t necessary.
Clumsy? How?
A flat list of 100 packages seems kinda clumsy, I was thinking there must be a way to a file to the package manager, but at least for dnf I didn’t find anything on the manpage.
Oh, and you don’t need to reinstall soft while upgrading adequate Linux distros.
Well realistically I’ll switch around a bit before finding “my” distro. And considering how I have no idea what I’m doing I’d prefer a clean install when switching.
If it is for distro hopping, you are better served by liveUSB and virtual machines. Just remember the reason a Linux “distribution” is called that, is because of the package manager and the precise collection of libraries and software packaged for the fresh install and available for distribution on repositories. Managing those is 90% of the work of maintaining a distro. Therefore, your favorite software might not even be available on a different distro’s repository. Flatpaks will work everywhere that supports them, but you’re at the mercy of the distribution’s managers including all of the portals required for desktop and system integration. No package manager I know of accepts a file with a list of packages to install. That’s what bash is for, learn basic scripting and that should cover your use case then.