hot demon girls in your area #1

Closed
cry wants to merge 0 commits from cry/flake-foxora:main into main
30 changed files with 585 additions and 938 deletions

359
flake.lock generated
View file

@ -96,11 +96,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1771353108,
"narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=",
"lastModified": 1770834979,
"narHash": "sha256-gh7GOW1y06dsfCnzBlx+qkkDUqnr1AhXBRjihUTB3w4=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb",
"rev": "36658048dacf3e409f17dfd1465eee1e4e217432",
"type": "github"
},
"original": {
@ -112,11 +112,11 @@
"cachyos-kernel": {
"flake": false,
"locked": {
"lastModified": 1771263855,
"narHash": "sha256-akyds1g8cb742d2OrnQ4YciscpynsQ0+0YD2a8aZdvo=",
"lastModified": 1770747435,
"narHash": "sha256-MR4xm9zQZ5LuoHWWdrlWJyEJablzx36nY19dXpY4VE4=",
"owner": "CachyOS",
"repo": "linux-cachyos",
"rev": "5ece16c7b4a7d1261da68153cafc318a60b78ce8",
"rev": "661da6f123bf3984e462fe9f932a38e643d6e081",
"type": "github"
},
"original": {
@ -128,11 +128,11 @@
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1771246613,
"narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=",
"lastModified": 1770760828,
"narHash": "sha256-bcAZJG390mv9fFJwzyFl3iRyrTpSTWsra14qBJujR4A=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60",
"rev": "87a5bb45dfee4cf31a57472591cb5013a7e9afcf",
"type": "github"
},
"original": {
@ -144,10 +144,11 @@
"cerulean": {
"inputs": {
"deploy-rs": "deploy-rs",
"home-manager": "home-manager",
"microvm": "microvm",
"nixpkgs": [
"nixpkgs"
"nixpkgs-unstable"
],
"nixpkgs-unstable": [
"nixpkgs-unstable"
],
"nt": "nt",
"systems": [
@ -155,17 +156,17 @@
]
},
"locked": {
"lastModified": 1771409623,
"narHash": "sha256-1IhHueuQTVCVrui700IP9DfLXwb3kU2rnEWPSdxQY0k=",
"ref": "refs/heads/main",
"rev": "d5211287bd3cb96078f2053488d67d557848a8f2",
"revCount": 176,
"type": "git",
"url": "https://tearforge.net/cry/cerulean"
"lastModified": 1770984934,
"narHash": "sha256-5+/r1CFqmmzUIqZNjrGUjGgF4BxDkQ2NUrKkCsBBE9s=",
"owner": "emilelcb",
"repo": "Cerulean",
"rev": "3ba385ee25cc02c91fe4c245a734d59c54a1b1df",
"type": "github"
},
"original": {
"type": "git",
"url": "https://tearforge.net/cry/cerulean"
"owner": "emilelcb",
"repo": "Cerulean",
"type": "github"
}
},
"crane": {
@ -203,10 +204,7 @@
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat_3",
"nixpkgs": [
"cerulean",
"nixpkgs"
],
"nixpkgs": "nixpkgs_3",
"utils": "utils"
},
"locked": {
@ -384,11 +382,11 @@
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github"
},
"original": {
@ -455,39 +453,17 @@
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"cerulean",
"nixpkgs"
]
},
"locked": {
"lastModified": 1770260404,
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1771269455,
"narHash": "sha256-BZ31eN5F99YH6vkc4AhzKGE+tJgJ52kl8f01K7wCs8w=",
"lastModified": 1770910055,
"narHash": "sha256-6HJVLBtbf2ub4a3P9YG+a3CTzzUcy4HpLz4IQdiyVxY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5f1d42a97b19803041434f66681d5c44c9ae62e3",
"rev": "0825a0922a5d677f5f984bb79524569bbd1f9954",
"type": "github"
},
"original": {
@ -497,7 +473,7 @@
"type": "github"
}
},
"home-manager_3": {
"home-manager_2": {
"inputs": {
"nixpkgs": [
"zen",
@ -505,11 +481,11 @@
]
},
"locked": {
"lastModified": 1771102945,
"narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=",
"lastModified": 1769872935,
"narHash": "sha256-07HMIGQ/WJeAQJooA7Kkg1SDKxhAiV6eodvOwTX6WKI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ff5e5d882c51f9a032479595cbab40fd04f56399",
"rev": "f4ad5068ee8e89e4a7c2e963e10dd35cd77b37b7",
"type": "github"
},
"original": {
@ -587,7 +563,7 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_5",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_3",
"xdph": "xdph"
@ -873,7 +849,7 @@
"crane": "crane",
"fenix": "fenix",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_5"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1768868561,
@ -974,49 +950,6 @@
"type": "github"
}
},
"microvm": {
"inputs": {
"nixpkgs": [
"cerulean",
"nixpkgs"
],
"spectrum": "spectrum"
},
"locked": {
"lastModified": 1771365290,
"narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=",
"owner": "microvm-nix",
"repo": "microvm.nix",
"rev": "789c90b164b55b4379e7a94af8b9c01489024c18",
"type": "github"
},
"original": {
"owner": "microvm-nix",
"repo": "microvm.nix",
"type": "github"
}
},
"microvm_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"spectrum": "spectrum_2"
},
"locked": {
"lastModified": 1771365290,
"narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=",
"owner": "microvm-nix",
"repo": "microvm.nix",
"rev": "789c90b164b55b4379e7a94af8b9c01489024c18",
"type": "github"
},
"original": {
"owner": "microvm-nix",
"repo": "microvm.nix",
"type": "github"
}
},
"millennium": {
"inputs": {
"abseil-src": "abseil-src",
@ -1032,7 +965,7 @@
"minhook-src": "minhook-src",
"mini-src": "mini-src",
"minizip-src": "minizip-src",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_7",
"re2-src": "re2-src",
"websocketpp-src": "websocketpp-src",
"zlib-src": "zlib-src"
@ -1125,14 +1058,14 @@
"inputs": {
"flake-compat": "flake-compat_5",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1771150922,
"narHash": "sha256-+oQJun4CFDlOQRocbZpqQDj7agoy56/4ZjT1oUR7NOs=",
"lastModified": 1768904356,
"narHash": "sha256-TIG8J+Or8nOydy8TztvtIshnprlf1q6XDIJnopLtMlA=",
"owner": "thiagokokada",
"repo": "nix-alien",
"rev": "96045e886ba0dd45b27590e7c0c6e77bbb54033d",
"rev": "d95b25a4dd6da2a1dfeaaf66163d0a281a8270e9",
"type": "github"
},
"original": {
@ -1172,11 +1105,11 @@
]
},
"locked": {
"lastModified": 1771130777,
"narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=",
"lastModified": 1765267181,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "efec7aaad8d43f8e5194df46a007456093c40f88",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
"type": "github"
},
"original": {
@ -1229,14 +1162,14 @@
"inputs": {
"flake-compat": "flake-compat_6",
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1771375681,
"narHash": "sha256-qDDw0ruBZ1kt63j4uVP5Xrd1OxGKIYrSFnig0z6ozSw=",
"lastModified": 1770365342,
"narHash": "sha256-jV5tAs67HSBWz/ePEp1eyoUK3Lqfc1fEAvt2wC6reFc=",
"owner": "FlameFlag",
"repo": "nixcord",
"rev": "d030dbb48ab020092681a39c878c1d48a553ffc1",
"rev": "51db830336715209a4a213aa985f4d405ff0be69",
"type": "github"
},
"original": {
@ -1278,11 +1211,11 @@
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1769909678,
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "72716169fe93074c333e8d0173151350670b824c",
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"type": "github"
},
"original": {
@ -1291,29 +1224,13 @@
"type": "github"
}
},
"nixpkgs-master": {
"locked": {
"lastModified": 1771439456,
"narHash": "sha256-HtQgNJrjYvZdpqpPJddF+TxGCazNyxvA8umbDcjrxT8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f84d6f6cd5f17d594439710f40349ba7d0706f4b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-staging": {
"locked": {
"lastModified": 1771384451,
"narHash": "sha256-rFs7+EFjAglrHFhRz3N/M+fyn28q+dR4gVC9/9yoWS0=",
"lastModified": 1770984692,
"narHash": "sha256-n6HUgG2+cvLcQkZEgXu14qgl/SrKC4EZerQXod0HGDg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4f8a766def570768a6cefe8ea42f839eff9dc1eb",
"rev": "e7b82c0fddf16a5e3fee29bbd8e0c8c67158176d",
"type": "github"
},
"original": {
@ -1325,11 +1242,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1771008912,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"lastModified": 1770841267,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
"type": "github"
},
"original": {
@ -1341,11 +1258,27 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1771008912,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"lastModified": 1770197578,
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@ -1357,11 +1290,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1771309086,
"narHash": "sha256-25aY7PIHMmoVW5w/x8Bs4vsfSV94A5htwiLINJ4KMuY=",
"lastModified": 1770818322,
"narHash": "sha256-tttCN+yrhM7svQW6DqtS3JV9POrRJAaS/e0xuUHBTEM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e17f00eb60368a4b4b110a89f1c250f9a12c053",
"rev": "d9ca3a4b73f19ea147c9d977d3dde8f612ac648f",
"type": "github"
},
"original": {
@ -1372,6 +1305,22 @@
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1743014863,
"narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1767313136,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
@ -1387,7 +1336,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1766070988,
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
@ -1403,7 +1352,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_6": {
"locked": {
"lastModified": 1760284886,
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
@ -1419,7 +1368,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1770115704,
"narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=",
@ -1435,13 +1384,13 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1771008912,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"lastModified": 1768305791,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"type": "github"
},
"original": {
@ -1451,29 +1400,13 @@
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1770617025,
"narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1771208521,
"narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=",
"lastModified": 1770770419,
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8",
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a",
"type": "github"
},
"original": {
@ -1486,7 +1419,7 @@
"nt": {
"inputs": {
"nix-unit": "nix-unit",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"systems": "systems_2"
},
"locked": {
@ -1548,22 +1481,19 @@
"awww": "awww",
"cachyos": "cachyos",
"cerulean": "cerulean",
"home-manager": "home-manager_2",
"home-manager": "home-manager",
"hyprland-git": "hyprland-git",
"hyprland-plugins": "hyprland-plugins",
"iamb": "iamb",
"microvm": "microvm_2",
"millennium": "millennium",
"nix-alien": "nix-alien",
"nixcats": "nixcats",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_9",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-staging": "nixpkgs-staging",
"nixpkgs-unstable": "nixpkgs-unstable",
"sddm-silent": "sddm-silent",
"spicetify-nix": "spicetify-nix",
"systems": "systems_5",
"systems": "systems_6",
"zen": "zen"
}
},
@ -1625,53 +1555,17 @@
"type": "github"
}
},
"spectrum": {
"flake": false,
"locked": {
"lastModified": 1759482047,
"narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=",
"ref": "refs/heads/main",
"rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9",
"revCount": 996,
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
},
"original": {
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
}
},
"spectrum_2": {
"flake": false,
"locked": {
"lastModified": 1759482047,
"narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=",
"ref": "refs/heads/main",
"rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9",
"revCount": 996,
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
},
"original": {
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
}
},
"spicetify-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
],
"systems": [
"systems"
]
"nixpkgs": "nixpkgs_10",
"systems": "systems_5"
},
"locked": {
"lastModified": 1771268051,
"narHash": "sha256-nGqPcngnezoT+/xAvw3UDjwdKP2MC4fO315A/Otb9eE=",
"lastModified": 1770846656,
"narHash": "sha256-wdYpo8++TqKp3GdRgLFykjuIVW1m9GlUnxID2FG74cE=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "b930de84c561f62a0c39a6a57c2ab553a97e8495",
"rev": "40e65cfc4608402674e1efaac3fccce20d2a72d3",
"type": "github"
},
"original": {
@ -1755,6 +1649,21 @@
"type": "github"
}
},
"systems_6": {
"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": [
@ -1856,15 +1765,15 @@
},
"zen": {
"inputs": {
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_10"
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1771381854,
"narHash": "sha256-6uEDuQYEGuyuFnvOdSx+fW75tRbNiLswAl6+4qyTdJ4=",
"lastModified": 1770910552,
"narHash": "sha256-iJ9c0ZewfRRYUflaEOj43n5TWaB6Ezygn2UA/ZHGQJA=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "0fa995bec0e391b45b032fbd9d6e03609a30c115",
"rev": "15656b755cf2e75bd3e67ded6c7709bc09262c27",
"type": "github"
},
"original": {

View file

@ -4,10 +4,9 @@
inputs = {
systems.url = "github:nix-systems/default";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
# WARNING: don't remove duplicate!! (cry64 will fix)
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
home-manager = {
url = "github:nix-community/home-manager/master";
@ -15,18 +14,14 @@
};
cerulean = {
url = "git+https://tearforge.net/cry/cerulean";
url = "github:emilelcb/Cerulean";
inputs = {
systems.follows = "systems";
nixpkgs.follows = "nixpkgs";
nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-unstable.follows = "nixpkgs-unstable";
};
};
microvm = {
url = "github:microvm-nix/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
cachyos.url = "github:xddxdd/nix-cachyos-kernel";
nix-alien = {
@ -49,15 +44,9 @@
awww.url = "git+https://codeberg.org/LGFae/awww";
zen.url = "github:0xc000022070/zen-browser-flake";
iamb.url = "github:ulyssa/iamb";
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
nixcord.url = "github:FlameFlag/nixcord";
millennium.url = "github:trivaris/millennium?dir=packages/nix";
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs = {
systems.follows = "systems";
nixpkgs.follows = "nixpkgs-unstable";
};
};
# temp theme until i bother creating my own </3
sddm-silent = {

View file

@ -1,6 +0,0 @@
{ ... }: {
nix.settings = {
experimental-features = ["nix-command" "flakes"];
download-buffer-size = 524288000;
};
}

View file

@ -1,17 +0,0 @@
{ ... }: {
nix.settings = {
trusted-users = ["root" "@wheel"];
};
security = {
sudo = {
enable = true;
wheelNeedsPassword = true;
};
pam = {
sshAgentAuth.enable = true;
services.sudo.sshAgentAuth = true; # pam_ssh_agent_auth module
};
};
}

View file

@ -1,9 +0,0 @@
{
lib,
config,
...
}: {
nixpkgs.channels.default = {
default = lib.mkForce config.nixpkgs.channels.default.upkgs;
};
}

View file

@ -45,8 +45,6 @@
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_BIN_HOME = "$HOME/.local/bin"; # not official spec
NIXOS_OZONE_WL = "1";
};
home.sessionPath = [
@ -73,7 +71,6 @@
# fonts
nerd-fonts.departure-mono # pretty pixel art font i love!! x3
nerd-fonts.jetbrains-mono
# cli / tui tools and commands!
eza # replaces: ls (rust)
@ -247,20 +244,20 @@
};
}
{
condition = "hasconfig:remote.*.url:ssh://git@tearforge.net:2222/**";
condition = "hasconfig:remote.*.url:ssh://forgejo@forge.dobutterfliescry.net:2222/**";
contents = {
user = {
name = "foxora";
email = "foxora@noreply.tearforge.net";
email = "foxora@noreply.forge.dobutterfliescry.net";
};
};
}
{
condition = "hasconfig:remote.*.url:https://tearforge.net/**";
condition = "hasconfig:remote.*.url:https://forge.dobutterfliescry.net/**";
contents = {
user = {
name = "foxora";
email = "foxora@noreply.tearforge.net";
email = "foxora@noreply.forge.dobutterfliescry.net";
};
};
}
@ -305,6 +302,13 @@
};
};
# Environment / Session Variables
home = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
};
# The state version is required and should stay the version you originally installed
home.stateVersion = "24.11";
}

View file

@ -1,142 +0,0 @@
configuration {
modes: [ combi ];
combi-modes: [ window, drun, run ];
}
@theme "colors"
window {
background-color: @background;
border-color: @color10;
border-radius: 12px;
border: 2;
padding: 16;
transparency: "real";
opacity: 90;
}
mainbox {
background-color: transparent;
opacity: 90;
border: 0;
}
message {
border: 2px 0px 0px;
border-color: @color14;
padding: 1px;
}
inputbar {
background-color: transparent;
text-color: @foreground;
spacing: 8;
}
textbox {
background-color: @background;
text-color: @foreground;
}
prompt {
background-color: transparent;
text-color: @color12;
}
entry {
placeholder: "~ rawr :3 ~ *pounces on u* <3 ~ >w< ~";
cursor: pointer;
background-color: transparent;
text-color: @color13;
}
case-indicator {
background-color: transparent;
text-color: @color12;
}
listview {
fixed-height: 0;
border: 2px 0px 0px;
border-color: transparent;
background-color: transparent;
spacing: 2px;
scrollbar: true;
padding: 2px 0px 0px;
}
element {
orientation: horizontal;
spacing: 8;
border: 0;
border-radius: 4;
}
element-icon {
size: 24;
}
element-text {
vertical-align: 0.5;
}
element.normal.normal {
background-color: transparent;
text-color: @foreground;
}
element.alternate.normal {
background-color: transparent;
text-color: @color06;
}
element.selected.normal {
background-color: @color13;
text-color: @background;
}
element.normal.urgent {
background-color: @color14;
text-color: @background;
}
element.alternate.urgent {
background-color: transparent;
text-color: @color14;
}
element.selected.urgent {
background-color: @color13;
text-color: @background;
}
element.normal.active {
background-color: @color12;
text-color: @background;
}
element.alternate.active {
background-color: @background;
text-color: @color14;
}
element.selected.active {
background-color: @color13;
text-color: @background;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
button.selected {
background-color: transparent;
text-color: @foreground;
}
scrollbar {
background-color: transparent;
handle-color: @color12;
width: 4px;
border: 0;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px ;
border-color: @color14;
}

View file

@ -3,7 +3,7 @@
enable = true;
font = "DepartureMono Nerd Font Mono 10";
theme = ./ichigo.rasi;
theme = ./theme.rasi;
extraConfig = {
#kb-row-up = "Up,Control+k";

View file

View file

@ -0,0 +1,203 @@
---packadd + after/plugin
---@type fun(names: string[]|string)
local load_w_after_plugin = require('nixCatsUtils.lzUtils').make_load_with_after({ "plugin" })
-- NOTE: packadd doesnt load after directories.
-- hence, the above function that you can get from luaUtils that exists to make that easy.
return {
{
"cmp-buffer",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-cmdline",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-cmdline-history",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lsp",
on_plugin = { "nvim-cmp" },
dep_of = { "nvim-lspconfig" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lsp-signature-help",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lua",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-path",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp_luasnip",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"friendly-snippets",
dep_of = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"lspkind.nvim",
dep_of = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"luasnip",
dep_of = { "nvim-cmp" },
after = function (plugin)
local luasnip = require 'luasnip'
require('luasnip.loaders.from_vscode').lazy_load()
luasnip.config.setup {}
local ls = require('luasnip')
vim.keymap.set({ "i", "s" }, "<M-n>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end)
end,
},
{
"nvim-cmp",
-- cmd = { "" },
event = { "DeferredUIEnter" },
on_require = { "cmp" },
-- ft = "",
-- keys = "",
-- colorscheme = "",
after = function (plugin)
-- [[ Configure nvim-cmp ]]
-- See `:help cmp`
local cmp = require 'cmp'
local luasnip = require 'luasnip'
local lspkind = require 'lspkind'
cmp.setup {
formatting = {
format = lspkind.cmp_format {
mode = 'text',
with_text = true,
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
menu = {
buffer = '[BUF]',
nvim_lsp = '[LSP]',
nvim_lsp_signature_help = '[LSP]',
nvim_lsp_document_symbol = '[LSP]',
nvim_lua = '[API]',
path = '[PATH]',
luasnip = '[SNIP]',
},
},
},
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
['<C-p>'] = cmp.mapping.scroll_docs(-4),
['<C-n>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete {},
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = cmp.config.sources {
-- The insertion order influences the priority of the sources
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]] },
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
{ name = 'path' },
{ name = 'luasnip' },
{ name = 'buffer' },
},
enabled = function()
return vim.bo[0].buftype ~= 'prompt'
end,
experimental = {
native_menu = false,
ghost_text = false,
},
}
cmp.setup.filetype('lua', {
sources = cmp.config.sources {
{ name = 'nvim_lua' },
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]]},
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
{ name = 'path' },
{ name = 'luasnip' },
{ name = 'buffer' },
},{
{
name = 'cmdline',
option = {
ignore_cmds = { 'Man', '!' },
},
},
},
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'nvim_lsp_document_symbol'--[[ , keyword_length = 3 ]]},
{ name = 'buffer' },
{ name = 'cmdline_history' },
},
view = {
entries = { name = 'wildmenu', separator = '|' },
},
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources {
{ name = 'cmdline' },
-- { name = 'cmdline_history' },
{ name = 'path' },
},
})
end,
},
}

View file

@ -1,17 +0,0 @@
vim.api.nvim_create_autocmd("FileType", {
pattern = "lua",
callback = function()
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.expandtab = true
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "nix",
callback = function()
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.expandtab = true
end,
})

View file

@ -2,5 +2,4 @@ require("lze").load {
{ import = "lsp.completion", },
}
require("lsp.indentation")
require("lsp.lsp")

View file

@ -21,10 +21,6 @@ servers.lua_ls = {
},
}
servers.nil_ls = {
settings = {},
}
local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
servers.rust_analyzer = {
cmd = { rust_analyzer_cmd },
@ -59,10 +55,6 @@ servers.gleam = {
settings = {},
}
servers.hls = {
settings = {},
}
local java_home = os.getenv("JAVA_HOME")
servers.jdtls = {
settings = {
@ -128,3 +120,4 @@ require("lze").load {
end,
},
}

View file

@ -0,0 +1,135 @@
--[[
This directory is the luaUtils template.
You can choose what things from it that you would like to use.
And then delete the rest.
Everything in this directory is optional.
--]]
local M = {}
-- NOTE: This file contains 2 utilities for making good use of lze and lz.n with nixCats
-- The function for loading after directories is useful for both plugins, and also for lazy loading without a plugin,
-- but the custom handler will only work with lze.
-- If you dont use these plugins, you probably don't need this file.
---This function is useful for sourcing the after directories of lazily loaded plugins
---because vim.cmd.packadd does not do this for you.
---
---This might be useful when doing lazy loading the vanilla way
---as well as when using plugins like lz.n for lazy loading
---It is primarily useful for lazily loading nvim-cmp sources,
---as they often rely on the after directory to work
---
---Recieves the names of directories from a plugin's after directory
---that you wish to source files from.
---Will return a load function that can take a name, or list of names,
---and will load a plugin and its after directories.
---The function returned is a suitable substitute for the load field of a plugin spec.
---
---Only makes sense for plugins added via optionalPlugins
---or some other opt directory on your packpath
---
---e.g. in the following example:
---load_with_after_plugin will load the plugin names it is given, and their after/plugin dir
---
---local load_with_after_plugin = require('nixCatsUtils').make_load_with_after({ 'plugin' })
---load_with_after_plugin('some_plugin')
---@overload fun(dirs: string[]|string): fun(names: string|string[])
---It also optionally recieves a function that should load a plugin and return its path
---for if the plugin is not on the packpath, or return nil
---to load from the packpath or nixCats list as normal
---@overload fun(dirs: string[]|string, load: fun(name: string):string|nil): fun(names: string|string[])
function M.make_load_with_after(dirs, load)
dirs = (type(dirs) == "table" and dirs) or { dirs }
local fromPackpath = function(name)
for _, packpath in ipairs(vim.opt.packpath:get()) do
local plugin_path = vim.fn.globpath(packpath, "pack/*/opt/" .. name, nil, true, true)
if plugin_path[1] then
return plugin_path[1]
end
end
return nil
end
---@param plugin_names string[]|string
return function(plugin_names)
local names = type(plugin_names) == "table" and plugin_names or { plugin_names }
local to_source = {}
for _, name in ipairs(names) do
if type(name) == "string" then
local path = (type(load) == "function" and load(name)) or nil
if type(path) == "string" then
table.insert(to_source, { name = name, path = path })
else
local ok, err = pcall(vim.cmd.packadd, name)
if ok then
table.insert(to_source, { name = name, path = nil })
else
vim.notify(
'"packadd '
.. name
.. '" failed, and path provided by custom load function (if provided) was not a string\n'
.. err,
vim.log.levels.WARN,
{ title = "nixCatsUtils.load_with_after" }
)
end
end
else
vim.notify(
"plugin name was not a string and was instead of value:\n" .. vim.inspect(name),
vim.log.levels.WARN,
{ title = "nixCatsUtils.load_with_after" }
)
end
end
for _, info in pairs(to_source) do
local plugpath = info.path or vim.tbl_get(package.loaded, "nixCats", "pawsible", "allPlugins", "opt", info.name) or fromPackpath(info.name)
if type(plugpath) == "string" then
local afterpath = plugpath .. "/after"
for _, dir in ipairs(dirs) do
if vim.fn.isdirectory(afterpath) == 1 then
local plugin_dir = afterpath .. "/" .. dir
if vim.fn.isdirectory(plugin_dir) == 1 then
local files = vim.fn.glob(plugin_dir .. "/*", false, true)
for _, file in ipairs(files) do
if vim.fn.filereadable(file) == 1 then
vim.cmd("source " .. file)
end
end
end
end
end
end
end
end
end
-- A nixCats specific lze handler that you can use to conditionally enable by category easier.
-- at the start of your config, register with
-- require('lze').register_handlers(require('nixCatsUtils.lzUtils').for_cat)
-- before any calls to require('lze').load using the handler have been made.
-- accepts:
-- for_cat = { "your" "cat" }; for_cat = { cat = { "your" "cat" }, default = bool }
-- for_cat = "your.cat"; for_cat = { cat = "your.cat", default = bool }
-- where default is an alternate value for when nixCats was NOT used to install the config
M.for_cat = {
spec_field = "for_cat",
set_lazy = false,
modify = function(plugin)
if type(plugin.for_cat) == "table" then
if plugin.for_cat.cat ~= nil then
if vim.g[ [[nixCats-special-rtp-entry-nixCats]] ] ~= nil then
plugin.enabled = (nixCats(plugin.for_cat.cat) and true) or false
else
plugin.enabled = nixCats(plugin.for_cat.default)
end
else
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
end
else
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
end
return plugin
end,
}
return M

View file

@ -4,4 +4,5 @@ require("lze").load {
{ import = "plugins.treesitter", },
{ import = "plugins.fyler", },
{ import = "plugins.mini-hipatterns", },
--{ import = "plugins.neocord", },
}

View file

@ -0,0 +1,5 @@
return {
{
"neocord",
},
}

View file

@ -1,13 +1,9 @@
{
inputs,
spkgs,
mpkgs,
...
}: let
inherit
(inputs.nixcats)
utils
;
utils = inputs.nixcats.utils;
in {
imports = [
inputs.nixcats.homeModule
@ -18,7 +14,7 @@ in {
# it will be the namespace for your options.
nixCats = {
enable = true;
nixpkgs_version = inputs.nixpkgs-unstable;
nixpkgs_version = inputs.nixpkgs;
# this will add the overlays from ./overlays and also,
# add any plugins in inputs named "plugins-pluginName" to pkgs.neovimPlugins
# It will not apply to overall system, just nixCats.
@ -65,7 +61,7 @@ in {
];
rust = with pkgs; [
cargo
mpkgs.rust-analyzer
rust-analyzer
];
zig = with pkgs; [
spkgs.zls # FIX: using spkgs version as zls is broken rn ;-;
@ -76,10 +72,6 @@ in {
gleam = with pkgs; [
gleam
];
haskell = with pkgs; [
haskell-language-server
ormolu
];
java = with pkgs; [
jdt-language-server
javaPackages.compiler.openjdk17
@ -143,6 +135,9 @@ in {
nvim-jdtls
];
};
discord = with pkgs.vimPlugins; [
neocord # discord presence plugin :3
];
};
# shared libraries to be added to LD_LIBRARY_PATH
@ -215,6 +210,7 @@ in {
lsp = true;
completion = true;
treesitter = true;
discord = false;
lang = {
lua = true;
@ -223,7 +219,6 @@ in {
zig = true;
elixir = true;
gleam = true;
haskell = true;
java = true;
};
};

View file

@ -104,7 +104,7 @@
};
silentTyping = {
enable = true;
enabledGlobally = true;
enabledGlobally = false;
};
startupTimings.enable = true;
typingIndicator.enable = true;

View file

@ -1,20 +0,0 @@
* {
background: rgba({{ background | rgb }},0.9);
foreground: rgba({{ foreground | rgb }},0.9);
color00: rgba({{ color0 | rgb }},0.9);
color01: rgba({{ color1 | rgb }},0.9);
color02: rgba({{ color2 | rgb }},0.9);
color03: rgba({{ color3 | rgb }},0.9);
color04: rgba({{ color4 | rgb }},0.9);
color05: rgba({{ color5 | rgb }},0.9);
color06: rgba({{ color6 | rgb }},0.9);
color07: rgba({{ color7 | rgb }},0.9);
color08: rgba({{ color8 | rgb }},0.9);
color09: rgba({{ color9 | rgb }},0.9);
color10: rgba({{ color10 | rgb }},0.9);
color11: rgba({{ color11 | rgb }},0.9);
color12: rgba({{ color12 | rgb }},0.9);
color13: rgba({{ color13 | rgb }},0.9);
color14: rgba({{ color14 | rgb }},0.9);
color15: rgba({{ color15 | rgb }},0.9);
}

View file

@ -22,9 +22,6 @@ hyprland.target = "~/.config/hypr/colors.conf"
waybar.template = "waybar-template.css"
waybar.target = "~/.config/waybar/colors.css"
rofi.template = "rofi-template.rasi"
rofi.target = "~/.config/rofi/colors.rasi"
neovim.template = "neovim-template"
neovim.target = "~/.cache/nvim/neovim-colors"

View file

@ -25,7 +25,7 @@
# applications
"$terminal" = "kitty";
"$explorer" = "kitty -e yazi";
"$browser" = "zen-twilight";
"$browser" = "zen";
# menu
"$menu" = "rofi";
@ -278,15 +278,12 @@
];
layerrule = [
#"blur, rofi"
#"ignorezero, rofi"
#"blur, aurorashell"
#"ignorealpha 0.7, aurorashell"
"blur on, match:namespace waybar"
"ignore_alpha 0, match:namespace waybar"
"blur on, match:namespace rofi"
"xray on, match:namespace rofi"
"ignore_alpha 0, match:namespace rofi"
];
env = [

View file

@ -1,117 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
networking.hostName = "arcturus";
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
boot = {
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
};
networking = {
useNetworkd = false;
useDHCP = false;
nftables.enable = true;
firewall = {
allowedTCPPorts = [
2222
];
};
};
systemd.network = {
enable = true;
netdevs = {
"10-bond0" = {
netdevConfig = {
Kind = "bond";
Name = "bond0";
};
bondConfig = {
Mode = "802.3ad";
TransmitHashPolicy = "layer3+4";
LACPTransmitRate = "fast";
MIIMonitorSec = "100ms";
};
};
};
networks = {
"30-eno1" = {
matchConfig.Name = "eno1";
networkConfig.Bond = "bond0";
};
"30-eno2" = {
matchConfig.Name = "eno2";
networkConfig.Bond = "bond0";
};
"40-bond0" = {
matchConfig.Name = "bond0";
linkConfig = {
RequiredForOnline = "carrier";
};
networkConfig.LinkLocalAddressing = "no";
networkConfig.DHCP = "yes";
vlan = [ "vlan1" ];
};
};
};
services = {
openssh = {
enable = true;
ports = [2222];
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
AllowUsers = ["foxora"];
UseDns = false; # enables rDNS lookup
X11Forwarding = false;
};
};
};
users.users.foxora = {
isNormalUser = true;
extraGroups = [ "wheel" ];
packages = with pkgs; [
tree
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE7NLaT/J1S/lwFp0YRHN5oTGhFoDYd2yaRKKsBVpqIv aurora@nixarawrui"
];
};
environment = {
systemPackages = with pkgs; [
neovim
git
wget
];
variables = {
EDITOR = "nvim";
};
};
system.stateVersion = "25.11";
}

View file

@ -1,33 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0213-F9A0";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,94 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
networking.hostName = "lyra";
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
boot = {
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
};
networking = {
networkmanager.enable = true;
firewall = {
allowedTCPPorts = [
2222
];
};
};
services = {
openssh = {
enable = true;
ports = [2222];
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
AllowUsers = ["foxora"];
UseDns = false; # enables rDNS lookup
X11Forwarding = false;
};
};
};
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
users.users.foxora = {
isNormalUser = true;
extraGroups = [ "wheel" ];
packages = with pkgs; [
tree
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID4d6Pt4fFTP0/ZfesNL+MX+j/OqoMRBOh61gqHNWpnH aurora@nixarawrui"
];
};
programs = {
nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 14d --keep 8";
flake = "/etc/nixos";
};
};
environment = {
systemPackages = with pkgs; [
neovim
git
wget
];
variables = {
EDITOR = "nvim";
};
};
system.stateVersion = "25.11";
}

View file

@ -1,33 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -2,6 +2,7 @@
inputs,
upkgs,
spkgs,
root,
...
}: {
imports = [
@ -10,6 +11,12 @@
./modules/amdgpu-ignore-ctx-privileges.nix
];
# Enable the Flakes feature and the accompaying new nix command-line tool
nix.settings = {
experimental-features = ["nix-command" "flakes"];
download-buffer-size = 524288000;
};
# Use the systemd-boot EFI boot loader.
boot = rec {
initrd.kernelModules = ["amdgpu"];
@ -19,14 +26,13 @@
efi.canTouchEfiVariables = true;
};
kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
# TODO: idk make this a toggle or smth idfk
# kernelPackages = upkgs.linuxPackages_latest;
# kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
kernelPackages = upkgs.linuxPackages_latest;
kernelModules = ["v4l2loopback"];
extraModulePackages = with kernelPackages; [v4l2loopback];
# qemu
# binfmt.emulatedSystems = [
# boot.binfmt.emulatedSystems = [
# "riscv64-linux"
# ];
# the following line is from:
@ -150,6 +156,7 @@
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
udev = {
@ -295,7 +302,7 @@
via
# wine - needed for lutris :3
wineWow64Packages.stable
wineWowPackages.stable
# utils, apps, important default stuff ig :3
neovim
@ -311,20 +318,42 @@
# game stuff :3
(lutris.override {
extraPkgs = upkgs: [
extraupkgs = upkgs: [
libadwaita
];
})
(steam.override {
extraPkgs = upkgs: [
extraupkgs = upkgs: [
nss
libx11
libxscrnsaver
xorg.libX11
xorg.libXScrnSaver
];
}).run
inputs.nix-alien.packages.${stdenv.hostPlatform.system}.nix-alien
];
system.stateVersion = "24.11";
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixupkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,47 +1,27 @@
{inputs, ...} @ args: {
nixpkgs.channels = {
default = {
overlays = [(import ./overlays.nix args)];
config.allowUnfree = true;
};
# nixpkgs
pkgs = {
source = inputs.nixpkgs;
overlays = [
(import ./overlays.nix args)
];
config.allowUnfree = true;
};
{
inputs,
system,
...
}: {
nixpkgs.channels.default = {
# nixpkgs-unstable
upkgs = {
inherit system;
source = inputs.nixpkgs-unstable;
overlays = with inputs; [
cachyos.overlays.pinned
millennium.overlays.default
(import ./overlays.nix args)
(import ./overlays.nix {inherit inputs;})
];
config.allowUnfree = true;
};
# nixpkgs-staging
spkgs = {
inherit system;
source = inputs.nixpkgs-staging;
overlays = [
(import ./overlays.nix args)
];
config.allowUnfree = true;
};
# nixpkgs-master
mpkgs = {
source = inputs.nixpkgs-master;
overlays = [
(import ./overlays.nix args)
];
overlays = [];
config.allowUnfree = true;
};
};

View file

@ -1,8 +1,10 @@
# NOTE: `system` is provided by Cerulean
{
inputs,
system,
...
}: (self: super: {
}: [
(self: super: {
ekphos = import ../packages/ekphos {
pkgs = super;
};
@ -17,3 +19,4 @@
hyprland-git = inputs.hyprland-git.packages.${system};
})
]

110
snow.nix
View file

@ -1,115 +1,23 @@
{cerulean, ...} @ inputs:
cerulean.mkNexus ./. (self: {
nexus = {
args = {inherit inputs;};
specialArgs = {inherit inputs;};
modules = with inputs; [];
base = inputs.nixpkgs;
groups = {
servers = {};
extraPkgConfig = {
config.allowUnfree = true;
};
nodes = let
inherit
(self.nexus)
groups
;
in {
extraModules = with inputs; [
home-manager.nixosModules.home-manager
];
nodes = {
nixarawrui = {
system = "x86_64-linux";
base = inputs.nixpkgs-unstable;
modules = with inputs; [
extraModules = with inputs; [
sddm-silent.nixosModules.default
];
};
arcturus = {
system = "x86_64-linux";
groups = [
groups.servers
];
modules = with inputs; [
microvm.nixosModules.host
{
microvm.vms = {
home-assistant = {
autostart = true;
config = {
imports = [./vms/home-assistant/default.nix];
networking.hostName = "home-assistant";
microvm = {
hypervisor = "qemu";
# memory cannot be 2GB so i doubled it and used 4GB:
# https://github.com/microvm-nix/microvm.nix/issues/171
# TODO: can be fixed by turning off acpi in qemu
mem = 4096; # 4GB
vcpu = 2;
interfaces = [
{
type = "tap";
id = "vm-hass";
mac = "0a:00:a0:70:01:01";
}
];
volumes = [
{
image = "/var/lib/microvms/home-assistant/data.img";
mountPoint = "/var/lib/hass";
size = 16384; # 16GB
}
];
};
networking = {
interfaces.eth0 = {
useDHCP = false;
ipv4.addresses = [
{
address = "10.16.1.127";
prefixLength = 24;
}
];
};
};
};
};
};
}
];
deploy.ssh = {
host = "10.16.1.163";
port = 2222;
user = "foxora";
};
};
lyra = {
system = "x86_64-linux";
groups = [
groups.servers
];
deploy.ssh = {
host = "10.16.1.58";
port = 2222;
user = "foxora";
};
};
};
};
})

View file

@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
{
services.home-assistant = {
enable = true;
configDir = "/var/lib/hass";
# disables config generation, i don't wanna configure home assistant
# through nix at the moment
config = null;
};
system.stateVersion = "25.11";
}