Compare commits

...

38 Commits

Author SHA1 Message Date
fd8f18eeec undo accidental closing bracket removal 2026-01-27 07:26:10 +01:00
501e35ae45 remove non-functional controller fix 2026-01-27 07:25:42 +01:00
65fc0ace0e cachy kernel 2026-01-27 07:24:24 +01:00
dc8f70b344 bump flake inputs 2026-01-27 01:49:45 +01:00
5cc90d85f7 supposedly working 360 wireless controller fix 2026-01-27 01:49:31 +01:00
75491e90e7 enable performance tuning 2026-01-27 01:24:33 +01:00
819b81d8d2 fix mistake from copypasting boilerplate 2026-01-27 01:23:30 +01:00
fe4f291ef8 fix typo in dir name 2026-01-27 01:23:07 +01:00
da46fc7eca allow touching efi vars 2026-01-27 01:20:49 +01:00
58206b4c80 add performance tuning stuff 2026-01-27 01:20:40 +01:00
1e02adf3cf update vesktop appimage 2026-01-27 01:20:15 +01:00
15b75b0010 override framerate 2026-01-27 01:20:05 +01:00
6d34c7dbd0 update boot partition to new drive 2026-01-26 23:04:10 +01:00
8681424692 fix renamed warning 2026-01-23 20:05:07 +01:00
0956fccdc6 fix moved to top-level warning 2026-01-23 20:03:58 +01:00
1e187a7cee removed doubled services keyword 2026-01-23 20:03:04 +01:00
9dab3f0608 fix semicolon 2026-01-23 20:02:07 +01:00
26d59c7ca6 reference local linux-wallpaperengine package 2026-01-23 20:00:47 +01:00
9bc5922e49 remove per-home gamescope declaration 2026-01-23 20:00:29 +01:00
2e3ef5fd47 add global gamemode support 2026-01-23 19:59:54 +01:00
415f3bb057 add kitty as required for default hyprland config 2026-01-23 19:59:42 +01:00
bcc2ca5cf0 fixed another omitted semicolon 2026-01-23 19:58:54 +01:00
c202dbcdec add htop 2026-01-23 19:58:38 +01:00
f3b6a5cddd housekeeping 2026-01-23 19:58:32 +01:00
191733ec51 trying steam fixes 2026-01-23 19:57:11 +01:00
881a047c75 linux-wallpaperengine version upgrade 2026-01-23 19:56:52 +01:00
95c1b53699 fix omitted semicolon 2026-01-23 19:55:38 +01:00
aecc12a945 fix korganizer 2026-01-23 19:54:57 +01:00
b5afdc5817 use desktop-environment module 2026-01-23 19:54:23 +01:00
ab9acedf49 working desktop environment config 2026-01-23 19:53:43 +01:00
0e31504687 use cosmic greeter 2026-01-23 19:53:22 +01:00
85147137b0 intel x11 fixes 2026-01-22 09:30:51 +01:00
914b88ac82 deprecate old hardware config files 2026-01-22 09:30:27 +01:00
646f35e5d4 add more up to date wallpaperengine 2026-01-22 09:25:26 +01:00
3ed8d601a2 desktop-environment 2026-01-22 09:18:56 +01:00
02a99d31fa change to multiline for better diffs 2026-01-20 16:45:43 +01:00
2be93bd323 try to fix akonadi 2026-01-18 18:45:29 +01:00
6a43859425 use zen kernel 2026-01-18 18:45:23 +01:00
16 changed files with 510 additions and 197 deletions

171
flake.lock generated
View File

@@ -43,6 +43,38 @@
"type": "github"
}
},
"cachyos-kernel": {
"flake": false,
"locked": {
"lastModified": 1769201405,
"narHash": "sha256-k/KQL7J9ZnLlF28E6ywGpfo5dxkuxCcEtJ/XEZDTw3M=",
"owner": "CachyOS",
"repo": "linux-cachyos",
"rev": "ff53672af48a106f52857d62c9275b165cc452ef",
"type": "github"
},
"original": {
"owner": "CachyOS",
"repo": "linux-cachyos",
"type": "github"
}
},
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1769199354,
"narHash": "sha256-y1DKMryOr1w4xcZnDkaZjvENIPmr3j/YB4Srtfd3I2Y=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "c8b990198baf3c34b64e4e5c5ffeb7c068eede1a",
"type": "github"
},
"original": {
"owner": "CachyOS",
"repo": "kernel-patches",
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1754269165,
@@ -93,11 +125,27 @@
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1765121682,
"narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=",
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
@@ -106,7 +154,7 @@
"type": "github"
}
},
"flake-compat_4": {
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1650374568,
@@ -143,6 +191,24 @@
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -247,11 +313,11 @@
]
},
"locked": {
"lastModified": 1768434960,
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
"lastModified": 1769450270,
"narHash": "sha256-pdVm/zJazDUAasTyHFX/Pbrlk9Upjxi0yzgn7GjGe4g=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
"rev": "a10c1e8f5ad2589414407f4851c221cb66270257",
"type": "github"
},
"original": {
@@ -268,11 +334,11 @@
]
},
"locked": {
"lastModified": 1767104570,
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=",
"lastModified": 1768434960,
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf",
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
"type": "github"
},
"original": {
@@ -328,19 +394,42 @@
"type": "github"
}
},
"nix-cachyos-kernel": {
"inputs": {
"cachyos-kernel": "cachyos-kernel",
"cachyos-kernel-patches": "cachyos-kernel-patches",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1769363279,
"narHash": "sha256-XJCuB8GWkFLRFBR6GQoxRB9/lobB45ERp0JN0Lo2nvs=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "4aa98db78c1d663c3dad59775e95ad93fe58a844",
"type": "github"
},
"original": {
"owner": "xddxdd",
"ref": "release",
"repo": "nix-cachyos-kernel",
"type": "github"
}
},
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-compat": "flake-compat_4",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1768404695,
"narHash": "sha256-eT3dNE2CQYcPDHaeRZAEFrZ0BmMq2wLxMp7hCmzOZBA=",
"lastModified": 1769217863,
"narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "d0d3636b9d174c4558e3bbb18e194d970505fed8",
"rev": "38a5250e57f583662eac3b944830e4b9e169e965",
"type": "github"
},
"original": {
@@ -366,13 +455,44 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1768305791,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"lastModified": 1769300497,
"narHash": "sha256-W7NbQnQGqUPRnpHOlLXk3g52TSQDkFVzhax9YNv9K+U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"rev": "60f9d776547020ff3be5a2cfbd0a457fddd88ecc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"type": "github"
},
"original": {
@@ -416,8 +536,9 @@
"home-manager": "home-manager",
"kwin-effects-forceblur": "kwin-effects-forceblur",
"lanzaboote": "lanzaboote",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"snowfall-lib": "snowfall-lib",
"sops-nix": "sops-nix",
"trilium-next-pr": "trilium-next-pr",
@@ -465,7 +586,7 @@
},
"snowfall-lib": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-compat": "flake-compat_5",
"flake-utils-plus": "flake-utils-plus",
"nixpkgs": [
"nixpkgs"
@@ -492,11 +613,11 @@
]
},
"locked": {
"lastModified": 1768481291,
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=",
"lastModified": 1769469829,
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
"owner": "mic92",
"repo": "sops-nix",
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101",
"rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
"type": "github"
},
"original": {
@@ -592,11 +713,11 @@
]
},
"locked": {
"lastModified": 1768379550,
"narHash": "sha256-z94S29l5V86h11LZbPIMbHTJyksDG63aqISsZkTTuJY=",
"lastModified": 1769431876,
"narHash": "sha256-FnOW+ulwocxfYGVKV2H/7MlSbn52+hfX9oaRR6FClZ4=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "06f61b4e4f4f6ba8027c96a5611c63dc0db12b90",
"rev": "d5ef79d18dca7617aefe511db8267d47f7cf953f",
"type": "github"
},
"original": {

View File

@@ -50,6 +50,7 @@
url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
};
outputs = inputs:
@@ -88,8 +89,21 @@
lib.mkFlake {
inherit inputs;
src = ./.;
overlays = with inputs; [
# Use the exact kernel versions as defined in this repo.
# Guarantees you have binary cache.
nix-cachyos-kernel.overlays.pinned
# Alternatively, build the kernels on top of nixpkgs version in your flake.
# This might cause version mismatch/build failures!
# nix-cachyos-kernel.overlays.default
# Only use one of the two overlays!
];
nixos = with inputs; [
# disko.nixosModules.disko
# impermanence.nixosModules.impermanence
home-manager.nixosModules.home-manager

View File

@@ -22,7 +22,6 @@ in
home = {
packages = [
pkgs.nil
pkgs.gamemode
pkgs.beeper
pkgs.my-namespace.udev-steelseries
pkgs.qbittorrent
@@ -41,7 +40,7 @@ in
[Desktop Entry]
Type=Application
Name=Wallpaper Engine
Exec=${pkgs.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 --screen-root DP-2 --bg 2935872330
Exec=${pkgs.my-namespace.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 -f 12 --screen-root DP-2 --bg 2935872330 -f 12
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false
'';

View File

@@ -20,7 +20,6 @@ in
home = {
packages = [
pkgs.nil
pkgs.gamemode
pkgs.beeper
pkgs.my-namespace.udev-steelseries
pkgs.qbittorrent

View File

@@ -2,12 +2,12 @@
let
inherit (lib) mkEnableOption mkIf;
cfg = config.my-namespace.home.vesktop-appimage;
vesktopVersion = "1.6.1";
vesktopVersion = "1.6.4";
vesktopAppImage = pkgs.runCommand "vesktop-appimage" { } ''
cp ${pkgs.fetchurl {
url = "https://github.com/Vencord/Vesktop/releases/download/v${vesktopVersion}/Vesktop-${vesktopVersion}.AppImage";
sha256 = "sha256-zK098H7iiOEe5y5YhgsUCPYVQQPcsnZw6/6q6Nx7h+w=";
sha256 = "sha256-o7A8DBQyutONeLp5rstq9hQko2xxbvYZvGGM8/YOQ8s=";
}} $out
chmod +x $out
'';

View File

@@ -0,0 +1,98 @@
{ config, lib, pkgs, namespace, ... }:
let
cfg = config.${namespace}.desktop-environment;
in {
options.${namespace}.desktop-environment = {
xfce = {
enable = lib.mkEnableOption "XFCE desktop environment";
};
gnome = {
enable = lib.mkEnableOption "GNOME desktop environment";
};
kde = {
enable = lib.mkEnableOption "KDE Plasma desktop environment";
};
cosmic = {
enable = lib.mkEnableOption "Cosmic desktop environment";
};
hyprland = {
enable = lib.mkEnableOption "hyprland Wayland shell";
};
};
config = lib.mkMerge [
(lib.mkIf cfg.xfce.enable {
services.xserver = {
enable = true;
desktopManager = {
xfce.enable = true;
};
};
environment.systemPackages = with pkgs; [
xfce4-pulseaudio-plugin
xfce4-clipman-plugin
xfce4-screenshooter
xfce4-whiskermenu-plugin
thunar-archive-plugin
thunar-volman
gvfs
gnome-keyring
libgnome-keyring
];
})
(lib.mkIf cfg.gnome.enable {
services.xserver = {
enable = true;
};
services.desktopManager.gnome.enable = true;
environment.systemPackages = with pkgs; [
gnome-tweaks
gnome-software
gnomeExtensions.pop-shell
gnome-remote-desktop
];
})
(lib.mkIf cfg.kde.enable {
services.xserver.enable = true;
services.desktopManager.plasma6.enable = true;
environment.systemPackages = with pkgs; [
kdePackages.qtwebsockets
kdePackages.qtwebchannel
kdePackages.korganizer
kdePackages.akonadi
kdePackages.akonadi-calendar
kdePackages.akonadi-contacts
kdePackages.kaddressbook
kdePackages.kmail
kdePackages.kdepim-runtime
kdePackages.kontact
kdePackages.kidentitymanagement
kdePackages.libkdepim
kdePackages.kwin
kdePackages.plasma-workspace
gnome-keyring
libgnome-keyring
];
})
(lib.mkIf cfg.cosmic.enable {
services.desktopManager.cosmic.enable = true;
services.desktopManager.cosmic.xwayland.enable = true;
environment.systemPackages = with pkgs; [
gnome-keyring
libgnome-keyring
];
})
(lib.mkIf cfg.hyprland.enable {
programs.hyprland.enable = true; # enable Hyprland
environment.systemPackages = with pkgs; [
pkgs.kitty # required for the default Hyprland config
];
})
];
}

View File

@@ -0,0 +1,23 @@
{ config, lib, pkgs, namespace, ... }:
let
cfg = config.${namespace}.performance-tuning;
in {
options.${namespace}.performance-tuning.enable = lib.mkEnableOption "XFCE desktop environment";
config = lib.mkIf cfg.enable {
boot.kernelParams = [
"nvme_core.default_ps_max_latency_us=0"
];
boot.kernel.sysctl = {
"vm.swappiness" = 10;
"vm.dirty_ratio" = 10;
"vm.dirty_background_ratio" = 5;
};
services.pipewire.extraConfig.pipewire."context.properties" = {
"default.clock.quantum" = 256;
"default.clock.min-quantum" = 128;
};
};
}

View File

@@ -29,7 +29,6 @@
# capSysNice = true;
# };
environment.systemPackages = with pkgs; [
steam
protonup-ng # Tool to install and manage Proton-GE
lutris
vkd3d
@@ -38,10 +37,18 @@
protontricks
mangohud
vkbasalt
gamemode
gamescope
];
programs.steam = {
enable = true;
package = pkgs.steam.override {
extraPkgs = pkgs: with pkgs; [
gamemode
];
extraEnv = {
SDL_VIDEODRIVER = "wayland";
};
};
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers

View File

@@ -0,0 +1,135 @@
{
lib,
stdenv,
fetchFromGitHub,
autoPatchelfHook,
cmake,
file,
pkg-config,
python3,
SDL2,
SDL2_mixer,
cef-binary,
egl-wayland,
ffmpeg,
fftw,
glew,
glfw,
glm,
gmp,
kissfftFloat,
libxau,
libxdmcp,
libxpm,
libxrandr,
libxxf86vm,
libdecor,
libffi,
libglut,
libpng,
libpulseaudio,
lz4,
mpv,
wayland,
wayland-protocols,
wayland-scanner,
zlib,
nix-update-script,
inputs,
namespace, ...
}:
let
cef = cef-binary.override {
version = "135.0.17"; # follow upstream. https://github.com/Almamu/linux-wallpaperengine/blob/b39f12757908eda9f4c1039613b914606568bb84/CMakeLists.txt#L47
gitRevision = "cbc1c5b";
chromiumVersion = "135.0.7049.52";
srcHashes = {
aarch64-linux = "sha256-LK5JvtcmuwCavK7LnWmMF2UDpM5iIZOmsuZS/t9koDs=";
x86_64-linux = "sha256-JKwZgOYr57GuosM31r1Lx3DczYs35HxtuUs5fxPsTcY=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "linux-wallpaperengine";
version = "0-unstable-2025-12-19";
src = fetchFromGitHub {
owner = "Almamu";
repo = "linux-wallpaperengine";
rev = "f79c29f067b2613895419e351033582464577154";
fetchSubmodules = true;
hash = "sha256-AISdouVqMXTYErQoT7oM5H+vlrw03NtpI9FqDwZ0J9A=";
};
nativeBuildInputs = [
autoPatchelfHook
cmake
file
pkg-config
python3
];
buildInputs = [
SDL2
SDL2_mixer
egl-wayland
ffmpeg
fftw
glew
glfw
glm
gmp
kissfftFloat
libxau
libxdmcp
libxpm
libxrandr
libxxf86vm
libdecor
libffi
libglut
libpng
libpulseaudio
lz4
mpv
wayland
wayland-protocols
wayland-scanner
zlib
];
cmakeFlags = [
"-DCEF_ROOT=${cef}"
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/share/linux-wallpaperengine"
];
postInstall = ''
rm -rf $out/bin $out/lib $out/include
chmod 755 $out/share/linux-wallpaperengine/linux-wallpaperengine
mkdir $out/bin
ln -s $out/share/linux-wallpaperengine/linux-wallpaperengine $out/bin/linux-wallpaperengine
'';
preFixup = ''
find $out/share/linux-wallpaperengine -type f -exec file {} \; | grep 'ELF' | cut -d: -f1 | while read -r elf_file; do
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$elf_file"
done
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
description = "Wallpaper Engine backgrounds for Linux";
homepage = "https://github.com/Almamu/linux-wallpaperengine";
license = lib.licenses.gpl3Plus;
mainProgram = "linux-wallpaperengine";
maintainers = [ ];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
hydraPlatforms = [ "x86_64-linux" ]; # Hydra "aarch64-linux" fails with "Output limit exceeded"
};
})

View File

@@ -44,25 +44,16 @@
services = {
# Enable Gnome Session
desktopManager.gnome.enable = true;
displayManager.gdm.enable = false;
displayManager.sddm.enable = true;
displayManager.sddm.wayland.enable = true;
displayManager.sddm.enable = false;
# displayManager.sddm.wayland.enable = true;
displayManager.cosmic-greeter.enable = true;
displayManager.defaultSession = "gnome";
desktopManager.plasma6.enable = true;
xserver = {
enable = true; # Enable the deprecated X11 teletype terminal connection system.
desktopManager = {
# Disable xterm
xterm.enable = false;
# Disable fuckshit plasma
};
# Configure Display Manager
displayManager = {
# Enable lightdm
lightdm.enable = false;
};
# Configure keymap in X11
@@ -73,40 +64,6 @@
# Specify first device section to use nvidia GPU
# services.xserver.config = lib.mkForce ''
# Section "ServerLayout"
# Identifier "layout"
# Screen 0 "amdgpu"
# Inactive "nvidia"
# Option "AllowNVIDIAGPUScreens"
# EndSection
# Section "Device"
# Identifier "nvidia"
# Driver "nvidia"
# BusID "PCI:01:0:0"
# EndSection
# Section "Screen"
# Identifier "nvidia"
# Device "nvidia"
# EndSection
# Section "Device"
# Identifier "amdgpu"
# Driver "amdgpu"
# BusID "PCI:50:0:0"
# EndSection
# Section "Screen"
# Identifier "amdgpu"
# Device "amdgpu"
# EndSection
# '';
};
};
# services.xserver.displayManager.defaultSession = "gnome-x11"; # services.xserver.displayManager.autoLogin.enable = true;
@@ -138,6 +95,9 @@
#media-session.enable = true;
};
# Enable gamemode for game optimization
programs.gamemode.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
@@ -156,27 +116,25 @@
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable --Akonadi--/ kde-pim for calendar backend
programs.kde-pim.enable = true;
services.dbus.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
(python312.withPackages (ps: with ps; [ websockets ]))
kdePackages.qtwebsockets
kdePackages.qtwebchannel
kdePackages.korganizer
kdePackages.akonadi
kdePackages.akonadi-calendar
kdePackages.akonadi-contacts
sqlite
javaPackages.compiler.openjdk25
javaPackages.compiler.openjdk21
linux-wallpaperengine
qt6.qtwebengine
gnome-tweaks
qemu
mpv
krita
ntfs3g
htop
];
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
[Desktop Entry]
@@ -194,7 +152,10 @@
services.gvfs.enable = true; # For file manager integration
# Disable iBus (not needed unless using Asian input methods)
i18n.inputMethod = {
enable = false;
};
virtualisation.libvirtd = {
enable = true;

View File

@@ -41,11 +41,26 @@ in
system.stateVersion = "24.05";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Define a user account. Don't forget to set a password with passwd.
# Desktops
my-namespace.desktop-environment.xfce.enable = true;
my-namespace.desktop-environment.gnome.enable = true;
my-namespace.desktop-environment.kde.enable = true;
my-namespace.desktop-environment.cosmic.enable = true;
my-namespace.performance-tuning.enable = true;
# GNOME-keyring
my-namespace.gnome-keyring.enable = true;
users.users.andreas = {
isNormalUser = true;
description = "Andreas Schaafsma";
extraGroups = [ "networkmanager" "wheel" "libvirtd" "plugdev" "docker" ] ;
extraGroups = [
"networkmanager"
"wheel"
"libvirtd"
"plugdev"
"docker"
"gamemode"
];
packages = with pkgs; [
# Packages from inputs
inputs.game-of-life.packages.x86_64-linux.default
@@ -55,9 +70,6 @@ in
# We want flatpak support
flatpak
# GNOME shit
gnome-software
gnomeExtensions.pop-shell
gnome-remote-desktop
thunderbird
soundwireserver
vscode
@@ -120,6 +132,8 @@ in
my-namespace.udev-steelseries
my-namespace.hello
kde-rounded-corners
my-namespace.linux-wallpaperengine
(pkgs.writeShellScriptBin "switch-to-desktop" ''
#!/bin/sh
# Kill Steam and return to display manager

View File

@@ -17,8 +17,8 @@
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [
"console=tty0"
"efifb=off"
"xe.force_probe=*"
# "efifb=off"
# "xe.force_probe=*"
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
];
@@ -32,11 +32,12 @@
intel-media-driver # Intel VAAPI
vpl-gpu-rt # oneVPL runtime
intel-vaapi-driver # fallback
intel-compute-runtime # OpenCL/Level Zero
];
};
# Ensure Arc driver is available (usually auto-loaded)
boot.kernelModules = [ "xe" ];
boot.kernelModules = [ "xe" "i915" ];
# Blacklist everything for nvidia
boot.blacklistedKernelModules = [
"nouveau"
@@ -55,6 +56,24 @@
############################
## X / Wayland GPU Drivers
############################
# Enable modesetting driver for X11 (required for Intel Xe)
services.xserver.videoDrivers = [
"modesetting"
#"intel"
];
services.xserver.enable = true;
services.xserver.autorun = false;
services.xserver.displayManager.startx.enable = true;
# Xorg configuration for Intel Arc Battlemage (xe driver)
# Based on: https://www.reddit.com/r/crtgaming/comments/1knom2t/guide_intel_arc_b580_arch_linux_xorg/
# Intel Arc B-series at PCI 0000:03:00.0
#services.xserver.deviceSection = ''
# Option "AccelMethod" "glamor"
# BusID "PCI:3:0:0"
#'';
############################
## User Access

View File

@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
inherit (lib.my-namespace) enabled;
in
{
my-namespace.hardware = {
# graphics-nvidia-specializations.enabled = false;
# graphics-nvidia-prime-amd = enabled;
# graphics-nvidia-prime-amd-testing = enabled;
# graphics-amd-igpu-only = enabled;
};
}

View File

@@ -1,88 +0,0 @@
{ config, lib, pkgs, ... }:
{
# Enable OpenGL
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [ nvidia-vaapi-driver ];
};
# Load nvidia driver for Xorg and Wayland
# boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11_beta ];
# boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
boot.loader.systemd-boot.consoleMode = "max";
boot.kernelParams = [
# "amdgpu.modeset=0"
"nvidia-drm.fbdev=1"
"nvidia-drm.modeset=1"
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
# "amd_iommu=on"
# "vfio-pci.ids=\"10de:2489,10de:228b\""
# "nomodeset"
# "nvidia_drm.modeset=1"
];
boot.blacklistedKernelModules = [
"i915"
"nouveau"
"amdgpu"
];
services.xserver.videoDrivers = [ "nvidia" ];
boot.initrd.kernelModules = [
"nvidia"
"nvidia_drm"
];
hardware.nvidia = {
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.beta;
# package = config.boot.kernelPackages.nvidiaPackages.none;
# package = config.boot.kernelPackages.nvidiaPackages.production;
forceFullCompositionPipeline = true;
# prime = {
# offload = {
# enable = true;
# enableOffloadCmd = true;
# };
# reverseSync.enable = false;
# # Make sure to use the correct Bus ID values for your system!
# # intelBusId = "PCI:0:2:0";
# nvidiaBusId = "PCI:01:0:0";
# amdgpuBusId = "PCI:50:0:0"; #For AMD GPU
# };
};
users.users.andreas = {
extraGroups = [ "video" "render" ];
};
}

View File

@@ -11,11 +11,12 @@
# ./graphics/nvidia.nix
./acer-monitor-edid.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest;
hardware.enableRedistributableFirmware = true;
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
# boot.kernelPackages = pkgs.linuxPackages;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.kernelModules = [ "kvm-amd" "r8125" "4vl2loopback" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
@@ -27,11 +28,33 @@
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E846-D998";
#device = "/dev/disk/by-uuid/E846-D998";
device = "/dev/disk/by-uuid/19BE-8BAA";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
# Mount ntfs partition
# fileSystems."/run/media/627C3BDF7C3BAD23" = {
# device = "/dev/disk/by-uuid/627C3BDF7C3BAD23";
# fsType = "ntfs-3g";
# options = [ "rw" "uid=1000"];
# };
# # Mount ntfs oldfiles drive partition
# fileSystems."/run/media/oldfiles" = {
# device = "/dev/disk/by-uuid/E2E26FFFE26FD677";
# fsType = "ntfs-3g";
# options = [ "rw" "uid=1000"];
# };
# # Mount The Vault
# fileSystems."/run/media/vault" = {
# device = "/dev/disk/by-uuid/3470646370642DB4";
# fsType = "ntfs-3g";
# options = [ "rw" "uid=1000"];
# };
# Try to fix hibernation