mirror of
https://github.com/cachix/install-nix-action.git
synced 2024-11-24 01:18:05 +00:00
feat: enable KVM on Linux if available
This commit is contained in:
parent
a56e3a8089
commit
fe19c91c6b
3 changed files with 18 additions and 0 deletions
|
@ -73,6 +73,8 @@ To install Nix from any commit, go to [the corresponding installer_test action](
|
||||||
|
|
||||||
- `nix_path`: set `NIX_PATH` environment variable, for example `nixpkgs=channel:nixos-unstable`
|
- `nix_path`: set `NIX_PATH` environment variable, for example `nixpkgs=channel:nixos-unstable`
|
||||||
|
|
||||||
|
- `enable_kvm`: whether to enable KVM for hardware-accelerated virtualization on Linux. Enabled by default if available.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
|
@ -12,6 +12,10 @@ inputs:
|
||||||
description: 'Additional installer flags passed to the installer script.'
|
description: 'Additional installer flags passed to the installer script.'
|
||||||
nix_path:
|
nix_path:
|
||||||
description: 'Set NIX_PATH environment variable.'
|
description: 'Set NIX_PATH environment variable.'
|
||||||
|
enable_kvm:
|
||||||
|
description: 'Enable KVM for hardware-accelerated virtualization on Linux, if available.'
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
branding:
|
branding:
|
||||||
color: 'blue'
|
color: 'blue'
|
||||||
icon: 'sun'
|
icon: 'sun'
|
||||||
|
@ -26,4 +30,5 @@ runs:
|
||||||
INPUT_INSTALL_OPTIONS: ${{ inputs.install_options }}
|
INPUT_INSTALL_OPTIONS: ${{ inputs.install_options }}
|
||||||
INPUT_INSTALL_URL: ${{ inputs.install_url }}
|
INPUT_INSTALL_URL: ${{ inputs.install_url }}
|
||||||
INPUT_NIX_PATH: ${{ inputs.nix_path }}
|
INPUT_NIX_PATH: ${{ inputs.nix_path }}
|
||||||
|
INPUT_ENABLE_KVM: ${{ inputs.enable_kvm }}
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
|
|
|
@ -6,6 +6,17 @@ if nix_path="$(type -p nix)" ; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ($OSTYPE =~ linux) && ($INPUT_ENABLE_KVM == 'true') ]]; then
|
||||||
|
enable_kvm() {
|
||||||
|
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-install-nix-action-kvm.rules
|
||||||
|
sudo udevadm control --reload-rules && sudo udevadm trigger --name-match=kvm
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '::group::Enabling KVM support'
|
||||||
|
enable_kvm && echo 'Enabled KVM' || echo 'KVM is not available'
|
||||||
|
echo '::endgroup::'
|
||||||
|
fi
|
||||||
|
|
||||||
# GitHub command to put the following log messages into a group which is collapsed by default
|
# GitHub command to put the following log messages into a group which is collapsed by default
|
||||||
echo "::group::Installing Nix"
|
echo "::group::Installing Nix"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue