plan for migrating pc to desktop linux

why?

windows is a labyrinth of horrors, an ancient monument the local residents scaffolded off of into increasingly precarious ledges, a testament to the aesthetic of the early 2000s corporate office and the disregard for human intuition therein.

a non-exhaustive list of things about windows that give me the ick

my pc used to primarily be a gaming machine, but it’s transitioned into mainly filling the role of a server, and windows is not cutting it. even if gaming were the main use, support for games on linux is better than it’s ever been and windows was already getting on my nerves before i got into self-hosting.

my hope is that a linux server will reduce friction and frustration, opening up a bunch of opportunities for automation and self hosting, plus making maintenance and updating more straightforward. on top of that, i’d be able to have a much smoother time developing on mac and deploying on the server bc unix.

process

it’s appealing to wipe the system and install a distro in one go, but i depend on the server for a lot and can’t afford it being down for days while i troubleshoot

a better route would be to design the system in a vm and test all the services there, before actually booting to it

  • create vm
  • test distros and compare
  • learn how to create, store, and reproduce configs (nix?)
  • identify all services and features that need migrated
  • demonstrate each in the VM
  • use a laptop to run the essentials of server before taking main down, make sure it’s stable before continuing
  • install everything on main
  • allow for a few days of troubleshooting

picking a distro

i found this genealogy of linux distros infographic which is cool

these are my impressions at this point based on vibes from bloggers and posters and such. not necessarily accurate since i don’t have experience with any linux distros outside of docker containers and a little vm experimenting.

distroeasy to setupstablerolling releaselearninglow bloatweird
ubuntu
debianwith ‘unstable’
arch
endeavour/
nixos

resources of interest

So, I Tried Arch Linux.. (and Hyprland btw) - YouTube

interoperability with macos

ideally i’d like to share as much configuration with my macbook as possible

by ‘interoperable’ i’m meaning, i can replicate the configuration on either linux or mac with the same seed files and the same number of commands

planning to look into nix some more

Nix Darwin Turned My Mac into a Fully Automated Machine - YouTube

Nix is my favorite package manager to use on macOS - YouTube

things that definitely are interoperable:

  • shell config
  • language support
    • (python, node, go, rust)
  • some packages and cli tools
  • tie ins to self hosted services
    • vaultwarden, radicale, etc
  • wireguard || tailscale vpn tunnel
  • coding environment, vsc, nvim
  • various files in ~/.config

probably/mostly interoperable:

  • some basic appearance customization
    • wallpaper
    • accent color
    • keyboard shortcuts
  • some cross platform apps
  • cron jobs
  • local LLMs

is there anyone who daily drives both mac and linux with a solution to the command vs control modifier war ?investigate

unlikely to be interoperable

  • specific system settings
  • native apps via app store or .dmg
  • plists
  • app data already tucked away in ~/Library

definitely not interoperable

  • binaries of my own code laying around in /usr/local & ~/.local
  • icloud, imessage, other apple stuff
  • google drive
  • graphics/gaming support

endeavor VM attempt 2024-12-17

Manual Partition EFI question - General system / EndeavourOS installation - EndeavourOS

When using manual partitioning and you are creating an efi partition it has to be fat 32 and you have to flag it as /boot/efi and also select to flag as /boot in the Window below

How to manually partition multiple drives, one for OS and one for storage (downloads, pictures, games, etc - General system / Newbie - EndeavourOS

Partition 1: /boot/efi Usually it is recommended for a size of 512 mib to be used

the VM is up and running

nameflagsizeFSencryptmountnotes
bootboot512 MBfat32no/bootstores bootloaders
rootroot20 GBext4LUKS/OS files
homeremainderext4LUKS/homeUser files