7403ed4980
This adds a Boolean option `uninstall`. When enabled this option will reset side-effecting configurations to their "empty" state. The intent is that this will cause the activation script to remove all managed files and packages. Doing it this way should hopefully be more robust than the previous solution. It also allows a somewhat more convenient uninstall process when using Flakes; put `uninstall = true` in your existing configuration and then do a switch. Also add simple uninstall test in CI test job.
32 lines
968 B
YAML
32 lines
968 B
YAML
name: Test
|
|
on:
|
|
pull_request:
|
|
schedule:
|
|
- cron: "30 2 * * *"
|
|
jobs:
|
|
tests:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: cachix/install-nix-action@v23
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v13
|
|
with:
|
|
name: nix-community
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
- run: |
|
|
if grep -R --exclude stdlib-extended.nix literalExample modules ; then
|
|
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
|
|
exit 1
|
|
fi
|
|
- run: nix-build --show-trace -A docs.jsonModuleMaintainers
|
|
- run: ./format -c
|
|
- run: nix-shell --show-trace . -A install
|
|
- run: yes | home-manager -I home-manager=. uninstall
|
|
- run: nix-shell --show-trace --arg enableBig false --pure tests -A run.all
|