initialize a pc
2026-02-25
Once again an attempt at a simple, personal "guide" on what i need to use an actual computer from a fresh install.
Install OS until ssh access
- install arch (encrypt root) following the wiki guide + personal notes
- ensure networking can connect (wired, or wifi, in 2026 systemd-networkd seems okay?)
- ensure ssh access INTO new pc works (copy authorized_keys file from live iso, enable sshd)
Setup User (don't use 1000)
- create group with the wanted ID
- create user with the wanted ID, specify the previously created group
- set a password on it so we can login for the next steps
- ideally copy the authorized_keys file as well, just for convenienc# Setup User (don't use 1000)
- create group with the wanted ID
- create user with the wanted ID, specify the previously created group
- set a password on it so we can login for the next steps
- ideally copy the authorized_keys file as well, just for convenience
Enable Access to Homelab for sync
- either copy existing ssh private key OR generate new and allow it on target hosts
- ideally have ~/.ssh/config available too
- having ssh access first makes initial setup easier as we don't need a graphical environment to access password manager + forge
- consider a minimal config with root@shiny.space and the port and IdentityFile
Update: use unison sync
- syncthing is cool but if you already have ssh, it's a lot of overhead
- ensure unison is installed and ssh root@shiny.space works
- run unison once to generate the .unison dir
- copy profile: scp root@shiny.space:/root/Sync/dotfiles/unison/dot-unison/default.prf ~/.unison
- unison -batch
Update: Once synced: GNU Stow
- ensure dirs exist BEFORE symlinking:
- .ssh
- .unison
- .config
- read ~/Sync/dotfiles/README.md for running stow
- once stow created our symlinks: ideally relog?
TODO: better apps setup
- we have a waybar script containing a list of packages we want
- automate installing these
Ensure apps are installed:
- sway, waybar, $term, $launcher, paru (+ rustup install stable)
- browser (firefox? librewolf? others? +chromium for testing/ms)
- password manager, remotedesktop software
- git, neovim, possibly LSPs, possibly Go
- wireguard (symlink config too?)
- Steam if needed
- mpv, feh, $musicplayer