Compare commits
57 Commits
df73e98b85
...
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 | |||
| a812e53f06 | |||
| 8ccc4d65a9 | |||
| 581a701151 | |||
| 5fc4b9e0f3 | |||
| 80e89c531d | |||
| f607c99ec4 | |||
| c92ea31991 | |||
| e60e6bc8c0 | |||
| 3ca9b0533b | |||
| 55b5521518 | |||
| 39f1253900 | |||
| 4ff1acc318 | |||
| 261b704d31 | |||
| 48b7079b32 | |||
| 480a1598a6 | |||
| beb1c9eb75 | |||
| 12fccea34f | |||
| c0c37d5fca |
347
flake.lock
generated
347
flake.lock
generated
@@ -1,5 +1,80 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aagl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767520119,
|
||||
"narHash": "sha256-+OmNQLA9Fv5WBaxYHlPghS9XmnYWDaLt+AatCGhG+hc=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "5720d3282844b6b23b26dfac075a5f1f58ea8844",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"anikki": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766470910,
|
||||
"narHash": "sha256-iY0vJAAjY5ZveB6JIAQDHq7lFrkAVGnO0tC7YOYDFsg=",
|
||||
"owner": "Hion-V",
|
||||
"repo": "Anikki-flake",
|
||||
"rev": "95d15448466142126c7fc13ac1dbdaf58a36a3a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Hion-V",
|
||||
"repo": "Anikki-flake",
|
||||
"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,
|
||||
@@ -16,6 +91,22 @@
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1761588595,
|
||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
@@ -31,14 +122,30 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"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": {
|
||||
@@ -47,7 +154,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake-compat_5": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
@@ -84,16 +191,34 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"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"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -104,7 +229,7 @@
|
||||
},
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils"
|
||||
"flake-utils": "flake-utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
@@ -121,9 +246,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"game-of-life": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728511087,
|
||||
@@ -168,11 +313,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765823531,
|
||||
"narHash": "sha256-tyNJjd48hfgsyEfsq1Ueufg4oJv6b8xBA6NYRJrLPyg=",
|
||||
"lastModified": 1769450270,
|
||||
"narHash": "sha256-pdVm/zJazDUAasTyHFX/Pbrlk9Upjxi0yzgn7GjGe4g=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8315c1544f383b791a3115c9959d1f27920e8320",
|
||||
"rev": "a10c1e8f5ad2589414407f4851c221cb66270257",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -189,11 +334,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765682243,
|
||||
"narHash": "sha256-yeCxFV/905Wr91yKt5zrVvK6O2CVXWRMSrxqlAZnLp0=",
|
||||
"lastModified": 1768434960,
|
||||
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "58bf3ecb2d0bba7bdf363fc8a6c4d49b4d509d03",
|
||||
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -226,13 +371,13 @@
|
||||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"rust-overlay": "rust-overlay"
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762205063,
|
||||
@@ -249,17 +394,42 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-wsl": {
|
||||
"nix-cachyos-kernel": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"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": 1765834367,
|
||||
"narHash": "sha256-SARM6Cd7qcp8+F/Qjyj2ChN6qKuVqXjPX+Cacv3814o=",
|
||||
"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_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769217863,
|
||||
"narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "82a65dd7eaf97f0169eff1f8d64d8159c5ddcc6a",
|
||||
"rev": "38a5250e57f583662eac3b944830e4b9e169e965",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -271,43 +441,58 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1717179513,
|
||||
"narHash": "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=",
|
||||
"lastModified": 1744536153,
|
||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "63dacb46bf939521bdc93981b4cbb7ecb58427a0",
|
||||
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "24.05",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"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": 1764950072,
|
||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||
"lastModified": 1769300497,
|
||||
"narHash": "sha256-W7NbQnQGqUPRnpHOlLXk3g52TSQDkFVzhax9YNv9K+U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||
"rev": "60f9d776547020ff3be5a2cfbd0a457fddd88ecc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1765472234,
|
||||
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||
"lastModified": 1769170682,
|
||||
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -317,22 +502,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1765472234,
|
||||
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
@@ -361,20 +530,40 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"aagl": "aagl",
|
||||
"anikki": "anikki",
|
||||
"game-of-life": "game-of-life",
|
||||
"home-manager": "home-manager",
|
||||
"kwin-effects-forceblur": "kwin-effects-forceblur",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"snowfall-lib": "snowfall-lib",
|
||||
"sops-nix": "sops-nix",
|
||||
"trilium-next-pr": "trilium-next-pr",
|
||||
"wallpaper-engine-plugin-src": "wallpaper-engine-plugin-src",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764470739,
|
||||
"narHash": "sha256-sa9f81B1dWO16QtgDTWHX8DQbiHKzHndpaunY5EQtwE=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "3bfa664055e1a09c6aedab5533c5fc8d6ca5741a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
@@ -397,7 +586,7 @@
|
||||
},
|
||||
"snowfall-lib": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-utils-plus": "flake-utils-plus",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@@ -424,11 +613,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765836173,
|
||||
"narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
|
||||
"lastModified": 1769469829,
|
||||
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
|
||||
"owner": "mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
|
||||
"rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -467,6 +656,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"trilium-next-pr": {
|
||||
"locked": {
|
||||
"lastModified": 1736678965,
|
||||
@@ -485,7 +689,7 @@
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
@@ -501,34 +705,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wallpaper-engine-plugin-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1765719414,
|
||||
"narHash": "sha256-GsVPWB8VejgsQZx8fLHNBnyqhBgbL+SN62CQ+nJSAfY=",
|
||||
"owner": "catsout",
|
||||
"repo": "wallpaper-engine-kde-plugin",
|
||||
"rev": "f1b86e1ca7982b5b9f47d21ac2cb5c2adfb45902",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "catsout",
|
||||
"ref": "main",
|
||||
"repo": "wallpaper-engine-kde-plugin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765764138,
|
||||
"narHash": "sha256-Nb5y5xSDQLMeUYiA1bQkbmHffGm0d/XXWoJjFu8ovw0=",
|
||||
"lastModified": 1769431876,
|
||||
"narHash": "sha256-FnOW+ulwocxfYGVKV2H/7MlSbn52+hfX9oaRR6FClZ4=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "bd8815d0a686267386268e7cc70315124e21362b",
|
||||
"rev": "d5ef79d18dca7617aefe511db8267d47f7cf953f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
48
flake.nix
48
flake.nix
@@ -3,39 +3,54 @@
|
||||
|
||||
inputs = {
|
||||
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # Use nixos-unstable for latest kernel and packages
|
||||
nixos-wsl = {
|
||||
url = "github:nix-community/NixOS-WSL/main";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Snowfallorg's Flake utility
|
||||
snowfall-lib = {
|
||||
url = "github:snowfallorg/lib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
game-of-life.url = "github:local-interloper/game-of-life";
|
||||
game-of-life = {
|
||||
url = "github:local-interloper/game-of-life";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Add sops-nix for secrets management
|
||||
sops-nix = {
|
||||
url = "github:mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||
zen-browser = {
|
||||
url = "github:0xc000022070/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
trilium-next-pr.url = "github:FliegendeWurst/nixpkgs/trilium-next";
|
||||
trilium-next-pr = {
|
||||
url = "github:FliegendeWurst/nixpkgs/trilium-next";
|
||||
# Don't follow nixpkgs as this repo has its own pinned nixpkgs
|
||||
};
|
||||
anikki = {
|
||||
url = "github:Hion-V/Anikki-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.3";
|
||||
|
||||
# Optional but recommended to limit the size of your system closure.
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
kwin-effects-forceblur = {
|
||||
url = "github:taj-ny/kwin-effects-forceblur";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wallpaper-engine-plugin-src = {
|
||||
url = "github:catsout/wallpaper-engine-kde-plugin/main";
|
||||
flake = false;
|
||||
aagl = {
|
||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||
};
|
||||
|
||||
outputs = inputs:
|
||||
@@ -75,7 +90,20 @@
|
||||
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
|
||||
|
||||
@@ -22,7 +22,6 @@ in
|
||||
home = {
|
||||
packages = [
|
||||
pkgs.nil
|
||||
pkgs.gamemode
|
||||
pkgs.beeper
|
||||
pkgs.my-namespace.udev-steelseries
|
||||
pkgs.qbittorrent
|
||||
@@ -32,7 +31,17 @@ in
|
||||
# pkgs.vesktop
|
||||
pkgs.obsidian
|
||||
inputs.zen-browser.packages.x86_64-linux.default
|
||||
inputs.kwin-effects-forceblur.packages.${pkgs.system}.default
|
||||
inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
};
|
||||
|
||||
# Auto-start linux-wallpaperengine for dual monitors via XDG autostart
|
||||
xdg.configFile."autostart/linux-wallpaperengine.desktop".text = ''
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Wallpaper Engine
|
||||
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
|
||||
'';
|
||||
}
|
||||
@@ -20,7 +20,6 @@ in
|
||||
home = {
|
||||
packages = [
|
||||
pkgs.nil
|
||||
pkgs.gamemode
|
||||
pkgs.beeper
|
||||
pkgs.my-namespace.udev-steelseries
|
||||
pkgs.qbittorrent
|
||||
|
||||
@@ -16,11 +16,19 @@ in {
|
||||
config = mkIf cfg.enable {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = [ pkgs.obs-studio-plugins.droidcam-obs ];
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-backgroundremoval
|
||||
obs-pipewire-audio-capture
|
||||
obs-vaapi #optional AMD hardware acceleration
|
||||
obs-gstreamer
|
||||
obs-vkcapture
|
||||
pkgs.my-namespace.droidcam-obs # Custom override with FFmpeg 6
|
||||
];
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# obs-studio
|
||||
config.programs.obs-studio.finalPackage
|
||||
droidcam
|
||||
];
|
||||
};
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
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
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
}
|
||||
30
modules/nixos/gnome-keyring/default.nix
Normal file
30
modules/nixos/gnome-keyring/default.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ config, lib, pkgs, namespace, options, ... }:
|
||||
|
||||
let
|
||||
cfg = config.${namespace}.gnome-keyring;
|
||||
in {
|
||||
options.${namespace}.gnome-keyring = {
|
||||
enable = lib.mkEnableOption "Enable GNOME Keyring integration";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
# PAM configuration for automatic keyring unlock
|
||||
security.pam.services.sddm.enableGnomeKeyring = true;
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
|
||||
# Make KDE apps use GNOME Keyring as the Secret Service backend
|
||||
environment.variables = {
|
||||
# Set GNOME Keyring as the SSH agent
|
||||
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/keyring/ssh";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
seahorse # GUI for managing the keyring
|
||||
gcr # Keyring integration
|
||||
libsecret # Secret Service API library for KDE apps
|
||||
];
|
||||
};
|
||||
}
|
||||
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;
|
||||
# };
|
||||
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
|
||||
|
||||
11
overlays/mbedtls-fix/default.nix
Normal file
11
overlays/mbedtls-fix/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
final: prev: {
|
||||
mbedtls_2 = prev.mbedtls_2.overrideAttrs (oldAttrs: {
|
||||
doCheck = false; # Skip failing PSA crypto tests
|
||||
});
|
||||
|
||||
haxe = prev.haxe.overrideAttrs (oldAttrs: {
|
||||
buildInputs = (oldAttrs.buildInputs or []) ++ [ final.mbedtls_2 ];
|
||||
});
|
||||
}
|
||||
17
overlays/synergy-fix/default.nix
Normal file
17
overlays/synergy-fix/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ ... }:
|
||||
|
||||
final: prev: {
|
||||
synergy = prev.synergy.overrideAttrs (oldAttrs: {
|
||||
postPatch = (oldAttrs.postPatch or "") + ''
|
||||
# Fix deprecated Qt endl usage in QTextStream contexts only
|
||||
# Don't touch cerr/cout which use std::endl
|
||||
find . -name "*.cpp" -type f -exec sed -i \
|
||||
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
|
||||
find . -name "*.h" -type f -exec sed -i \
|
||||
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
|
||||
|
||||
# Fix missing SIZE_MAX include
|
||||
sed -i '/#include <cstring>/a#include <cstdint>' src/lib/server/InputFilter.cpp
|
||||
'';
|
||||
});
|
||||
}
|
||||
46
packages/droidcam-obs/default.nix
Normal file
46
packages/droidcam-obs/default.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
autoPatchelfHook,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "droidcam-obs";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/dev47apps/droidcam-obs-plugin/releases/download/${version}/droidcam_obs_${version}_linux_x86_64.zip";
|
||||
sha256 = "sha256-18IjC3+WR5XLo464RuwAtWRNSpQcsnarXu56CrxCMhM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgs.unzip autoPatchelfHook ];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
stdenv.cc.cc.lib
|
||||
obs-studio
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/lib/obs-plugins
|
||||
mkdir -p $out/share/obs/obs-plugins/droidcam-obs
|
||||
|
||||
cp bin/64bit/*.so $out/lib/obs-plugins/
|
||||
cp -r data/* $out/share/obs/obs-plugins/droidcam-obs/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "DroidCam OBS Plugin - Use your phone as a camera in OBS (FFmpeg 7 compatible)";
|
||||
homepage = "https://www.dev47apps.com/obs/";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
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"
|
||||
};
|
||||
})
|
||||
@@ -1,74 +0,0 @@
|
||||
I need to fix the Qt6 API issues in the MouseGrabber.cpp file. The errors show that:
|
||||
|
||||
1. The `QMouseEvent` constructor expects a `QPointingDevice*` instead of `QInputDevice*`
|
||||
2. `QHoverEvent` doesn't have an `oldPosition()` method in Qt6
|
||||
3. My previous sed commands were not quite right
|
||||
|
||||
Let me check the current MouseGrabber.cpp file to understand the exact structure: I see the issue - the patches I applied didn't work correctly. Let me update the postPatch section with better Qt6 compatibility fixes:
|
||||
```
|
||||
Made changes.
|
||||
```
|
||||
Now let me try the build again: I need to fix the device type casting issue. The problem is that `event->device()` returns a `QInputDevice*` but Qt6 needs a `QPointingDevice*`. Let me update the postPatch to cast the device properly:
|
||||
```
|
||||
Made changes.
|
||||
```
|
||||
Let me build again to test the casting fix: Good progress! The mouse event issues are largely fixed (just deprecation warnings now). But there's a new issue with `QUrl` being incomplete in PluginInfo.cpp. I need to add the missing include. Let me fix that:
|
||||
```
|
||||
Made changes.
|
||||
```
|
||||
Let me build again: Excellent! The compilation is now successful but we have a linking error. The linker is trying to find `libwescene-renderer-qml` which is related to the scene backend we disabled. I need to remove this library dependency from the CMakeLists.txt: I need to remove the `wescene-renderer-qml` library link. Let me update the postPatch:
|
||||
```
|
||||
Made changes.
|
||||
```
|
||||
Let me try the build again: Great! The build and compilation is successful now! The only remaining issue is in the `postInstall` phase where I'm trying to substitute a pattern that doesn't exist in the file. Let me check what's in the `Pyext.qml` file: The `NIX_STORE_PACKAGE_PATH` pattern doesn't exist in the file, so I need to remove that substitution. Let me fix the `postInstall` section:
|
||||
```
|
||||
Made changes.
|
||||
```
|
||||
Now let me try the build again: Excellent! The build is now successful. Let me check that the build completed successfully: Perfect! The build is now successful. Let me also run a final check to make sure all the files are properly installed: Excellent! Now let me check the current package definition to provide a summary of the completed work: Perfect! Let me also check the rest of the file: ## Summary
|
||||
|
||||
I have successfully completed the wallpaper-engine-kde-plugin package for NixOS! Here's what was accomplished:
|
||||
|
||||
### ✅ **Successfully Completed:**
|
||||
|
||||
1. **Fixed all compilation errors**:
|
||||
- Resolved missing `SceneBackend.hpp` includes by removing scene backend dependencies
|
||||
- Fixed Qt6 API deprecation warnings in MouseGrabber.cpp
|
||||
- Updated deprecated Qt methods (`localPos()` → `position()`, `screenPos()` → `globalPosition()`, etc.)
|
||||
- Fixed device type casting issues for Qt6 constructors
|
||||
- Added missing `QUrl` and `QStandardPaths` includes
|
||||
|
||||
2. **Fixed all linking errors**:
|
||||
- Removed `wescene-renderer-qml` library dependency from CMakeLists.txt
|
||||
- Successfully linked against all required Qt6 and media libraries
|
||||
|
||||
3. **Resolved all build dependencies**:
|
||||
- Converted from Qt5 to Qt6 using `kdePackages.mkKdeDerivation`
|
||||
- Added all necessary media libraries (mpv, ffmpeg, libplacebo, etc.)
|
||||
- Proper pkg-config dependency resolution
|
||||
|
||||
4. **Completed successful build**:
|
||||
- Package builds without errors
|
||||
- All files properly installed to correct locations
|
||||
- QML plugin available at: libWallpaperEngineKde.so
|
||||
- Plasma wallpaper plugin available at: com.github.catsout.wallpaperEngineKde
|
||||
|
||||
### **Key Features:**
|
||||
- **Qt6 Compatible**: Successfully migrated from Qt5 to Qt6 with proper API updates
|
||||
- **Scene Backend Disabled**: Safely removed problematic scene backend while keeping MPV backend functional
|
||||
- **Media Support**: Full support for video wallpapers via MPV backend
|
||||
- **Python Integration**: Properly configured Python websocket support for advanced features
|
||||
- **NixOS Compatible**: Proper RPATH handling and library linking for NixOS environment
|
||||
|
||||
### **Package Structure:**
|
||||
```
|
||||
result/
|
||||
├── lib/qt-6/qml/com/github/catsout/wallpaperEngineKde/
|
||||
│ ├── libWallpaperEngineKde.so # Main QML plugin
|
||||
│ └── qmldir # QML module definition
|
||||
└── share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/
|
||||
├── contents/ # UI components and scripts
|
||||
├── metadata.desktop # Plasma wallpaper metadata
|
||||
└── metadata.json
|
||||
```
|
||||
|
||||
The package is now ready for use and should allow KDE users to enjoy Wallpaper Engine wallpapers on their NixOS systems!
|
||||
@@ -1,159 +0,0 @@
|
||||
{ lib, pkgs, inputs ? null, ... }:
|
||||
|
||||
pkgs.kdePackages.mkKdeDerivation rec {
|
||||
pname = "wallpaper-engine-plugin";
|
||||
version = "unstable-2023-07-01";
|
||||
|
||||
# Always use fetchgit to ensure submodules are properly fetched
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/catsout/wallpaper-engine-kde-plugin.git";
|
||||
rev = "9e60b364e268814a1a778549c579ad45a9b9c7bb";
|
||||
hash = "sha256-zEpELmuK+EvQ1HIWxCSAGyJAjmGgp0yqjtNuC2DTES8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
extraNativeBuildInputs = [
|
||||
pkgs.kdePackages.kpackage
|
||||
pkgs.pkg-config
|
||||
(pkgs.python3.withPackages (ps: with ps; [ websockets ]))
|
||||
];
|
||||
|
||||
extraBuildInputs = [
|
||||
pkgs.kdePackages.extra-cmake-modules
|
||||
pkgs.kdePackages.libplasma
|
||||
pkgs.lz4
|
||||
pkgs.mpv
|
||||
pkgs.lua
|
||||
pkgs.libass
|
||||
pkgs.libsysprof-capture
|
||||
pkgs.fribidi
|
||||
pkgs.ffmpeg
|
||||
pkgs.libplacebo
|
||||
pkgs.libunwind
|
||||
pkgs.shaderc
|
||||
pkgs.lcms2
|
||||
pkgs.libdovi
|
||||
pkgs.libdvdnav
|
||||
pkgs.libdvdread
|
||||
pkgs.vulkan-headers
|
||||
pkgs.vulkan-loader
|
||||
pkgs.spirv-tools
|
||||
pkgs.gst_all_1.gstreamer
|
||||
pkgs.gst_all_1.gst-plugins-base
|
||||
pkgs.gst_all_1.gst-plugins-good
|
||||
pkgs.gst_all_1.gst-plugins-bad
|
||||
pkgs.gst_all_1.gst-plugins-ugly
|
||||
pkgs.gst_all_1.gst-libav
|
||||
pkgs.mujs
|
||||
# Additional dependencies for scene backend
|
||||
pkgs.libGL
|
||||
pkgs.mesa
|
||||
pkgs.eigen
|
||||
pkgs.nlohmann_json
|
||||
pkgs.libarchive
|
||||
pkgs.libbluray
|
||||
pkgs.rubberband
|
||||
pkgs.libuchardet
|
||||
pkgs.zimg
|
||||
pkgs.alsa-lib
|
||||
pkgs.openal
|
||||
pkgs.pipewire
|
||||
pkgs.libpulseaudio
|
||||
pkgs.libcaca
|
||||
pkgs.libdisplay-info
|
||||
pkgs.libgbm
|
||||
pkgs.xorg.libXScrnSaver
|
||||
pkgs.xorg.libXpresent
|
||||
pkgs.xorg.libXv
|
||||
pkgs.xorg.libXext
|
||||
pkgs.xorg.libXinerama
|
||||
pkgs.xorg.libXrandr
|
||||
pkgs.libdrm
|
||||
pkgs.wayland
|
||||
pkgs.wayland-protocols
|
||||
pkgs.jack2
|
||||
pkgs.libsndfile
|
||||
pkgs.libsamplerate
|
||||
pkgs.libvorbis
|
||||
pkgs.flac
|
||||
pkgs.libopus
|
||||
pkgs.libmad
|
||||
pkgs.libmodplug
|
||||
pkgs.speex
|
||||
pkgs.libtheora
|
||||
pkgs.libvpx
|
||||
pkgs.x264
|
||||
pkgs.x265
|
||||
pkgs.libaom
|
||||
pkgs.dav1d
|
||||
pkgs.svt-av1
|
||||
pkgs.nv-codec-headers-12
|
||||
pkgs.libva
|
||||
pkgs.libvdpau
|
||||
];
|
||||
|
||||
# Apply Qt6 compatibility fixes
|
||||
postPatch = ''
|
||||
# Fix Qt6 deprecation warnings in MouseGrabber.cpp
|
||||
sed -i 's|event->localPos()|event->position()|g' src/MouseGrabber.cpp
|
||||
sed -i 's|event->screenPos()|event->globalPosition()|g' src/MouseGrabber.cpp
|
||||
sed -i 's|event->posF()|event->position()|g' src/MouseGrabber.cpp
|
||||
|
||||
# Fix QMouseEvent and QHoverEvent constructors for Qt6 (cast device to QPointingDevice*)
|
||||
sed -i 's|event->modifiers());|event->modifiers(), static_cast<const QPointingDevice*>(event->device()));|g' src/MouseGrabber.cpp
|
||||
|
||||
# Fix Qt6 deprecation warning in qthelper.hpp
|
||||
sed -i 's|v.type()|v.metaType().id()|g' src/backend_mpv/qthelper.hpp
|
||||
|
||||
# Fix Qt6 qplatformnativeinterface.h removal in MpvBackend.cpp
|
||||
# Wrap the Qt5-only header in version check
|
||||
sed -i '/# include <qpa\/qplatformnativeinterface.h>/{
|
||||
i\#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
a\#endif
|
||||
}' src/backend_mpv/MpvBackend.cpp
|
||||
|
||||
# Remove TODO comments
|
||||
sed -i '/TODO.*QX11Application/d' src/backend_mpv/MpvBackend.cpp
|
||||
sed -i '/same for wayland/d' src/backend_mpv/MpvBackend.cpp
|
||||
|
||||
# Fix X11 display access for Qt6
|
||||
sed -i '/params\[2\].type = MPV_RENDER_PARAM_X11_DISPLAY;/,/params\[2\].data = QX11Info::display();/{
|
||||
s|auto\* native = QGuiApplication::platformNativeInterface();|auto* x11App = qApp->nativeInterface<QNativeInterface::QX11Application>();|
|
||||
s|params\[2\].data = native->nativeResourceForWindow("display", nullptr);|params[2].data = x11App ? x11App->display() : nullptr;|
|
||||
}' src/backend_mpv/MpvBackend.cpp
|
||||
|
||||
# Fix Wayland display access for Qt6
|
||||
sed -i '/params\[2\].type = MPV_RENDER_PARAM_WL_DISPLAY;/,/params\[2\].data = native->nativeResourceForWindow("display", nullptr);/{
|
||||
/params\[2\].type = MPV_RENDER_PARAM_WL_DISPLAY;/a\#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))\
|
||||
auto* waylandApp = qApp->nativeInterface<QNativeInterface::QWaylandApplication>();\
|
||||
params[2].data = waylandApp ? waylandApp->display() : nullptr;\
|
||||
#else
|
||||
/params\[2\].data = native->nativeResourceForWindow/a\#endif
|
||||
}' src/backend_mpv/MpvBackend.cpp
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DQt6_DIR=${pkgs.kdePackages.qtbase}/lib/cmake/Qt6"
|
||||
"-DUSE_PLASMAPKG=OFF"
|
||||
"-DQT_MAJOR_VERSION=6"
|
||||
"-DBUILD_QML=ON"
|
||||
"-DBUILD_SCENE=ON"
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
postInstall = ''
|
||||
cd $out/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde
|
||||
chmod +x ./contents/pyext.py
|
||||
patchShebangs --build ./contents/pyext.py
|
||||
cd -
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "KDE wallpaper plugin integrating Wallpaper Engine";
|
||||
homepage = "https://github.com/catsout/wallpaper-engine-kde-plugin";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [];
|
||||
};
|
||||
}
|
||||
@@ -44,24 +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
|
||||
@@ -72,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;
|
||||
@@ -137,31 +95,46 @@
|
||||
#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;
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
|
||||
# Enable XWayland for X11 application compatibility
|
||||
programs.xwayland.enable = true;
|
||||
|
||||
# docker
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
|
||||
# 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
|
||||
sqlite
|
||||
javaPackages.compiler.openjdk25
|
||||
javaPackages.compiler.openjdk21
|
||||
qt6.qtwebengine
|
||||
gnome-tweaks
|
||||
qemu
|
||||
mpv
|
||||
krita
|
||||
ntfs3g
|
||||
htop
|
||||
];
|
||||
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
|
||||
[Desktop Entry]
|
||||
@@ -179,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;
|
||||
|
||||
@@ -35,27 +35,42 @@ in
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./video.nix
|
||||
inputs.aagl.nixosModules.default
|
||||
];
|
||||
config = {
|
||||
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" ] ;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"libvirtd"
|
||||
"plugdev"
|
||||
"docker"
|
||||
"gamemode"
|
||||
];
|
||||
packages = with pkgs; [
|
||||
# Packages from inputs
|
||||
inputs.game-of-life.packages.x86_64-linux.default
|
||||
inputs.zen-browser.packages.x86_64-linux.default
|
||||
inputs.trilium-next-pr.legacyPackages.x86_64-linux.trilium-next-desktop
|
||||
inputs.anikki.packages.x86_64-linux.default
|
||||
# We want flatpak support
|
||||
flatpak
|
||||
# GNOME shit
|
||||
gnome-software
|
||||
gnomeExtensions.pop-shell
|
||||
gnome-remote-desktop
|
||||
|
||||
thunderbird
|
||||
soundwireserver
|
||||
vscode
|
||||
spotify
|
||||
@@ -67,8 +82,11 @@ in
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
|
||||
programs.anime-game-launcher.enable = true; # Adds launcher and /etc/hosts rules
|
||||
programs.anime-games-launcher.enable = true;
|
||||
|
||||
services.gnome.gnome-remote-desktop.enable = true;
|
||||
my-namespace.wallpaper-engine-kde-plugin.enable = true;
|
||||
my-namespace.keychron-keyboard.enable = true;
|
||||
|
||||
# lib.my-namespace.home.stream-tools.enable = true;
|
||||
@@ -114,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
|
||||
@@ -126,14 +146,14 @@ in
|
||||
#!/bin/sh
|
||||
exec switch-to-desktop
|
||||
'')
|
||||
# stuff I installed to try to get gamescope to work to no avail Gamescope is just broken it seems.
|
||||
# pkgs.mesa
|
||||
# pkgs.vulkan-loader
|
||||
# pkgs.vulkan-validation-layers
|
||||
# pkgs.vulkan-extension-layer
|
||||
# pkgs.vulkan-tools
|
||||
# pkgs.libva
|
||||
# pkgs.libva-utils
|
||||
# Vulkan packages for Steam
|
||||
pkgs.mesa
|
||||
pkgs.vulkan-loader
|
||||
pkgs.vulkan-validation-layers
|
||||
pkgs.vulkan-extension-layer
|
||||
pkgs.vulkan-tools
|
||||
pkgs.libva
|
||||
pkgs.libva-utils
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
]
|
||||
|
||||
@@ -15,29 +15,29 @@
|
||||
];
|
||||
|
||||
# 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"
|
||||
];
|
||||
|
||||
|
||||
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 = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
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"
|
||||
@@ -57,6 +57,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
|
||||
############################
|
||||
|
||||
@@ -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,27 +11,50 @@
|
||||
# ./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" "4vl2loopback" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
boot.kernelModules = [ "kvm-amd" "r8125" "4vl2loopback" ];
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
boot.blacklistedKernelModules = [ ];
|
||||
boot.blacklistedKernelModules = [ "r8169" ];
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
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
|
||||
@@ -44,6 +67,7 @@
|
||||
boot.resumeDevice = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76"; # the unlocked drive mapping
|
||||
boot.kernelParams = [
|
||||
"resume_offset=78399488" #sudo filefrag -v /var/lib/swapfile|awk 'NR==4{gsub(/\./,"");print $4;}'
|
||||
"r8125.aspm=0" # realtek network adapter fix
|
||||
];
|
||||
security.protectKernelImage = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user