add allow unfree environment var

This commit is contained in:
Kopatz
2024-04-26 13:41:54 +02:00
parent 23cfa51d6c
commit 2e25a58edd
4 changed files with 15 additions and 8 deletions

View File

@@ -17,6 +17,7 @@
update = "sudo nixos-rebuild switch"; update = "sudo nixos-rebuild switch";
updateFancy = "nh os switch"; updateFancy = "nh os switch";
updateOffline = "sudo nixos-rebuild switch --option substitute false"; updateOffline = "sudo nixos-rebuild switch --option substitute false";
goto = "cd $(find ~/projects -maxdepth 2 -type d | ${pkgs.fzf}/bin/fzf)";
}; };
oh-my-zsh = { oh-my-zsh = {
enable = true; enable = true;

View File

@@ -32,7 +32,7 @@ in
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+ # Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting. # Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false; open = true;
# Enable the Nvidia settings menu, # Enable the Nvidia settings menu,
# accessible via `nvidia-settings`. # accessible via `nvidia-settings`.
nvidiaSettings = true; nvidiaSettings = true;

View File

@@ -10,6 +10,7 @@ STATE_NAME="$3"
GPU_PCI="pci_0000_2b_00_0" GPU_PCI="pci_0000_2b_00_0"
GPU_AUDIO_PCI="pci_0000_2b_00_1" GPU_AUDIO_PCI="pci_0000_2b_00_1"
#GPU_MODULES="nvidia_uvm nvidia_drm nvidia_modeset nvidia" #GPU_MODULES="nvidia_uvm nvidia_drm nvidia_modeset nvidia"
set -x
if [[ ! "$GUEST_NAME" =~ ^gpu_passthrough ]]; then if [[ ! "$GUEST_NAME" =~ ^gpu_passthrough ]]; then
exit 0 exit 0
@@ -23,11 +24,13 @@ if [ "$HOOK_NAME" == "prepare" ] && [ "$STATE_NAME" == "begin" ]; then
echo 0 > /sys/class/vtconsole/vtcon1/bind echo 0 > /sys/class/vtconsole/vtcon1/bind
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
sleep 2
# Unload kernel module # Unload kernel module
modprobe -r nvidia_uvm rmmod nvidia_uvm
modprobe -r nvidia_drm rmmod nvidia_drm
modprobe -r nvidia_modeset rmmod nvidia_modeset
modprobe -r nvidia rmmod nvidia
# Detach GPU from host # Detach GPU from host
virsh nodedev-detach $GPU_PCI virsh nodedev-detach $GPU_PCI
@@ -37,13 +40,12 @@ if [ "$HOOK_NAME" == "prepare" ] && [ "$STATE_NAME" == "begin" ]; then
modprobe vfio-pci modprobe vfio-pci
elif [ "$HOOK_NAME" == "release" ] && [ "$STATE_NAME" == "end" ]; then elif [ "$HOOK_NAME" == "release" ] && [ "$STATE_NAME" == "end" ]; then
# Unload VFIO kernel modules # Unload VFIO kernel modules
modprobe -r vfio-pci #modprobe -r vfio-pci
# Reattach GPU TO host # Reattach GPU TO host
virsh nodedev-reattach $GPU_PCI virsh nodedev-reattach $GPU_PCI
virsh nodedev-reattach $GPU_AUDIO_PCI virsh nodedev-reattach $GPU_AUDIO_PCI
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
# Load NVIDIA kernel modules # Load NVIDIA kernel modules
modprobe nvidia modprobe nvidia
@@ -53,6 +55,7 @@ elif [ "$HOOK_NAME" == "release" ] && [ "$STATE_NAME" == "end" ]; then
echo 1 > /sys/class/vtconsole/vtcon0/bind echo 1 > /sys/class/vtconsole/vtcon0/bind
echo 1 > /sys/class/vtconsole/vtcon1/bind echo 1 > /sys/class/vtconsole/vtcon1/bind
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
# Start DM # Start DM
systemctl start display-manager.service systemctl start display-manager.service
fi fi

View File

@@ -13,6 +13,9 @@ in
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.registry.nixpkgs.flake = pkgsVersion; nix.registry.nixpkgs.flake = pkgsVersion;
nix.nixPath = ["nixpkgs=flake:nixpkgs"]; nix.nixPath = ["nixpkgs=flake:nixpkgs"];
home-manager.users.${config.mainUser.name}.home.sessionVariables.NIX_PATH = "nixpkgs=flake:nixpkgs$\{NIX_PATH:+:$NIX_PATH}"; home-manager.users.${config.mainUser.name}.home.sessionVariables = {
NIX_PATH = "nixpkgs=flake:nixpkgs$\{NIX_PATH:+:$NIX_PATH}";
NIXPKGS_ALLOW_UNFREE = "1";
};
}; };
} }