add allow unfree environment var
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -22,12 +23,14 @@ if [ "$HOOK_NAME" == "prepare" ] && [ "$STATE_NAME" == "begin" ]; then
|
|||||||
echo 0 > /sys/class/vtconsole/vtcon0/bind
|
echo 0 > /sys/class/vtconsole/vtcon0/bind
|
||||||
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
|
||||||
|
|||||||
@@ -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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user