Commit Graph
31 Commits
Author SHA1 Message Date
davidandClaude Opus 5.5 bd82063bbb Offer to send the log to us when an install or update fails
When update or install.sh fails and there's a terminal, ask whether to
send its log to the CoreDesktop team, with the option of reading exactly
what would be sent first. Nothing is sent without a yes, and nothing is
asked without a terminal. The new report command sends a log later
(report, report FILE) or shows what would be sent (report --view).

Before sending, the log is cleaned of terminal codes, and the home
folder, user name, host name, email addresses, IPv4 addresses and
Tailscale names are replaced. CoreDesktop's version, the kernel's, the
failed steps and sibling versions go along with it. The request format
the receiver on federated.sh implements is described at the top of
report.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 11:28:53 -07:00
davidandClaude Opus 5.5 54f9e12526 Log each install and update, and keep only the recent logs
shellcheck / shellcheck (push) Failing after 17s
Each run's output now goes to ~/.local/state/coredesktop/logs/, so what
failed can be read after the terminal is gone. In a terminal, update runs
itself under script(1), so everything it runs still sees a terminal, then
strips color codes and progress redraws from the log; otherwise it uses
tee. install.sh, usually piped into bash, uses tee, and runs configure
straight on the terminal, outside the log. Both name the log when
something fails. 95-cleanup.sh keeps the newest 10 update logs and 3
install logs.

The sudo keepalive loops no longer share the logged output, so their
sleep can't hold the log open after the run ends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 11:00:31 -07:00
davidandClaude Opus 5.5 cf862ecab0 Leave Wi-Fi to NetworkManager when archinstall turned on iwd as well
shellcheck / shellcheck (push) Failing after 14s
archinstall's "Copy ISO network configuration", which a user who connected
with iwctl may pick, turns on iwd and systemd-networkd. CoreDesktop then
turns on NetworkManager too, and after a restart two services fight over
the Wi-Fi card. system/wifi.sh disables iwd and systemd-networkd, without
stopping them, when NetworkManager is enabled and isn't set to use iwd
itself. install.sh runs it, and a migration runs it on existing machines.
The README tells users to choose NetworkManager in archinstall.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 13:46:32 -07:00
david c3ac9f49d0 improve version and mirror updating
shellcheck / shellcheck (push) Failing after 14s
2026-11-04 07:08:44 -07:00
david 1d9d759fb1 Turn off Winboat container and do some sandboxing
shellcheck / shellcheck (push) Failing after 16s
2026-11-02 09:05:22 -07:00
davidandClaude Opus 5.5 a102e6fe0b Check the machine before installing, and keep old shells' mise working
shellcheck / shellcheck (push) Successful in 11s
install.sh now stops early, with a clear message, if this isn't 64-bit
Arch, it's run as root, there's no internet, or sudo doesn't work.
system/preflight.sh then asks before going on with too little disk space
or / not on btrfs, and offers to switch another login screen to GDM and
PulseAudio to PipeWire. Keeping another login screen puts GDM in
services-off, so install and update stop failing to enable it; a
migration does the same on existing machines. It says nothing when all
is well, as refresh runs install.sh again.

Intel GPUs also get intel-media-driver for hardware video decoding, with
a migration for existing machines.

The mise migration links ~/.local/bin/mise to /usr/bin/mise instead of
deleting it, so shells opened before the update don't print an error at
every prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 08:25:46 -06:00
david 13057fe792 improve configure formatting
shellcheck / shellcheck (push) Successful in 11s
2026-10-31 08:15:11 -06:00
david 6770150b11 fix the fail2ban issues and other things
shellcheck / shellcheck (push) Successful in 11s
2026-10-31 08:10:05 -06:00
david 27115f8245 trim down install, tighten sshd 2026-10-31 07:23:08 -06:00
david eeeef3f61b fix cline-desktop and voxtype 2026-10-29 13:00:55 -06:00
david 0c0ddf56c6 Add Federated Calendar 2026-10-29 09:41:43 -06:00
david f00865b5ac fix sonarr and create audit 2026-10-27 10:31:00 -06:00
david 44c67c980f various improvements and fixes 2026-10-27 06:30:58 -06:00
david bbd6b83f64 Add the configure app 2026-10-26 15:16:53 -06:00
david a7310f4811 add pipx apps and terrahour 2026-10-26 11:22:03 -06:00
david 4593082c4a notification service initial 2026-10-26 10:49:54 -06:00
david c27354df20 add the version script 2026-10-26 10:42:26 -06:00
david 0905f858a9 numerous updates 2026-10-21 08:33:19 -06:00
david d8d93a45b5 remove interactivity 2026-10-20 07:30:04 -06:00
davidandClaude Opus 5.5 76fceee115 Add sibling command for installing and updating sibling projects
`sibling` asks for a git URL, clones the repo into
~/.local/share/siblings/<name>, runs its install.sh and confirms the
install. `sibling list` and `sibling remove` manage installed siblings.

updates.d/71-siblings.sh pulls every sibling during `update` and runs
its update.sh, reporting failures in the update summary.

Document the sibling contract in skills/sibling-project-format.md and
update the custom-hook guide to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:23:58 -06:00
david f10463b89c More fixes for update 2026-10-19 14:01:00 -06:00
david a65f07c22e fix update 2026-10-19 13:56:54 -06:00
david ca658dc20f various fixes 2026-09-29 14:03:04 -06:00
david 013acac303 update and refresh 2026-08-14 05:45:29 -06:00
david b1d4e2565f enable tailscaled daemon 2026-06-08 13:10:33 -06:00
david b5b2437164 update and refresh fixes 2026-05-20 08:56:22 -06:00
david 6d9c04f135 Add migrate 2026-05-07 05:47:57 -06:00
david 446babca90 bitwarden agent configure 2026-05-02 06:01:02 -06:00
david fdddf90c3b fix repo location 2026-04-29 07:24:45 -06:00
david 46a708c962 fix sudo password 2026-04-29 07:01:53 -06:00
david 0618ab178a Move to Federated Gitea 2026-04-29 06:49:40 -06:00