<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archangel/custom, branch main</title>
<subtitle>Arch Linux installer ISO — ZFS-on-root or BTRFS, doubles as rescue disk
</subtitle>
<id>https://git.cjennings.net/archangel/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archangel/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/'/>
<updated>2026-02-23T17:54:25+00:00</updated>
<entry>
<title>refactor: rename custom/ to installer/ for clarity</title>
<updated>2026-02-23T17:54:25+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T17:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=fd2ea796b20bcbebea19c43978fb08e3cd6754ed'/>
<id>urn:sha1:fd2ea796b20bcbebea19c43978fb08e3cd6754ed</id>
<content type='text'>
The custom/ directory name was an archiso implementation detail. Renamed
to installer/ which clearly communicates that this directory contains the
installer scripts and utilities that ship on the ISO.

Updated all references in build.sh, Makefile, test-install.sh, and README.
</content>
</entry>
<entry>
<title>fix: support multi-disk LUKS and fix cryptkey format for btrfs</title>
<updated>2026-02-23T16:31:01+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T16:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=d5c98ed92942192b169ebb74b560d5ed81848df0'/>
<id>urn:sha1:d5c98ed92942192b169ebb74b560d5ed81848df0</id>
<content type='text'>
- Fix cryptkey parameter format: use rootfs: prefix so the encrypt hook
  finds the keyfile embedded in the initramfs (was treating bare path as
  a device name)
- Switch multi-disk LUKS to sd-encrypt hook which reads crypttab.initramfs
  to open ALL LUKS containers (the traditional encrypt hook only supports
  a single cryptdevice)
- Create crypttab.initramfs during LUKS initramfs setup
- Skip cryptdevice/cryptkey cmdline params for multi-disk LUKS since
  sd-encrypt reads crypttab instead
</content>
</entry>
<entry>
<title>fix: resolve remaining SC2155 warnings across all scripts</title>
<updated>2026-02-23T12:10:51+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:10:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=f667957b77eb5862248f41a89c68a4cbd7c633d9'/>
<id>urn:sha1:f667957b77eb5862248f41a89c68a4cbd7c633d9</id>
<content type='text'>
Declare and assign local variables separately in custom/archangel,
scripts/full-test.sh, scripts/test-install.sh, and remove unused
variable in custom/lib/zfs.sh.
</content>
</entry>
<entry>
<title>docs: update archangel.conf.example for btrfs support</title>
<updated>2026-02-23T12:08:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=4811ced2c222db1e80dbd3594f6e2bb50ed7218b'/>
<id>urn:sha1:4811ced2c222db1e80dbd3594f6e2bb50ed7218b</id>
<content type='text'>
Remove outdated "btrfs coming soon" note, add LUKS_PASSPHRASE option
for btrfs installs, and simplify encryption skip documentation to
cover both filesystem types.
</content>
</entry>
<entry>
<title>fix: resolve SC2155 shellcheck warnings in custom/lib/</title>
<updated>2026-02-23T12:05:25+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:05:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=1268a283526ca4b1d11d391ede944f055b4abafd'/>
<id>urn:sha1:1268a283526ca4b1d11d391ede944f055b4abafd</id>
<content type='text'>
Declare and assign local variables separately to avoid masking
return values from command substitutions.
</content>
</entry>
<entry>
<title>scrub personal info and make distribution targets configurable</title>
<updated>2026-02-23T12:02:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:02:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=2b842fcd47ac24b9da7f192f64b78f83e8fc45af'/>
<id>urn:sha1:2b842fcd47ac24b9da7f192f64b78f83e8fc45af</id>
<content type='text'>
Remove personal email addresses, hardcoded paths, and infrastructure
references to prepare for open-source release. Distribution targets
in build-release are now configurable via environment variables,
and archsetup inclusion is opt-in.
</content>
</entry>
<entry>
<title>chore: standardize shebangs, fix lint target, add .editorconfig</title>
<updated>2026-02-23T11:27:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T11:27:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=a171caf0b0a5541246f994155406e840b28390de'/>
<id>urn:sha1:a171caf0b0a5541246f994155406e840b28390de</id>
<content type='text'>
- Change all script shebangs to #!/usr/bin/env bash for portability
  (heredocs writing to installed systems keep #!/bin/bash)
- Remove || true from Makefile lint target so shellcheck errors fail the build
- Add .editorconfig for consistent formatting across editors
</content>
</entry>
<entry>
<title>fix: correct broken shebangs in zfssnapshot and zfsrollback</title>
<updated>2026-02-23T05:22:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T05:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=8ef5c24abd55d3fe7dafe93687be5928e0152c02'/>
<id>urn:sha1:8ef5c24abd55d3fe7dafe93687be5928e0152c02</id>
<content type='text'>
#!/bin/env bash doesn't exist — changed to #!/usr/bin/env bash.
</content>
</entry>
<entry>
<title>remove skeleton archsetup-zfs script</title>
<updated>2026-02-23T05:22:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T05:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=b8f4bf5e9caae747345dfab05ef9e5c2b2cb6de6'/>
<id>urn:sha1:b8f4bf5e9caae747345dfab05ef9e5c2b2cb6de6</id>
<content type='text'>
Non-functional stub that printed "this is a skeleton" — worse than
not having it. Removed from build.sh, Makefile, and file permissions.
</content>
</entry>
<entry>
<title>fix: archzfs key prompt hang, test false positive, add local distribution</title>
<updated>2026-02-12T18:06:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-12T18:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=5df64c76d386fd2de863d21a2b1269d53e1a39f9'/>
<id>urn:sha1:5df64c76d386fd2de863d21a2b1269d53e1a39f9</id>
<content type='text'>
- Change archzfs SigLevel to Never (pacstrap -K empty keyring caused
  interactive GPG prompt blocking unattended installs)
- Fix pgrep matching avahi-daemon's [archangel.local] in full-test.sh
- Bump install timeout to 30min for DKMS builds
- Add ~/downloads/isos and archsetup inbox to build-release distribution
- Sync templates
</content>
</entry>
</feed>
