Compare commits

..

No commits in common. "91910ec46e3d761d12a20068e8a0af4f98c57b57" and "4b6290c3c793c0c12ca59de7192a6ce7a88babe1" have entirely different histories.

11 changed files with 170 additions and 100 deletions

View File

@ -25,11 +25,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1693879203, "lastModified": 1689700121,
"narHash": "sha256-0CGMa3MxeG3YsVetUtxg6eZumQIe8FJ+WHVfR2ko9zM=", "narHash": "sha256-YoKqbhyIQUCF7hGQNABMvcSfc9IgIFyxa6ZRInD5W+Q=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "3adaef3b1bebdc244a03ee19f705f5a3190a33d9", "rev": "bb06a68dba7b316472dab0a7255a3ea21be45812",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -64,11 +64,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1692799911, "lastModified": 1689068808,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -82,11 +82,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1692799911, "lastModified": 1689068808,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -175,11 +175,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1693859358, "lastModified": 1689495092,
"narHash": "sha256-r3Pak/ao3p8weTzR+Ry3qQrfRsmSOwWW5sAe73mrYKs=", "narHash": "sha256-yZu2j5FpLZEPhJQQutMCPTxa1VMigLPabLYvLTq6ASM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "886ea1d213efd1082f419d066e89ef37635dc970", "rev": "2f84579a70b8c74e5ebb37299a0c3ba279f09382",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -387,11 +387,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1693718952, "lastModified": 1689320556,
"narHash": "sha256-+nGdJlgTk0MPN7NygopipmyylVuAVi7OItIwTlwtGnw=", "narHash": "sha256-vODUkZLWFVCvo1KPK3dC2CbXjxa9antEn5ozwlcTr48=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "793de77d9f83418b428e8ba70d1e42c6507d0d35", "rev": "d4ea64f2063820120c05f6ba93ee02e6d4671d6b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -419,11 +419,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1693663421, "lastModified": 1689534811,
"narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e56990880811a451abd32515698c712788be5720", "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -435,11 +435,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1693771906, "lastModified": 1689605451,
"narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", "narHash": "sha256-u2qp2k9V1smCfk6rdUcgMKvBj3G9jVvaPHyeXinjN9E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", "rev": "53657afe29748b3e462f1f892287b7e254c26d77",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -467,15 +467,15 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1693565476, "lastModified": 1689373857,
"narHash": "sha256-ya00zHt7YbPo3ve/wNZ/6nts61xt7wK/APa6aZAfey0=", "narHash": "sha256-mtBksyvhhT98Zsm9tYHuMKuLwUKDwv+BGTl6K5nOGhY=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "aa8aa7e2ea35ce655297e8322dc82bf77a31d04b", "rev": "dfdbcc428f365071f0ca3888f6ec8c25c3792885",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -483,11 +483,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1693663421, "lastModified": 1689534811,
"narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e56990880811a451abd32515698c712788be5720", "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -589,11 +589,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1693907142, "lastModified": 1689705562,
"narHash": "sha256-U3yzshaxSUAC6Hy5xGmlX1TySHoWjH++Y2cC9ujEmZc=", "narHash": "sha256-5++xa1AWV9tl8LWGdKzVaRNcdjM5Svhyv4Bjhfwk3B8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "283964d2452632c9b0ccc8eff08d242a073b022f", "rev": "092ea7443f334c362cc5429612846f6193a7de11",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -53,12 +53,10 @@
overlays = [ overlays = [
self.overlay self.overlay
(import ./overlays/sandbox.nix)
]; ];
}; };
in { in {
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli rgb_keyboard prismlauncher-wrapped anime4k; inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli rgb_keyboard;
}; };
}); });
} }

View File

@ -36,7 +36,6 @@
thunderbird thunderbird
anki anki
gimp gimp
xwaylandvideobridge
#psst #psst
#lapce #lapce
@ -51,10 +50,10 @@
}; };
sway.enable = false; sway.enable = false;
alacritty.enable = true; alacritty.enable = true;
#emacs.enable = true; emacs.enable = true;
firefox.enable = true; firefox.enable = true;
git.enable = true; git.enable = true;
#gnome-terminal.enable = true; gnome-terminal.enable = true;
tmux.enable = true; tmux.enable = true;
waybar = { waybar = {
enable = true; enable = true;
@ -106,34 +105,30 @@
}; };
virtualisation = { virtualisation = {
docker = { podman = {
enable = true; enable = true;
storageDriver = "btrfs"; dockerCompat = true;
}; };
# docker = {
# enable = true;
# storageDriver = "btrfs";
# };
}; };
boot = let boot = let
kernel = pkgs.linuxPackages_xanmod_latest; kernel = pkgs.linuxPackages_zen;
in { in {
extraModprobeConfig = '' extraModprobeConfig = ''
options kvm_amd nested=1 options kvm_amd nested=1
options vfio-pci ids=1002:67df,1002:aaf0
''; '';
initrd = { initrd = {
availableKernelModules = [ availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ];
"xhci_pci"
"ahci"
"usbhid"
"sd_mod"
"amdgpu"
"vendor-reset"
"winesync"
];
kernelModules = [ kernelModules = [
"amdgpu" # GPU (duh) "amdgpu" # GPU (duh)
"kvm-amd" /*"vfio_virqfd"*/ "vfio_pci" "vfio_iommu_type1" "vfio" # Virt "kvm-amd" /*"vfio_virqfd"*/ "vfio_pci" "vfio_iommu_type1" "vfio" # Virt
"uinput" # key-mapper "uinput" # key-mapper
"vendor-reset" "vendor-reset"
"winesync"
]; ];
}; };
kernelParams = [ kernelParams = [
@ -151,13 +146,11 @@
"mitigations=off" "mitigations=off"
"rhgb" "rhgb"
# Enable ZSwap # Enable ZSwap
#"zswap.enabled=1" "zswap.enabled=1"
# Enable Apparmor # Enable Apparmor
"lsm=landlock,lockdown,yama,integrity,apparmor,bpf" "lsm=landlock,lockdown,yama,integrity,apparmor,bpf"
# Prevent sequential probing # Prevent sequential probing
"libahci.ignore_sss=1" "libahci.ignore_sss=1"
# Make the system less ready to swap
"sysctl.vm.swappiness=0"
]; ];
kernel.sysctl = { kernel.sysctl = {
# League of Legends under Linux # League of Legends under Linux
@ -167,12 +160,11 @@
}; };
extraModulePackages = [ kernel.vendor-reset ]; extraModulePackages = [ kernel.vendor-reset ];
kernelPackages = kernel;
binfmt = { # NOTE: A regression appears to have happend between 5.10 and 5.12
emulatedSystems = [ "aarch64-linux" ]; # which leads to the RX590 to have the fence fallback timer on
registrations.aarch64-linux.fixBinary = true; # sdma0 time out (whatever this means). Maybe bisect?
}; kernelPackages = kernel;
}; };
services = { services = {
ratbagd.enable = true; ratbagd.enable = true;
@ -198,11 +190,6 @@
motherboard = "amd"; motherboard = "amd";
}; };
}; };
system76-scheduler = {
enable = false;
useStockConfig = true;
};
}; };
programs = { programs = {
cdemu = { cdemu = {

View File

@ -244,10 +244,7 @@ in {
}; };
# Don't wait for a network connection # Don't wait for a network connection
systemd = { systemd.services.NetworkManager-wait-online.enable = false;
services.NetworkManager-wait-online.enable = false;
coredump.enable = false;
};
security.sudo.extraConfig = '' security.sudo.extraConfig = ''
Defaults env_keep += "NIXOS_CONFIG" Defaults env_keep += "NIXOS_CONFIG"

View File

@ -38,8 +38,6 @@ in inputs.nixpkgs.lib.nixosSystem {
# Overlays # Overlays
(util.mkOverlayFromInput "stable" inputs.stable) (util.mkOverlayFromInput "stable" inputs.stable)
(util.mkOverlayFromInput "unstable" inputs.nixpkgs) (util.mkOverlayFromInput "unstable" inputs.nixpkgs)
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
nur.overlay nur.overlay

View File

@ -30,7 +30,7 @@ in {
dynamic_title = true; dynamic_title = true;
decorations = "full"; decorations = "full";
startup_mode = "Windowed"; startup_mode = "Windowed";
#opacity = 0.7; opacity = 0.7;
}; };
scrolling = { scrolling = {
@ -48,6 +48,7 @@ in {
x = 0; x = 0;
y = 0; y = 0;
}; };
use_thin_strokes = true;
}; };
debug = { debug = {
render_timer = false; render_timer = false;
@ -110,6 +111,7 @@ in {
live_config_reload = true; live_config_reload = true;
enable_experimental_conpty_backend = false; enable_experimental_conpty_backend = false;
alt_send_esc = true;
key_bindings = [ key_bindings = [
{ {

View File

@ -37,16 +37,13 @@ in {
# Gameplay clip editing # Gameplay clip editing
kdenlive kdenlive
# Better experience
gamescope
# Performance # Performance
corectrl corectrl
]; ];
programs.gamescope = {
enable = true;
capSysNice = true;
args = ["--rt"];
};
# security.wrappers.gamescope = { # security.wrappers.gamescope = {
# owner = "alexander"; # owner = "alexander";
# group = "alexander"; # group = "alexander";

View File

@ -1,10 +1,10 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let 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}"; mkDefaultShader = shader: "${pkgs.mpv-shader-pack}/usr/share/shaders/${shader}";
makeMpvProfile = { shader ? null, gpuContext ? "waylandvk", additional ? {} }: { makeMpvProfile = { shader, gpuContext ? "waylandvk", additional ? {} }: {
glsl-shaders = lib.mkIf (shader != null) shader; glsl-shaders = shader;
scale = "ewa_lanczossharp"; scale = "ewa_lanczossharp";
cscale = "ewa_lanczossharp"; cscale = "ewa_lanczossharp";
gpu-context = gpuContext; gpu-context = gpuContext;
@ -41,13 +41,13 @@ in {
defaultProfiles = [ "anime" ]; defaultProfiles = [ "anime" ];
profiles = { profiles = {
anime = (makeMpvProfile { anime = (makeMpvProfile {
#shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
additional = { additional = {
fullscreen = ""; fullscreen = "";
}; };
}); });
anime-denoise = (makeMpvProfile { anime-denoise = (makeMpvProfile {
#shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl"; shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
}); });
non-anime = (makeMpvProfile { non-anime = (makeMpvProfile {
shader = mkDefaultShader "FSRCNNX_x2_8-0-4-1.glsl"; shader = mkDefaultShader "FSRCNNX_x2_8-0-4-1.glsl";

View File

@ -26,22 +26,17 @@ in {
enableDesktopFile = true; enableDesktopFile = true;
}; };
prismlauncher-wrapped = wrapInSandbox { # prismlauncher-wrapped = wrapInSandbox {
name = "prismlauncher"; # name = "prismlauncher";
binary = let # binary = "${prev.prismlauncher}/bin/prismlauncher";
script = prev.writeShellScript "prismlauncher-zink.sh" '' # launchScriptName = "prismlauncher-wrapped";
export MESA_LOADER_DRIVER_OVERRIDE=zink # mountInHome = [".local/share/PrismLauncher"];
${prev.prismlauncher}/bin/prismlauncher # additionalMounts = [
''; # "/etc/profile"
in "${prev.prismlauncher}/bin/prismlauncher"; # ];
launchScriptName = "prismlauncher-wrapped"; # additionalBlacklist = [ "/mnt" ];
mountInHome = [".local/share/PrismLauncher"]; # chdirTo = "/home/$USER";
additionalMounts = [ # };
"/etc/profile"
];
additionalBlacklist = [ "/mnt" ];
chdirTo = "/home/$USER";
};
steam-wrapped = wrapInSandbox { steam-wrapped = wrapInSandbox {
name = "steam-wrapped"; name = "steam-wrapped";

View File

@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "davidedmundson"; owner = "davidedmundson";
repo = "xwaylandvideobridge"; repo = "xwaylandvideobridge";
rev = "b9e0c53570f55f4e8289f72ba78f3945e27e1a1a"; rev = "b876b5f3ee5cc810c99b08e8f0ebb29553e45e47";
domain = "invent.kde.org"; domain = "invent.kde.org";
sha256 = "1ypg2c26r5fy9lr8shif5vqcp06yf7mqqj2ps5g00s7s3ykryxdn"; sha256 = "sha256-gfQkOIZegxdFQ9IV2Qp/lLRtfI5/g6bDD3XRBdLh4q0=";
}; };
buildInputs = [ qtbase qtx11extras plasma-framework xorg.xcbproto kpipewire cmake pkg-config ]; buildInputs = [ qtbase qtx11extras plasma-framework xorg.xcbproto kpipewire cmake pkg-config ];

View File

@ -0,0 +1,96 @@
# From https://github.com/Jovian-Experiments/Jovian-NixOS/blob/d27526e7917671ad3a64f823f4b95b761f96807d/pkgs/gamescope/default.nix
{ stdenv
, fetchFromGitHub
, meson
, pkg-config
, cmake
, ninja
, xorg
, libdrm
, vulkan-loader
, wayland
, wayland-protocols
, libxkbcommon
, libcap
, SDL2
, pipewire
, mesa
, udev
, pixman
, libinput
, libseat
, xwayland
, glslang
, stb
, wlroots
, libliftoff
}:
let
in
stdenv.mkDerivation {
pname = "gamescope";
version = "3.11.28-beta4";
src = fetchFromGitHub {
owner = "Plagman";
repo = "gamescope";
rev = "refs/tags/3.11.28-beta4";
hash = "sha256-3L3bQIPPfScvtN1dduh10dQu/AuTmD4dHNp3JjBIBLA=";
};
buildInputs = [
xorg.libX11
xorg.libXdamage
xorg.libXcomposite
xorg.libXrender
xorg.libXext
xorg.libXxf86vm
xorg.libXtst
xorg.libXres
libdrm
vulkan-loader
wayland
wayland-protocols
libxkbcommon
libcap
SDL2
pipewire
mesa
udev
pixman
libinput
libseat
xwayland
xorg.xcbutilwm
xorg.xcbutilerrors
glslang
xorg.libXi
];
prePatch = ''
echo ":: Copying stb"
cp -vr "${stb.src}" subprojects/stb
chmod -R +w subprojects/stb
cp "subprojects/packagefiles/stb/meson.build" "subprojects/stb/"
echo ":: Copying wlroots"
rmdir subprojects/wlroots
cp -vr "${wlroots.src}" subprojects/wlroots
chmod -R +w subprojects/wlroots
echo ":: Copying libliftoff"
rmdir subprojects/libliftoff
cp -vr "${libliftoff.src}" subprojects/libliftoff
chmod -R +w subprojects/libliftoff
'';
nativeBuildInputs = [
cmake
meson
pkg-config
ninja
];
dontUseCmakeConfigure = true;
}