Compare commits
39 Commits
a812e53f06
...
trunk
| Author | SHA1 | Date | |
|---|---|---|---|
| fd8f18eeec | |||
| 501e35ae45 | |||
| 65fc0ace0e | |||
| dc8f70b344 | |||
| 5cc90d85f7 | |||
| 75491e90e7 | |||
| 819b81d8d2 | |||
| fe4f291ef8 | |||
| da46fc7eca | |||
| 58206b4c80 | |||
| 1e02adf3cf | |||
| 15b75b0010 | |||
| 6d34c7dbd0 | |||
| 8681424692 | |||
| 0956fccdc6 | |||
| 1e187a7cee | |||
| 9dab3f0608 | |||
| 26d59c7ca6 | |||
| 9bc5922e49 | |||
| 2e3ef5fd47 | |||
| 415f3bb057 | |||
| bcc2ca5cf0 | |||
| c202dbcdec | |||
| f3b6a5cddd | |||
| 191733ec51 | |||
| 881a047c75 | |||
| 95c1b53699 | |||
| aecc12a945 | |||
| b5afdc5817 | |||
| ab9acedf49 | |||
| 0e31504687 | |||
| 85147137b0 | |||
| 914b88ac82 | |||
| 646f35e5d4 | |||
| 3ed8d601a2 | |||
| 02a99d31fa | |||
| 2be93bd323 | |||
| 6a43859425 | |||
| 439cb8200f |
171
flake.lock
generated
171
flake.lock
generated
@@ -43,6 +43,38 @@
|
|||||||
"type": "github"
|
"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": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754269165,
|
"lastModified": 1754269165,
|
||||||
@@ -93,11 +125,27 @@
|
|||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765121682,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=",
|
"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",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -106,7 +154,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_4": {
|
"flake-compat_5": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1650374568,
|
"lastModified": 1650374568,
|
||||||
@@ -143,6 +191,24 @@
|
|||||||
"type": "github"
|
"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": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
@@ -247,11 +313,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768434960,
|
"lastModified": 1769450270,
|
||||||
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
|
"narHash": "sha256-pdVm/zJazDUAasTyHFX/Pbrlk9Upjxi0yzgn7GjGe4g=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
|
"rev": "a10c1e8f5ad2589414407f4851c221cb66270257",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -268,11 +334,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767104570,
|
"lastModified": 1768434960,
|
||||||
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=",
|
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf",
|
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -328,19 +394,42 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixos-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_4",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768404695,
|
"lastModified": 1769217863,
|
||||||
"narHash": "sha256-eT3dNE2CQYcPDHaeRZAEFrZ0BmMq2wLxMp7hCmzOZBA=",
|
"narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "d0d3636b9d174c4558e3bbb18e194d970505fed8",
|
"rev": "38a5250e57f583662eac3b944830e4b9e169e965",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -366,13 +455,44 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768305791,
|
"lastModified": 1769300497,
|
||||||
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
|
"narHash": "sha256-W7NbQnQGqUPRnpHOlLXk3g52TSQDkFVzhax9YNv9K+U=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"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"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -416,8 +536,9 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"kwin-effects-forceblur": "kwin-effects-forceblur",
|
"kwin-effects-forceblur": "kwin-effects-forceblur",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
|
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||||
"nixos-wsl": "nixos-wsl",
|
"nixos-wsl": "nixos-wsl",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"snowfall-lib": "snowfall-lib",
|
"snowfall-lib": "snowfall-lib",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"trilium-next-pr": "trilium-next-pr",
|
"trilium-next-pr": "trilium-next-pr",
|
||||||
@@ -465,7 +586,7 @@
|
|||||||
},
|
},
|
||||||
"snowfall-lib": {
|
"snowfall-lib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_5",
|
||||||
"flake-utils-plus": "flake-utils-plus",
|
"flake-utils-plus": "flake-utils-plus",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -492,11 +613,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768481291,
|
"lastModified": 1769469829,
|
||||||
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=",
|
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
|
||||||
"owner": "mic92",
|
"owner": "mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101",
|
"rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -592,11 +713,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768379550,
|
"lastModified": 1769431876,
|
||||||
"narHash": "sha256-z94S29l5V86h11LZbPIMbHTJyksDG63aqISsZkTTuJY=",
|
"narHash": "sha256-FnOW+ulwocxfYGVKV2H/7MlSbn52+hfX9oaRR6FClZ4=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "06f61b4e4f4f6ba8027c96a5611c63dc0db12b90",
|
"rev": "d5ef79d18dca7617aefe511db8267d47f7cf953f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
14
flake.nix
14
flake.nix
@@ -50,6 +50,7 @@
|
|||||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
@@ -89,7 +90,20 @@
|
|||||||
inherit inputs;
|
inherit inputs;
|
||||||
src = ./.;
|
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; [
|
nixos = with inputs; [
|
||||||
|
|
||||||
# disko.nixosModules.disko
|
# disko.nixosModules.disko
|
||||||
# impermanence.nixosModules.impermanence
|
# impermanence.nixosModules.impermanence
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ in
|
|||||||
home = {
|
home = {
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.nil
|
pkgs.nil
|
||||||
pkgs.gamemode
|
|
||||||
pkgs.beeper
|
pkgs.beeper
|
||||||
pkgs.my-namespace.udev-steelseries
|
pkgs.my-namespace.udev-steelseries
|
||||||
pkgs.qbittorrent
|
pkgs.qbittorrent
|
||||||
@@ -41,7 +40,7 @@ in
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=Wallpaper Engine
|
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-autostart-after=panel
|
||||||
X-KDE-StartupNotify=false
|
X-KDE-StartupNotify=false
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ in
|
|||||||
home = {
|
home = {
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.nil
|
pkgs.nil
|
||||||
pkgs.gamemode
|
|
||||||
pkgs.beeper
|
pkgs.beeper
|
||||||
pkgs.my-namespace.udev-steelseries
|
pkgs.my-namespace.udev-steelseries
|
||||||
pkgs.qbittorrent
|
pkgs.qbittorrent
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
let
|
let
|
||||||
inherit (lib) mkEnableOption mkIf;
|
inherit (lib) mkEnableOption mkIf;
|
||||||
cfg = config.my-namespace.home.vesktop-appimage;
|
cfg = config.my-namespace.home.vesktop-appimage;
|
||||||
vesktopVersion = "1.6.1";
|
vesktopVersion = "1.6.4";
|
||||||
|
|
||||||
vesktopAppImage = pkgs.runCommand "vesktop-appimage" { } ''
|
vesktopAppImage = pkgs.runCommand "vesktop-appimage" { } ''
|
||||||
cp ${pkgs.fetchurl {
|
cp ${pkgs.fetchurl {
|
||||||
url = "https://github.com/Vencord/Vesktop/releases/download/v${vesktopVersion}/Vesktop-${vesktopVersion}.AppImage";
|
url = "https://github.com/Vencord/Vesktop/releases/download/v${vesktopVersion}/Vesktop-${vesktopVersion}.AppImage";
|
||||||
sha256 = "sha256-zK098H7iiOEe5y5YhgsUCPYVQQPcsnZw6/6q6Nx7h+w=";
|
sha256 = "sha256-o7A8DBQyutONeLp5rstq9hQko2xxbvYZvGGM8/YOQ8s=";
|
||||||
}} $out
|
}} $out
|
||||||
chmod +x $out
|
chmod +x $out
|
||||||
'';
|
'';
|
||||||
|
|||||||
98
modules/nixos/desktop-environment/default.nix
Normal file
98
modules/nixos/desktop-environment/default.nix
Normal 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
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
23
modules/nixos/performance-tuning/default.nix
Normal file
23
modules/nixos/performance-tuning/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -29,7 +29,6 @@
|
|||||||
# capSysNice = true;
|
# capSysNice = true;
|
||||||
# };
|
# };
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
steam
|
|
||||||
protonup-ng # Tool to install and manage Proton-GE
|
protonup-ng # Tool to install and manage Proton-GE
|
||||||
lutris
|
lutris
|
||||||
vkd3d
|
vkd3d
|
||||||
@@ -38,10 +37,18 @@
|
|||||||
protontricks
|
protontricks
|
||||||
mangohud
|
mangohud
|
||||||
vkbasalt
|
vkbasalt
|
||||||
gamemode
|
gamescope
|
||||||
];
|
];
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
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
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
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
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
|
|||||||
135
packages/linux-wallpaperengine/default.nix
Normal file
135
packages/linux-wallpaperengine/default.nix
Normal 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"
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -44,25 +44,16 @@
|
|||||||
|
|
||||||
services = {
|
services = {
|
||||||
# Enable Gnome Session
|
# Enable Gnome Session
|
||||||
desktopManager.gnome.enable = true;
|
|
||||||
displayManager.gdm.enable = false;
|
displayManager.gdm.enable = false;
|
||||||
displayManager.sddm.enable = true;
|
displayManager.sddm.enable = false;
|
||||||
displayManager.sddm.wayland.enable = true;
|
# displayManager.sddm.wayland.enable = true;
|
||||||
|
displayManager.cosmic-greeter.enable = true;
|
||||||
displayManager.defaultSession = "gnome";
|
displayManager.defaultSession = "gnome";
|
||||||
desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true; # Enable the deprecated X11 teletype terminal connection system.
|
enable = true; # Enable the deprecated X11 teletype terminal connection system.
|
||||||
|
|
||||||
desktopManager = {
|
|
||||||
# Disable xterm
|
|
||||||
xterm.enable = false;
|
|
||||||
# Disable fuckshit plasma
|
|
||||||
};
|
|
||||||
# Configure Display Manager
|
# Configure Display Manager
|
||||||
displayManager = {
|
displayManager = {
|
||||||
# Enable lightdm
|
|
||||||
lightdm.enable = false;
|
lightdm.enable = false;
|
||||||
};
|
};
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
@@ -73,40 +64,6 @@
|
|||||||
|
|
||||||
# Specify first device section to use nvidia GPU
|
# 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;
|
# services.xserver.displayManager.defaultSession = "gnome-x11"; # services.xserver.displayManager.autoLogin.enable = true;
|
||||||
@@ -138,6 +95,9 @@
|
|||||||
#media-session.enable = true;
|
#media-session.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable gamemode for game optimization
|
||||||
|
programs.gamemode.enable = true;
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
# services.xserver.libinput.enable = true;
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
@@ -156,27 +116,25 @@
|
|||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
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:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
# wget
|
# wget
|
||||||
(python312.withPackages (ps: with ps; [ websockets ]))
|
(python312.withPackages (ps: with ps; [ websockets ]))
|
||||||
kdePackages.qtwebsockets
|
sqlite
|
||||||
kdePackages.qtwebchannel
|
|
||||||
kdePackages.korganizer
|
|
||||||
kdePackages.akonadi
|
|
||||||
kdePackages.akonadi-calendar
|
|
||||||
kdePackages.akonadi-contacts
|
|
||||||
javaPackages.compiler.openjdk25
|
javaPackages.compiler.openjdk25
|
||||||
javaPackages.compiler.openjdk21
|
javaPackages.compiler.openjdk21
|
||||||
linux-wallpaperengine
|
|
||||||
qt6.qtwebengine
|
qt6.qtwebengine
|
||||||
gnome-tweaks
|
|
||||||
qemu
|
qemu
|
||||||
mpv
|
mpv
|
||||||
krita
|
krita
|
||||||
ntfs3g
|
ntfs3g
|
||||||
|
htop
|
||||||
];
|
];
|
||||||
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
|
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
@@ -194,7 +152,10 @@
|
|||||||
|
|
||||||
services.gvfs.enable = true; # For file manager integration
|
services.gvfs.enable = true; # For file manager integration
|
||||||
|
|
||||||
|
# Disable iBus (not needed unless using Asian input methods)
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.libvirtd = {
|
virtualisation.libvirtd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -41,11 +41,26 @@ in
|
|||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# 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;
|
my-namespace.gnome-keyring.enable = true;
|
||||||
|
|
||||||
users.users.andreas = {
|
users.users.andreas = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Andreas Schaafsma";
|
description = "Andreas Schaafsma";
|
||||||
extraGroups = [ "networkmanager" "wheel" "libvirtd" "plugdev" "docker" ] ;
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"libvirtd"
|
||||||
|
"plugdev"
|
||||||
|
"docker"
|
||||||
|
"gamemode"
|
||||||
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Packages from inputs
|
# Packages from inputs
|
||||||
inputs.game-of-life.packages.x86_64-linux.default
|
inputs.game-of-life.packages.x86_64-linux.default
|
||||||
@@ -55,9 +70,6 @@ in
|
|||||||
# We want flatpak support
|
# We want flatpak support
|
||||||
flatpak
|
flatpak
|
||||||
# GNOME shit
|
# GNOME shit
|
||||||
gnome-software
|
|
||||||
gnomeExtensions.pop-shell
|
|
||||||
gnome-remote-desktop
|
|
||||||
thunderbird
|
thunderbird
|
||||||
soundwireserver
|
soundwireserver
|
||||||
vscode
|
vscode
|
||||||
@@ -120,6 +132,8 @@ in
|
|||||||
my-namespace.udev-steelseries
|
my-namespace.udev-steelseries
|
||||||
my-namespace.hello
|
my-namespace.hello
|
||||||
kde-rounded-corners
|
kde-rounded-corners
|
||||||
|
my-namespace.linux-wallpaperengine
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "switch-to-desktop" ''
|
(pkgs.writeShellScriptBin "switch-to-desktop" ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Kill Steam and return to display manager
|
# Kill Steam and return to display manager
|
||||||
|
|||||||
@@ -15,16 +15,15 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"console=tty0"
|
"console=tty0"
|
||||||
"efifb=off"
|
# "efifb=off"
|
||||||
"xe.force_probe=*"
|
# "xe.force_probe=*"
|
||||||
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
|
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
|
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
|
||||||
|
hardware.intel-gpu-tools.enable = true;
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
@@ -33,11 +32,12 @@
|
|||||||
intel-media-driver # Intel VAAPI
|
intel-media-driver # Intel VAAPI
|
||||||
vpl-gpu-rt # oneVPL runtime
|
vpl-gpu-rt # oneVPL runtime
|
||||||
intel-vaapi-driver # fallback
|
intel-vaapi-driver # fallback
|
||||||
|
intel-compute-runtime # OpenCL/Level Zero
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Ensure Arc driver is available (usually auto-loaded)
|
# Ensure Arc driver is available (usually auto-loaded)
|
||||||
boot.kernelModules = [ "xe" ];
|
boot.kernelModules = [ "xe" "i915" ];
|
||||||
# Blacklist everything for nvidia
|
# Blacklist everything for nvidia
|
||||||
boot.blacklistedKernelModules = [
|
boot.blacklistedKernelModules = [
|
||||||
"nouveau"
|
"nouveau"
|
||||||
@@ -57,6 +57,24 @@
|
|||||||
## X / Wayland GPU Drivers
|
## 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
|
## User Access
|
||||||
############################
|
############################
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -11,11 +11,12 @@
|
|||||||
# ./graphics/nvidia.nix
|
# ./graphics/nvidia.nix
|
||||||
./acer-monitor-edid.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;
|
hardware.enableRedistributableFirmware = true;
|
||||||
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
||||||
# boot.kernelPackages = pkgs.linuxPackages;
|
# boot.kernelPackages = pkgs.linuxPackages;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.kernelModules = [ "kvm-amd" "r8125" "4vl2loopback" ];
|
boot.kernelModules = [ "kvm-amd" "r8125" "4vl2loopback" ];
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
|
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
|
||||||
@@ -27,11 +28,33 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
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";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
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
|
# Try to fix hibernation
|
||||||
|
|||||||
Reference in New Issue
Block a user