6ce42cc768
nix-darwin is detecting `/etc/nix/nix.conf` from the cachix/install-nix-action and refusing to overwrite it, failing the nix-darwin activation and therefore the rest of CI. This commit `mv`s the existing `nix.conf` to avoid the above, and then adds support for new-style nix commands and flakes to the nix-darwin configuration to allow their subsequent use in CI. It also removes the nix config from the `cachix/install-nix-action` step, which was duplicated effort since we are blowing it away with nix-darwin anyway. Relevant: - https://github.com/LnL7/nix-darwin/issues/149
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
name: "CI"
|
|
on:
|
|
pull_request:
|
|
push:
|
|
jobs:
|
|
tests-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: cachix/install-nix-action@v22
|
|
with:
|
|
extra_nix_config: "system-features = nixos-test benchmark big-parallel kvm"
|
|
- run: nix build
|
|
- run: nix build .#doc
|
|
- run: nix fmt . -- --check
|
|
- run: nix flake check
|
|
tests-darwin:
|
|
runs-on: macos-12
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: cachix/install-nix-action@v24
|
|
with:
|
|
extra_nix_config: |
|
|
system-features = nixos-test recursive-nix benchmark big-parallel kvm
|
|
extra-experimental-features = recursive-nix nix-command flakes
|
|
- run: nix build
|
|
- run: nix build .#doc
|
|
- run: nix fmt . -- --check
|
|
- run: nix flake check
|
|
- name: "Install nix-darwin module"
|
|
run: |
|
|
# https://github.com/ryantm/agenix/pull/230#issuecomment-1867025385
|
|
|
|
sudo mv /etc/nix/nix.conf{,.bak}
|
|
nix \
|
|
--extra-experimental-features 'nix-command flakes' \
|
|
build .#checks.x86_64-darwin.integration
|
|
|
|
./result/activate-user
|
|
sudo ./result/activate
|
|
- name: "Test nix-darwin module"
|
|
run: |
|
|
sudo /run/current-system/sw/bin/agenix-integration
|
|
- name: "Test home-manager module"
|
|
run: |
|
|
# Do the job of `home-manager switch` in-line to avoid rate limiting
|
|
nix build .#homeConfigurations.integration-darwin.activationPackage
|
|
./result/activate
|
|
~/agenix-home-integration/bin/agenix-home-integration
|