Compare commits

..
8 Commits
Author SHA1 Message Date
4DBug ef7d441234 push 2026-09-11 15:01:19 -05:00
4DBug 9a52d744ce test 2026-09-11 14:44:18 -05:00
4DBug 57d33de301 push 2026-09-11 13:51:07 -05:00
4DBug a53544238d push 2026-09-10 13:52:59 -05:00
4DBug 567774d50d slsk 2026-09-09 21:58:04 -05:00
4DBug c5d5ad5268 push 2026-09-09 12:39:11 -05:00
4DBug a8ea4aca9a push 2026-09-08 13:12:40 -05:00
4DBug 2aa69d662a Create umbriel.nix 2026-08-31 13:48:13 -05:00
28 changed files with 2195 additions and 293 deletions
Generated
+164 -141
View File
@@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787105531, "lastModified": 1787467581,
"narHash": "sha256-diuXRy8+Kn+EfbrKtuIvz+RLvmZgaKXKmnu7h1bY/Yw=", "narHash": "sha256-smaVZftg2rSygF8lo4elWWpaw6tbp59vytzKNIjc9Wk=",
"owner": "nyakase", "owner": "nyakase",
"repo": "aerothemeplasma-nix", "repo": "aerothemeplasma-nix",
"rev": "ee41395119a472f42ac78c05071680e89b7a9d5d", "rev": "0c2356fb2ea0ef23a8a46d1d99197939f8073216",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787549773, "lastModified": 1787995368,
"narHash": "sha256-ZSTNqXLMfk+0er/w6PVANwRmbIUt0q9sz5FyoallQYU=", "narHash": "sha256-H96PkSHH+DC3Cm3RCfFyPqkUWtDnN1YBkQB5wsWySjU=",
"owner": "AdnanHodzic", "owner": "AdnanHodzic",
"repo": "auto-cpufreq", "repo": "auto-cpufreq",
"rev": "30bc44de0492689059dbf2eae49d2438333fdc63", "rev": "6f3f8adbd2b62fc15f62e03a8bcaf8c57d6d77d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -125,36 +125,16 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"bug-tv": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1787796942,
"narHash": "sha256-ITeSVzyhSIojcNueQsFDE4quj8l7T7VaPLe47PDvwqY=",
"ref": "refs/heads/main",
"rev": "fc0e2c7af6b386f18a9c14c3075d7ca020c4fa39",
"revCount": 12,
"type": "git",
"url": "https://git.bug.tools/bug/tv.git"
},
"original": {
"type": "git",
"url": "https://git.bug.tools/bug/tv.git"
}
},
"catppuccin": { "catppuccin": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1785485193, "lastModified": 1786696832,
"narHash": "sha256-JgUmb34d3Zv1W5fYukqEUEDHSaWhw7WV9HVUXOmOCaA=", "narHash": "sha256-wjdfX+jCJCJsteGD75xEfsDR3yATFFEx4mwelhlDXdU=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "41c4ebf8cb3e4052001947a457b4ac093e5dc119", "rev": "35d78c213b65e38789bcb359aae2380fcb4dc3e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -208,11 +188,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1785887578, "lastModified": 1787524125,
"narHash": "sha256-hcbXYyiNrG4r4yzKubm2tOJyqGfK9bW8utKJMf+xcq0=", "narHash": "sha256-P48TOQdIbB0PKMn4FTk6X0utbf0LemNlJ+bFcSbveGA=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "4f20738b7176dc087bf28a7e1b1448a7dfdbd783", "rev": "9de090265f8d063056320f41d984830839017a2f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -223,11 +203,11 @@
}, },
"den": { "den": {
"locked": { "locked": {
"lastModified": 1785531595, "lastModified": 1787688649,
"narHash": "sha256-ipFk5ANEHhemDusdTZeuxVyFysyALjj8rRgpcTsjD4Y=", "narHash": "sha256-bT4k0fjlKqBfbJJ8MUelwWSTs35WcOwSJz2Ism1tAkg=",
"owner": "denful", "owner": "denful",
"repo": "den", "repo": "den",
"rev": "2040b61346a7215fd7b7f51d4a457544b6e597d0", "rev": "c7ef3f11126f24878f5c69527b4230f51c839803",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -241,11 +221,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1787419291, "lastModified": 1787948778,
"narHash": "sha256-KPUSa2/YT91LIBOA/K7dbitTd92FyU5ZdaKeu5ZmQsU=", "narHash": "sha256-yU5luZuyFPZVw/5YARZGz54YvmclgLiqBoHxdz3W/jU=",
"owner": "areofyl", "owner": "areofyl",
"repo": "fetch", "repo": "fetch",
"rev": "070c7a4d38036af65c38c782af5723cea8003d38", "rev": "12bac6e7dc60b7cbec6ac87e5c2a037b2ed392cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -388,11 +368,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785627969, "lastModified": 1787559586,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=", "narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a", "rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -406,11 +386,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1785627969, "lastModified": 1787559586,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=", "narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a", "rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -442,11 +422,11 @@
"nixpkgs-lib": "nixpkgs-lib_4" "nixpkgs-lib": "nixpkgs-lib_4"
}, },
"locked": { "locked": {
"lastModified": 1782949081, "lastModified": 1785627969,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -576,11 +556,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784288435, "lastModified": 1787424939,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", "narHash": "sha256-O2tBn84NNuHrnqNVxx/XqsXwfYvS1YwBh+7CBnbCYsk=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", "rev": "809414f0cdadf82cf11b06c2b29ba9b3168b3297",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -601,11 +581,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784288435, "lastModified": 1787424939,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", "narHash": "sha256-O2tBn84NNuHrnqNVxx/XqsXwfYvS1YwBh+7CBnbCYsk=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", "rev": "809414f0cdadf82cf11b06c2b29ba9b3168b3297",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -640,11 +620,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785531816, "lastModified": 1787797243,
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=", "narHash": "sha256-8+Q7NOB7RPajRjA4pbCDLzqH+MTjnG9x6LUPLfL2joA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe", "rev": "99c9ec63390f1d8c14d95d9e8b17cc29cfbd4e11",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -658,11 +638,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1785342502, "lastModified": 1787965620,
"narHash": "sha256-qu4abwEmOHOzpdBUigpLfmHObkRgJp5sRjbnnyEKzSo=", "narHash": "sha256-CIDEB9jOZwDB6AM0bsKeTe0AEm12XJqDVLHOIg86be0=",
"owner": "JPyke3", "owner": "JPyke3",
"repo": "hytale-launcher-nix", "repo": "hytale-launcher-nix",
"rev": "2bc2d0dd6fcd4c4a61d9ab33b2149b21286e79d1", "rev": "606cb7cdc218b8ddab2c478aca3e12fd0555375c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -693,11 +673,11 @@
}, },
"locked": { "locked": {
"dir": "packages/nix", "dir": "packages/nix",
"lastModified": 1785881661, "lastModified": 1787086436,
"narHash": "sha256-KmpGnRIFMoV5nqMdMfoUUnGHsNZwcKyq0B4E7buhMYw=", "narHash": "sha256-3Iphls5e/3XyoMh3TZJo0XknxNT1idLVabIqgRKUudY=",
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "28e188ad8b03c9ccf6bca368538d6fde95b84875", "rev": "cecdc9532b76d16b7b63ddc206f5a8eb8c1afcaf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -710,17 +690,17 @@
"millennium-src": { "millennium-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1783268941, "lastModified": 1787082953,
"narHash": "sha256-MJLJ0I48HXgfOpISTAbDMYMUdWj9A6M+jGQz4uAvwyw=", "narHash": "sha256-zgr4cdJfye4qunpD3ClNnZ9D1WPGQAXV0CnYwEbB52s=",
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "f37f05bdbd4727d873a1ad83ce72d062ef9a0c48", "rev": "513b02e809b0eb120ecf0ae12e548798dd756323",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "f37f05bdbd4727d873a1ad83ce72d062ef9a0c48", "rev": "513b02e809b0eb120ecf0ae12e548798dd756323",
"type": "github" "type": "github"
} }
}, },
@@ -733,11 +713,11 @@
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1785902555, "lastModified": 1788062486,
"narHash": "sha256-h75JrVuXFiBCX9MofLewvOZrPGyt5xQzvJ3mEij57T0=", "narHash": "sha256-pcfs0vx5woBslwdxgwMT6KQY87gsHPJtZjlwBEH9gMk=",
"owner": "4DBug", "owner": "4DBug",
"repo": "minecraft.nix", "repo": "minecraft.nix",
"rev": "cb4942a3e6785833bd5e55909c14f6d9a02df147", "rev": "396b22e64022fe11a5112e4c30deaef891f0e214",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -752,11 +732,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1785898093, "lastModified": 1787707755,
"narHash": "sha256-ereOhdfqm3y8NXn6D3+1Knkz6Snr8zmCmBXtsNfrjRo=", "narHash": "sha256-Q9Xm6rMuRgrE+7CW3dgv8Q43C94J/s8jcqi1Ywomoyo=",
"owner": "Ninlives", "owner": "Ninlives",
"repo": "minecraft.json", "repo": "minecraft.json",
"rev": "8100c3cdf3632006405ef32a13a838cc56f73b56", "rev": "10d6bba543b7612529ab045936c610b7b5e5ba80",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -772,11 +752,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785566637, "lastModified": 1788049149,
"narHash": "sha256-nsU614HDSf+4XqJ2Ap4cw+qwh5Ehh2bEtd+uC0OKKmg=", "narHash": "sha256-5qWAhrruLLBxiweg7X+bNstWVzBbsd6iamfDWmwy4lY=",
"owner": "ricardomaps", "owner": "ricardomaps",
"repo": "neu-nix", "repo": "neu-nix",
"rev": "8078f344b0e95c5719f692396d7b4fe01a0d51bd", "rev": "907fd3c9055f7d2386d823d94a25dc4442c520f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -848,11 +828,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1785870829, "lastModified": 1788033655,
"narHash": "sha256-l+RTmz09TxwWJRLQuc+cKi3yY0K4PSz8tRPTbBUvaVo=", "narHash": "sha256-fW6YCIm8RT9KZ4JwceIKsGB8kyGcnku0edA8fCjVB/0=",
"owner": "xddxdd", "owner": "xddxdd",
"repo": "nix-cachyos-kernel", "repo": "nix-cachyos-kernel",
"rev": "879f45ee15a3b06fdbbf9b6dc825c5fbca137fcd", "rev": "f39e7d511ce7c2c95a12b828b72d9463f329e68b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -872,11 +852,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1784888556, "lastModified": 1786008908,
"narHash": "sha256-objrARvlyaoK3ib3xkgx4KoKZXbcNBZ8WTK/XheiPCE=", "narHash": "sha256-b/9Y2u4YIwLfIdfg8nYxzVRDjm9fAqsFtK8Ikaf8YTs=",
"owner": "LovingMelody", "owner": "LovingMelody",
"repo": "nix-citizen", "repo": "nix-citizen",
"rev": "89d83133b5c65130171ebe0922a39dd53deb365b", "rev": "094035e7a82b147dd09690074d6bb1f9f61ec7ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -909,11 +889,11 @@
"nixpkgs": "nixpkgs_11" "nixpkgs": "nixpkgs_11"
}, },
"locked": { "locked": {
"lastModified": 1785898401, "lastModified": 1787985210,
"narHash": "sha256-UxULHQDGAA818OpNhrzIOj9g6XYUarca/6pyEfYdOig=", "narHash": "sha256-nQmZzM6NJnA+1cfYp7JP1p3ZSzNSScbdSP2sH7l2xeM=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "76fdf6463965839c5f3627d88a836b7a357746fa", "rev": "2d4643d81b2e2807fd0ed4e0bd20bbb84dfdec00",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -930,11 +910,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1785902785, "lastModified": 1787999920,
"narHash": "sha256-Bxs0zYgXZQtOthL2PAgbIoH9YQk1R+9pLhUaXqZ9B6E=", "narHash": "sha256-Kkk6FL42z+zAzM5R9kjjoC+CSrDrPY6m9BrLIe1bEkk=",
"owner": "FlameFlag", "owner": "FlameFlag",
"repo": "nixcord", "repo": "nixcord",
"rev": "9040ebd3389127210acad805b6e13f6697ba09d4", "rev": "033bf2acdbfca8392dd2b2457dccc26f04982fb0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -951,11 +931,11 @@
"nixpkgs": "nixpkgs_13" "nixpkgs": "nixpkgs_13"
}, },
"locked": { "locked": {
"lastModified": 1785702596, "lastModified": 1787963050,
"narHash": "sha256-PnJsHRZyM3iA+0BeEikWm2piQCuwtGU4xxjsWOMRvTU=", "narHash": "sha256-yt4H/X9CU2iaLl2NJ/MBycQs7Jl0tbJP5uuDdGWiPGg=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "531aa78a9f03f3831aa45566630ab52f6483159b", "rev": "27b3c74d96351b770ec8216430d5d947290917e9",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -966,11 +946,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1785301185, "lastModified": 1786534138,
"narHash": "sha256-PlAXr9kpfXhMFU0OQ7qtE8FhLQo21WXFVGqIC85UFyc=", "narHash": "sha256-Cwffw7dPM56d8spt4/queFQ1cKg69D9qrsp+wfwKvfo=",
"rev": "9bc02893134c733dd85de46ee4fb2fac696b5529", "rev": "044bfe75bfe4c7bbe043dc17b5e42ea823b84a09",
"type": "tarball", "type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1043539.9bc02893134c/nixexprs.tar.xz" "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1052792.044bfe75bfe4/nixexprs.tar.xz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@@ -1024,11 +1004,11 @@
}, },
"nixpkgs-lib_4": { "nixpkgs-lib_4": {
"locked": { "locked": {
"lastModified": 1782614948, "lastModified": 1785031560,
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", "narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", "rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1039,11 +1019,11 @@
}, },
"nixpkgs-nixcord": { "nixpkgs-nixcord": {
"locked": { "locked": {
"lastModified": 1785386831, "lastModified": 1786711500,
"narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=", "narHash": "sha256-QvnceIGTBeDvDd9oCn+GvdsnkquliuwbVgpiRH68qaQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "21ea275a7c46aef9d4d6ddc962e6d562e9d94183", "rev": "02e08985a27c65ffd33d434eeb2e660a2e4dc84d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1071,11 +1051,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1784796856, "lastModified": 1785828668,
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", "narHash": "sha256-8fsyqeO+mJqvIzeO4xIpgJe/f7MTbbVTEC6RT6WSXNs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d", "rev": "e72e4f299401a3689d4b3d5fc6496b11db7064eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1087,11 +1067,11 @@
}, },
"nixpkgs_11": { "nixpkgs_11": {
"locked": { "locked": {
"lastModified": 1785542685, "lastModified": 1787209939,
"narHash": "sha256-sjfvXMbG5pCFgpvw2OZAFcZiTvrppCWvnB6cuGrSY08=", "narHash": "sha256-WvvHR4kSQLAbtouMC/ruZ5UpLwlUcY3K4FAllMN+yGk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f8e81fc7eb063db454f563cdd596fb96a5ad1497", "rev": "391b592eb44808b3bd0cb80bb71b63a5a118b8bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1103,11 +1083,11 @@
}, },
"nixpkgs_12": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1785386831, "lastModified": 1786711500,
"narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=", "narHash": "sha256-QvnceIGTBeDvDd9oCn+GvdsnkquliuwbVgpiRH68qaQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "21ea275a7c46aef9d4d6ddc962e6d562e9d94183", "rev": "02e08985a27c65ffd33d434eeb2e660a2e4dc84d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1119,11 +1099,11 @@
}, },
"nixpkgs_13": { "nixpkgs_13": {
"locked": { "locked": {
"lastModified": 1785672624, "lastModified": 1787948808,
"narHash": "sha256-TWz27RiQZf38j17BYGN/V4U2SQVtOE2pFc9u2cy3H3g=", "narHash": "sha256-eGTDlxFCHGX/SI9ygF48RWTg5u88ikF0O3KRLA7i3+w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8205539d1c589daf91e3c192fc10fa534acc5326", "rev": "66b643c7d4e3f50124081b60845fd07a8455d263",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1135,11 +1115,11 @@
}, },
"nixpkgs_14": { "nixpkgs_14": {
"locked": { "locked": {
"lastModified": 1785747939, "lastModified": 1787964612,
"narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=", "narHash": "sha256-0N9nghg3nwzX6b6qc77EzjR9cu/Z+UR66FlfsCqiURs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "104240a772428cc2e20d8fd86c9ddbb886bbaff2", "rev": "e8be7818e19ada32105a8af937a6a473b38167ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1182,11 +1162,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1785090369, "lastModified": 1787736819,
"narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=", "narHash": "sha256-cV5xEJJK3BvhU8rEd4mC9UsmDi5qscv/kzGPhBRC5WA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "624af665418d3c65d544145b4d34ad696439570e", "rev": "9fbb54b33e91ee4ca368e35a78e0613c720600b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1214,11 +1194,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1785896855, "lastModified": 1787982998,
"narHash": "sha256-9ZUVm/loWdcMqG7Y/UJIwDRrPvpIwa0kLuxqGh0wBXI=", "narHash": "sha256-CZ0r5byXrfA9LwAD1KkfmugmwYXTq4/hdoYCrEADoUc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "356468b500e85491b610431c87a284ca1f41b7bc", "rev": "e58434078dbd80ca094774e0aec907fc8d5f7ada",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1229,11 +1209,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1785896855, "lastModified": 1787706077,
"narHash": "sha256-9ZUVm/loWdcMqG7Y/UJIwDRrPvpIwa0kLuxqGh0wBXI=", "narHash": "sha256-qhoIeGKOQXSLyRYDPEQBcBvV1TgBYWHkP5sDXDnyrRA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "356468b500e85491b610431c87a284ca1f41b7bc", "rev": "71940ae1878a5f2a08424e1942fe41de91b619f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1260,11 +1240,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1785859399, "lastModified": 1787994130,
"narHash": "sha256-pY4X50au95QrTpAbEm08pURmeU3/Ud2oa0s2XzpDdz8=", "narHash": "sha256-fcaFTLuyHlYKRKBjZ2TKE9+aC8s05v+JjN1X7X/EQJY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "85f62611fa3f3eacbcfe3bc7a6d6518b443ca442", "rev": "413a9b88e4284b6f118f8e565b3442ade07336ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1281,11 +1261,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787540539, "lastModified": 1788050744,
"narHash": "sha256-q6ewgZm6eAgdHWIaOV+dwR5/x711AfDUsao3nQ/CdyA=", "narHash": "sha256-O+GIRtyRZhn2Cv5NosvsoQzaPBpI2T3AGNqxwcS65Oc=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia", "repo": "noctalia",
"rev": "a4324409f4f07001d33fbf902be49377ee6b62e2", "rev": "99296b25b0aa6e293fad10ae77a56e567cd6120c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1323,7 +1303,6 @@
"inputs": { "inputs": {
"aerothemeplasma": "aerothemeplasma", "aerothemeplasma": "aerothemeplasma",
"auto-cpufreq": "auto-cpufreq", "auto-cpufreq": "auto-cpufreq",
"bug-tv": "bug-tv",
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"catppuccin-userstyles-nix": "catppuccin-userstyles-nix", "catppuccin-userstyles-nix": "catppuccin-userstyles-nix",
"copyparty": "copyparty", "copyparty": "copyparty",
@@ -1352,7 +1331,8 @@
], ],
"noctalia": "noctalia", "noctalia": "noctalia",
"stylix": "stylix", "stylix": "stylix",
"systems": "systems_5" "systems": "systems_5",
"umbriel": "umbriel"
} }
}, },
"stylix": { "stylix": {
@@ -1375,11 +1355,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1785794750, "lastModified": 1787771653,
"narHash": "sha256-OqIrGVL7AX462ISyJFAqjbqTc1RZlBkVHCa4dwPEZU4=", "narHash": "sha256-DkkJSBOXWV/mja5Vy8az5g1KpZlsbUwlmH0BsQhowaQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "cb5eb3a7343faba61fd694fac8040a326485a339", "rev": "5e3809851f486e7fc7e84b40f174c74b60ecc784",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1536,11 +1516,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784369104, "lastModified": 1785360170,
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=", "narHash": "sha256-XE1lKgQ3eIO3E7zWryqcRsax+mYXod/5RHBn4YaR9YE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a", "rev": "d1187f8bc71fb8aab02395869ec3f5c1920f75c0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1557,11 +1537,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785360170, "lastModified": 1785945821,
"narHash": "sha256-XE1lKgQ3eIO3E7zWryqcRsax+mYXod/5RHBn4YaR9YE=", "narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "d1187f8bc71fb8aab02395869ec3f5c1920f75c0", "rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1570,6 +1550,49 @@
"type": "github" "type": "github"
} }
}, },
"umbriel": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"xdg-desktop-portal-umbriel": "xdg-desktop-portal-umbriel"
},
"locked": {
"lastModified": 1788184796,
"narHash": "sha256-ZrC4QWA8wMynzI+fO9gMzqLTgiS5kTpKN0HEdxQnAMQ=",
"ref": "refs/heads/main",
"rev": "e677dbbe2728ee65156bdbcc6775b0b36b388b64",
"revCount": 727,
"submodules": true,
"type": "git",
"url": "https://github.com/noctalia-dev/umbriel"
},
"original": {
"type": "git",
"url": "https://github.com/noctalia-dev/umbriel"
}
},
"xdg-desktop-portal-umbriel": {
"inputs": {
"nixpkgs": [
"umbriel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1787930530,
"narHash": "sha256-tDvkYDYCbQhi2BG5wtpNjUHa7iUrTmctC87ukbNJ0y4=",
"owner": "noctalia-dev",
"repo": "xdg-desktop-portal-umbriel",
"rev": "4edf049e4f9982bd7c3d6c92e25379308fdaa8df",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "xdg-desktop-portal-umbriel",
"type": "github"
}
},
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
+9 -4
View File
@@ -88,6 +88,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
umbriel = {
url = "git+https://github.com/noctalia-dev/umbriel";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
@@ -99,9 +104,9 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
bug-tv = { #bug-tv = {
url = "git+https://git.bug.tools/bug/tv.git"; # url = "git+https://git.bug.tools/bug/tv.git";
inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; #};
}; };
} }
+21 -1
View File
@@ -1,6 +1,26 @@
{ inputs, ... }: { { inputs, ... }: {
den.aspects.niri = { den.aspects.niri = {
nixos = { pkgs, ... }: { nixos = { pkgs, ... }: {
nixpkgs.overlays = [
(final: prev: {
xwayland-satellite = prev.xwayland-satellite.overrideAttrs (old: rec {
version = "0.8.1";
src = final.fetchFromGitHub {
owner = "Supreeeme";
repo = "xwayland-satellite";
rev = "536bd32"; # v0.8.1
hash = "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=";
};
cargoDeps = final.rustPlatform.fetchCargoVendor {
inherit (old) pname;
inherit version src;
hash = "sha256-16L6gsvze+m7XCJlOA1lsPNELE3D364ef2FTdkh0rVY=";
};
});
})
];
services.displayManager = { services.displayManager = {
sessionPackages = [ pkgs.niri ]; sessionPackages = [ pkgs.niri ];
}; };
@@ -92,7 +112,7 @@
]; ];
binds = { binds = {
"Mod+T".action.spawn = "cosmic-term"; "Mod+T".action.spawn = "ghostty";
"Mod+E".action.spawn = "cosmic-files"; "Mod+E".action.spawn = "cosmic-files";
"Mod+B".action.spawn = "librewolf"; "Mod+B".action.spawn = "librewolf";
+14 -1
View File
@@ -1,9 +1,22 @@
{ inputs, ...}: { { inputs, ...}: {
den.aspects.noctalia = { den.aspects.noctalia = {
nixos = { ... }: { nixos = { pkgs, ... }: {
imports = [ inputs.noctalia.nixosModules.default ]; imports = [ inputs.noctalia.nixosModules.default ];
programs.noctalia.enable = true; programs.noctalia.enable = true;
environment.systemPackages = with pkgs; [
slurp
grim
hyprpicker
tesseract
imagemagick
zbar
curl
jq
ffmpeg
mpv
];
}; };
}; };
} }
+60
View File
@@ -0,0 +1,60 @@
{ inputs, ...}: {
den.aspects.umbriel = {
/*nixos = { pkgs, ... }: {
imports = [ inputs.umbriel.nixosModules.default ];
};*/
homeManager = {
imports = [ inputs.umbriel.homeModules.default ];
programs.umbriel = {
enable = true;
settings = {
general = {
autostart = [
"noctalia"
#"tailscale systray"
];
xwayland = true;
show_cheatsheet = false;
};
input = {
keyboard.layout = "us";
focus.follows_mouse = true;
cursor = {
hide_when_typing = true;
hide_timeout_ms = 3000;
};
};
keybinds = {
"Mod+T" = "spawn:cosmic-term";
"Mod+E" = "spawn:cosmic-files";
"Mod+B" = "spawn:librewolf";
"Mod+Q" = "window-close";
"Mod+A" = "spawn:noctalia msg panel-toggle launcher";
"Mod+Left" = "window-focus-left";
"Mod+Right" = "window-focus-right";
"Mod+Up" = "window-focus-up";
"Mod+Down" = "window-focus-down";
"Mod+Shift+Left" = "column-move-left";
"Mod+Shift+Right" = "column-move-right";
"Mod+Shift+Up" = "window-move-up";
"Mod+Shift+Down" = "window-move-down";
"Mod+Comma"= "spawn:noctalia msg settings-toggle";
};
};
};
};
};
}
+15
View File
@@ -0,0 +1,15 @@
{
den.aspects.openvpn = {
nixos = { pkgs, ... }: {
networking.networkmanager = {
plugins = with pkgs; [
networkmanager-openvpn
];
};
programs.openvpn3.enable = true;
services.resolved.enable = true;
};
};
}
+2
View File
@@ -3,6 +3,8 @@
nixos = { pkgs, ... }: { nixos = { pkgs, ... }: {
nixpkgs.overlays = [ inputs.nix-cachyos-kernel.overlays.pinned ]; nixpkgs.overlays = [ inputs.nix-cachyos-kernel.overlays.pinned ];
boot.kernelPackages = pkgs.linuxPackages_latest;
#boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest; #boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest;
#nix.settings.substituters = [ "https://attic.xuyh0120.win/lantian" ]; #nix.settings.substituters = [ "https://attic.xuyh0120.win/lantian" ];
+6 -9
View File
@@ -19,9 +19,9 @@
base0F = "F2CDCD"; base0F = "F2CDCD";
}; };
in { in {
homeManager = { pkgs, ... }: { nixos = { pkgs, ... }: {
imports = [ imports = [
inputs.stylix.homeModules.stylix inputs.stylix.nixosModules.stylix
]; ];
stylix = { stylix = {
@@ -36,16 +36,13 @@
name = "Twitter Color Emoji"; name = "Twitter Color Emoji";
package = pkgs.twitter-color-emoji; package = pkgs.twitter-color-emoji;
}; };
};
};
homeManager = { config, pkgs, ... }: {
config.stylix = {
targets = { targets = {
vesktop.enable = true;
gnome.enable = true;
gtk.enable = true;
gtk.flatpakSupport.enable = true;
firefox.enable = true;
fish.enable = true;
opencode.enable = false; opencode.enable = false;
librewolf.enable = false;
}; };
}; };
}; };
+5 -2
View File
@@ -13,21 +13,24 @@
mailserver mailserver
# matrix # matrix
redlib redlib
bugtv # bugtv
# sish # sish
vscode-server vscode-server
gitea gitea
# omnisearch # omnisearch
slskd
catppuccin catppuccin
janitor janitor
mpd
]; ];
nixos = { pkgs, ...}: { nixos = { pkgs, ...}: {
networking.hostName = "box"; networking.hostName = "box";
# den.tunnels = [ "tvtun" ]; den.tunnels = [ "mpd" ];
environment.systemPackages = [ pkgs.python3 ]; environment.systemPackages = [ pkgs.python3 ];
+3
View File
@@ -10,6 +10,9 @@
openssh openssh
syncthing syncthing
tailscale tailscale
openvpn
#beszel
fish fish
+1
View File
@@ -19,6 +19,7 @@
niri niri
noctalia noctalia
umbriel
autocpufreq autocpufreq
]; ];
+29
View File
@@ -0,0 +1,29 @@
{ ... }: {
den.aspects.beszel = { host, ... }: {
den.tunnels =
if host.name == "box"
then [ "fleet" ]
else [];
nixos = { lib, ... }: {
services.beszel.agent = {
enable = true;
environment = {
KEY = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMlX8zdofzg+vV0H6H5U54YIbTY/z0iPfD9LXupBY2jX";
TOKEN = "30949ab5-3ed3-46c1-b606-4e4e66b847f9";
HUB_URL = "https://fleet.bug.tools";
SYSTEM_NAME = host.name;
};
environmentFile = "/var/lib/beszel-agent/environment";
};
services.beszel.hub = lib.mkIf (host.name == "box") {
enable = true;
host = "0.0.0.0";
port = 8090;
};
};
};
}
+16 -10
View File
@@ -36,7 +36,21 @@
access = { access = {
r = "*"; r = "*";
rwda = [ "bug" ]; rwdma = [ "bug" ];
};
flags = {
fk = 4;
scan = 60;
};
};
"/slsk" = {
path = "/home/bug/slskd/complete/";
access = {
r = "*";
rwdma = [ "bug" ];
}; };
flags = { flags = {
@@ -58,20 +72,12 @@
}; };
}; };
"/box" = {
path = "/";
access = {
rwda = [ "bug" ];
};
};
"/Music" = { "/Music" = {
path = "/home/bug/Music/"; path = "/home/bug/Music/";
access = { access = {
r = "*"; r = "*";
rwda = [ "bug" ]; rwdma = [ "bug" ];
}; };
flags = { flags = {
+3
View File
@@ -51,6 +51,9 @@
"vortex@bug.tools" "vortex@bug.tools"
"codex@bug.tools" "codex@bug.tools"
"tailscale@bug.tools" "tailscale@bug.tools"
"firefox@bug.tools"
"keldurn@bug.tools"
"brax@bug.tools"
]; ];
}; };
+3
View File
@@ -20,6 +20,9 @@
email = 8088; email = 8088;
llama = 8080; llama = 8080;
api-tv = 8789; api-tv = 8789;
seek = 8089;
fleet = 8090;
mpd = 6600;
}; };
}; };
} }
+42
View File
@@ -0,0 +1,42 @@
{ lib, inputs, ... }: {
den.aspects.slskd = {
nixos = { pkgs, config, ... }: {
den.tunnels = [ "seek" ];
environment.systemPackages = with pkgs; [
slskd
];
systemd.services.slskd.serviceConfig = {
ReadWritePaths = [ "/home/bug/slskd" ];
ProtectHome = lib.mkForce false;
};
services.slskd = {
enable = true;
user = "bug";
settings.web.port = 8089;
environmentFile = "/home/bug/slskd/env";
settings = {
directories = {
downloads = "/home/bug/slskd/complete";
incomplete = "/home/bug/slskd/incomplete";
};
shares.directories = [ "/home/bug/slskd/share" ];
shares.filters = [
"\\.ini$"
"Thumbs\\.db$"
"\\.DS_Store$"
];
retention.files.complete = 20160;
};
};
};
};
}
+2 -2
View File
@@ -144,13 +144,13 @@
settings = { settings = {
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = { "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = {
force = true; force = true;
settings = inputs.catppuccin-userstyles-nix.stylusSettings.${pkgs.stdenv.hostPlatform.system} { /*settings = inputs.catppuccin-userstyles-nix.stylusSettings.${pkgs.stdenv.hostPlatform.system} {
global = { global = {
lightFlavor = "mocha"; lightFlavor = "mocha";
darkFlavor = "mocha"; darkFlavor = "mocha";
accentColor = "mauve"; accentColor = "mauve";
}; };
}; };*/
}; };
}; };
}; };
+27 -3
View File
@@ -4,13 +4,19 @@
nixos = nixos =
{ pkgs, options, ... }: { pkgs, options, ... }:
{ {
programs.nix-ld = { programs.nix-ld = let
libxml2-so2-compat = pkgs.runCommand "libxml2-so2-compat" { } ''
mkdir -p $out/lib
ln -s ${pkgs.libxml2.out}/lib/libxml2.so.16 $out/lib/libxml2.so.2
'';
in {
enable = true; enable = true;
libraries = libraries =
options.programs.nix-ld.libraries.default options.programs.nix-ld.libraries.default
++ (with pkgs; [ ++ (with pkgs; [
libxml2 libxml2-so2-compat
udev udev
gcc gcc
egl-wayland egl-wayland
@@ -31,7 +37,25 @@
libz libz
libGL libGL
glib xcbutil
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
libXrender
libXext
libXfixes
libSM
libICE
systemd
stdenv.cc.cc.lib
zlib
fontconfig.lib
freetype
libxkbcommon
dbus.lib
libidn2
]); ]);
}; };
}; };
+7 -10
View File
@@ -6,11 +6,11 @@
let let
inherit (pkgs) fetchurl symlinkJoin makeWrapper; inherit (pkgs) fetchurl symlinkJoin makeWrapper;
base = base = (inputs.minecraft.legacyPackages.${pkgs.stdenv.hostPlatform.system}.v1_21_11.fabric.client.withConfig [{
( jvmArgs = [
inputs.minecraft.legacyPackages.${pkgs.stdenv.hostPlatform.system}.v1_21_11.fabric.client.withConfig "-Dorg.lwjgl.opengl.Window.undecorated=true"
[ ];
{
mods = [ mods = [
(fetchurl { (fetchurl {
name = "fabric-api.jar"; name = "fabric-api.jar";
@@ -108,10 +108,7 @@
# sha256 = "sha256:16dkj8baa6xn47n9alzy4104wz6z4zp719dxwv5wm96g2wkp1z57"; # sha256 = "sha256:16dkj8baa6xn47n9alzy4104wz6z4zp719dxwv5wm96g2wkp1z57";
# }) # })
]; ];
}
]
).withConfig
{
resourcePacks = [ resourcePacks = [
(fetchurl { (fetchurl {
name = "unique-dark.zip"; name = "unique-dark.zip";
@@ -138,7 +135,7 @@
"--gameDir" "--gameDir"
"/home/bug/.local/share/minecraft" "/home/bug/.local/share/minecraft"
]; ];
}; }]);
minecraft = symlinkJoin { minecraft = symlinkJoin {
name = "minecraft-wrapped"; name = "minecraft-wrapped";
+1 -1
View File
@@ -5,7 +5,7 @@
enable = true; enable = true;
settings = { settings = {
plugin = [ "opencode-plugin-llama.cpp@latest" "opencode-goal-plugin" ]; plugin = [ "opencode-plugin-llama.cpp@latest" "opencode-goal-plugin" "@dietrichgebert/ponytail" ];
provider = { provider = {
"llama.cpp" = { "llama.cpp" = {
+1 -1
View File
@@ -4,7 +4,7 @@
users.users.bug.packages = with pkgs; [ users.users.bug.packages = with pkgs; [
euphonica euphonica
rhythmbox rhythmbox
dopamine kew
]; ];
services.flatpak.packages = [ services.flatpak.packages = [
@@ -0,0 +1 @@
1.4.1.3852
@@ -0,0 +1,324 @@
# "Quad-Remesher Bridge for Blender"
# Author : Maxime Rouca
#
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
__QR_plugin_version__ = "1.4"
bl_info = {
"name": "Quad Remesher 1.4 Bridge",
"author": "Maxime",
"version": (1, 4, 1),
"blender": (2, 80, 0),
"description": "Quad Remesher 1.4 Bridge",
"location": "",
"warning": "",
"wiki_url": "",
"tracker_url": "",
"category": "Mesh"
}
import bpy
import bpy.props
from rna_keymap_ui import draw_kmi
from bl_operators.presets import AddPresetBase
from .qr_operators import (QREMESHER_OT_remesh, QREMESHER_OT_reset_settings, QREMESHER_OT_license_manager, QREMESHER_OT_facemap_to_materials, QREMESHER_OT_faceset_to_materials, QREMESHER_OT_online_help, QREMESHER_OT_News_LatestVer)
addon_name = __name__.split(".")[0]
#def addon_prefs():
# return bpy.context.preferences.addons[addon_name].preferences
def paintDensityPropertyCB(self, context):
#try:
props = bpy.context.scene.qremesher
vertexColorSliderValue = getattr(props, 'painted_quad_density')
#print("vertexColorSliderValue = " + str(vertexColorSliderValue) + "\n")
#Mapping: Slider in [0.25, 4]
maxSliderValue = 4
minSliderValue = 0.25
normalizedValue = 0.0
if vertexColorSliderValue > 1.0:
normalizedValue = (vertexColorSliderValue - 1.0) / (maxSliderValue - 1.0)
elif vertexColorSliderValue < 1.0:
normalizedValue = - ((1.0/vertexColorSliderValue) - 1.0) / ((1.0/minSliderValue) - 1.0)
if (normalizedValue > 1):
normalizedValue = 1
if (normalizedValue < -1):
normalizedValue = -1
# -- normalizedValue to color
r = 1.0
g = 1.0
b = 1.0
if normalizedValue > 0.0:
r = 1
g = 1-normalizedValue
b = 1-normalizedValue
elif normalizedValue < 0.0:
r = 1+normalizedValue
g = 1
b = 1
# set the color
mycolor=(r, g, b)
# from Blender 4.3
if bpy.app.version >= (4,3,0):
bpy.context.tool_settings.unified_paint_settings.color = mycolor
else:
bpy.data.brushes["Draw"].color = mycolor
#except Exception:
# print("Exception: in paintDensityPropertyCB..\n")
return
# ----- Properties container ------
class QRSettingsPropertyGroup(bpy.types.PropertyGroup):
# Target Quad Count
target_count: bpy.props.IntProperty(name="Quad Count", description="Set the desired number of Quads",
default=5000, soft_min=100, soft_max=10000, step=20, min = 1)
curvatureAdaptivness_Tooltip = "Allows to control how quad's size locally adapts to curvatures.\nThe higher it is, the smaller the quads will be on high curvature areas.\nSet it at 0, to get uniform quads size"
adaptQuadCount_Tooltip = "Adaptive Quad-Count :\nOn: Creates more polygons than asked to fit high curvatures area. \nOff(default): Respect the Target-Quad-Count more exactly.\nIt's advised to let it 'Off' to better respect the Target-Quad-Count. see the doc for more explanations. "
useVertexColors_Tooltip = "Use 'Vertex Colors' to control Quads size density."
vertexColorWidget_Tooltip = "Defines the Color to paint to control locally the desired Quad Density variations (using 'Draw' Tool, in 'Vertex Paint' mode) \n . from 0.25 => 'divide density by 4' = Big Quads = Cyan color \n . to 4 => 'multiply density by 4' = Small Quads = Red color."
useMaterials_Tooltip="If On, QuadRemesher will use existing 'Materials' to guide the quad remeshing on Materials borders.\nMaterialIds will be maintained after remeshing."
useNormals_Tooltip="TAKE CARE: this option is usefull in specific cases, BUT should be 'Off' by default (facetted mesh). Read the doc for more informations..."
useNormals_Tooltip+="\nIf On, QuadRemesher will use the existing 'Normals' to guide the remeshing on edge loops where the normals are split/creased.\nBy default Blenders creates mesh with normals split everywhere.\nIt usefull to enable this option only with SmoothShade + AutoSmooth enabled...\nOn smooth organic shapes, it's advised to disable it."
detectHardEdges_Tooltip="If On, QuadRemesher will detect/compute Hard-Edges automatically based on the geometry (using a mix of edge's angles and other geometrical considerations).\nIf 'Use Normals Splitting' is checked, it's often better to uncheck 'Detect Hard Edges by angle'.\nOn smooth organic shapes, it's advised to disable it."
symToolTip = "These options allows to perform symmetrical quad remeshing. It's possible to combine all 3 symmetry axis."
#symToolTip += "\nTAKE CARE: The axis are Local Coordinates axis! It's advised to set the Gizmo in 'Object' mode to better see the Local Coordinates axis."
hideInputTip = "If On (default), the input object will be hidden after remeshing."
# Quads size settings
adaptive_size: bpy.props.FloatProperty(name="Adaptive size",
description=curvatureAdaptivness_Tooltip,
default=50, min=0, max=100, step=0.5, precision=0, subtype = 'PERCENTAGE')
adapt_quad_count: bpy.props.BoolProperty(name="Adapt Quad Count", default=True,
description=adaptQuadCount_Tooltip)
use_vertex_color: bpy.props.BoolProperty(name="Use Vertex Color",
description=useVertexColors_Tooltip,
default=False)
painted_quad_density: bpy.props.FloatProperty(name="Quads density (paint)",
description=vertexColorWidget_Tooltip,
default=1.0, min=0.25, max=4.0, step=0.4,
update=paintDensityPropertyCB)
# Edge loops control
use_materials: bpy.props.BoolProperty(name="Use Materials", default=False,
description = useMaterials_Tooltip)
use_normals: bpy.props.BoolProperty(name="Use Normals Splitting",
default=False, #because when I create a sphere, all edges are 'creased', not a good idea to enable this by default...
description=useNormals_Tooltip)
autodetect_hard_edges: bpy.props.BoolProperty(name="Detect Hard Edges by angle",
default=True,
description=detectHardEdges_Tooltip)
# Misc category
symmetry_x: bpy.props.BoolProperty(name="X", default=False, description=symToolTip)
symmetry_y: bpy.props.BoolProperty(name="Y", default=False, description=symToolTip)
symmetry_z: bpy.props.BoolProperty(name="Z", default=False, description=symToolTip)
hide_input: bpy.props.BoolProperty(name="Hide Input Object", default=True, description=hideInputTip)
# progress bar value
progress_value: bpy.props.FloatProperty(default=0, subtype='PERCENTAGE', precision=1, min=0, soft_min=0, soft_max=100, max=100)
def draw_panel_content(context, layout):
#print("draw_panel_content called")
# NB: this function is called very often (example, quite at each mouse move in the panel...)
props = bpy.context.scene.qremesher
#props = addon_prefs().props
wm = context.window_manager
# "REMESH IT" button
# if QREMESHER_OT_remesh.IsRemeshing:
# myrow = layout.row(align=True)
# myrow.label(text="(ESC)")
# myrow.prop(props, 'progress_value')
# #layout.prop(props, 'progress_value')
layout.operator(QREMESHER_OT_remesh.bl_idname)
layout.separator()
# Settings
col = layout.column(align=True)
# row = col.row(align=True)
col.prop(props, 'target_count')
col.separator()
# --- Quad Size settings ---
box = col.box()
box.label(text=" Quad Size Settings")
box.prop(props, 'adaptive_size')
box.prop(props, 'adapt_quad_count')
box.prop(props, 'use_vertex_color')
#box.separator()
box.prop(props, 'painted_quad_density')
col.separator()
# --- Quad Size settings ---
box = col.box()
box.label(text=" Edge Loops Control")
box.prop(props, 'use_materials')
box.prop(props, 'use_normals')
box.prop(props, 'autodetect_hard_edges')
col.separator()
# --- Misc.... ---
box = col.box()
box.label(text=" Misc")
box.label(text="Symmetry:")
myrow = box.row(align=True)
myrow.prop(props, 'symmetry_x')
myrow.prop(props, 'symmetry_y')
myrow.prop(props, 'symmetry_z')
box.prop(props, 'hide_input')
box.operator(QREMESHER_OT_reset_settings.bl_idname)
box.operator(QREMESHER_OT_license_manager.bl_idname)
if bpy.app.version[0] >= 4:
box.operator(QREMESHER_OT_faceset_to_materials.bl_idname)
else:
box.operator(QREMESHER_OT_facemap_to_materials.bl_idname)
box.operator(QREMESHER_OT_online_help.bl_idname)
box.operator(QREMESHER_OT_News_LatestVer.bl_idname, text=QREMESHER_OT_News_LatestVer.getNewsButtonLabel())
# Side panel ui
class QREMESHER_PT_qremesher(bpy.types.Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = 'Quad Remesh' # name of the VerticalTab
bl_label = "Quad Remesher "+__QR_plugin_version__
bl_idname = "QREMESHER_PT_qremesher"
# bl_options = {'DEFAULT_CLOSED'}
@classmethod
def poll(cls, context):
return True
def draw(self, context):
draw_panel_content(context, self.layout)
# Scene settings subpanel
'''
class QREMESHER_PT_qremesher_setting_panel(bpy.types.Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = 'QRemesher'
bl_label = "Settings"
bl_idname = "QREMESHER_PT_qremesher_setting_panel"
bl_parent_id = "QREMESHER_PT_qremesher" # NB: ca suffit a ajouter ce sub panel dans le panel QREMESHER_PT_qremesher
# bl_options = {'DEFAULT_CLOSED'}
@classmethod
def poll(cls, context):
return True
def draw(self, context):
self.layout.operator(QREMESHER_OT_reset_settings.bl_idname)
self.layout.separator()
#draw_panel_content(context, self.layout)
'''
classes = [QRSettingsPropertyGroup,
QREMESHER_PT_qremesher,
#QREMESHER_PT_qremesher_setting_panel,
QREMESHER_OT_remesh,
QREMESHER_OT_reset_settings,
QREMESHER_OT_license_manager,
QREMESHER_OT_facemap_to_materials, # Blender 3.x
QREMESHER_OT_faceset_to_materials, # Blender 4.x
QREMESHER_OT_online_help,
QREMESHER_OT_News_LatestVer,
]
addon_keymaps = []
def hotkeys():
wm = bpy.context.window_manager
kc = wm.keyconfigs.addon
if kc:
if '3D View' not in kc.keymaps:
km_view3d = kc.keymaps.new('3D View', space_type='VIEW_3D', region_type='WINDOW')
else:
km_view3d = kc.keymaps['3D View']
kmi = km_view3d.keymap_items.new(QREMESHER_OT_remesh.bl_idname, head=True, type='R', value='PRESS',
ctrl=True, alt=True)
addon_keymaps.append((km_view3d, kmi))
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.types.Scene.qremesher = bpy.props.PointerProperty(type=QRSettingsPropertyGroup)
QREMESHER_OT_News_LatestVer.readNews()
hotkeys()
def unregister():
for cls in classes:
bpy.utils.unregister_class(cls)
del bpy.types.Scene.qremesher
wm = bpy.context.window_manager
kc = wm.keyconfigs.addon
if kc:
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()
@@ -0,0 +1,79 @@
# "Quad-Remesher Bridge for Blender"
# Author : Maxime Rouca
#
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# ##### END GPL LICENSE BLOCK #####
import bpy
import os
import subprocess
import sys
import platform
import shutil
import tempfile
import time
def qr_launch_prefix():
launcher = os.environ.get("QUADREMESHER_LAUNCHER", "").strip()
return launcher.split() if launcher else []
def writeSettingsFile(settingsFilename, inputFilename, theOp, enableTiming):
props = bpy.context.scene.qremesher
settings_file = open(settingsFilename, "w")
settings_file.write('HostApp=Blender\n')
settings_file.write('HostAppVer=%s\n' % bpy.app.version_string)
settings_file.write('FileIn="%s"\n' % inputFilename)
settings_file.write('FileOut="%s"\n' % theOp.retopoFilename)
settings_file.write('ProgressFile="%s"\n' % theOp.progressData.ProgressFilename)
settings_file.write("TargetQuadCount=%s\n" % str(getattr(props, 'target_count')))
settings_file.write("CurvatureAdaptivness=%s\n" % str(getattr(props, 'adaptive_size')))
settings_file.write("ExactQuadCount=%d\n" % (not getattr(props, 'adapt_quad_count')))
settings_file.write("UseVertexColorMap=%s\n" % str(getattr(props, 'use_vertex_color')))
settings_file.write("UseMaterialIds=%d\n" % getattr(props, 'use_materials'))
settings_file.write("UseIndexedNormals=%d\n" % getattr(props, 'use_normals'))
settings_file.write("AutoDetectHardEdges=%d\n" % getattr(props, 'autodetect_hard_edges'))
symAxisText = ''
if getattr(props, 'symmetry_x') : symAxisText = symAxisText + 'X'
if getattr(props, 'symmetry_y') : symAxisText = symAxisText + 'Y'
if getattr(props, 'symmetry_z') : symAxisText = symAxisText + 'Z'
if symAxisText != '':
settings_file.write('SymAxis=%s\n' % symAxisText)
settings_file.write("SymLocal=1\n")
if enableTiming:
settings_file.write("Timing_StartRemesh_Time=%f\n" % chrono_startRemeshingTime)
settings_file.write("Timing_InputMeshExported_Time=%f\n" % time.time()) # this time must include (partially) the txt settings writing.
settings_file.close()
def exe_launchRemeshing(enginePath, settingsFilename, theOp, verboseDebug):
if (verboseDebug):
print("Launch : path=" + enginePath + "\n settings_path=" + settingsFilename + "\n")
theOp.progressData.RemeshingProcess = subprocess.Popen([*qr_launch_prefix(), enginePath, "-s", settingsFilename])
if (verboseDebug):
print(" -> theOp.progressData.RemeshingProcess = " + str(theOp.progressData.RemeshingProcess) + "\n")
#NB: theOp.progressData.RemeshingProcess.poll()!=None can be done just after subprocess.Popen(...), no need to wait for something... (checked)
File diff suppressed because it is too large Load Diff
+28 -1
View File
@@ -2,10 +2,37 @@
den.aspects.cad = { den.aspects.cad = {
nixos = { pkgs, ... }: { nixos = { pkgs, ... }: {
users.users.bug.packages = with pkgs; [ users.users.bug.packages = with pkgs; [
blender #blender
plasticity plasticity
#orca-slicer #orca-slicer
]; ];
}; };
homeManager = { pkgs , ... }: {
home.packages = let
blenderScripts = pkgs.runCommand "blender-user-scripts" { } ''
mkdir -p $out/addons
cp -r ${./addons}/. $out/addons/
'';
quadRemesherLauncher = pkgs.writeShellScript "quadremesher-launcher" ''
engineDir="$(dirname "$1")"
export NIX_LD_LIBRARY_PATH="$engineDir:/run/current-system/sw/share/nix-ld/lib''${NIX_LD_LIBRARY_PATH:+:$NIX_LD_LIBRARY_PATH}"
export LD_PRELOAD="${pkgs.zlib}/lib/libz.so.1''${LD_PRELOAD:+:$LD_PRELOAD}"
exec "$@"
'';
blender-quadremesher = pkgs.symlinkJoin {
name = "blender-quadremesher";
paths = [ pkgs.blender ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/blender \
--set BLENDER_USER_SCRIPTS ${blenderScripts} \
--set QUADREMESHER_LAUNCHER ${quadRemesherLauncher}
'';
};
in [ blender-quadremesher ];
};
}; };
} }
+15
View File
@@ -0,0 +1,15 @@
{ inputs, ... }: {
den.aspects.ghostty = {
nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
ghostty
];
};
homeManager = { ... }: {
programs.ghostty.settings = {
window-decoration = "none";
};
};
};
}
+1 -1
View File
@@ -1,5 +1,5 @@
{ den, ... }: { { den, ... }: {
den.aspects.utilities = { den.aspects.utilities = {
includes = with den.aspects; [ system-utils desktop-utils fonts sshuttle torrent cad ]; includes = with den.aspects; [ system-utils desktop-utils fonts sshuttle torrent cad ghostty ];
}; };
} }