aboutsummaryrefslogtreecommitdiff
path: root/docs/post-install-checklist.org
blob: f0545a7fb54750f7cda026af7b281d3cf4dfbb42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#+TITLE: Post-Install Checklist
#+AUTHOR: Craig Jennings
#+DATE: 2026-08-08

* About

Manual steps a fresh archsetup install cannot automate — things that are
inherently interactive (pairing, account logins) or that need judgment on the
specific machine. Work through this after first boot. When a new manual step
is discovered during a machine setup, add it here rather than leaving it in a
session note; the installer's outro already points at the Proton Bridge steps,
and this file is the home for the rest.

Steps that CAN be automated don't belong here — file them as installer tasks
instead. The 2026-04-10 velox setup notes were triaged exactly that way:
microcode, radio state, and the ZFS /tmp mask went into the installer;
bluetooth pairing landed below.

* Checklist

** Run the post-rebuild check first

Before working through the manual steps below, run:

#+begin_src sh
~/code/archsetup/scripts/post-rebuild-check
#+end_src

It runs the five checks a rebuilt machine actually needs — failed units,
user units that are present but never enabled, =*.example= configs whose
real sibling is missing, gitignore-mode projects missing the working state
their own =.gitignore= names, and the signal-cli registration. Each prints
a line whether or not it finds anything; exit 1 means something needs
attention.

These are the gaps velox hit within two days of its 2026-08-13 reinstall,
and three of the five looked fine on casual inspection: a stowed unit file,
an enabled-looking timer, a present git clone. Run it again a day or two
after the install, once timers have had a chance to fail.

It normally finishes in a second or two. On a machine whose user systemd is
wedged it takes a couple of minutes instead, because every =systemctl= call
is bounded at five seconds and check 2 makes one per unit. That is the slow
case working as intended: it reports what it could not read rather than
hanging. Set =PRC_SYSTEMCTL_TIMEOUT= lower to cut the wait.

** Pair bluetooth peripherals

Pairing is inherently interactive (scan, pick the device, confirm), so it
can't ride the installer. For a mouse (e.g. the Logi M650):

#+begin_src sh
bluetoothctl
# inside the prompt:
#   scan on          — wait for the device to appear
#   pair <MAC>
#   trust <MAC>      — trust makes it auto-reconnect at boot
#   connect <MAC>
#   scan off
#+end_src

Trusted devices reconnect on their own after reboot; if one doesn't, check
=rfkill list= first (radios should be unblocked — TLP owns radio state and
enables bluetooth/wifi at startup per =/etc/tlp.d/01-custom.conf=).

** Brightness control on a machine installed before 2026-08-13

Only for a machine whose install predates =configure_backlight_access=. New
installs get the rule automatically, and a re-run of =archsetup= skips the
step because =essential_services= is already marked complete, so an older
machine needs one of these by hand:

#+begin_src bash
# either drop the rule in directly...
sudo tee /etc/udev/rules.d/90-backlight.rules > /dev/null << 'EOF'
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/usr/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/usr/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", RUN+="/usr/bin/chgrp video /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", RUN+="/usr/bin/chmod g+w /sys/class/leds/%k/brightness"
EOF
sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=backlight --action=add
sudo udevadm trigger --subsystem-match=leds --action=add

# ...or clear the marker and re-run just that step
sudo rm /var/lib/archsetup/state/essential_services
#+end_src

Verify: =ls -l /sys/class/backlight/*/brightness= shows group =video= with
=g+w=, and =brightnessctl -c backlight set 70%= succeeds without sudo.

Only laptops have these devices; on a desktop the rule is inert and nothing
needs doing.

** Proton Mail Bridge (cmail)

The installer's completion message carries the steps; recorded here too so
the checklist is complete:

1. Clone claude-templates to =~/projects/claude-templates= if missing.
2. Run =protonmail-bridge --cli=, log in, then quit.
3. Run =~/code/archsetup/scripts/cmail-setup-finish.sh=.
4. First mail sync: =mbsync cmail && mu index=.