My XPS 13 running Debian+Gnome was constantly crashing, and as an aspiring livestreamer, I couldn't afford to have my device go down willy-nilly! I was on the verge of installing Ubuntu because I enjoy using LXD, but I'm glad I took a closer look at immutable Linux distributions. At the time of writing, they are very much in fashion, although some have been around for multiple years now. Alpine Linux has been doing it for years.
I'm a fan of ChromeOS and Android (LineageOS specifically). When I use a stable Linux distro, I can get almost all my programs from Flatpak and GitHub. If Silverblue turns out to be similiar to Android, i'm going to be running it happily for years to come.
I'm not too keen on customization; most of my dotfiles fit in less than 100 lines. And when it comes to updating the root image: I install them every once in a while instead of doing it repeatedly in a short span. Good thing you can just skip a few releases and go straight into the newest one/S. Frequent reboots are a turnoff, but at least system boots itself back up quickly.
My usual desktop consists of xmonad, but nowadays with wayland making progress i'm running gnome-shell with material-shell extension. I don't like Pop-shell one because i always use 'monocle' layout aka. fullscreen layout. And less window borders the better. Sway is ok but i can't wrap my head around resizing it's windows.
Here are the first things i'm installing first off in a fresh system
- tailscale
- tmux
- micro
- joplin cli version
- mc or lf
- doas
- zsh or oksh (but bash is fine too)
- all i want from wm is max windows and alt-tab
- firefox, librewolf, chromium, vivaldi
- zfs
silverblue can install some rpm packages as seperate modules, so i can still enjoy tailscale, tmux and zsh.
$ rpm-ostree install blahblahblah
Also a wide variety of programming languages still work using tools to fetch latest lts releases of things.
- SDKMAN for kotlin and other jvm languages
- nvm for Node (mostly for terminal version of joplin)
- golang manually installed in ~/.local/go
- crystal somewhere in $PATH eg. ~/.local/bin
- RVM for ruby (i tried it and it's a little cumbersome)
Virtual machines
- Boxes and/or Bottles for windows applications if using gnome
- LXC/LXD - maybe throw in a BSD image somewhere
- Podman is installed ootb should you use it
Overall feeling pretty good about this hypervisor system :) It's read-only nature should keep it in check.