mirror of
https://github.com/ryantm/agenix.git
synced 2024-11-22 09:40:47 +03:00
Fix CI for darwin
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
This commit is contained in:
parent
23d4d5d291
commit
6ce42cc768
2 changed files with 17 additions and 7 deletions
20
.github/workflows/ci.yaml
vendored
20
.github/workflows/ci.yaml
vendored
|
@ -15,21 +15,29 @@ jobs:
|
||||||
- run: nix fmt . -- --check
|
- run: nix fmt . -- --check
|
||||||
- run: nix flake check
|
- run: nix flake check
|
||||||
tests-darwin:
|
tests-darwin:
|
||||||
runs-on: macos-11
|
runs-on: macos-12
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: cachix/install-nix-action@v22
|
- uses: cachix/install-nix-action@v24
|
||||||
with:
|
with:
|
||||||
extra_nix_config: "system-features = nixos-test benchmark big-parallel kvm"
|
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
|
||||||
- run: nix build .#doc
|
- run: nix build .#doc
|
||||||
- run: nix fmt . -- --check
|
- run: nix fmt . -- --check
|
||||||
- run: nix flake check
|
- run: nix flake check
|
||||||
- name: "Install nix-darwin module"
|
- name: "Install nix-darwin module"
|
||||||
run: |
|
run: |
|
||||||
system=$(nix build --no-link --print-out-paths .#checks.x86_64-darwin.integration)
|
# https://github.com/ryantm/agenix/pull/230#issuecomment-1867025385
|
||||||
${system}/activate-user
|
|
||||||
sudo ${system}/activate
|
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"
|
- name: "Test nix-darwin module"
|
||||||
run: |
|
run: |
|
||||||
sudo /run/current-system/sw/bin/agenix-integration
|
sudo /run/current-system/sw/bin/agenix-integration
|
||||||
|
|
|
@ -49,7 +49,9 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
./test/integration_darwin.nix
|
./test/integration_darwin.nix
|
||||||
darwin.darwinModules.simple
|
|
||||||
|
# Allow new-style nix commands in CI
|
||||||
|
{nix.extraOptions = "experimental-features = nix-command flakes";}
|
||||||
|
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue