diff --git a/hosts/miku.nix b/hosts/miku.nix index 01ed7f5..4171576 100644 --- a/hosts/miku.nix +++ b/hosts/miku.nix @@ -36,6 +36,7 @@ thunderbird anki gimp + xwaylandvideobridge #psst #lapce @@ -50,10 +51,10 @@ }; sway.enable = false; alacritty.enable = true; - emacs.enable = true; + #emacs.enable = true; firefox.enable = true; git.enable = true; - gnome-terminal.enable = true; + #gnome-terminal.enable = true; tmux.enable = true; waybar = { enable = true; @@ -105,30 +106,34 @@ }; virtualisation = { - podman = { + docker = { enable = true; - dockerCompat = true; + storageDriver = "btrfs"; }; - # docker = { - # enable = true; - # storageDriver = "btrfs"; - # }; }; boot = let - kernel = pkgs.linuxPackages_zen; + kernel = pkgs.linuxPackages_xanmod_latest; in { extraModprobeConfig = '' options kvm_amd nested=1 - options vfio-pci ids=1002:67df,1002:aaf0 ''; initrd = { - availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ]; + availableKernelModules = [ + "xhci_pci" + "ahci" + "usbhid" + "sd_mod" + "amdgpu" + "vendor-reset" + "winesync" + ]; kernelModules = [ "amdgpu" # GPU (duh) "kvm-amd" /*"vfio_virqfd"*/ "vfio_pci" "vfio_iommu_type1" "vfio" # Virt "uinput" # key-mapper "vendor-reset" + "winesync" ]; }; kernelParams = [ @@ -146,11 +151,13 @@ "mitigations=off" "rhgb" # Enable ZSwap - "zswap.enabled=1" + #"zswap.enabled=1" # Enable Apparmor "lsm=landlock,lockdown,yama,integrity,apparmor,bpf" # Prevent sequential probing "libahci.ignore_sss=1" + # Make the system less ready to swap + "sysctl.vm.swappiness=0" ]; kernel.sysctl = { # League of Legends under Linux @@ -160,11 +167,12 @@ }; extraModulePackages = [ kernel.vendor-reset ]; - - # NOTE: A regression appears to have happend between 5.10 and 5.12 - # which leads to the RX590 to have the fence fallback timer on - # sdma0 time out (whatever this means). Maybe bisect? kernelPackages = kernel; + + binfmt = { + emulatedSystems = [ "aarch64-linux" ]; + registrations.aarch64-linux.fixBinary = true; + }; }; services = { ratbagd.enable = true; @@ -190,6 +198,11 @@ motherboard = "amd"; }; }; + + system76-scheduler = { + enable = false; + useStockConfig = true; + }; }; programs = { cdemu = { diff --git a/lib/baseSystem.nix b/lib/baseSystem.nix index 99bb8f5..7e2fe7c 100644 --- a/lib/baseSystem.nix +++ b/lib/baseSystem.nix @@ -244,7 +244,10 @@ in { }; # Don't wait for a network connection - systemd.services.NetworkManager-wait-online.enable = false; + systemd = { + services.NetworkManager-wait-online.enable = false; + coredump.enable = false; + }; security.sudo.extraConfig = '' Defaults env_keep += "NIXOS_CONFIG" diff --git a/lib/mkSystem.nix b/lib/mkSystem.nix index 7ad8f6d..73d4b01 100644 --- a/lib/mkSystem.nix +++ b/lib/mkSystem.nix @@ -38,6 +38,8 @@ in inputs.nixpkgs.lib.nixosSystem { # Overlays (util.mkOverlayFromInput "stable" inputs.stable) (util.mkOverlayFromInput "unstable" inputs.nixpkgs) + + { nixpkgs.overlays = [ nur.overlay diff --git a/modules/programs/alacritty/default.nix b/modules/programs/alacritty/default.nix index 09682dd..b1a6bc1 100644 --- a/modules/programs/alacritty/default.nix +++ b/modules/programs/alacritty/default.nix @@ -30,7 +30,7 @@ in { dynamic_title = true; decorations = "full"; startup_mode = "Windowed"; - opacity = 0.7; + #opacity = 0.7; }; scrolling = { @@ -48,7 +48,6 @@ in { x = 0; y = 0; }; - use_thin_strokes = true; }; debug = { render_timer = false; @@ -111,7 +110,6 @@ in { live_config_reload = true; enable_experimental_conpty_backend = false; - alt_send_esc = true; key_bindings = [ { diff --git a/modules/programs/mpv/default.nix b/modules/programs/mpv/default.nix index 1bbd49f..f128a3d 100644 --- a/modules/programs/mpv/default.nix +++ b/modules/programs/mpv/default.nix @@ -1,10 +1,10 @@ { config, lib, pkgs, ... }: let - mkAnime4kShader = shader: "${pkgs.anime4k}/usr/share/shaders/${shader}"; + #mkAnime4kShader = shader: "${pkgs.anime4k}/usr/share/shaders/${shader}"; mkDefaultShader = shader: "${pkgs.mpv-shader-pack}/usr/share/shaders/${shader}"; - makeMpvProfile = { shader, gpuContext ? "waylandvk", additional ? {} }: { - glsl-shaders = shader; + makeMpvProfile = { shader ? null, gpuContext ? "waylandvk", additional ? {} }: { + glsl-shaders = lib.mkIf (shader != null) shader; scale = "ewa_lanczossharp"; cscale = "ewa_lanczossharp"; gpu-context = gpuContext; @@ -41,13 +41,13 @@ in { defaultProfiles = [ "anime" ]; profiles = { anime = (makeMpvProfile { - shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; + #shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; additional = { fullscreen = ""; }; }); anime-denoise = (makeMpvProfile { - shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; + #shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; }); non-anime = (makeMpvProfile { shader = mkDefaultShader "FSRCNNX_x2_8-0-4-1.glsl"; diff --git a/overlays/sandbox.nix b/overlays/sandbox.nix index 3bf836a..511ae41 100644 --- a/overlays/sandbox.nix +++ b/overlays/sandbox.nix @@ -28,7 +28,12 @@ in { prismlauncher-wrapped = wrapInSandbox { name = "prismlauncher"; - binary = "${prev.prismlauncher}/bin/prismlauncher"; + binary = let + script = prev.writeShellScript "prismlauncher-zink.sh" '' + export MESA_LOADER_DRIVER_OVERRIDE=zink + ${prev.prismlauncher}/bin/prismlauncher + ''; + in "${prev.prismlauncher}/bin/prismlauncher"; launchScriptName = "prismlauncher-wrapped"; mountInHome = [".local/share/PrismLauncher"]; additionalMounts = [ diff --git a/packages/applications/desktop/xwaylandvideobridge/default.nix b/packages/applications/desktop/xwaylandvideobridge/default.nix index 41d5c28..79bd297 100644 --- a/packages/applications/desktop/xwaylandvideobridge/default.nix +++ b/packages/applications/desktop/xwaylandvideobridge/default.nix @@ -14,9 +14,9 @@ stdenv.mkDerivation rec { src = fetchFromGitLab { owner = "davidedmundson"; repo = "xwaylandvideobridge"; - rev = "b876b5f3ee5cc810c99b08e8f0ebb29553e45e47"; + rev = "b9e0c53570f55f4e8289f72ba78f3945e27e1a1a"; domain = "invent.kde.org"; - sha256 = "sha256-gfQkOIZegxdFQ9IV2Qp/lLRtfI5/g6bDD3XRBdLh4q0="; + sha256 = "1ypg2c26r5fy9lr8shif5vqcp06yf7mqqj2ps5g00s7s3ykryxdn"; }; buildInputs = [ qtbase qtx11extras plasma-framework xorg.xcbproto kpipewire cmake pkg-config ];