my over complex system configurations
dotfiles.isabelroses.com/
nixos
nix
flake
dotfiles
linux
1name: Build and Release ISO Images
2
3on:
4 workflow_dispatch:
5 schedule:
6 - cron: "0 4 1,15 * *" # Run on the 1st and 15th of every month at 4:00 AM UTC
7
8permissions:
9 attestations: write
10 contents: write
11
12jobs:
13 build-isos:
14 runs-on: ubuntu-latest
15
16 steps:
17 - name: Maximize Space
18 uses: easimon/maximize-build-space@fc881a613ad2a34aca9c9624518214ebc21dfc0c # v10
19 with:
20 overprovision-lvm: true
21 remove-android: true
22 remove-dotnet: true
23 remove-codeql: true
24 remove-haskell: true
25 remove-docker-images: true
26
27 - name: Checkout
28 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29 with:
30 persist-credentials: false
31
32 - name: Install Lix
33 uses: samueldr/lix-gha-installer-action@7b7f14d320d6aacfb65bd1ef761566b3b69e474c # v2026-02-22
34 with:
35 extra_nix_config: |
36 substituters = https://cache.nixos.org/ https://nix-community.cachix.org https://isabelroses.cachix.org https://catppuccin.cachix.org https://extersia.cachix.org
37 trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= isabelroses.cachix.org-1:mXdV/CMcPDaiTmkQ7/4+MzChpOe6Cb97njKmBQQmLPM= catppuccin.cachix.org-1:noG/4HkbhJb+lUAdKrph6LaozJvAeEEZj4N732IysmU= extersia.cachix.org-1:ZHy9765xrhn4lDKGTzWWykHC+B091oTqNxClgc78MQU=
38
39 # we shouldn't really be needing to do this, but sometimes lix isn't
40 # build before we get here
41 # https://git.lix.systems/lix-project/lix/issues/545
42 - name: Loosen apparmor restrictions
43 run: |
44 sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0
45 sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
46
47 - name: Build Lilith Iso
48 continue-on-error: false
49 run: |
50 nix build -L .#nixosConfigurations.lilith.config.system.build.isoImage
51 cp result/iso/*.iso ./lilith.iso
52
53 - name: Build config
54 run: |
55 nix build -L .#nixosConfigurations.amaterasu.config.home-manager.users.isabel.home-files
56 tar -czvhf dotfiles.tar.gz result/
57
58 - name: Upload Release Artifacts
59 run: gh release create "$(date +"%Y-%m-%d")" ./lilith.iso ./dotfiles.tar.gz
60 env:
61 GH_TOKEN: ${{ github.token }}