I wouldn’t really call myself a distro hopper, but in the last few months I’ve had to do some fresh installs on a couple of machines and VMs for work
If these aren’t included by default, I’ll make sure to get em:
GUI:
- Firefox & Chromium
- Gimp & Krita
- VSCode/VSCodium
- Okular
- Libre office
CLI*:
- git
- wget&curl
- neovim
- zsh/ohmyzsh + plugins
- glow
- neofetch
- figlet/toilet
- zellij
- python
- nodejs/npm/nvm + nodemon globally
- ranger/rifle
Also, how do you go about migrating your old config and rc files? Start fresh or just copy em over and make adjustments where necessary?
I always need
- LibreWolf (privacy-focused Firefox fork)
- Some nice terminal emulator like Alacritty or Kitty
- A torrent client
- Emacs
- Strawberry (the music player)
CLI:
- fish shell
- bat
- neovim
- fd
- fzf
- zoxide
- Some other Rust alternatives for GNU coreutils
- GPG
- fun stuff like neofetch, lolcat, asciiquarium, cmatrix, etc.
Another fish and modern Unix user 🫶
PS. Try out lsd if you haven’t already - a nice L’s/eza/exa replacement.
I absolutely forgot about lsd, I used to use exa but recently I switched to lsd, it’s fantastic.
guix home reconfigure home-config.scm
I prefer btop to htop.
Before I do anything at all my VPN gets installed, then whatever firewall gui along with OpenSnitch.
- Keepassxc
- Librewolf
- Signal
- Element
- OpenRGB
- OpenRazer
- Game stuff
I have a text file that lists everything I need to do on a clean install - a list of programmes and bits that need to be set in each programme. It’s really easy to forget important stuff - like making sure my refresh rate is set at 165hz and not left at whatever the default is.
- fish
- tmux
- sshfs
- htop
- nmap
- distrobox (haven’t tried this yet but looks amazing)
- zfs (and any utilities that go with that)
- sanoid
- syncoid
- tailscale
As far as config files go, I haven’t gotten around to automating those so I usually search my nas for old ones and copy/paste what I need
Idk if it is distro hopping because I have been trying distros on my main system and usually for months at a time. It’s messy but I have a separate filesystem for /home and hope my current rc files don’t bork up whatever I’m running next. The transition from Cinnamon to Gnome went poorly for a while.
I should probably automate the must have packages.
Some applications are not packaged so I install ~/.local, e.g. Arduino, Eagle, Minecraft, etc.
Packages… Hm. Direnv is all I can think of. I just use the system until something is missing, curse briefly, and install it.
Use Ansible for package installations and configuration, and a git repository & GNU stow for dotfiles.
Nothing. I just install what I need when I need it.
Meaning that your distro of choosing comes with most of the stuff bundled in…?
No, I’m just a fan of lazy initialization.
Cli
- helix
- ranger
- mpv
- YouTube-dl
- epy
- fanficfare
- aria2
- zellij
- gotop
GUI
- qutebrowser
- zathura
YouTube-dl
Just a heads up, yt-dlp is a far more active fork with more features.
This is true, has mpv started working with it? The reason I have it in the first place is to stream Lofi /synthwave/jazz audio via mpv rather than specifically for downloading. Back when I’d last looked, mpv needed the old fork specifically, but if they’ve updated I’d be more than happy to switch
Step 1: install Debian 12 today, Step 2: upgrade to Debian 13 when available, then Debian 14, Debian 15 and so on… that’s the only hopping one should.
Gatekeeping Linux!? I certainly wasn’t expecting that… I think the state of Linux is needlessly fragmented, but even I won’t say a single distro will work best for every single person, business, school, government, or organization.
I don’t distro hop, but I keep my most commonly used programs as appimages in my home, as well as some locally compiled programs that I install in ~/.local/bin and ~/.local/lib.
Those include essentials like:
- i3wm
- polybar
- rofi
- handlr (regex one)
And for the programs, those include:
- brave
- ferdium
- freetube
- gimp
- librewolf
- libreoffice
That way I can drop my home onto any distro and everything will work at once. No need to manually install programs.
I also have wrapper scripts on my PATH that force applications that don’t comply with the xdg base dir spec to use a fakehome in ~/.local, like steam and the web browsers.
Strawberry, qBittorrent, neovim
nomacs
Also, how do you go about migrating your old config and rc files? Start fresh or just copy em over and make adjustments where necessary?
I keep all of my important configs and dot files in a git repo. When setting up a new system I clone that repo and then symlink to them in the appropriate places
I have an init.sh file I run from my dotfiles. Pipe my sudo password to it and leave it alone for about an hour. Gets things 95% of the way to how I like them.
I should migrate to ansible like u/djehuti@programming.dev but time :(
This Is The Way. My repo includes a setup.sh that uses ansible to setup the links. Clone the repo, run the script: home.
The things I tend to gravitate towards:
- Flatpak
- Firefox of some kind (lately been loving Floorp)
- Keeper Password Manager extension on Firefox
- try to install some form of backup
- git (if not already available)
- nvm (Node version manager, usually I install the latest LTS)
- Go (sometimes I write Go programs)
- Steam (if I plan to play games)
- Sometimes I’ll install Zsh, sometimes Fish, then oh-my-zsh / oh-my-zsh
- Fastfetch (Neofetch is so slow?)