<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archangel/custom/lib/disk.sh, 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: 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>Phase 2.1: Implement btrfs support</title>
<updated>2026-01-24T04:57:21+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-24T04:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=e6b958f97ecee9d7cd18c6c295e34c34bcdb8bba'/>
<id>urn:sha1:e6b958f97ecee9d7cd18c6c295e34c34bcdb8bba</id>
<content type='text'>
- Create lib/btrfs.sh with full btrfs installation functions
- Subvolume layout matching ZFS datasets (10 subvols)
- Snapper configuration with timeline policy
- GRUB + grub-btrfs for snapshot boot menu
- Update disk.sh for filesystem-aware partition type
- Update archangel with install_btrfs() path
- Update build.sh to include lib/btrfs.sh
- Update plan with Phase 2.7 (test) and 2.8 (LUKS)
</content>
</entry>
<entry>
<title>Fix set -e compatibility in lib functions</title>
<updated>2026-01-24T00:02:52+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-24T00:02:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=c4979e8c8aec181f2b335c65823f1311815777f5'/>
<id>urn:sha1:c4979e8c8aec181f2b335c65823f1311815777f5</id>
<content type='text'>
- Replace [[ ]] &amp;&amp; error pattern with if/then/fi
- Pattern causes exit when condition is false with set -e
- Fixed in: common.sh, config.sh, disk.sh, install-archzfs

Discovered during VM testing: the &amp;&amp; short-circuit returns exit
code 1 when condition is false, triggering set -e to abort.
</content>
</entry>
<entry>
<title>Phase 1.1: Create lib/ directory structure for archangel refactor</title>
<updated>2026-01-23T21:45:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-23T21:45:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=e0f8d37961d189197bd5b4379532adb5957dea02'/>
<id>urn:sha1:e0f8d37961d189197bd5b4379532adb5957dea02</id>
<content type='text'>
- Add custom/lib/common.sh: output, validation, fzf prompts, disk utils
- Add custom/lib/config.sh: argument parsing, config loading, validation
- Add custom/lib/disk.sh: partitioning, EFI management, disk selection
- Add custom/lib/zfs.sh: pool, datasets, ZFSBootMenu, services, hooks
- Update install-archzfs to source libs
- Remove duplicated output/config functions from main script

Prepares codebase for btrfs filesystem support (Phase 2).
</content>
</entry>
</feed>
