Compare commits

...

35 commits
V28 ... master

Author SHA1 Message Date
sander 5261181216
Merge pull request #236 from Mic92/nix-2.28.3
Some checks failed
install-nix-action test / flakes (ubuntu-latest) (push) Failing after 58s
install-nix-action test / simple-build (ubuntu-latest) (push) Failing after 1m15s
install-nix-action test / extra-nix-config (ubuntu-latest) (push) Failing after 1m11s
install-nix-action test / act-support (ubuntu-latest) (push) Failing after 1m3s
install-nix-action test / custom-nix-path (ubuntu-latest) (push) Failing after 1m15s
install-nix-action test / oldest-supported-installer (ubuntu-latest) (push) Failing after 1m7s
install-nix-action test / latest-installer (ubuntu-latest, x86_64-linux) (push) Successful in 1m48s
install-nix-action test / simple-build (macos-13) (push) Has been cancelled
install-nix-action test / simple-build (macos-latest) (push) Has been cancelled
install-nix-action test / simple-build (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-13) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-latest) (push) Has been cancelled
install-nix-action test / custom-nix-path (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-13) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-latest) (push) Has been cancelled
install-nix-action test / extra-nix-config (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / flakes (macos-13) (push) Has been cancelled
install-nix-action test / flakes (macos-latest) (push) Has been cancelled
install-nix-action test / flakes (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / latest-installer (macos-13, x86_64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (macos-latest, aarch64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (ubuntu-24.04-arm, aarch64-linux) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-13) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-latest) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (ubuntu-24.04-arm) (push) Has been cancelled
2025-04-30 19:55:33 +04:00
Jörg Thalheim b2b89c6cb1 nix: 2.28.2 -> 2.28.3 2025-04-30 08:22:03 +02:00
sander 0c65bbe3c1
Merge pull request #235 from cachix/docs-aws-creds
Some checks failed
install-nix-action test / simple-build (ubuntu-latest) (push) Failing after 1m4s
install-nix-action test / custom-nix-path (ubuntu-latest) (push) Failing after 1m2s
install-nix-action test / flakes (ubuntu-latest) (push) Failing after 1m2s
install-nix-action test / extra-nix-config (ubuntu-latest) (push) Failing after 1m4s
install-nix-action test / act-support (ubuntu-latest) (push) Failing after 1m5s
install-nix-action test / oldest-supported-installer (ubuntu-latest) (push) Failing after 1m8s
install-nix-action test / latest-installer (ubuntu-latest, x86_64-linux) (push) Successful in 1m40s
install-nix-action test / simple-build (macos-13) (push) Has been cancelled
install-nix-action test / simple-build (macos-latest) (push) Has been cancelled
install-nix-action test / simple-build (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-13) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-latest) (push) Has been cancelled
install-nix-action test / custom-nix-path (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-13) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-latest) (push) Has been cancelled
install-nix-action test / extra-nix-config (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / flakes (macos-13) (push) Has been cancelled
install-nix-action test / flakes (macos-latest) (push) Has been cancelled
install-nix-action test / flakes (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / latest-installer (macos-13, x86_64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (macos-latest, aarch64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (ubuntu-24.04-arm, aarch64-linux) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-13) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-latest) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (ubuntu-24.04-arm) (push) Has been cancelled
2025-04-24 09:43:50 +02:00
Sander 4f800b725c
docs: document how to provide AWS credentials to the nix-daemon
Fixes #229.
2025-04-23 15:21:58 +04:00
sander 80f8d94dab
Merge pull request #234 from cachix/dependabot/github_actions/actions/checkout-4.2.2
Some checks failed
install-nix-action test / simple-build (macos-13) (push) Waiting to run
install-nix-action test / simple-build (macos-latest) (push) Waiting to run
install-nix-action test / simple-build (ubuntu-24.04-arm) (push) Waiting to run
install-nix-action test / custom-nix-path (macos-13) (push) Waiting to run
install-nix-action test / custom-nix-path (macos-latest) (push) Waiting to run
install-nix-action test / custom-nix-path (ubuntu-24.04-arm) (push) Waiting to run
install-nix-action test / extra-nix-config (macos-13) (push) Waiting to run
install-nix-action test / extra-nix-config (macos-latest) (push) Waiting to run
install-nix-action test / extra-nix-config (ubuntu-24.04-arm) (push) Waiting to run
install-nix-action test / flakes (macos-13) (push) Waiting to run
install-nix-action test / flakes (macos-latest) (push) Waiting to run
install-nix-action test / flakes (ubuntu-24.04-arm) (push) Waiting to run
install-nix-action test / latest-installer (macos-13, x86_64-darwin) (push) Waiting to run
install-nix-action test / latest-installer (macos-latest, aarch64-darwin) (push) Waiting to run
install-nix-action test / latest-installer (ubuntu-24.04-arm, aarch64-linux) (push) Waiting to run
install-nix-action test / oldest-supported-installer (macos-13) (push) Waiting to run
install-nix-action test / oldest-supported-installer (macos-latest) (push) Waiting to run
install-nix-action test / oldest-supported-installer (ubuntu-24.04-arm) (push) Waiting to run
install-nix-action test / simple-build (ubuntu-latest) (push) Failing after 1m12s
install-nix-action test / oldest-supported-installer (ubuntu-latest) (push) Failing after 1m5s
install-nix-action test / extra-nix-config (ubuntu-latest) (push) Failing after 1m15s
install-nix-action test / act-support (ubuntu-latest) (push) Failing after 1m11s
install-nix-action test / custom-nix-path (ubuntu-latest) (push) Failing after 1m23s
install-nix-action test / flakes (ubuntu-latest) (push) Failing after 1m21s
install-nix-action test / latest-installer (ubuntu-latest, x86_64-linux) (push) Successful in 1m56s
chore(deps): bump actions/checkout from 4.1.1 to 4.2.2
2025-04-23 13:18:03 +02:00
dependabot[bot] 83772d105a
chore(deps): bump actions/checkout from 4.1.1 to 4.2.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](b4ffde65f4...11bd71901b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 4.2.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 00:43:21 +00:00
sander 48cf9b5849
Merge pull request #201 from l0b0/feat/pin-actions
Some checks failed
install-nix-action test / custom-nix-path (ubuntu-latest) (push) Failing after 1m9s
install-nix-action test / extra-nix-config (ubuntu-latest) (push) Failing after 1m13s
install-nix-action test / flakes (ubuntu-latest) (push) Failing after 1m19s
install-nix-action test / simple-build (ubuntu-latest) (push) Failing after 1m25s
install-nix-action test / oldest-supported-installer (ubuntu-latest) (push) Failing after 1m22s
install-nix-action test / act-support (ubuntu-latest) (push) Failing after 1m20s
install-nix-action test / latest-installer (ubuntu-latest, x86_64-linux) (push) Successful in 1m46s
install-nix-action test / simple-build (macos-13) (push) Has been cancelled
install-nix-action test / simple-build (macos-latest) (push) Has been cancelled
install-nix-action test / simple-build (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-13) (push) Has been cancelled
install-nix-action test / custom-nix-path (macos-latest) (push) Has been cancelled
install-nix-action test / custom-nix-path (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-13) (push) Has been cancelled
install-nix-action test / extra-nix-config (macos-latest) (push) Has been cancelled
install-nix-action test / extra-nix-config (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / flakes (macos-13) (push) Has been cancelled
install-nix-action test / flakes (macos-latest) (push) Has been cancelled
install-nix-action test / flakes (ubuntu-24.04-arm) (push) Has been cancelled
install-nix-action test / latest-installer (macos-13, x86_64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (macos-latest, aarch64-darwin) (push) Has been cancelled
install-nix-action test / latest-installer (ubuntu-24.04-arm, aarch64-linux) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-13) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (macos-latest) (push) Has been cancelled
install-nix-action test / oldest-supported-installer (ubuntu-24.04-arm) (push) Has been cancelled
feat: Pin actions to hashes
2025-04-18 23:30:19 +02:00
Sander eafea807c1
remove unused gitignores 2025-04-19 01:29:11 +04:00
Sander 9b4ef2ff2d
docs: add release notes 2025-04-19 01:26:12 +04:00
sander 754537aaed
Merge pull request #232 from Mic92/nix-update
nix: 2.26.3 -> 2.28.2
2025-04-18 19:09:16 +02:00
Jörg Thalheim edf986efb3 nix: 2.26.3 -> 2.28.2 2025-04-18 10:45:31 +02:00
Victor Engmark f3ff3f99d8
feat: Pin actions to hashes
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`, and then
manually bumping the version tag to the relevant number.

This fixes the issue that it is common practice for GitHub Actions
authors to move major tags when releasing new minor versions.

Dependabot supports updating in the same fashion, bumping the version
tag when updating the hash.
2025-04-07 17:54:09 +02:00
sander d1ca217b38
Merge pull request #231 from Enzime/untrusted-users
action: add option to configure updating trusted users
2025-03-31 20:10:01 +02:00
Michael Hoang 21e6bcccb0 action: add option to configure updating trusted users 2025-04-01 01:07:35 +09:00
sander 53fb48f556
Merge pull request #230 from cachix/remove-deprecated-flag
Remove deprecated `--darwin-use-unencrypted-nix-store-volume` flag
2025-03-20 23:54:08 +00:00
Sander b21ff82707
Remove deprecated --darwin-use-unencrypted-nix-store-volume flag
Fixes the following warning:

```
Warning: the flag --darwin-use-unencrypted-nix-store-volume is no longer needed and will be removed in the future.
````
2025-03-20 22:59:31 +00:00
sander 02a151ada4
Merge pull request #228 from cachix/bump-nix
nix: 2.26.2 -> 2.26.3
2025-03-15 19:13:39 +00:00
Sander 066004291c
nix: 2.26.2 -> 2.26.3 2025-03-15 20:06:12 +01:00
Sander e8dbd0c992
docs: update readme with latest version 2025-03-10 17:58:37 +01:00
sander 91a0719595
Merge pull request #226 from Mic92/nix-update 2025-02-20 00:36:56 +04:00
Jörg Thalheim d81eadf041 nix: 2.25.2 -> 2.26.2 2025-02-14 11:25:14 +07:00
sander 3d69a1d4d2
Merge pull request #221 from msgilligan/msgilligan/github-test-aarch64-linux 2025-01-20 01:23:27 +04:00
Sean Gilligan 265a04a520 GitHub test.yml: add ubuntu-24.04-arm to matrix 2025-01-16 12:24:48 -08:00
sander 89fd1e98db
Merge pull request #220 from cachix/fix-master-tests
ci: fix latest installer tests
2024-12-31 13:32:15 +04:00
Sander a76df16350
ci: bump nixpkgs channel 2024-12-31 13:11:14 +04:00
Sander a49b703498
ci: fix act test 2024-12-31 13:00:44 +04:00
Sander f3f544c44b
ci: fix latest installer tests 2024-12-31 12:55:55 +04:00
Domen Kožar 14344b39ca
Merge pull request #218 from Mic92/nix-upgrade
nix: 2.24.9 -> 2.25.2
2024-11-26 08:35:08 +00:00
Jörg Thalheim b1deb06f62 nix: 2.24.9 -> 2.25.2 2024-11-26 07:16:14 +01:00
Domen Kožar 08dcb3a5e6
Merge pull request #217 from Enzime/bump
nix: 2.24.8 -> 2.24.9
2024-10-03 11:07:41 +01:00
Michael Hoang 4204e15198 nix: 2.24.8 -> 2.24.9 2024-10-03 12:35:16 +10:00
Domen Kožar 6a10e2e9fd
Merge pull request #216 from Mic92/nix-bump
Nix: 2.24.7 -> 2.24.8
2024-09-27 17:20:20 +01:00
Jörg Thalheim 2bb614e91a Nix: 2.24.7 -> 2.24.8
https://github.com/NixOS/nix/security/advisories/GHSA-6fjr-mq49-mm2c
2024-09-27 13:50:59 +02:00
Domen Kožar 9f70348d77
Merge pull request #215 from Mic92/nix-bump
Nix: 2.24.6 -> 2.24.7
2024-09-25 10:22:29 +01:00
Jörg Thalheim 4f91dc2b65 Nix: 2.24.6 -> 2.24.7
This version fixes GC bugs, which can be triggered under memory
pressure. Since GitHub runners are at times memory constraint,
it would be good to get this out.
2024-09-25 08:50:50 +02:00
6 changed files with 153 additions and 120 deletions

View file

@ -6,11 +6,8 @@ on:
- master
env:
nixpkgs_channel: nixpkgs=channel:nixos-24.05
nixpkgs_channel: nixpkgs=channel:nixos-24.11
oldest_supported_installer: nix-2.8.0
# Fetch new versions from the Nix CI run: https://github.com/NixOS/nix/blob/master/.github/workflows/ci.yml
# TODO: add pinning upstream or rethink this
pinned_installer_hash: zfzfrbb59jsqrfkldwj8drcr9nhhc49k
jobs:
simple-build:
@ -19,11 +16,12 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Nix
uses: ./
with:
@ -40,11 +38,12 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Nix
uses: ./
with:
@ -58,11 +57,12 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Nix
uses: ./
with:
@ -78,32 +78,43 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Nix
uses: ./
- run: nix flake show github:NixOS/nixpkgs
installer-options:
latest-installer:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
# - macos-latest missing installer for aarch64-darwin
- macos-13
include:
- os: ubuntu-latest
system: x86_64-linux
- os: ubuntu-24.04-arm
system: aarch64-linux
- os: macos-latest
system: aarch64-darwin
- os: macos-13
system: x86_64-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run NAR server
run: |
curl --location https://github.com/cachix/nar-toolbox/releases/download/v0.1.0/nar-toolbox-${{ matrix.system }} -O
chmod +x ./nar-toolbox-${{ matrix.system }}
./nar-toolbox-${{ matrix.system }} serve https://cache.nixos.org &
- name: Install Nix
uses: ./
with:
nix_path: ${{ env.nixpkgs_channel }}
install_options: --tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve
install_url: https://nixos-nix-install-tests.cachix.org/serve/${{ env.pinned_installer_hash }}/install
install_url: https://hydra.nixos.org/job/nix/master/installerScript/latest-finished/download/1/install
install_options: "--tarball-url-prefix http://localhost:8080"
- run: nix-build test.nix
oldest-supported-installer:
@ -112,11 +123,12 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Nix
uses: ./
with:
@ -130,7 +142,11 @@ jobs:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
- run: docker pull ghcr.io/catthehacker/ubuntu:js-20.04
- run: ./bin/act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-20.04 push -j simple-build
- run: docker pull ghcr.io/catthehacker/ubuntu:js-24.04
- run: |
./bin/act push \
-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-24.04 \
-j simple-build \
--matrix os:ubuntu-latest

93
.gitignore vendored
View file

@ -1,93 +1,2 @@
__tests__/runner/*
# comment out in distribution branches
node_modules/
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
.env*

View file

@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix-build
@ -52,7 +52,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: cachix/install-nix-action@v31
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- run: nix build
@ -75,6 +75,8 @@ To install Nix from any commit, go to [the corresponding installer_test action](
- `enable_kvm`: whether to enable KVM for hardware-accelerated virtualization on Linux. Enabled by default if available.
- `set_as_trusted_user`: whether to add the current user to `trusted-users`. Enabled by default.
## Differences from the default Nix installer
@ -146,7 +148,7 @@ Otherwise, you can add any binary cache to nix.conf using
install-nix-action's own `extra_nix_config` input:
```yaml
- uses: cachix/install-nix-action@v27
- uses: cachix/install-nix-action@v31
with:
extra_nix_config: |
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
@ -172,3 +174,59 @@ Or you can disable pure mode entirely with the `--impure` flag:
```
nix develop --impure
```
### How do I pass AWS credentials to the Nix daemon?
In multi-user mode, Nix commands that operate on the Nix store are forwarded to a privileged daemon. This daemon runs in a separate context from your GitHub Actions workflow and cannot access the workflow's environment variables. Consequently, any secrets or credentials defined in your workflow environment will not be available to Nix operations that require store access.
There are two ways to pass AWS credentials to the Nix daemon:
- Configure a default profile using the AWS CLI
- Install Nix in single-user mode
#### Configure a default profile using the AWS CLI
The Nix daemon supports reading AWS credentials from the `~/.aws/credentials` file.
We can use the AWS CLI to configure a default profile using short-lived credentials fetched using OIDC:
```yaml
job:
build:
runs-on: ubuntu-latest
# Required permissions to request AWS credentials
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- name: Assume AWS Role
uses: aws-actions/configure-aws-credentials@v4.1.0
with:
aws-region: us-east-1
role-to-assume: arn:aws-cn:iam::123456789100:role/my-github-actions-role
- name: Make AWS Credentials accessible to nix-daemon
run: |
sudo -i aws configure set aws_access_key_id "${AWS_ACCESS_KEY_ID}"
sudo -i aws configure set aws_secret_access_key "${AWS_SECRET_ACCESS_KEY}"
sudo -i aws configure set aws_session_token "${AWS_SESSION_TOKEN}"
sudo -i aws configure set region "${AWS_REGION}"
```
#### Install Nix in single-user mode
In some environments it may be possible to install Nix in single-user mode by passing the `--no-daemon` flag to the installer.
This mode is normally used on platforms without an init system, like systemd, and in containerized environments with a single user that can own the entire Nix store.
This approach is more generic as it allows passing environment variables directly to Nix, including secrets, proxy settings, and other configuration options.
However, it may not be suitable for all environments. [Consult the Nix manual](https://nix.dev/manual/nix/latest/installation/nix-security) for the latest restrictions and differences between the two modes.
For example, single-user mode is currently supported on hosted Linux GitHub runners, like `ubuntu-latest`.
It is not supported on macOS runners, like `macos-latest`.
```yaml
- uses: cachix/install-nix-action@v31
with:
install_options: --no-daemon
```

44
RELEASE.md Normal file
View file

@ -0,0 +1,44 @@
# Release
As of v31, releases of this action follow Semantic Versioning.
### Publishing a new release
#### Publish the release
Draft [a new release on GitHub](https://github.com/cachix/install-nix-action/releases):
- In `Choose a tag`, create a new tag, like `v31.2.1`, following semver.
- Click `Generate release notes`.
- `Set as the latest release` should be selected automatically.
- Publish release
#### Update the major tag
The major tag, like `v31`, allows downstream users to opt-in to automatic non-breaking updates.
This process follows GitHub's own guidelines:
https://github.com/actions/toolkit/blob/main/docs/action-versioning.md
##### Fetch the latest tags
```
git pull --tags --force
```
##### Move the tag
```
git tag -fa v31
```
```
git push origin v31 --force
```
#### Update the release notes for the major tag
Find the release on GitHub: https://github.com/cachix/install-nix-action/releases
Edit the release and click `Generate release notes`.
Edit the formatting and publish.

View file

@ -5,7 +5,7 @@ inputs:
extra_nix_config:
description: 'Gets appended to `/etc/nix/nix.conf` if passed.'
github_access_token:
description: 'Configure nix to pull from github using the given github token.'
description: 'Configure Nix to pull from GitHub using the given GitHub token.'
install_url:
description: 'Installation URL that will contain a script to install Nix.'
install_options:
@ -16,6 +16,10 @@ inputs:
description: 'Enable KVM for hardware-accelerated virtualization on Linux, if available.'
required: false
default: true
set_as_trusted_user:
description: 'Add current user to `trusted-users`.'
required: false
default: true
branding:
color: 'blue'
icon: 'sun'
@ -31,4 +35,5 @@ runs:
INPUT_INSTALL_URL: ${{ inputs.install_url }}
INPUT_NIX_PATH: ${{ inputs.nix_path }}
INPUT_ENABLE_KVM: ${{ inputs.enable_kvm }}
INPUT_SET_AS_TRUSTED_USER: ${{ inputs.set_as_trusted_user }}
GITHUB_TOKEN: ${{ github.token }}

View file

@ -34,8 +34,10 @@ add_config "max-jobs = auto"
if [[ $OSTYPE =~ darwin ]]; then
add_config "ssl-cert-file = /etc/ssl/cert.pem"
fi
# Allow binary caches for user
add_config "trusted-users = root ${USER:-}"
# Allow binary caches specified at user level
if [[ $INPUT_SET_AS_TRUSTED_USER == 'true' ]]; then
add_config "trusted-users = root ${USER:-}"
fi
# Add a GitHub access token.
# Token-less access is subject to lower rate limits.
if [[ -n "${INPUT_GITHUB_ACCESS_TOKEN:-}" ]]; then
@ -65,7 +67,6 @@ fi
# Nix installer flags
installer_options=(
--no-channel-add
--darwin-use-unencrypted-nix-store-volume
--nix-extra-conf-file "$workdir/nix.conf"
)
@ -93,7 +94,7 @@ echo "installer options: ${installer_options[*]}"
# There is --retry-on-errors, but only newer curl versions support that
curl_retries=5
while ! curl -sS -o "$workdir/install" -v --fail -L "${INPUT_INSTALL_URL:-https://releases.nixos.org/nix/nix-2.24.6/install}"
while ! curl -sS -o "$workdir/install" -v --fail -L "${INPUT_INSTALL_URL:-https://releases.nixos.org/nix/nix-2.28.3/install}"
do
sleep 1
((curl_retries--))