I'll start with mine. yes part of this was to brag about my somewhat but not too unusual setup. But I also wanna learn from your setups!
Anyways: I primarily use Gentoo Linux.
I have two headless servers: a Raspberry Pi 4B and a Oracle cloud VM (free tier). Both running OpenRC, and both were running mainline kernel with custom config (I recently switched the Pi to PiFoundation kernel due to some issues). The raspberry pi boots from SSD and has no sd card inserted.
Both servers were running musl libc instead of glibc for a while. This gave me a couple of random issues, but eventually I got tired and switched back to glibc.
I have a desktop running gentoo and a laptop running arch, but hoping to switch the laptop to gentoo soon.
Both are daily driving wayland (the desktop had nvidia card and used for gaming). The desktop is running a kernel with a minimal config that compiles in 2-3 minutes.
What's your unusual setup like?
My work machine isn't too unusual, apart that it has 52 USB devices connected. And here's something you may not know: Linux can't enumerate more than 16 USB ports if the root is configured as USB3, so I had to force all the ports to run in USB2 mode - which is fine in this case, since most of them are serial ports.
I have NixOS running on my main desktop with some unusual changes:
- / is mounted as tmpfs, with /etc, /nix and /var being mounted from the actual system partition (this actually isn't too uncommon on NixOS)
- For swap, zswap and dynamically allocated swapfiles using swapspace daemon (this is imo the best swap setup if you don't need hibernation)
- Akonadi (KDE's PIM server) using PostgreSQL instead of MySQL
- ISO8601 date format, for this I have glibc's en_DK locale which does this copied to en_SE because Qt has en_SE as the locale with ISO date
- A couple changes to make the layout more like macOS because I can:
- Partitions are either mounted or auto-symlinked (if they can't be mounted there, such as for the system partition) under /Volumes
- I patched udisks to also mount devices under /Volumes
- User home directories are under /Users and root's home is /var/root
- Keyboard layout changed as far as I can to be mostly like Mac's so I don't have to rethink layouts as much when switching between this and my MacBook
- Can't technically list this anymore since I've had to tear it down for unrelated reasons but NFS using Kerberos authentication for my NAS
- This is apparently very unusual since a lot of games completely break with it but two monitors with the main monitor on the right
Question: are you using Flakes?
I've been kinda dipping my toes on NixOS but the flakes are really throwing a wrench my way.... Yet they are apparently NixOS' future so I'm just kinda stuck
Yeah. Flakes are essentially three things (or four if you count the new CLI):
- Lock files for inputs (like NPM)
- A defined output layout (so, every flake has its packages at packages.<system> for example)
- Pure mode (don't worry about it unless you read from arbitrary locations in the file system or try to download files without a hash)
That's it, essentially nothing else changes. It's just a different entry point to Nix code including NixOS configurations.
Here's a great article (apparently, I have only skimmed it myself) explaining flakes more in detail: https://jade.fyi/blog/flakes-arent-real/
Flakes on the system level aren't too bad. You can pretty much just keep your configuration.nix, but now you call that from a flake.nix. The difference is you remove all your nix-channels and you specify your nixpkgs in your flake.nix. So its really using a flake instead of nix-channels.
The cool part is when you nixos-rebuild the first time, it will save your nixpkgs version in a flake.lock. Then it will stay that way until you choose to upgrade with
nix flake update
. Nice and stable.I felt the same, but I'm reading through this book and so far it's been helpful for understanding and setting up system flakes: https://nixos-and-flakes.thiscute.world/
Not mine, but while I was an intern for a lab I enjoyed using a very normal-looking desktop with a casual 4TB of DDR4 and no SSD or HD, dual Xeon configuration. Rather, it did network boot and pivot root into an in-memory filesystem. It had a UPS and typically ran for months entirely from volatile storage and was used to run experimental photo and video processing. This was about ten years ago.
Not sure how unusual it is but I run openwrt x86 on a fanless Asus mini PC as my main router at home.
Probably the weirdest I've done was play doom on a sansa mp3 player with rockbox installed
Lenovo support seems to think I have an unusual setup since I run Linux on their Thinkpad & while the NVMe even after an RMA fails under heavy IO despite their partner WD, who sent me an email response saying they never test or certify drives for Linux or BSD. Many users have been experiencing similar failures with their controllers WD proudly boasts as in-house. Note that Lenovo also has a support PDF about running the device on Linux, but the support is ran by a bunch of clowns. Also not that when you purchase, the hardware brand is never mentioned so there is na room for due diligence.
Tl;dr: if you want a working Linux system, don’t purchase Western Digital or Sandisk drives.
I have been running my linux installs off of wd drives for years without any issues. Most of the devices I run are Asus laptops, maybe it is a Lenovo issue?
https://github.com/openzfs/zfs/discussions/14793
It seems to be an issue in the last year-ish but across a range of WD/Sandisk drives. They build controllers in house &, if the support is to be believed, don’t test or support Linux/BSD.
Nope. Read it a bit deeper as the failures are for ZFS, BtrFS, Bcachefs, & Ext4.
i have a single box i use for data storage; backup; wifi; router; and switch.
it runs ubuntu on the bare iron with
- a windows 10 kvm/qemu vm with pci pass through on wifi to get 1 gig wifi speeds on intel in ap mode (intel won't allow it using linux drivers)
- a pfsense kvm/qemu vm for router & firewall to internet and with pci pass through on a 1 gig nic to gap the internet from the base ubuntu
- dns & ip masquerade along with kvm/qemu based sofware defined networking for windows, pfsense and ubuntu to forward all wifi and cabled network through to internet and
- connected via 3 gig nic and switch for much faster local data storage and backup on the ubuntu install.
- vpn and remote backup using pfsense for access to my setup from anywhere else in the world. (eg routing traffic from the office to my home connection for personal use and access to my data)
topographically, it looks like this, but in reality it's all one box:
┌────┐ ┌─────────────┐ ┌───────────────────┤vpn │ ┌──────────────────┤windows (wifi│ ▼ └────┘ │ └─────────────┘ ┌──────────┐ │ │ internet │ │ └──────────┘ ▼ ┌───────┐ ┌──────┐ ┌───────────┐ ▲ ┌─────────┐ │ubuntu │◄───────┤switch│◄─────┤ backups │ └────────────────┤ pfsense │◄─────────────────┴───────┘ └──────┘ └───────────┘ └─────────┘
That's very interesting. I thought that intel Wi-Fi cards can't do AP mode anywhere. I had no luck on ubuntu and openwrt. Didn't know Windows could help. I'll try to build a Windows VM with passthrough.
the windows driver allows for full wifi-6/7 speeds in ap mode and is the only way, afaik, to get it with intel cards
there are other efforts to backwards engineer or hack the changes that disables higher speeds in ap mode for linux; but none worked when i tried about 10-ish months ago. i tired these ones:
https://www.jeffgeerling.com/blog/2020/wifi-6-gets-134-gbps-on-raspberry-pi-cm4 https://gist.github.com/iffa/290b1b83b17f51355c63a97df7c1cc60 https://askubuntu.com/questions/1163145/intel-wireless-iwlwifi-ubuntu-19-04-slow-upload-speed-but-only-on-certain-wi/1163146#1163146
and if you don't have a windows key like me, do yourself a favor and create a windows image instead of a vm and keep re-using it to get around the windows validation setup timeout after 30 days. (i didn't realize this until after the fact so i had to create a work around with ansible to stop/copy/paste/launch the vm every 30 days)
Sometimes I'll start up ConnectBot, which is an android ssh client, on my meta quest. Then I connect to my laptop and attach to a running tmux session so I can use the laptop keyboard but see the text in a virtual window.
My actual laptop setup is pretty boring though
I think my most unusual step os to select dvoark keyboard layout. Otherwise I'm pretty vanilla.
Thank you! It's so much more comfortable to typ on. Not faster, but Comfortable. I hate the awkward and annoying questions from colleges tho: wHY iS yOuR nOt woRkinG NoRmAllY?
And the mess that ctrl-c ctrl-v becomes is also super annoying. Mostly on windows its annoying. Linux is a bit more consistent.
I keep QWERTY available with the super+spacebar shortcut on both platforms, that way anyone else who needs to use it can switch back. Also, I have see-through Dvorak stickers added so it's pretty clear that something is up with my keyboard just by looking at it. It also helps with finding those random symbol characters you use twice a year.
Well that is unusual these days. You PXE boot the entire OS and mount some type of network share or you use it more in a terminal sense to logon to a more powerful machine?
It's a bit of a weird setup, and not at all practical. I build "golden images" with archiso, the image gets sent over, then local disks are auto-mounted. The local disks have my ~/home, so all my configs, flatpaks, games, etc. stay consistent.
I use PXE for my servers, so I figured "why not?". I don't do too much on it besides videogames, I do most real stuff on laptops. This "setup" probably isn't going to stay around forever.
Oracle cloud VM (free tier)
Remember to back that shit up rigorously, as Oracle is known to terminate free accounts with no warning (....which is fair for a free account imo)
You probably already know this but I thought I'd say it just in case
Alpine Linux on my desktop and laptop, Alpine on a Raspberry Pi 3 working as a network/Bluetooth speaker for 5.1 surround speakers, postmarketOS on 2 RockPro64's which I'm currently replacing for a single x86 NAS running Alpine.
Just started running Arch + KDE on a Kingston Traveller to experiment with setup. Installed from live usb iso and then ran archinstall to the same device.
Runs nicely on my dell xps laptop and my desktop with 3 monitors connected to an Nvidia 1070Ti.
Nixos with xmonad and with xfce in no-desktop mode. Xfce gives me monitor positioning since I have two monitors and one is vertical. On a desktop, and on two laptops. Oh and I swapped my esc and capslock keys. Crazy I know.
Also I have nixos on my pinephone, ha. But I don't use it.