Compare commits
23
Commits
dce21780ac
..
trunk
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad17b67774 | ||
|
|
6b8778c6be | ||
|
|
d2b4e9d1f1 | ||
|
|
36fbaf137e | ||
|
|
8c2dbe4775 | ||
|
|
7c00c133ab | ||
|
|
3062ef1608 | ||
|
|
ac7a47c26a | ||
|
|
74d3d6870d | ||
|
|
ac9eeb1f1c | ||
|
|
666b7ab737 | ||
|
|
bcfada020b | ||
|
|
d79713972e | ||
|
|
441d029eb6 | ||
|
|
17933af881 | ||
|
|
c4693f0ee6 | ||
|
|
813e474bc1 | ||
|
|
333bed459d | ||
|
|
cd454434d7 | ||
|
|
e89ee3c559 | ||
|
|
0dad448f97 | ||
|
|
cc0cc15ee5 | ||
|
|
5596fb8a9c |
@@ -0,0 +1,61 @@
|
|||||||
|
# NixOS configuration
|
||||||
|
|
||||||
|
The default package set is NixOS 26.05. Home Manager and AAGL use their
|
||||||
|
matching 26.05 release branches. `drivebystation-nix` uses the standard
|
||||||
|
`pkgs.linuxPackages` kernel from stable, including matching external modules.
|
||||||
|
|
||||||
|
## Packages from unstable
|
||||||
|
|
||||||
|
`inputs.nixpkgs-unstable` is a separate package set, pinned in `flake.lock`.
|
||||||
|
Select individual applications explicitly, as with Trilium and JetBrains
|
||||||
|
Toolbox in the desktop host:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
unstablePkgs.trilium-desktop
|
||||||
|
```
|
||||||
|
|
||||||
|
The host defines `unstablePkgs` by importing the separate input with
|
||||||
|
`allowUnfree = true`. Use `pkgs.<name>` for stable packages. Unstable
|
||||||
|
applications retain their own dependencies; the system package set stays on
|
||||||
|
stable.
|
||||||
|
|
||||||
|
Update the stable inputs and the application exceptions independently:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
nix flake update nixpkgs home-manager aagl
|
||||||
|
nix flake update nixpkgs-unstable
|
||||||
|
```
|
||||||
|
|
||||||
|
The existing Mutter tearing override remains experimental. Its compatibility
|
||||||
|
and B580 graphics behavior require testing when changing the desktop stack.
|
||||||
|
|
||||||
|
## Validate and boot
|
||||||
|
|
||||||
|
```sh
|
||||||
|
nix build .#nixosConfigurations.drivebystation-nix.config.system.build.toplevel --no-link
|
||||||
|
sudo nixos-rebuild boot --flake .#drivebystation-nix
|
||||||
|
```
|
||||||
|
|
||||||
|
Only run the boot command after the build succeeds. Keep the previous working
|
||||||
|
generation available in the boot menu, then test networking, graphics, and
|
||||||
|
the webcam loopback after reboot. Git restores configuration sources; booting
|
||||||
|
the previous generation restores the previous system closure.
|
||||||
|
|
||||||
|
Whole-flake checks currently also evaluate an unfinished WSL host referencing
|
||||||
|
the disabled `nixos-wsl` input. Validate the desktop target directly until that
|
||||||
|
separate host configuration is repaired.
|
||||||
|
|
||||||
|
## Migration validation (2026-10-17)
|
||||||
|
|
||||||
|
The complete `drivebystation-nix` system built successfully without activation.
|
||||||
|
Its closure contains Linux 6.18.56, patched Mutter 50.5, GNOME Shell 50.5,
|
||||||
|
libdrm 2.4.133, r8125 9.016.01, and v4l2loopback 0.15.3. The explicit unstable
|
||||||
|
applications are Trilium 0.106.0 and JetBrains Toolbox 3.8.1.88030.
|
||||||
|
|
||||||
|
Nix syntax and Git whitespace checks pass. `nix flake check --no-build` stops
|
||||||
|
at the existing WSL input error described above. The edited Nix files retain
|
||||||
|
the repository's existing formatting; `nixpkgs-fmt --check` reports formatting
|
||||||
|
differences, including on the original flake before migration.
|
||||||
|
|
||||||
|
Boot, networking, B580 graphics, and tearing behavior still require runtime
|
||||||
|
testing. The migration does not add Intel tearing kernel patches.
|
||||||
Generated
+534
-56
@@ -1,5 +1,56 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"Catch2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759222471,
|
||||||
|
"narHash": "sha256-7Dx7PhtRwkbo8vHF57sAns2fQZ442D3cMyCt25RvzJc=",
|
||||||
|
"owner": "catchorg",
|
||||||
|
"repo": "Catch2",
|
||||||
|
"rev": "b3fb4b9feafcd8d91c5cb510a4775143fdbef02f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "catchorg",
|
||||||
|
"repo": "Catch2",
|
||||||
|
"rev": "b3fb4b9feafcd8d91c5cb510a4775143fdbef02f",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MimeTypes": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1577040615,
|
||||||
|
"narHash": "sha256-biRcxbpRVnD3+VVo0fNrNGeAi1P7pSzkGKHZrTtGp7Q=",
|
||||||
|
"owner": "lasselukkari",
|
||||||
|
"repo": "MimeTypes",
|
||||||
|
"rev": "8990d6a796bd9904ec3d41e5c150a1ffb48fe32e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lasselukkari",
|
||||||
|
"repo": "MimeTypes",
|
||||||
|
"rev": "8990d6a796bd9904ec3d41e5c150a1ffb48fe32e",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SPIRV-Cross-WallpaperEngine": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1745093314,
|
||||||
|
"narHash": "sha256-ou66paGlu3KXf8LL8zfTiE8wOf0nRBocDs1QvfRVs+k=",
|
||||||
|
"owner": "Almamu",
|
||||||
|
"repo": "SPIRV-Cross-WallpaperEngine",
|
||||||
|
"rev": "ad4d02220b01c1800e5a4e6671d6d8ca8ab07783",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Almamu",
|
||||||
|
"repo": "SPIRV-Cross-WallpaperEngine",
|
||||||
|
"rev": "ad4d02220b01c1800e5a4e6671d6d8ca8ab07783",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"aagl": {
|
"aagl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
@@ -9,19 +60,83 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787517695,
|
"lastModified": 1789138195,
|
||||||
"narHash": "sha256-Z119G3qLJx22frNHO3/seMs7fCCvxe9NJJRfN4Jadew=",
|
"narHash": "sha256-cvK9QXAzcgYYg6WsMSfzSE78QyCbNoRMF25GIZ0pz1s=",
|
||||||
"owner": "ezKEa",
|
"owner": "ezKEa",
|
||||||
"repo": "aagl-gtk-on-nix",
|
"repo": "aagl-gtk-on-nix",
|
||||||
"rev": "4bb57072d963aa47f14894383a5560cf290e296a",
|
"rev": "decd5655d94eec05b6d5beacb9a652f8ca95344e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "ezKEa",
|
"owner": "ezKEa",
|
||||||
|
"ref": "release-26.05",
|
||||||
"repo": "aagl-gtk-on-nix",
|
"repo": "aagl-gtk-on-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"argparse": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737934041,
|
||||||
|
"narHash": "sha256-gRLn4juxwde7ugvT/p4lx9ayDTm7o32NKaE/SEbnLHI=",
|
||||||
|
"owner": "p-ranav",
|
||||||
|
"repo": "argparse",
|
||||||
|
"rev": "d924b84eba1f0f0adf38b20b7b4829f6f65b6570",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "p-ranav",
|
||||||
|
"repo": "argparse",
|
||||||
|
"rev": "d924b84eba1f0f0adf38b20b7b4829f6f65b6570",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bun2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"import-tree": "import-tree",
|
||||||
|
"nixpkgs": [
|
||||||
|
"linux-wallpaper-engine",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_2",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770895533,
|
||||||
|
"narHash": "sha256-v3QaK9ugy9bN9RXDnjw0i2OifKmz2NnKM82agtqm/UY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "bun2nix",
|
||||||
|
"rev": "c843f477b15f51151f8c6bcc886954699440a6e1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "bun2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"codex-desktop": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1791562553,
|
||||||
|
"narHash": "sha256-uyLpIxJv9lqy1pgGUd0C/RZvqWyFqbwR0Tq7E+UX0VM=",
|
||||||
|
"owner": "ilysenko",
|
||||||
|
"repo": "codex-desktop-linux",
|
||||||
|
"rev": "443cb5d52ed781cac6cc7083780abb058cf93678",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ilysenko",
|
||||||
|
"repo": "codex-desktop-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781825982,
|
"lastModified": 1781825982,
|
||||||
@@ -70,22 +185,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"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,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1650374568,
|
"lastModified": 1650374568,
|
||||||
@@ -106,11 +205,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788306937,
|
"lastModified": 1769996383,
|
||||||
"narHash": "sha256-lbrI1UYVpFgKSsyrU9oeF7FHfnu8nLD9ja0ou9f2rxk=",
|
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "f16b25b8c3d2809b87925d0b76652d7821a75c68",
|
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -124,11 +223,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694529238,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -139,7 +238,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils-plus": {
|
"flake-utils-plus": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils"
|
"flake-utils": "flake-utils_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715533576,
|
"lastModified": 1715533576,
|
||||||
@@ -156,6 +255,42 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_5"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -178,6 +313,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"glslang-WallpaperEngine": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770589476,
|
||||||
|
"narHash": "sha256-auhYcTWdSERwujUqwfDbF61tncO18dwar3mMQ09VW1w=",
|
||||||
|
"owner": "Almamu",
|
||||||
|
"repo": "glslang-WallpaperEngine",
|
||||||
|
"rev": "b775500a153f5ceb0e4b6f366b79c4c57521bb62",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Almamu",
|
||||||
|
"repo": "glslang-WallpaperEngine",
|
||||||
|
"rev": "b775500a153f5ceb0e4b6f366b79c4c57521bb62",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -185,15 +337,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788355065,
|
"lastModified": 1791938526,
|
||||||
"narHash": "sha256-gAz5oTI7ur34CfuakQduiQd/2ZhO62Bn2XXg08nZYYQ=",
|
"narHash": "sha256-yNYK2pdk3bCtJrpblrNYA6hZKdybWUeyTtx74+OEJFo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d9d750e4fc11c10cab2da677bdd31e427f3a3a71",
|
"rev": "32904dfe1cf86039f3c8c9f41f94e1cfd76dbb34",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-26.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -219,6 +372,55 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"import-tree": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763762820,
|
||||||
|
"narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=",
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"rev": "3c23749d8013ec6daa1d7255057590e9ca726646",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"json": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743872075,
|
||||||
|
"narHash": "sha256-eSqi4dhFrUvjYN+jD8nGqj1FbzGA6I2+eSqzdCGOLH8=",
|
||||||
|
"owner": "nlohmann",
|
||||||
|
"repo": "json",
|
||||||
|
"rev": "4424a0fcc1c7fa640b5c87d26776d99150dacd10",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nlohmann",
|
||||||
|
"repo": "json",
|
||||||
|
"rev": "4424a0fcc1c7fa640b5c87d26776d99150dacd10",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kissfft": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1739194969,
|
||||||
|
"narHash": "sha256-DywClnx67EE+CnduSuZIIfaAKbBg1ebQ+JgwIpDsnGQ=",
|
||||||
|
"owner": "mborgerding",
|
||||||
|
"repo": "kissfft",
|
||||||
|
"rev": "febd4caeed32e33ad8b2e0bb5ea77542c40f18ec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "mborgerding",
|
||||||
|
"repo": "kissfft",
|
||||||
|
"rev": "febd4caeed32e33ad8b2e0bb5ea77542c40f18ec",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
@@ -243,50 +445,106 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-cachyos-kernel": {
|
"linux-wallpaper-engine": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"bun2nix": "bun2nix",
|
||||||
"flake-parts": "flake-parts",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788379544,
|
"lastModified": 1792046320,
|
||||||
"narHash": "sha256-EMfRomvn1lAErvY/Q3bQL+PwEi+5hbBwI0ZI5SRC/WM=",
|
"narHash": "sha256-AM22WLmtSfXw/AKKTEVBpSTZ+ksc8aWTwLyu/xyTRSs=",
|
||||||
"owner": "xddxdd",
|
"owner": "jagrat7",
|
||||||
"repo": "nix-cachyos-kernel",
|
"repo": "linux-wallpaper-engine",
|
||||||
"rev": "d1c3cadc796061778cf7f62bdbfaf68cf3c3c654",
|
"rev": "f52102134ea4205a422eb93cc5550e8568a8d769",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "xddxdd",
|
"owner": "jagrat7",
|
||||||
"ref": "release",
|
"repo": "linux-wallpaper-engine",
|
||||||
"repo": "nix-cachyos-kernel",
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"millennium": {
|
||||||
|
"inputs": {
|
||||||
|
"millennium-src": "millennium-src",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-bun": "nixpkgs-bun"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"dir": "packages/nix",
|
||||||
|
"lastModified": 1792022604,
|
||||||
|
"narHash": "sha256-xyl3KTB+j4W3dAxQVSolNJCQZOasDnCLB3Dr14adBmU=",
|
||||||
|
"owner": "SteamClientHomebrew",
|
||||||
|
"repo": "Millennium",
|
||||||
|
"rev": "22af2f453777a925fb398a3dab60a407e66aa83f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "packages/nix",
|
||||||
|
"owner": "SteamClientHomebrew",
|
||||||
|
"repo": "Millennium",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"millennium-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1791947497,
|
||||||
|
"narHash": "sha256-sNpoyJ+IjrTiDGfX2QiKVg4jkrJR7n9PdBeOYJSS4n8=",
|
||||||
|
"owner": "SteamClientHomebrew",
|
||||||
|
"repo": "Millennium",
|
||||||
|
"rev": "401d532543a0fbff469653ccba802bdd7e45f861",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SteamClientHomebrew",
|
||||||
|
"repo": "Millennium",
|
||||||
|
"rev": "401d532543a0fbff469653ccba802bdd7e45f861",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788329703,
|
"lastModified": 1772624091,
|
||||||
"narHash": "sha256-fHvRW4JUchuw6QNzQ50BfzeYe0TnjKml1V8PVRjntSI=",
|
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "090e478bd64824e2122328df47a7efb74fdaf0c1",
|
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable-small",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-bun": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1790822859,
|
||||||
|
"narHash": "sha256-69xHQhAeMAD2wDXO7T2pcOZIF9Sga2W+JkmY2a11Ops=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788057806,
|
"lastModified": 1769909678,
|
||||||
"narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=",
|
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c",
|
"rev": "72716169fe93074c333e8d0173151350670b824c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -295,13 +553,45 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788179007,
|
"lastModified": 1791956154,
|
||||||
"narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=",
|
"narHash": "sha256-jBYGPi4udQ9uo4KQp9m2J0546nJVQitG15gvZSaVVAs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9",
|
"rev": "55bfb4d7437bd4e09ab7cba58a43bd68eb310044",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1791883866,
|
||||||
|
"narHash": "sha256-yvkDdToRZ4IgPc9tSBzzCYJvTLf8n5eE3rgUkpCuD5A=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a033e66ab94a6bedf2c3d58d93a36319d3cbbbaf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-26.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1789286504,
|
||||||
|
"narHash": "sha256-eiEK7cKZORNEvX0GeF3RtNEF/JXhgf2RqSp3230q13E=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ef34387ddd751e1ab8857adf4676492d32eb24ec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -334,15 +624,37 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"quickjs": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770976497,
|
||||||
|
"narHash": "sha256-odQznZ/Xc6IGh6JPM1RyyEn9HL/+/AFR99XcF+WHJDc=",
|
||||||
|
"owner": "quickjs-ng",
|
||||||
|
"repo": "quickjs",
|
||||||
|
"rev": "72ba50f63ee31202f8c18b8d07ab1e1c3486ee6f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "quickjs-ng",
|
||||||
|
"repo": "quickjs",
|
||||||
|
"rev": "72ba50f63ee31202f8c18b8d07ab1e1c3486ee6f",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"aagl": "aagl",
|
"aagl": "aagl",
|
||||||
|
"codex-desktop": "codex-desktop",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
"linux-wallpaper-engine": "linux-wallpaper-engine",
|
||||||
|
"millennium": "millennium",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"simple-wallpaper-engine": "simple-wallpaper-engine",
|
||||||
"snowfall-lib": "snowfall-lib",
|
"snowfall-lib": "snowfall-lib",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
|
"wallpaperengine": "wallpaperengine",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -354,11 +666,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785476452,
|
"lastModified": 1785907205,
|
||||||
"narHash": "sha256-/CXwCFPS41rb/JI2VitKCgVK6V5E6/sfw5ke3B9zyVQ=",
|
"narHash": "sha256-Ds1vTi53af4wDMAveSR/K0JnywDslLwmgwhVIiwnNmY=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "6ef009bf4c4873cdc1a621826722bdea7c03e62c",
|
"rev": "c5cb13481d718fac906aa9cfd85f9b60e1a546cb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -388,9 +700,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"simple-wallpaper-engine": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772136897,
|
||||||
|
"narHash": "sha256-2RBgZWq80zXVWyOswUlDaoRZtaeT6pBkbNCLdAzLYoY=",
|
||||||
|
"owner": "Maxnights",
|
||||||
|
"repo": "simple-linux-wallpaperengine-gui",
|
||||||
|
"rev": "43ae644754a0a5e96c8ddb9077843643b74f9acc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Maxnights",
|
||||||
|
"repo": "simple-linux-wallpaperengine-gui",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"snowfall-lib": {
|
"snowfall-lib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-utils-plus": "flake-utils-plus",
|
"flake-utils-plus": "flake-utils-plus",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -430,6 +763,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"stb": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741976854,
|
||||||
|
"narHash": "sha256-FkTeRO/AC5itykH4uWNsE0UeQTS34VtGGoej5QJiBlg=",
|
||||||
|
"owner": "nothings",
|
||||||
|
"repo": "stb",
|
||||||
|
"rev": "f0569113c93ad095470c54bf34a17b36646bbbb5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nothings",
|
||||||
|
"repo": "stb",
|
||||||
|
"rev": "f0569113c93ad095470c54bf34a17b36646bbbb5",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
@@ -445,6 +795,134 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"linux-wallpaper-engine",
|
||||||
|
"bun2nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770228511,
|
||||||
|
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wallpaperengine": {
|
||||||
|
"inputs": {
|
||||||
|
"Catch2": "Catch2",
|
||||||
|
"MimeTypes": "MimeTypes",
|
||||||
|
"SPIRV-Cross-WallpaperEngine": "SPIRV-Cross-WallpaperEngine",
|
||||||
|
"argparse": "argparse",
|
||||||
|
"glslang-WallpaperEngine": "glslang-WallpaperEngine",
|
||||||
|
"json": "json",
|
||||||
|
"kissfft": "kissfft",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"quickjs": "quickjs",
|
||||||
|
"stb": "stb"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792233763,
|
||||||
|
"narHash": "sha256-jT37HuSiRnYEJlmZwsu2+WqcaUIaLJXTkpZuXXCLX54=",
|
||||||
|
"owner": "Hion-V",
|
||||||
|
"repo": "linux-wallpaperengine",
|
||||||
|
"rev": "482ecf2b08a8111eed993dfcd44b6126b6e43c91",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Hion-V",
|
||||||
|
"ref": "Hion-V/prod",
|
||||||
|
"repo": "linux-wallpaperengine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
|
|||||||
@@ -3,7 +3,9 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # Use nixos-unstable for latest kernel and packages
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
||||||
|
# Application exceptions; keep the system and graphics stack on stable.
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
# nixos-wsl = {
|
# nixos-wsl = {
|
||||||
# url = "github:nix-community/NixOS-WSL/main";
|
# url = "github:nix-community/NixOS-WSL/main";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -27,7 +29,7 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
# anikki = {
|
# anikki = {
|
||||||
@@ -43,10 +45,23 @@
|
|||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
# };
|
||||||
aagl = {
|
aagl = {
|
||||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
url = "github:ezKEa/aagl-gtk-on-nix/release-26.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
wallpaperengine.url = "github:Hion-V/linux-wallpaperengine/Hion-V/prod";
|
||||||
|
simple-wallpaper-engine = {
|
||||||
|
url = "github:Maxnights/simple-linux-wallpaperengine-gui";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
linux-wallpaper-engine.url = "github:jagrat7/linux-wallpaper-engine";
|
||||||
|
millennium = {
|
||||||
|
url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
codex-desktop = {
|
||||||
|
url = "github:ilysenko/codex-desktop-linux";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
@@ -87,9 +102,7 @@
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
overlays = with inputs; [
|
overlays = with inputs; [
|
||||||
# Use the exact kernel versions as defined in this repo.
|
inputs.millennium.overlays.default
|
||||||
# Guarantees you have binary cache.
|
|
||||||
nix-cachyos-kernel.overlays.pinned
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nixos = with inputs; [
|
nixos = with inputs; [
|
||||||
|
|||||||
@@ -6,6 +6,26 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib.my-namespace) enabled;
|
inherit (lib.my-namespace) enabled;
|
||||||
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
|
jagratWallpaperEngine =
|
||||||
|
(inputs.linux-wallpaper-engine.packages.${system}.default.override {
|
||||||
|
linux-wallpaperengine = inputs.wallpaperengine.packages.${system}.default;
|
||||||
|
}).overrideAttrs (old: {
|
||||||
|
# Forge 7 expects a default export, but the bundled Vite exposes named exports.
|
||||||
|
preBuild = (old.preBuild or "") + ''
|
||||||
|
substituteInPlace node_modules/@electron-forge/plugin-vite/dist/VitePlugin.js \
|
||||||
|
--replace-fail 'const vite_1 = __importDefault(require("vite"));' \
|
||||||
|
'const vite_1 = { default: require("vite") };'
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
simpleWallpaperEngine =
|
||||||
|
inputs.simple-wallpaper-engine.packages.${system}.default.override {
|
||||||
|
# The upstream GUI package otherwise puts nixpkgs' unmodified
|
||||||
|
# linux-wallpaperengine in its wrapped PATH.
|
||||||
|
pkgs = pkgs // {
|
||||||
|
linux-wallpaperengine = inputs.wallpaperengine.packages.${system}.default;
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -29,20 +49,28 @@ in
|
|||||||
pkgs.hyfetch
|
pkgs.hyfetch
|
||||||
pkgs.libreoffice
|
pkgs.libreoffice
|
||||||
pkgs.localsend
|
pkgs.localsend
|
||||||
|
simpleWallpaperEngine
|
||||||
|
# Separate GUI for manual testing; keep the existing GUI's autostart.
|
||||||
|
jagratWallpaperEngine
|
||||||
# pkgs.vesktop
|
# pkgs.vesktop
|
||||||
pkgs.obsidian
|
pkgs.obsidian
|
||||||
inputs.zen-browser.packages.x86_64-linux.default
|
inputs.zen-browser.packages.x86_64-linux.default
|
||||||
# inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default # Archived.
|
# inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default # Archived.
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
xdg.autostart = {
|
||||||
|
enable = true;
|
||||||
|
entries = [
|
||||||
|
"${simpleWallpaperEngine}/share/applications/simple-wallpaper-engine-autostart.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
# Auto-start linux-wallpaperengine for dual monitors via XDG autostart
|
# Auto-start linux-wallpaperengine for dual monitors via XDG autostart
|
||||||
xdg.configFile."autostart/linux-wallpaperengine.desktop".text = ''
|
# xdg.configFile."autostart/linux-wallpaperengine.desktop".text = ''
|
||||||
[Desktop Entry]
|
# [Desktop Entry]
|
||||||
Type=Application
|
# Type=Application
|
||||||
Name=Wallpaper Engine
|
# Name=Wallpaper Engine
|
||||||
Exec=${pkgs.my-namespace.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 --screen-root DP-2 --bg 2935872330 -f 12
|
# Exec=${pkgs.my-namespace.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 --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
|
||||||
'';
|
# '';
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ in {
|
|||||||
systemd.services.gnome-remote-desktop = {
|
systemd.services.gnome-remote-desktop = {
|
||||||
wantedBy = [ "graphical.target" ]; # for starting the unit automatically at boot
|
wantedBy = [ "graphical.target" ]; # for starting the unit automatically at boot
|
||||||
};
|
};
|
||||||
# services.displayManager.autoLogin.enable = false;
|
services.displayManager.autoLogin.enable = false;
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
3389
|
3389
|
||||||
3390
|
3390
|
||||||
@@ -83,9 +83,11 @@ in {
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
|
ptyxis
|
||||||
gnome-software
|
gnome-software
|
||||||
gnomeExtensions.pop-shell
|
gnomeExtensions.pop-shell
|
||||||
gnome-remote-desktop
|
gnome-remote-desktop
|
||||||
|
dconf-editor
|
||||||
glib-networking # Required gnome-remote-desktop dependency
|
glib-networking # Required gnome-remote-desktop dependency
|
||||||
];
|
];
|
||||||
systemd.user.services.gnome-remote-desktop.environment = {
|
systemd.user.services.gnome-remote-desktop.environment = {
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.${namespace}.distrobox;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.distrobox = {
|
||||||
|
enable = lib.mkEnableOption "Distrobox with a Podman container backend";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.distrobox ];
|
||||||
|
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -43,7 +43,7 @@ in
|
|||||||
age
|
age
|
||||||
wget
|
wget
|
||||||
sops
|
sops
|
||||||
# bitwarden-desktop #replaced bitwarden
|
bitwarden-desktop #replaced bitwarden
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
cowsay
|
cowsay
|
||||||
remmina
|
remmina
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{ config, lib, pkgs, namespace, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.${namespace}.rtl8125-recovery;
|
||||||
|
recovery = pkgs.writeShellApplication {
|
||||||
|
name = "rtl8125-recover";
|
||||||
|
runtimeInputs = with pkgs; [ coreutils gnugrep pciutils ethtool systemd ];
|
||||||
|
text = builtins.readFile ./recover.sh;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.${namespace}.rtl8125-recovery = {
|
||||||
|
enable = lib.mkEnableOption "RTL8125 PCI recovery after boot and resume";
|
||||||
|
pciAddress = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "0000:0a:00.0";
|
||||||
|
description = "PCI address of the onboard RTL8125 controller.";
|
||||||
|
};
|
||||||
|
bridgeAddress = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "0000:06:03.0";
|
||||||
|
description = "Immediate parent PCI bridge of the controller.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.services.rtl8125-recovery = {
|
||||||
|
description = "Recover RTL8125 from failed PCI power restoration";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "NetworkManager.service" ];
|
||||||
|
environment = {
|
||||||
|
NIC_PCI = cfg.pciAddress;
|
||||||
|
NIC_BRIDGE = cfg.bridgeAddress;
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = lib.getExe recovery;
|
||||||
|
TimeoutStartSec = "90s";
|
||||||
|
StateDirectory = "rtl8125-recovery";
|
||||||
|
StateDirectoryMode = "0700";
|
||||||
|
UMask = "0077";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# sleep.target is stopped after resume. Queue recovery separately so its
|
||||||
|
# grace period does not hold up the sleep transaction or user sessions.
|
||||||
|
systemd.services.rtl8125-resume = {
|
||||||
|
description = "Queue RTL8125 recovery after waking";
|
||||||
|
wantedBy = [ "sleep.target" ];
|
||||||
|
before = [ "sleep.target" ];
|
||||||
|
unitConfig.StopWhenUnneeded = true;
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
ExecStart = "${pkgs.coreutils}/bin/true";
|
||||||
|
ExecStop = "${pkgs.systemd}/bin/systemctl --no-block start rtl8125-recovery.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
# Called once after boot or resume. No network access is required.
|
||||||
|
set -euo pipefail
|
||||||
|
nic="/sys/bus/pci/devices/$NIC_PCI"
|
||||||
|
bridge="/sys/bus/pci/devices/$NIC_BRIDGE"
|
||||||
|
log() { echo "rtl8125-recovery: $*"; }
|
||||||
|
disable_eee() {
|
||||||
|
local netdir
|
||||||
|
for netdir in "$nic"/net/*; do
|
||||||
|
[[ -e "$netdir/ifindex" ]] || continue
|
||||||
|
ethtool --set-eee "$(basename "$netdir")" eee off
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Let normal PCI and network resume finish before diagnosing anything.
|
||||||
|
sleep 10
|
||||||
|
if [[ ! -d "$bridge" ]]; then
|
||||||
|
log "Parent bridge $NIC_BRIDGE is absent; refusing recovery."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ $(cat "$bridge/vendor") != 0x1022 || $(cat "$bridge/device") != 0x43f5 ]]; then
|
||||||
|
log "Parent bridge identity changed; refusing recovery."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$nic" ]]; then
|
||||||
|
if [[ $(cat "$nic/vendor") != 0x10ec || $(cat "$nic/device") != 0x8125 ]]; then
|
||||||
|
log "Device at $NIC_PCI is not an RTL8125; refusing recovery."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ $(dirname "$(readlink -f "$nic")") != "$(readlink -f "$bridge")" ]]; then
|
||||||
|
log "NIC is no longer directly below the configured bridge; refusing recovery."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
power=$(cat "$nic/power_state")
|
||||||
|
command=$(timeout 5 setpci -s "$NIC_PCI" COMMAND 2>/dev/null || true)
|
||||||
|
# Both memory decoding and bus mastering should be enabled on this host.
|
||||||
|
# Disconnected cables do not disable these PCI command bits.
|
||||||
|
if [[ "$power" == D0 && "$command" =~ ^[[:xdigit:]]{4}$ && "${command,,}" != ffff ]] &&
|
||||||
|
(( (16#$command & 6) == 6 )); then
|
||||||
|
log "PCI state healthy ($power, COMMAND=$command); no recovery needed."
|
||||||
|
disable_eee
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
# An administratively disabled NIC should not be automatically reset.
|
||||||
|
netdirs=("$nic"/net/*)
|
||||||
|
if [[ -e "${netdirs[0]}/flags" ]]; then
|
||||||
|
flags=$(cat "${netdirs[0]}/flags")
|
||||||
|
if (( (flags & 1) == 0 )); then
|
||||||
|
log "Interface is administratively down; leaving it alone."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
log "Failed PCI state: power=$power COMMAND=$command."
|
||||||
|
else
|
||||||
|
log "NIC missing; attempting one rescan of its known bridge."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Retain evidence from the latest failure without accumulating unlimited logs.
|
||||||
|
evidence="${STATE_DIRECTORY:-/var/lib/rtl8125-recovery}/last-failure.log"
|
||||||
|
mkdir -p "$(dirname "$evidence")"
|
||||||
|
{
|
||||||
|
date -Is
|
||||||
|
timeout 5 lspci -s "$NIC_PCI" -vv || true
|
||||||
|
timeout 5 lspci -s "$NIC_BRIDGE" -vv || true
|
||||||
|
journalctl -b -k --since '10 minutes ago' -n 250 --no-pager || true
|
||||||
|
} > "$evidence" 2>&1
|
||||||
|
|
||||||
|
# This is the remove/rescan recovery that worked on this machine. Never reset
|
||||||
|
# or remove the parent bridge, which could affect other hardware.
|
||||||
|
if [[ -d "$nic" ]]; then
|
||||||
|
echo 1 > "$nic/remove"
|
||||||
|
fi
|
||||||
|
echo 1 > "$bridge/rescan"
|
||||||
|
|
||||||
|
for ((attempt=0; attempt<20; attempt++)); do
|
||||||
|
netdirs=("$nic"/net/*)
|
||||||
|
if [[ -e "${netdirs[0]}/ifindex" ]]; then
|
||||||
|
iface=$(basename "${netdirs[0]}")
|
||||||
|
power=$(cat "$nic/power_state")
|
||||||
|
command=$(timeout 5 setpci -s "$NIC_PCI" COMMAND 2>/dev/null || true)
|
||||||
|
if [[ "$power" == D0 && "$command" =~ ^[[:xdigit:]]{4}$ && "${command,,}" != ffff ]] &&
|
||||||
|
(( (16#$command & 6) == 6 )); then
|
||||||
|
# NetworkManager also reapplies the saved profile. Explicitly
|
||||||
|
# restore WoL here so recovery does not depend on its timing.
|
||||||
|
ethtool -s "$iface" wol g
|
||||||
|
disable_eee
|
||||||
|
if ! ethtool "$iface" | grep -Eq '^[[:space:]]*Wake-on: g$'; then
|
||||||
|
log "PCI recovered, but magic-packet WoL could not be confirmed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
log "Recovered $iface in D0; magic-packet WoL enabled. Evidence: $evidence"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
log "Recovery did not restore operational PCI state; no further attempt this invocation."
|
||||||
|
exit 1
|
||||||
@@ -43,7 +43,14 @@
|
|||||||
|
|
||||||
hardware.uinput.enable = true;
|
hardware.uinput.enable = true;
|
||||||
users.users.andreas.extraGroups = [ "input" ];
|
users.users.andreas.extraGroups = [ "input" ];
|
||||||
|
# Explicitly register the desktop MIME scheme handler
|
||||||
|
xdg.mime = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications = {
|
||||||
|
"x-scheme-handler/steam" = [ "steam.desktop" ];
|
||||||
|
"x-scheme-handler/steamlink" = [ "steam.desktop" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
programs.gamescope.enable = true;
|
programs.gamescope.enable = true;
|
||||||
programs.steam.gamescopeSession = {
|
programs.steam.gamescopeSession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -67,7 +74,7 @@
|
|||||||
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.steam.override {
|
package = pkgs.millennium-steam.override {
|
||||||
extraPkgs = pkgs: with pkgs; [
|
extraPkgs = pkgs: with pkgs; [
|
||||||
gamemode
|
gamemode
|
||||||
noto-fonts-color-emoji
|
noto-fonts-color-emoji
|
||||||
|
|||||||
@@ -54,6 +54,11 @@ EOF
|
|||||||
# Smoke-test styles. Remove later if you want.
|
# Smoke-test styles. Remove later if you want.
|
||||||
cat >> /tmp/vscode-modernized-inline.css <<'EOF'
|
cat >> /tmp/vscode-modernized-inline.css <<'EOF'
|
||||||
|
|
||||||
|
/* Modernized dims inactive icons to 20%; let the theme control contrast instead. */
|
||||||
|
.monaco-workbench .part.activitybar .monaco-action-bar .action-item.icon:not(.disabled) {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Nix smoke test: these should be very visible */
|
/* Nix smoke test: these should be very visible */
|
||||||
.monaco-workbench .part.sidebar,
|
.monaco-workbench .part.sidebar,
|
||||||
.monaco-workbench .part.auxiliarybar,
|
.monaco-workbench .part.auxiliarybar,
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.code-server = {
|
||||||
|
enable = true;
|
||||||
|
user = "andreas";
|
||||||
|
group = "users";
|
||||||
|
host = "0.0.0.0";
|
||||||
|
port = 1337;
|
||||||
|
auth = "password";
|
||||||
|
hashedPassword = "$argon2i$v=19$m=4096,t=3,p=1$Njl5em15cVdqMVluSWJneWp4OUhObGgxZ0tnPQ$1AAVNLuuKv5qyno40QAxFVPeAydY+8XkEVovKYrkJN0";
|
||||||
|
disableTelemetry = true;
|
||||||
|
disableUpdateCheck = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 1337 ];
|
||||||
|
}
|
||||||
@@ -10,10 +10,13 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./code-server.nix
|
||||||
./tigervnc.nix
|
./tigervnc.nix
|
||||||
./hardware/hardware-configuration.nix
|
./hardware/hardware-configuration.nix
|
||||||
|
./hardware/realtek-r8125.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
# boot.loader.systemd-boot.enable = true; # managed by lanzaboote
|
# boot.loader.systemd-boot.enable = true; # managed by lanzaboote
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
@@ -45,19 +48,41 @@
|
|||||||
LC_TELEPHONE = "nl_NL.UTF-8";
|
LC_TELEPHONE = "nl_NL.UTF-8";
|
||||||
LC_TIME = "nl_NL.UTF-8";
|
LC_TIME = "nl_NL.UTF-8";
|
||||||
};
|
};
|
||||||
|
system.activationScripts."stremio-mpv-flatpak-patch" = {
|
||||||
|
text = ''
|
||||||
|
# 1. Provide the symlink where Stremio's player engine queries
|
||||||
|
mkdir -p /usr/bin
|
||||||
|
ln -sf /run/current-system/sw/bin/mpv /usr/bin/mpv
|
||||||
|
|
||||||
|
# 2. Locate and patch the runtime server.js file inside the active Flatpak installation
|
||||||
|
TARGET_FILE="/var/lib/flatpak/app/com.stremio.Stremio/current/active/files/opt/stremio/server.js"
|
||||||
|
|
||||||
|
if [ -f "$TARGET_FILE" ]; then
|
||||||
|
# Make sure the file is writable momentarily for the patch
|
||||||
|
chmod +w "$TARGET_FILE"
|
||||||
|
|
||||||
|
# Inject the flatpak-spawn sequence into the linux player profile
|
||||||
|
sed -i 's|linux:{path:\["\/usr\/bin\/mpv"\]|linux:{path:["/usr/bin/flatpak-spawn"],args:["--host","/usr/bin/mpv"]|g' "$TARGET_FILE"
|
||||||
|
sed -i 's|linux:{path:\["mpv"\]|linux:{path:["/usr/bin/flatpak-spawn"],args:["--host","/usr/bin/mpv"]|g' "$TARGET_FILE"
|
||||||
|
|
||||||
|
# Restore permissions
|
||||||
|
chmod -w "$TARGET_FILE"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
services = {
|
services = {
|
||||||
# Enable Gnome Session
|
# Enable Gnome Session
|
||||||
displayManager.gdm.enable = false;
|
displayManager.gdm.enable = true;
|
||||||
displayManager.sddm.enable = true;
|
displayManager.sddm.enable = false;
|
||||||
displayManager.sddm.wayland.enable = true;
|
# displayManager.sddm.wayland.enable = true;
|
||||||
displayManager.autoLogin = {
|
displayManager.autoLogin = {
|
||||||
enable = false;
|
enable = false;
|
||||||
user = "andreas";
|
user = "andreas";
|
||||||
};
|
};
|
||||||
|
|
||||||
displayManager.cosmic-greeter.enable = false;
|
displayManager.cosmic-greeter.enable = false;
|
||||||
displayManager.defaultSession = "cinnamon";
|
displayManager.defaultSession = "gnome";
|
||||||
|
# Clear the sandbox restriction dynamically
|
||||||
|
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true; # Enable the deprecated X11 teletype terminal connection system.
|
enable = true; # Enable the deprecated X11 teletype terminal connection system.
|
||||||
@@ -243,7 +268,7 @@
|
|||||||
|
|
||||||
services.mullvad-vpn = {
|
services.mullvad-vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gui.enable = true;
|
package = pkgs.mullvad-vpn;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
@@ -265,15 +290,15 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xrdp = {
|
# services.xrdp = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
openFirewall = true;
|
# openFirewall = true;
|
||||||
defaultWindowManager = "cinnamon-session";
|
# defaultWindowManager = "cinnamon-session";
|
||||||
};
|
# };
|
||||||
|
|
||||||
### tigervnc
|
### tigervnc
|
||||||
services.tigervnc = {
|
services.tigervnc = {
|
||||||
enable = true;
|
enable = false;
|
||||||
users = {
|
users = {
|
||||||
andreas = {
|
andreas = {
|
||||||
localhost = false; # true for SSH-only
|
localhost = false; # true for SSH-only
|
||||||
@@ -288,6 +313,6 @@
|
|||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
system.stateVersion = "26.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,11 @@ let
|
|||||||
# inherit (lib.my-namespace) systemPackages;
|
# inherit (lib.my-namespace) systemPackages;
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
installedPackages = lib.my-namespace.mkPackages pkgs;
|
installedPackages = lib.my-namespace.mkPackages pkgs;
|
||||||
|
# Explicit application exceptions; all other packages use stable pkgs.
|
||||||
|
unstablePkgs = import inputs.nixpkgs-unstable {
|
||||||
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# inherit system;
|
# inherit system;
|
||||||
@@ -36,26 +41,31 @@ in
|
|||||||
./configuration.nix
|
./configuration.nix
|
||||||
./mutter-tearing.nix
|
./mutter-tearing.nix
|
||||||
./video.nix
|
./video.nix
|
||||||
|
inputs.wallpaperengine.nixosModules.default
|
||||||
inputs.aagl.nixosModules.default
|
inputs.aagl.nixosModules.default
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
system.stateVersion = "24.05";
|
programs.linux-wallpaperengine.enable = true;
|
||||||
|
system.stateVersion = "26.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’.
|
# Distrobox
|
||||||
|
my-namespace.distrobox.enable = true;
|
||||||
# Desktops
|
# Desktops
|
||||||
my-namespace.desktop-environment.cinnamon.enable = true;
|
my-namespace.desktop-environment.cinnamon.enable = true;
|
||||||
my-namespace.desktop-environment.xfce.enable = true;
|
my-namespace.desktop-environment.xfce.enable = false;
|
||||||
my-namespace.desktop-environment.gnome.enable = true;
|
my-namespace.desktop-environment.gnome.enable = true;
|
||||||
my-namespace.desktop-environment.kde.enable = true;
|
my-namespace.desktop-environment.kde.enable = false;
|
||||||
my-namespace.desktop-environment.hyprland.enable = true;
|
my-namespace.desktop-environment.hyprland.enable = false;
|
||||||
my-namespace.desktop-environment.cosmic.enable = true;
|
my-namespace.desktop-environment.cosmic.enable = false;
|
||||||
my-namespace.performance-tuning.enable = true;
|
my-namespace.performance-tuning.enable = true;
|
||||||
|
my-namespace.rtl8125-recovery.enable = true;
|
||||||
my-namespace.file-organization.enable = true;
|
my-namespace.file-organization.enable = true;
|
||||||
# GNOME-keyring
|
# GNOME-keyring
|
||||||
my-namespace.gnome-keyring.enable = true;
|
my-namespace.gnome-keyring.enable = true;
|
||||||
# CS Tools
|
# CS Tools
|
||||||
my-namespace.cs-tools.enable = true;
|
my-namespace.cs-tools.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.andreas = {
|
users.users.andreas = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Andreas Schaafsma";
|
description = "Andreas Schaafsma";
|
||||||
@@ -82,16 +92,23 @@ in
|
|||||||
spotify
|
spotify
|
||||||
appimage-run
|
appimage-run
|
||||||
prismlauncher #replaces broken minecraft package
|
prismlauncher #replaces broken minecraft package
|
||||||
trilium-desktop
|
unstablePkgs.trilium-desktop
|
||||||
terraform
|
terraform
|
||||||
virt-manager
|
virt-manager
|
||||||
nil
|
nil
|
||||||
codex
|
codex
|
||||||
|
inputs.codex-desktop.packages.${pkgs.stdenv.hostPlatform.system}.codex-desktop
|
||||||
# thunderbird
|
# thunderbird
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.appimage = {
|
||||||
|
enable = true;
|
||||||
|
binfmt = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
programs.anime-game-launcher.enable = true; # Adds launcher and /etc/hosts rules
|
programs.anime-game-launcher.enable = true; # Adds launcher and /etc/hosts rules
|
||||||
programs.anime-games-launcher.enable = true;
|
programs.anime-games-launcher.enable = true;
|
||||||
|
|
||||||
@@ -157,6 +174,8 @@ in
|
|||||||
my-namespace.rounded-windows-bms
|
my-namespace.rounded-windows-bms
|
||||||
my-namespace.cs-demo-manager
|
my-namespace.cs-demo-manager
|
||||||
vscode-modernized
|
vscode-modernized
|
||||||
|
zed-editor
|
||||||
|
unstablePkgs.jetbrains-toolbox
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "switch-to-desktop" ''
|
(pkgs.writeShellScriptBin "switch-to-desktop" ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
@@ -218,9 +237,9 @@ in
|
|||||||
# Disable the GNOME3/GDM auto-suspend feature that cannot be disabled in GUI!
|
# Disable the GNOME3/GDM auto-suspend feature that cannot be disabled in GUI!
|
||||||
# If no user is logged in, the machine will power down after 20 minutes.
|
# If no user is logged in, the machine will power down after 20 minutes.
|
||||||
|
|
||||||
systemd.targets.sleep.enable = false;
|
# systemd.targets.sleep.enable = false;
|
||||||
systemd.targets.suspend.enable = false;
|
# systemd.targets.suspend.enable = false;
|
||||||
systemd.targets.hibernate.enable = false;
|
# systemd.targets.hibernate.enable = false;
|
||||||
systemd.targets.hybrid-sleep.enable = false;
|
# systemd.targets.hybrid-sleep.enable = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,11 +14,7 @@
|
|||||||
./acer-monitor-edid.nix
|
./acer-monitor-edid.nix
|
||||||
./samsung-monitor-edid.nix
|
./samsung-monitor-edid.nix
|
||||||
];
|
];
|
||||||
# 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.linuxPackages;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
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" ];
|
||||||
@@ -26,31 +22,24 @@
|
|||||||
boot.supportedFilesystems = [ "ntfs" ];
|
boot.supportedFilesystems = [ "ntfs" ];
|
||||||
boot.blacklistedKernelModules = [ "r8169" ];
|
boot.blacklistedKernelModules = [ "r8169" ];
|
||||||
|
|
||||||
systemd.services.disable-realtek-eee = {
|
|
||||||
description = "Disable Realtek Energy Efficient Ethernet";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
after = [ "network.target" ];
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${pkgs.ethtool}/bin/ethtool --set-eee enp10s0 eee off";
|
|
||||||
RemainAfterExit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76";
|
{ device = "/dev/disk/by-uuid/31fe479a-f4ef-4ee5-9cd9-d43ed1a3c88b";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
#device = "/dev/disk/by-uuid/E846-D998";
|
{ device = "/dev/disk/by-uuid/646A-D107";
|
||||||
device = "/dev/disk/by-uuid/19BE-8BAA";
|
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/6ac4f42b-09e3-43b3-8215-8ff9a3c0695e";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
# Mount ntfs partition
|
# Mount ntfs partition
|
||||||
# fileSystems."/run/media/627C3BDF7C3BAD23" = {
|
# fileSystems."/run/media/627C3BDF7C3BAD23" = {
|
||||||
# device = "/dev/disk/by-uuid/627C3BDF7C3BAD23";
|
# device = "/dev/disk/by-uuid/627C3BDF7C3BAD23";
|
||||||
@@ -80,10 +69,10 @@
|
|||||||
swapDevices = [ {
|
swapDevices = [ {
|
||||||
device = "/var/lib/swapfile";
|
device = "/var/lib/swapfile";
|
||||||
size = 32*1024;
|
size = 32*1024;
|
||||||
} ]; #resume-offset = 78399488
|
} ]; #resume-offset = 195323904
|
||||||
boot.resumeDevice = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76"; # the unlocked drive mapping
|
boot.resumeDevice = "/dev/disk/by-uuid/31fe479a-f4ef-4ee5-9cd9-d43ed1a3c88b"; # the unlocked drive mapping
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"resume_offset=78399488" #sudo filefrag -v /var/lib/swapfile|awk 'NR==4{gsub(/\./,"");print $4;}'
|
"resume_offset=195323904" #sudo filefrag -v /var/lib/swapfile|awk 'NR==4{gsub(/\./,"");print $4;}'
|
||||||
"r8125.aspm=0" # realtek network adapter fix
|
"r8125.aspm=0" # realtek network adapter fix
|
||||||
];
|
];
|
||||||
security.protectKernelImage = false;
|
security.protectKernelImage = false;
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Keep the vendor driver tied to this host's selected kernel, including its
|
||||||
|
# build dependencies and module installation path supplied by nixpkgs.
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages.extend (_final: prev: {
|
||||||
|
r8125 = prev.r8125.overrideAttrs {
|
||||||
|
version = "9.018.00";
|
||||||
|
# The mirror's top-level wrapper overrides BASEDIR with /lib/modules.
|
||||||
|
# Build in src directly so nixpkgs' kernel path reaches kbuild.
|
||||||
|
buildFlags = [ "-C" "src" "modules" ];
|
||||||
|
# Realtek's release mirrored by the DKMS maintainer. Pin the source rather
|
||||||
|
# than running the vendor installer or following a mutable branch.
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "awesometic";
|
||||||
|
repo = "realtek-r8125-dkms";
|
||||||
|
rev = "9a152bf920334aead090d2fb4d91f67a84923123"; # 9.018.00-1
|
||||||
|
hash = "sha256-yeQsyraNrms1Txm7ZAKeiPfF0tfN6WSHUo5DnvfFosw=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ in
|
|||||||
|
|
||||||
# nixpkgs leaves Mutter's verbose topics compiled out by default.
|
# nixpkgs leaves Mutter's verbose topics compiled out by default.
|
||||||
# This is required for MUTTER_DEBUG=kms to emit the async commit flags.
|
# This is required for MUTTER_DEBUG=kms to emit the async commit flags.
|
||||||
mesonFlags = (old.mesonFlags or [ ]) ++ [ "-Dverbose=true" ];
|
mesonFlags = (old.mesonFlags or [ ]) ++ [ ];
|
||||||
|
|
||||||
# The MR currently targets Mutter 51. Apply it to the packaged Mutter
|
# The MR currently targets Mutter 51. Apply it to the packaged Mutter
|
||||||
# 50 source, then resolve the four small context conflicts separately.
|
# 50 source, then resolve the four small context conflicts separately.
|
||||||
@@ -54,6 +54,6 @@ in
|
|||||||
|
|
||||||
# Temporarily expose whether async atomic commits reach KMS or fall back
|
# Temporarily expose whether async atomic commits reach KMS or fall back
|
||||||
# to synchronized presentation. Remove this after collecting the log.
|
# to synchronized presentation. Remove this after collecting the log.
|
||||||
MUTTER_DEBUG = lib.mkDefault "kms";
|
# MUTTER_DEBUG = lib.mkDefault "kms";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user