diff --git a/base/absolution/configuration.nix b/base/absolution/configuration.nix index 8073c2e..be45aa9 100644 --- a/base/absolution/configuration.nix +++ b/base/absolution/configuration.nix @@ -66,6 +66,26 @@ }; }; + virtualisation = { + libvirtd = { + enable = true; + extraConfig = '' + user="alyx" + ''; + onShutdown = "shutdown"; + + qemu = { + ovmf.enable = true; + package = pkgs.qemu_kvm; + runAsRoot = true; + verbatimConfig = '' + namespaces = [] + ''; + }; + }; + spiceUSBRedirection.enable = true; + }; + security.polkit.enable = true; security.sudo.package = pkgs.sudo.override { withInsults = true; }; @@ -127,17 +147,10 @@ boot.loader.efi.canTouchEfiVariables = true; boot.initrd.systemd.enable = true; boot.loader.efi.efiSysMountPoint = "/boot/"; - boot.kernelParams = ["amdgpu.ppfeaturemask=0xffffffff" "amdgpu.seamless=1" "amdgpu.freesync_video=1" "initcall_blacklist=simpledrm_platform_driver_init" "pcie_acs_override=downstream,multifunction" "preempt=voluntary"]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out config.boot.kernelPackages.hid-t150.out ]; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; - boot.kernel.sysctl = { - "vm.max_map_count" = 2147483642; - }; - - hardware.display.outputs."DP-4".mode = "2560x1080@75"; services.monado = { enable = true; @@ -272,7 +285,7 @@ users.users.alyx = { isNormalUser = true; description = "Alyx"; - extraGroups = [ "openrazer" "pipewire" "gamemode" "inputs" "networkmanager" "wheel" "libvirtd" "camera" "qemu-libvirtd" "lxd" ]; + extraGroups = [ "openrazer" "pipewire" "gamemode" "inputs" "networkmanager" "wheel" "libvirtd" "camera" "qemu-libvirtd" "lxd" "uinput" "qemu-libvirt" "input" ]; packages = with pkgs; [ ]; }; diff --git a/base/absolution/default.nix b/base/absolution/default.nix index 086f27a..40a5189 100644 --- a/base/absolution/default.nix +++ b/base/absolution/default.nix @@ -6,7 +6,7 @@ ../substituters.nix ../fonts.nix ../greetd.nix - ../virtualisation/virtualisation.nix + #../virtualisation/virtualisation.nix ../udev.nix ]; } diff --git a/base/absolution/hardware-configuration.nix b/base/absolution/hardware-configuration.nix index 763c1f3..e6ece07 100644 --- a/base/absolution/hardware-configuration.nix +++ b/base/absolution/hardware-configuration.nix @@ -9,9 +9,19 @@ ]; boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "ehci_pci" "nvme" "usb_storage" "sd_mod" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" "vendor-reset" ]; + boot.kernelModules = [ "kvm-intel" "vfio_virqfd" "vhost-net" "v4l2loopback" "12c-dev" ]; + boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback vendor-reset hid-t150]; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + boot.kernel.sysctl = { + "vm.max_map_count" = 2147483642; + }; + boot.extraModprobeConfig = '' + options vfio-pci ids=1002:67df,1002:aaf0,1b21:2142,8086:8d26,8086:8d2d + options v4l2loopback devices=2 video_nr=1,2 card_label="Lenovo Camera" exclusive_caps=1 + ''; + + boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" "intel_iommu=on" "iommu=pt" "preempt=voluntary" ]; fileSystems."/" = { device = "/dev/disk/by-uuid/9d711676-b74f-4b8e-a5bb-d8e4864966e1"; diff --git a/base/virtualisation/virtualisation.nix b/base/virtualisation/virtualisation.nix index ca220a3..9a2cba7 100644 --- a/base/virtualisation/virtualisation.nix +++ b/base/virtualisation/virtualisation.nix @@ -15,10 +15,8 @@ qemu = { package = pkgs.qemu_kvm; ovmf = { - enable = true; - packages = [ pkgs.OVMFFull.fd ]; + enable = true; }; - vhostUserPackages = [ pkgs.virtiofsd ]; swtpm.enable = true; runAsRoot = true; }; @@ -52,6 +50,8 @@ "1002:67df" "1002:aaf0" "1b21:2142" + "8086:8d26" + "8086:8d2d" ]; ignoreMSRs = true; disablePCIeASPM = true; diff --git a/flake.lock b/flake.lock index a54799d..c30b78e 100644 --- a/flake.lock +++ b/flake.lock @@ -96,11 +96,11 @@ ] }, "locked": { - "lastModified": 1753693456, - "narHash": "sha256-5i5+9pPq80C37a/xqepLRYMHNw8CSh1S7o0ps+kkl3k=", + "lastModified": 1753812716, + "narHash": "sha256-OjnjoalP00CyV34zg6T+Un2QoYiHCdRvMbqrweopyyY=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7b7c6f520b51f3577bd6b7a7493d2cdbcb22ec6", + "rev": "2f588d275ebd8243be6c29e7bf3ec7409baa0aa7", "type": "github" }, "original": { @@ -143,11 +143,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753418232, - "narHash": "sha256-fMVYDv0/7v4qrbZmzfqkFeEpelME4bT5JQBfXL9zl/E=", + "lastModified": 1753764272, + "narHash": "sha256-8/tZ3ZJpplWaVxgMeRg26cUclBZ27UUnnJdzd+RQKqE=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "ca1145d927d177194fec4b0bf47a4b7dd2ed613d", + "rev": "448688ae3df3152fec412e583239473934109486", "type": "github" }, "original": { @@ -166,11 +166,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1753695258, - "narHash": "sha256-a+0PXuJ3YfpdL0Y+uX/GNOx5cSZSpNW0UglU/E1YdHw=", + "lastModified": 1753771004, + "narHash": "sha256-F2aQLyyj6AOKZbdJYXrqoeY/6Q4wypqW+DHR2yqUuIE=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "76d7de1a046d589b75967a597895f8e5efdc8e16", + "rev": "b4d7cf74f1d23d4176c4fa1f160b53ae4c81f494", "type": "github" }, "original": { @@ -314,11 +314,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1753667485, - "narHash": "sha256-pU0sWdUZKwYDoKORylS47CckVhsjBzc2Im25yya9mFA=", + "lastModified": 1753754623, + "narHash": "sha256-XNQ57RGQHaBfFphy1IekGy+nCJlPeQi6/vg1oa9JPfY=", "owner": "nix-community", "repo": "nixpkgs-xr", - "rev": "4564aa1da9f83c8238eaabe881697c7ce419051e", + "rev": "58aeae5249afc3cbfe690768392fcd504e1e914a", "type": "github" }, "original": { @@ -345,11 +345,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1753549186, - "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17f6bd177404d6d43017595c5264756764444ab8", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -361,27 +361,27 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1753549186, - "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", + "lastModified": 1753773966, + "narHash": "sha256-7FrVYeHkVG62XocPzy0fqIsSoGX148JNa+pn2fBVt+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17f6bd177404d6d43017595c5264756764444ab8", + "rev": "974b7c9047733353fd661f467d511f0bdac1c670", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1753549186, + "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "17f6bd177404d6d43017595c5264756764444ab8", "type": "github" }, "original": { @@ -415,11 +415,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1753655972, - "narHash": "sha256-x1gsih/gAiUo6qw/ZjcFm3KqKLL/P1f9HgPGoi8bXQI=", + "lastModified": 1753805595, + "narHash": "sha256-5m0FqObrj/0/nfoaKlgpye4+SZzj1nMPnlxGxlIxKNg=", "owner": "nix-community", "repo": "nixvim", - "rev": "4f584b5b366303510702b10c496ab27a44e90426", + "rev": "fe0bcc92c8c593d5e2b45ffb0d1253c3aa55eb72", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d4d700d..695c4a1 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "a shared collection of dots by cydiralis and beanigen"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; catppuccin.url = "github:catppuccin/nix"; diff --git a/home/default.nix b/home/default.nix index 4d9346d..96636d8 100644 --- a/home/default.nix +++ b/home/default.nix @@ -25,7 +25,7 @@ }; programs.ncmpcpp = { - enable = false; + enable = true; settings = { tags_separator = ";"; };