improve configure formatting
shellcheck / shellcheck (push) Successful in 11s

This commit is contained in:
2026-10-31 08:15:11 -06:00
parent 6770150b11
commit 13057fe792
4 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -17,7 +17,7 @@ These scripts are based on the initial work of [Typecraft](https://www.youtube.c
- A 64-bit PC (x86_64) that can run Arch Linux, with an internet connection. - A 64-bit PC (x86_64) that can run Arch Linux, with an internet connection.
- At least 100 GB for / (the root partition). CoreDesktop installs a lot of software, about 50 GB, and `update` needs at least 10 GB free. - At least 100 GB for / (the root partition). CoreDesktop installs a lot of software, about 50 GB, and `update` needs at least 10 GB free.
- A fresh Arch Linux install with GNOME (see below). CoreDesktop changes system settings, so it's best not to run it on a machine you've already set up the way you like (see "What CoreDesktop changes on your system"). - A fresh Arch Linux install with GNOME (see below). CoreDesktop changes system settings, so it's best not to run it on a machine you've already set up the way you like (see "What CoreDesktop changes on your system").
- A Federated Computer Core is optional. Without one, everything works except what `configure core` sets up: your Core's apps, files, calendars and email, its Tailscale network, and backups. - A Federated Core is optional. Without one, everything works except what `configure core` sets up: your Core's apps, files, calendars and email, its Tailscale network, and backups.
## Installing Arch ## Installing Arch
@@ -60,7 +60,7 @@ wget -qO- https://gitea.federated.computer/Federated_Computer/coredesktop/raw/br
``` ```
3) Enter your password when asked, once at the start. Be patient: it takes a while. 3) Enter your password when asked, once at the start. Be patient: it takes a while.
4) At the end, it offers to run `configure`, which connects to your Federated Computer Core, sets up backups and signs you in to the AI agents (see "Configure" below). If the install brought in a newer kernel, it asks you to reboot first; run `configure` after the reboot. 4) At the end, it offers to run `configure`, which connects to your Federated Core, sets up backups and signs you in to the AI agents (see "Configure" below). If the install brought in a newer kernel, it asks you to reboot first; run `configure` after the reboot.
5) If something fails, just run the command again. It skips what's already done. 5) If something fails, just run the command again. It skips what's already done.
@@ -256,7 +256,7 @@ configure
It covers: It covers:
- **Your Federated Computer Core.** Give it your Superpanel's address (e.g. https://superpanel.example.com), your Core email, name and password, and it adds Superpanel to your applications, adds your Nextcloud (calendar, contacts and files) and email to GNOME's Online Accounts, and mounts your Nextcloud files at /mnt/example.com ("example.com" in the Files sidebar), and points Element at your Core's Matrix server. For Nextcloud and the files it creates a Nextcloud app password, which you can revoke in Nextcloud under Settings > Security. You can add more Cores: run `configure core` again and choose "Add a Core". Each gets its own Superpanel, Nextcloud, email and files; Element, Tailscale and backups use your main Core (the first one, unless you choose another). "Remove a Core" takes it off this computer and revokes its app password, and leaves everything on the Core itself as it is. If you change your Core password (e.g. in Superpanel), run `configure core` and choose "Your Core password changed": email keeps your Core password, so it saves the new one there, and it signs in to Nextcloud with it, which turns the app passwords for Nextcloud, files and backups back on (Nextcloud turns them off when your password changes), then checks each of them. To check that a Core still works from this computer, run `configure core` and choose "Test a Core": it signs in to Superpanel, Nextcloud, email, your files, Element's Matrix server and backups the way this computer does, says which work, and offers to fix those that don't (asking for your Core password if a fix needs it, e.g. to make a new app password for one that was revoked), then tests again. - **Your Federated Core.** Give it your Superpanel's address (e.g. https://superpanel.example.com), your Core email, name and password, and it adds Superpanel to your applications, adds your Nextcloud (calendar, contacts and files) and email to GNOME's Online Accounts, and mounts your Nextcloud files at /mnt/example.com ("example.com" in the Files sidebar), and points Element at your Core's Matrix server. For Nextcloud and the files it creates a Nextcloud app password, which you can revoke in Nextcloud under Settings > Security. You can add more Cores: run `configure core` again and choose "Add a Core". Each gets its own Superpanel, Nextcloud, email and files; Element, Tailscale and backups use your main Core (the first one, unless you choose another). "Remove a Core" takes it off this computer and revokes its app password, and leaves everything on the Core itself as it is. If you change your Core password (e.g. in Superpanel), run `configure core` and choose "Your Core password changed": email keeps your Core password, so it saves the new one there, and it signs in to Nextcloud with it, which turns the app passwords for Nextcloud, files and backups back on (Nextcloud turns them off when your password changes), then checks each of them. To check that a Core still works from this computer, run `configure core` and choose "Test a Core": it signs in to Superpanel, Nextcloud, email, your files, Element's Matrix server and backups the way this computer does, says which work, and offers to fix those that don't (asking for your Core password if a fix needs it, e.g. to make a new app password for one that was revoked), then tests again.
- **Your Core's Tailscale network.** Joins this computer to it through headscale.example.com, so you can reach your other machines on it. Set up your Core first. You sign in through a link it shows you; if this computer is on another Tailscale network, it moves it to your Core's. To leave your Core's network, run `configure tailscale` again. - **Your Core's Tailscale network.** Joins this computer to it through headscale.example.com, so you can reach your other machines on it. Set up your Core first. You sign in through a link it shows you; if this computer is on another Tailscale network, it moves it to your Core's. To leave your Core's network, run `configure tailscale` again.
- **Daily backups of your home folder** to your Nextcloud files, in a .backup-{machine name} folder, with restic. Set up your Core first. The backup is encrypted with a passphrase that `configure` shows you once: save it somewhere other than this computer, such as Bitwarden. It keeps 7 daily, 4 weekly and 6 monthly backups, and leaves out caches, things that can be reinstalled, and WinBoat's Windows VM (~/winboat). To leave out more, list paths in ~/.config/coredesktop/backup-exclude, one per line. restic reaches Nextcloud directly through rclone with its own Nextcloud app password, so the backup doesn't depend on the /mnt mount. See "Restoring from a backup" below. To turn backups off, run `configure backup` again; it also offers to delete the backups from your Nextcloud files (they go to Nextcloud's trash bin). - **Daily backups of your home folder** to your Nextcloud files, in a .backup-{machine name} folder, with restic. Set up your Core first. The backup is encrypted with a passphrase that `configure` shows you once: save it somewhere other than this computer, such as Bitwarden. It keeps 7 daily, 4 weekly and 6 monthly backups, and leaves out caches, things that can be reinstalled, and WinBoat's Windows VM (~/winboat). To leave out more, list paths in ~/.config/coredesktop/backup-exclude, one per line. restic reaches Nextcloud directly through rclone with its own Nextcloud app password, so the backup doesn't depend on the /mnt mount. See "Restoring from a backup" below. To turn backups off, run `configure backup` again; it also offers to delete the backups from your Nextcloud files (they go to Nextcloud's trash bin).
- **Tally for Plausible**, if your main Core runs Plausible Analytics: it's pointed at plausible.example.com. - **Tally for Plausible**, if your main Core runs Plausible Analytics: it's pointed at plausible.example.com.
Vendored
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# #
# Purpose : Set up the things CoreDesktop installs that need your input, such # Purpose : Set up the things CoreDesktop installs that need your input, such
# as connecting to your Federated Computer Core and signing in to # as connecting to your Federated Core and signing in to
# the AI agents. # the AI agents.
# #
# Each file in configure.d/ is one item. It sets TITLE and DESCRIPTION and # Each file in configure.d/ is one item. It sets TITLE and DESCRIPTION and
+2 -2
View File
@@ -2,7 +2,7 @@
# configure reads TITLE and DESCRIPTION # configure reads TITLE and DESCRIPTION
# shellcheck disable=SC2034 # shellcheck disable=SC2034
TITLE="Federated Computer Core" TITLE="Federated Core"
# shellcheck disable=SC2034 # shellcheck disable=SC2034
DESCRIPTION="Superpanel, Nextcloud, email, files and Element" DESCRIPTION="Superpanel, Nextcloud, email, files and Element"
@@ -150,7 +150,7 @@ setup_superpanel() {
rm -f "$icon" rm -f "$icon"
icon="applications-internet" icon="applications-internet"
fi fi
desktop_entry "$SUPERPANEL_DESKTOP" "Superpanel" "Manage your Federated Computer Core ($CORE_DOMAIN)" "$url" "$icon" desktop_entry "$SUPERPANEL_DESKTOP" "Superpanel" "Manage your Federated Core ($CORE_DOMAIN)" "$url" "$icon"
echo "Added Superpanel to your applications." echo "Added Superpanel to your applications."
} }
+1 -1
View File
@@ -226,7 +226,7 @@ fi
echo "Running migrations..." echo "Running migrations..."
run_migrations run_migrations
CONFIGURE_HINT="configure connects to your Federated Computer Core, sets up backups and signs you in to the AI agents." CONFIGURE_HINT="configure connects to your Federated Core, sets up backups and signs you in to the AI agents."
# If the running kernel's modules are gone, a newer kernel was installed during # If the running kernel's modules are gone, a newer kernel was installed during
# this run. configure waits for the reboot: until then, modules it needs, such # this run. configure waits for the reboot: until then, modules it needs, such