diff --git a/flake.lock b/flake.lock index cef9bbd..c0391f5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,28 +1,5 @@ { "nodes": { - "attic": { - "inputs": { - "crane": "crane", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs", - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1720542474, - "narHash": "sha256-aKjJ/4l2I9+wNGTaOGRsuS3M1+IoTibqgEMPDikXm04=", - "owner": "zhaofengli", - "repo": "attic", - "rev": "6139576a3ce6bb992e0f6c3022528ec233e45f00", - "type": "github" - }, - "original": { - "owner": "zhaofengli", - "ref": "main", - "repo": "attic", - "type": "github" - } - }, "authentik-nix": { "inputs": { "authentik-src": "authentik-src", @@ -33,15 +10,17 @@ "nixpkgs": [ "nixpkgs" ], - "poetry2nix": "poetry2nix", - "systems": "systems" + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "systems": "systems", + "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1736445563, - "narHash": "sha256-+f1MWPtja+LRlTHJP/i/3yxmnzo2LGtZmxtJJTdAp8o=", + "lastModified": 1753369162, + "narHash": "sha256-pSAsUVueht3WyyFJ3K+QJKWqFZNbyvsXijHOAHApeLk=", "owner": "nix-community", "repo": "authentik-nix", - "rev": "bf5a5bf42189ff5f468f0ff26c9296233a97eb6c", + "rev": "1361d269fe10c527528264185567a053252e22b0", "type": "github" }, "original": { @@ -53,265 +32,28 @@ "authentik-src": { "flake": false, "locked": { - "lastModified": 1736440980, - "narHash": "sha256-Z3rFFrXrOKaF9NpY/fInsEbzdOWnWqLfEYl7YX9hFEU=", + "lastModified": 1753187012, + "narHash": "sha256-bs/ThY3YixwBObahcS7BrOWj0gsaUXI664ldUQlJul8=", "owner": "goauthentik", "repo": "authentik", - "rev": "9d81f0598c7735e2b4616ee865ab896056a67408", + "rev": "23ffad1c6be80bea223caf5f1cf265b984b76328", "type": "github" }, "original": { "owner": "goauthentik", - "ref": "version/2024.12.2", + "ref": "version/2025.6.4", "repo": "authentik", "type": "github" } }, - "cachix": { - "inputs": { - "devenv": "devenv", - "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_3", - "pre-commit-hooks": "pre-commit-hooks" - }, - "locked": { - "lastModified": 1719923519, - "narHash": "sha256-7Rhljj2fsklFRsu+eq7N683Z9qukmreMEj5C1GqCrSA=", - "owner": "cachix", - "repo": "cachix", - "rev": "4e9e71f78b9500fa6210cf1eaa4d75bdbab777c3", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "master", - "repo": "cachix", - "type": "github" - } - }, - "cachix_2": { - "inputs": { - "devenv": "devenv_2", - "flake-compat": [ - "conduwuit", - "cachix", - "devenv", - "flake-compat" - ], - "nixpkgs": [ - "conduwuit", - "cachix", - "devenv", - "nixpkgs" - ], - "pre-commit-hooks": [ - "conduwuit", - "cachix", - "devenv", - "pre-commit-hooks" - ] - }, - "locked": { - "lastModified": 1712055811, - "narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=", - "owner": "cachix", - "repo": "cachix", - "rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "cachix", - "type": "github" - } - }, - "complement": { - "flake": false, - "locked": { - "lastModified": 1720637557, - "narHash": "sha256-oZz6nCmFmdJZpC+K1iOG2KkzTI6rlAmndxANPDVU7X0=", - "owner": "matrix-org", - "repo": "complement", - "rev": "0d14432e010482ea9e13a6f7c47c1533c0c9d62f", - "type": "github" - }, - "original": { - "owner": "matrix-org", - "ref": "main", - "repo": "complement", - "type": "github" - } - }, - "conduwuit": { - "inputs": { - "attic": "attic", - "cachix": "cachix", - "complement": "complement", - "crane": "crane_2", - "fenix": "fenix", - "flake-compat": "flake-compat_6", - "flake-utils": "flake-utils_4", - "liburing": "liburing", - "nix-filter": "nix-filter", - "nixpkgs": "nixpkgs_4", - "rocksdb": "rocksdb" - }, - "locked": { - "lastModified": 1721105087, - "narHash": "sha256-t74TUSswsCkOdZCKjgP74qEHKg78ShKTkP6x9/zqYX4=", - "path": "/nix/store/sw263a1qb3z8qc6bb78fm4mslsz5ya7i-source", - "rev": "c29197b3f457cf72197ef5251f9815107b2526d7", - "type": "path" - }, - "original": { - "id": "conduwuit", - "type": "indirect" - } - }, - "crane": { - "inputs": { - "nixpkgs": [ - "conduwuit", - "attic", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717025063, - "narHash": "sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8=", - "owner": "ipetkov", - "repo": "crane", - "rev": "480dff0be03dac0e51a8dfc26e882b0d123a450e", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_2": { - "inputs": { - "nixpkgs": [ - "conduwuit", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1720546058, - "narHash": "sha256-iU2yVaPIZm5vMGdlT0+57vdB/aPq/V5oZFBRwYw+HBM=", - "owner": "ipetkov", - "repo": "crane", - "rev": "2d83156f23c43598cf44e152c33a59d3892f8b29", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "ref": "master", - "repo": "crane", - "type": "github" - } - }, - "devenv": { - "inputs": { - "cachix": "cachix_2", - "flake-compat": [ - "conduwuit", - "cachix", - "flake-compat" - ], - "nix": "nix_2", - "nixpkgs": [ - "conduwuit", - "cachix", - "nixpkgs" - ], - "pre-commit-hooks": [ - "conduwuit", - "cachix", - "pre-commit-hooks" - ] - }, - "locked": { - "lastModified": 1719759336, - "narHash": "sha256-3a34VL/QnHprl5gMy9xlx6d8J+iNp+W88Ex8smkgH9M=", - "owner": "cachix", - "repo": "devenv", - "rev": "bb32aa986f2f695385e54428d0eaf7d05b31466e", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "devenv", - "type": "github" - } - }, - "devenv_2": { - "inputs": { - "flake-compat": [ - "conduwuit", - "cachix", - "devenv", - "cachix", - "flake-compat" - ], - "nix": "nix", - "nixpkgs": "nixpkgs_2", - "poetry2nix": "poetry2nix_2", - "pre-commit-hooks": [ - "conduwuit", - "cachix", - "devenv", - "cachix", - "pre-commit-hooks" - ] - }, - "locked": { - "lastModified": 1708704632, - "narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=", - "owner": "cachix", - "repo": "devenv", - "rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "python-rewrite", - "repo": "devenv", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "conduwuit", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1720852044, - "narHash": "sha256-3NBYz8VuXuKU+8ONd9NFafCNjPEGHIZQ2Mdoam1a4mY=", - "owner": "nix-community", - "repo": "fenix", - "rev": "5087b12a595ee73131a944d922f24d81dae05725", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "main", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -320,97 +62,16 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_6": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "ref": "master", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -448,11 +109,11 @@ ] }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -462,12 +123,15 @@ } }, "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -477,24 +141,6 @@ } }, "flake-utils_3": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { "inputs": { "systems": "systems_3" }, @@ -508,12 +154,11 @@ }, "original": { "owner": "numtide", - "ref": "main", "repo": "flake-utils", "type": "github" } }, - "flake-utils_5": { + "flake-utils_4": { "inputs": { "systems": "systems_4" }, @@ -531,16 +176,16 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_5": { "inputs": { "systems": "systems_5" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -549,44 +194,6 @@ "type": "github" } }, - "flake-utils_7": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "conduwuit", - "cachix", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "hm-isolation": { "locked": { "lastModified": 1675806557, @@ -609,24 +216,24 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } }, "homepage": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_5" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1737639979, @@ -645,11 +252,11 @@ }, "impermanence": { "locked": { - "lastModified": 1736688610, - "narHash": "sha256-1Zl9xahw399UiZSJ9Vxs1W4WRFjO1SsNdVZQD4nghz0=", + "lastModified": 1737831083, + "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", "owner": "nix-community", "repo": "impermanence", - "rev": "c64bed13b562fc3bb454b48773d4155023ac31b7", + "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", "type": "github" }, "original": { @@ -658,23 +265,6 @@ "type": "github" } }, - "liburing": { - "flake": false, - "locked": { - "lastModified": 1720798442, - "narHash": "sha256-gtPppAoksMLW4GuruQ36nf4EAqIA1Bs6V9Xcx8dBxrQ=", - "owner": "axboe", - "repo": "liburing", - "rev": "1d674f83b7d0f07553ac44d99a401b05853d9dbe", - "type": "github" - }, - "original": { - "owner": "axboe", - "ref": "master", - "repo": "liburing", - "type": "github" - } - }, "mediawikiSkinCitizen": { "flake": false, "locked": { @@ -718,109 +308,17 @@ "type": "github" } }, - "nix": { - "inputs": { - "flake-compat": "flake-compat_3", - "nixpkgs": [ - "conduwuit", - "cachix", - "devenv", - "cachix", - "devenv", - "nixpkgs" - ], - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1712911606, - "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", - "owner": "domenkozar", - "repo": "nix", - "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", - "type": "github" - }, - "original": { - "owner": "domenkozar", - "ref": "devenv-2.21", - "repo": "nix", - "type": "github" - } - }, - "nix-filter": { - "locked": { - "lastModified": 1710156097, - "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "3342559a24e85fc164b295c3444e8a139924675b", - "type": "github" - }, - "original": { - "owner": "numtide", - "ref": "main", - "repo": "nix-filter", - "type": "github" - } - }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "authentik-nix", - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, - "nix-github-actions_2": { - "inputs": { - "nixpkgs": [ - "conduwuit", - "cachix", - "devenv", - "cachix", - "devenv", - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688870561, - "narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "165b1650b753316aa7f1787f3005a8d2da0f5301", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nixGL": { "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_6" + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1713543440, - "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", + "lastModified": 1752054764, + "narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=", "owner": "guibou", "repo": "nixGL", - "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", + "rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5", "type": "github" }, "original": { @@ -829,178 +327,7 @@ "type": "github" } }, - "nix_2": { - "inputs": { - "flake-compat": [ - "conduwuit", - "cachix", - "devenv", - "flake-compat" - ], - "nixpkgs": [ - "conduwuit", - "cachix", - "devenv", - "nixpkgs" - ], - "nixpkgs-regression": "nixpkgs-regression_2" - }, - "locked": { - "lastModified": 1712911606, - "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", - "owner": "domenkozar", - "repo": "nix", - "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", - "type": "github" - }, - "original": { - "owner": "domenkozar", - "ref": "devenv-2.21", - "repo": "nix", - "type": "github" - } - }, "nixpkgs": { - "locked": { - "lastModified": 1711401922, - "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - } - }, - "nixpkgs-regression": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, - "nixpkgs-regression_2": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1692808169, - "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9201b5ff357e781bf014d0330d18555695df7ba8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1719848872, - "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1720768451, - "narHash": "sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { "locked": { "lastModified": 1719426051, "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", @@ -1013,13 +340,28 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs-lib": { "locked": { - "lastModified": 1660551188, - "narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1746378225, + "narHash": "sha256-OeRSuL8PUjIfL3Q0fTbNJD/fmv1R+K2JAOqWJd3Oceg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65", + "rev": "93e8cdce7afc64297cfec447c311470788131cd9", "type": "github" }, "original": { @@ -1028,29 +370,29 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_3": { "locked": { - "lastModified": 1737299813, - "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", + "lastModified": 1754292888, + "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_4": { "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -1063,15 +405,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_8", - "treefmt-nix": "treefmt-nix_2" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1737464637, - "narHash": "sha256-St/dzvMCXfPPZNJME5bi86n4mEuohG9pMKp+a9l5ZqI=", + "lastModified": 1754537826, + "narHash": "sha256-5aNGYEe4nf4IkFw2JN2v3jpcqLhRwCY0rlVhGtOYcV4=", "owner": "nix-community", "repo": "NUR", - "rev": "a44b412c5d24f7bb55d81370501a8f9e6e824ec6", + "rev": "0d75abff8343adaa20cd89b79e1f58d334101534", "type": "github" }, "original": { @@ -1080,140 +421,73 @@ "type": "github" } }, - "poetry2nix": { + "pyproject-build-systems": { "inputs": { - "flake-utils": [ - "authentik-nix", - "flake-utils" - ], - "nix-github-actions": "nix-github-actions", "nixpkgs": [ "authentik-nix", "nixpkgs" ], - "systems": [ + "pyproject-nix": [ "authentik-nix", - "systems" + "pyproject-nix" ], - "treefmt-nix": "treefmt-nix" + "uv2nix": [ + "authentik-nix", + "uv2nix" + ] }, "locked": { - "lastModified": 1735164664, - "narHash": "sha256-DaWy+vo3c4TQ93tfLjUgcpPaSoDw4qV4t76Y3Mhu84I=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "1fb01e90771f762655be7e0e805516cd7fa4d58e", + "lastModified": 1749519371, + "narHash": "sha256-UJONN7mA2stweZCoRcry2aa1XTTBL0AfUOY84Lmqhos=", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "rev": "7c06967eca687f3482624250428cc12f43c92523", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "poetry2nix", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", "type": "github" } }, - "poetry2nix_2": { + "pyproject-nix": { "inputs": { - "flake-utils": "flake-utils_3", - "nix-github-actions": "nix-github-actions_2", "nixpkgs": [ - "conduwuit", - "cachix", - "devenv", - "cachix", - "devenv", + "authentik-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1692876271, - "narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3", + "lastModified": 1750499893, + "narHash": "sha256-ThKBd8XSvITAh2JqU7enOp8AfKeQgf9u7zYC41cnBE4=", + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "rev": "e824458bd917b44bf4c38795dea2650336b2f55d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_5", - "gitignore": "gitignore", - "nixpkgs": [ - "conduwuit", - "cachix", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "rocksdb": { - "flake": false, - "locked": { - "lastModified": 1720900786, - "narHash": "sha256-Vta9Um/RRuWwZ46BjXftV06iWLm/j/9MX39emXUvSAY=", - "owner": "girlbossceo", - "repo": "rocksdb", - "rev": "911f4243e69c2e320a7a209bf1f5f3ff5f825495", - "type": "github" - }, - "original": { - "owner": "girlbossceo", - "ref": "v9.4.0", - "repo": "rocksdb", + "owner": "pyproject-nix", + "repo": "pyproject.nix", "type": "github" } }, "root": { "inputs": { "authentik-nix": "authentik-nix", - "conduwuit": "conduwuit", - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_2", "hm-isolation": "hm-isolation", "home-manager": "home-manager", "homepage": "homepage", "impermanence": "impermanence", "mediawikiSkinCitizen": "mediawikiSkinCitizen", "nixGL": "nixGL", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_3", "nur": "nur", + "trivionomicon": "trivionomicon", "unstable": "unstable", "vpsadminos": "vpsadminos" } }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1720717809, - "narHash": "sha256-6I+fm+nTLF/iaj7ffiFGlSY7POmubwUaPA/Wq0Bm53M=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "ffbc5ad993d5cd2f3b8bcf9a511165470944ab91", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1689347949, @@ -1289,56 +563,35 @@ "type": "github" } }, - "treefmt-nix": { + "trivionomicon": { "inputs": { + "flake-utils": "flake-utils_5", "nixpkgs": [ - "authentik-nix", - "poetry2nix", "nixpkgs" ] }, "locked": { - "lastModified": 1730120726, - "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", - "type": "github" + "lastModified": 1754513973, + "narHash": "sha256-7+gk+pQiMILfjajg+S0ceAJkl5ldi7m5WTqlEnmS7hA=", + "ref": "master", + "rev": "c651b8c4706cfc750303db12ae19e58164a6bebb", + "revCount": 28, + "type": "git", + "url": "https://git.posixlycorrect.com/deepState/trivionomicon" }, "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" + "ref": "master", + "type": "git", + "url": "https://git.posixlycorrect.com/deepState/trivionomicon" } }, "unstable": { "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -1348,13 +601,38 @@ "type": "github" } }, + "uv2nix": { + "inputs": { + "nixpkgs": [ + "authentik-nix", + "nixpkgs" + ], + "pyproject-nix": [ + "authentik-nix", + "pyproject-nix" + ] + }, + "locked": { + "lastModified": 1750987094, + "narHash": "sha256-GujDElxLgYatnNvuL1U6qd18lcuG6anJMjpfYRScV08=", + "owner": "pyproject-nix", + "repo": "uv2nix", + "rev": "4b703d851b61e664a70238711a8ff0efa1aa2f52", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "uv2nix", + "type": "github" + } + }, "vpsadminos": { "locked": { - "lastModified": 1737136524, - "narHash": "sha256-wMy7IbQs87VUxJOqRSbfFIdxRRTUBQh8G1L/zwI36vY=", + "lastModified": 1754243274, + "narHash": "sha256-gVTM1eIYzHx/Z/2WVhhf3Eov3JuARF5fuIrWjvc73wo=", "owner": "vpsfreecz", "repo": "vpsadminos", - "rev": "0af10d77ca146293b2ed19d5dcfd98474f1fc285", + "rev": "483e04c5556e7a42a0dcd176caab7ad450244515", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1293ed2..ec8b67c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,10 +1,10 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -17,6 +17,11 @@ homepage.url = "git+https://git.posixlycorrect.com/fabian/homepage.git?ref=master"; + trivionomicon = { + url = "git+https://git.posixlycorrect.com/deepState/trivionomicon?ref=master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + authentik-nix = { url = "github:nix-community/authentik-nix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -40,9 +45,9 @@ flake-utils, vpsadminos, homepage, - conduwuit, mediawikiSkinCitizen, authentik-nix, + trivionomicon, }: let system = "x86_64-linux"; @@ -55,6 +60,7 @@ self.overlays.default nur.overlays.default nixGL.overlay + trivionomicon.overlays.default ]; }; @@ -84,6 +90,10 @@ specialArgs = { inherit flakes; + doctrine = import "${trivionomicon}/doctrine" { + inherit pkgs; + namespace = "sys"; + }; }; }; @@ -119,6 +129,10 @@ extraSpecialArgs = { inherit flakes; + doctrine = import "${trivionomicon}/doctrine" { + inherit pkgs; + namespace = "hm"; + }; }; }; diff --git a/home/default.nix b/home/default.nix index 5c7405a..3db7471 100644 --- a/home/default.nix +++ b/home/default.nix @@ -8,5 +8,6 @@ with lib; { imports = [ ./modules + flakes.trivionomicon.homeManagerModules.default ]; } diff --git a/home/modules/deepState.nix b/home/modules/deepState.nix index 56b81d4..95b2084 100644 --- a/home/modules/deepState.nix +++ b/home/modules/deepState.nix @@ -8,11 +8,10 @@ with lib; let cfg = config.local.services.deepState; in { options.local.services.deepState.enable = mkEnableOption "trivionomicon settings"; - config = - mkIf cfg.enable { - home.sessionVariables = { - FSOCIETY_TELEGRAM_BACKUP_N = "0"; - FSOCIETY_TELEGRAM_BACKUP_LOCATION = "/extern/var/fsociety_backup"; - }; + config = mkIf cfg.enable { + home.sessionVariables = { + FSOCIETY_TELEGRAM_BACKUP_N = "0"; + FSOCIETY_TELEGRAM_BACKUP_LOCATION = "/extern/var/fsociety_backup"; }; + }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index 6d3996e..f7838c2 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -18,5 +18,6 @@ ./accounts.nix ./syncthing.nix ./deepState.nix + ./mapping.nix ]; } diff --git a/home/modules/defaultDesktopPack.nix b/home/modules/defaultDesktopPack.nix index a43fca7..de1a79e 100644 --- a/home/modules/defaultDesktopPack.nix +++ b/home/modules/defaultDesktopPack.nix @@ -15,7 +15,7 @@ in { calibre chromium discord - gwenview + kdePackages.gwenview libreoffice-fresh mpv obs-studio diff --git a/home/modules/firefox.nix b/home/modules/firefox.nix index b2c7f10..93feb80 100644 --- a/home/modules/firefox.nix +++ b/home/modules/firefox.nix @@ -10,14 +10,6 @@ in { options.local.apps.firefox = { enable = mkEnableOption "firefox settings"; - workspace = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - i3 Workspace in which Firefox should open. If not set, Firefox will not open at startup - ''; - }; - makeDefaultBrowser = mkOption { type = types.bool; default = true; @@ -30,10 +22,6 @@ in { config = mkIf cfg.enable (mkMerge [ { programs.firefox.enable = true; - - xsession.windowManager.i3.config.startup = optional (cfg.workspace != null) { - command = "${lib.getExe pkgs.i3-gaps} 'workspace ${cfg.workspace}; exec ${lib.getExe pkgs.firefox}'"; - }; } (mkIf cfg.makeDefaultBrowser { diff --git a/home/modules/gpg.nix b/home/modules/gpg.nix index 9e317cc..9da6e11 100644 --- a/home/modules/gpg.nix +++ b/home/modules/gpg.nix @@ -38,7 +38,7 @@ in { maxCacheTtl = 3600 * 6; maxCacheTtlSsh = 3600 * 6; - pinentryPackage = pkgs.pinentry-emacs; + pinentry.package = pkgs.pinentry-emacs; }; accounts.email.accounts = { diff --git a/home/modules/gui/autorandr.nix b/home/modules/gui/autorandr.nix deleted file mode 100644 index ed35e99..0000000 --- a/home/modules/gui/autorandr.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.local.gui; -in { - programs.autorandr = { - profiles."default" = { - fingerprint = - mapAttrs - (monitorId: monitor: monitor.fingerprint) - cfg.monitors; - - config = - mapAttrs ( - monitorId: - filterAttrs - (k: v: - !elem k [ - #list of options to exclude from this list - "fingerprint" - "initialI3Workspace" - "monitorId" - ]) - ) - cfg.monitors; - }; - }; -} diff --git a/home/modules/gui/default.nix b/home/modules/gui/default.nix index 3869944..8e19063 100644 --- a/home/modules/gui/default.nix +++ b/home/modules/gui/default.nix @@ -9,120 +9,66 @@ with lib; let monitorType = {setName}: ( types.submodule ({name ? null, ...}: { options = { - monitorId = mkOption { + width = mkOption { type = types.str; - example = "DP-1"; - readOnly = true; - internal = true; + default = "1920"; + example = "1920"; }; - primary = mkOption { - type = types.bool; - default = false; - description = "is primary monitor"; - example = "true"; - }; - position = mkOption { + height = mkOption { type = types.str; - example = "0x0"; - }; - mode = mkOption { - type = types.str; - description = "resolution"; - default = "1920x1080"; - example = "1920x1080"; + default = "1080"; + example = "1080"; }; rate = mkOption { type = types.str; description = "refresh rate"; example = "143.85"; }; - rotate = mkOption { + posX = mkOption { type = types.str; - default = "normal"; - example = "left"; + description = "x axis position"; + default = "0"; + example = "0"; }; - fingerprint = mkOption { + posY = mkOption { type = types.str; - example = "00ffffffffffff003669a03bd4040000231e0104a5341d783bd005ac5048a627125054bfcf00814081809500714f81c0b30001010101023a801871382d40582c450009252100001e0882805070384d400820f80c09252100001a000000fd003090b4b422010a202020202020000000fc004d53492047323443340a20202001a2020320f14d010304131f120211900e0f1d1e230907078301000065030c001000866f80a0703840403020350009252100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9"; + description = "y axis position"; + default = "0"; + example = "0"; }; - initialI3Workspace = mkOption { - type = types.nullOr types.int; - default = null; - example = 1; - }; - }; - config = optionalAttrs setName { - # make this better later - monitorId = name; }; }) ); in { options.local.gui = { enable = mkEnableOption "GUI settings"; - primaryMonitor = mkOption { - type = monitorType {setName = false;}; - readOnly = true; - internal = true; - }; monitors = mkOption { type = types.attrsOf (monitorType {setName = true;}); }; - displayBatteryLevel = mkOption { - type = types.bool; - default = false; - description = "show battery level on polybar"; - example = "true"; - }; }; imports = [ - ./autorandr.nix ./fonts.nix - ./i3.nix - ./polybar.nix - ./startx.nix - ./picom.nix ./theme.nix + ./sway.nix + ./waybar.nix + ./wofi.nix ]; - config = let - primaryMonitors = - filter (monitor: monitor.primary) - (attrValues cfg.monitors); - in - mkIf cfg.enable { - assertions = [ - { - assertion = length primaryMonitors == 1; - message = "Exactly one (1) primary monitor is requiered."; - } - ]; + config = mkIf cfg.enable { + services = { + mako.enable = true; + }; - local.gui.primaryMonitor = head primaryMonitors; - - xsession = { + xdg = { + enable = true; + mimeApps = { enable = true; - windowManager.i3.enable = true; - }; - - programs.autorandr.enable = true; - services = { - dunst.enable = true; - betterlockscreen.enable = true; - polybar.enable = true; - picom.enable = true; - }; - - xdg = { - enable = true; - mimeApps = { - enable = true; - defaultApplications = { - "application/pdf" = with pkgs; ["qpdfview"]; - "x-scheme-handler/file" = with pkgs; ["kitty"]; - }; + defaultApplications = { + "application/pdf" = with pkgs; ["qpdfview"]; + "x-scheme-handler/file" = with pkgs; ["kitty"]; }; }; }; + }; } diff --git a/home/modules/gui/fonts.nix b/home/modules/gui/fonts.nix index 375145a..1830208 100644 --- a/home/modules/gui/fonts.nix +++ b/home/modules/gui/fonts.nix @@ -4,9 +4,38 @@ pkgs, ... }: { - fonts.fontconfig.enable = true; + fonts.fontconfig = { + enable = true; + defaultFonts = { + monospace = [ + "JetBrains Mono" + "Noto Sans Mono CJK SC" + "Noto Sans Mono" + "Noto Color Emoji" + ]; + sansSerif = [ + "Noto Sans" + "Noto Sans CJK SC" + "Noto Color Emoji" + ]; + serif = [ + "Noto Serif" + "Noto Serif CJK SC" + "Noto Color Emoji" + ]; + emoji = ["Noto Color Emoji"]; + }; + }; + # this is probably not necessary since they are already installed in sys + # with fonts.packages buy im too lazy to check home.packages = with pkgs; [ jetbrains-mono + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + noto-fonts-extra + nerd-fonts.fira-code + nerd-fonts.droid-sans-mono ]; } diff --git a/home/modules/gui/i3.nix b/home/modules/gui/i3.nix deleted file mode 100644 index 29c9507..0000000 --- a/home/modules/gui/i3.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; { - xsession.windowManager.i3 = { - package = pkgs.i3-gaps; - - config = let - mod = "Mod4"; - in { - modifier = mod; - - fonts = { - names = ["JetBrains Mono"]; - style = "Regular"; - size = 8.0; - }; - - gaps = { - inner = 10; - outer = -10; - }; - - window = { - hideEdgeBorders = "both"; - titlebar = false; - }; - - workspaceLayout = "tabbed"; - - colors = { - focused = { - background = "#222222"; - border = "#4c7899"; - childBorder = "#222222"; - indicator = "#292d2e"; - text = "#888888"; - }; - }; - - # mkOptionDefault hace que se ponga la config por default - # y se sobreescriba las cosas que pongo acá - # NO QUITARLO. ver man home-configuration.nix - keybindings = mkOptionDefault { - "${mod}+Return" = "exec ${lib.getExe pkgs.kitty} ${lib.getExe pkgs.tmux}"; - "${mod}+Tab" = "focus right"; - "${mod}+Shift+Tab" = "focus left"; - "${mod}+Shift+s" = "exec ${lib.getExe pkgs.maim} -s -u | ${lib.getExe pkgs.xclip} -selection clipboard -t image/png -i"; - "${mod}+Shift+w" = "move workspace to output right"; - "${mod}+l" = "exec ${lib.getExe pkgs.betterlockscreen} -l"; - }; - - startup = [ - { - command = "${lib.getExe pkgs.xss-lock} --transfer-sleep-lock -- ${lib.getExe pkgs.i3lock} --nofork"; - notification = false; - } - { - command = "${lib.getExe pkgs.networkmanagerapplet}"; - notification = false; - } - #todo: sería nice hostear esta imagen en el server y fetchearla si no existe - { - command = "${lib.getExe pkgs.feh} --bg-fill ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png"; - notification = false; - always = true; - } - { - #todo: move this to telegram module - command = "${lib.getExe pkgs.i3-gaps} 'workspace 2; exec ${lib.getExe pkgs.tdesktop}'"; - } - { - command = "${lib.getExe pkgs.i3-gaps} 'workspace 2; exec ${lib.getExe pkgs.gajim}'"; - } - { - command = "${pkgs.systemd}/bin/systemctl --user restart polybar.service"; - notification = false; - always = true; - } - { - command = "${lib.getExe pkgs.autorandr} -c"; - notification = false; - always = true; - } - ]; - - workspaceOutputAssign = - mapAttrsToList ( - monitorId: v: - { - output = monitorId; - } - // optionalAttrs (v.initialI3Workspace != null) { - workspace = toString v.initialI3Workspace; - } - ) - config.local.gui.monitors; - bars = []; - }; - }; -} diff --git a/home/modules/gui/picom.nix b/home/modules/gui/picom.nix deleted file mode 100644 index 8807f67..0000000 --- a/home/modules/gui/picom.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - services.picom = { - fade = true; - fadeSteps = [0.1 0.1]; - fadeDelta = 10; - settings = { - animations = [ - { - triggers = [ - "open" - "show" - ]; - - preset = "appear"; - duration = "1"; - } - { - triggers = [ - "close" - "hide" - ]; - - preset = "disappear"; - duration = "1"; - } - { - triggers = [ - "geometry" - ]; - preset = "geometry-change"; - duration = "1"; - } - ]; - }; - }; -} diff --git a/home/modules/gui/polybar.nix b/home/modules/gui/polybar.nix deleted file mode 100644 index 8012b3b..0000000 --- a/home/modules/gui/polybar.nix +++ /dev/null @@ -1,460 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; { - services.polybar = { - package = pkgs.polybarFull; - script = '' - # Terminate already running bar instances - killall -q polybar - - # Wait until the processes have been shut down - while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done - - # Launch Polybar, using default config location ~/.config/polybar/config - polybar -r main & polybar -r secondary & - ''; - - settings = { - "colors" = { - # background = "\${xrdb:color0:#222}"; - background = "#AA000000"; - background-alt = "#00000000"; - # foreground = "\${xrdb:color7:#222}"; - foreground = "#ffffff"; - foreground-alt = "#ffffff"; - primary = "#ffffff"; - secondary = "#e60053"; - alert = "#bd2c40"; - }; - - "bar/main" = { - monitor = config.local.gui.primaryMonitor.monitorId; - width = "100%"; - height = 30; - offset-x = "0%"; - offset-y = "0%"; - radius = 0.0; - fixed-center = false; - - background = "\${colors.background}"; - foreground = "\${colors.foreground}"; - - line-size = 1; - line-color = "#f0000000"; - - border-size = 0; - border-color = "#00000000"; - - padding-left = 0; - padding-right = 0; - - module-margin-left = 1; - module-margin-right = 1; - - # font-0 = "fixed:pixelsize=10;1"; - font-0 = "JetBrains Mono Light:size=10;0"; - font-1 = "unifont:fontformat=truetype:size=8:antialias=false;0"; - font-2 = "siji:pixelsize=10;1"; - # font-2 = "FontAwesome5Free:style=Regular:size=10;4"; - - modules-left = "i3"; - modules-center = "xwindow"; - modules-right = "xkeyboard pulseaudio filesystem memory cpu temperature gputemperature nvmetemperature wlan eth date semanatec"; - separator = "|"; - - tray-position = "right"; - tray-padding = 2; - - # To allow other windows to be placed above the bar, or to avoid having the bar visible when in fullscreen mode, - # you need to use the following two parameters. Note that it will tell the window manager to back off so no - # area will be reserved, etc. - # - # wm-restack = "i3"; - # override-redirect = true; - - cursor-click = "pointer"; - cursor-scroll = "ns-resize"; - }; - - "bar/secondary" = { - monitor = head (attrNames (filterAttrs (monitorId: v: - !v.primary) - config.local.gui.monitors)); # this is bad. will fail if more than 2 monitors. this sets all monitors other than the primary one for this bar. - "inherit" = "bar/main"; - - modules-left = "i3"; - modules-center = "xwindow"; - modules-right = "xkeyboard pulseaudio date"; - tray-position = "none"; - }; - - "module/xwindow" = { - type = "internal/xwindow"; - label = "%title:0:30:...%"; - }; - - "module/xkeyboard" = { - type = "internal/xkeyboard"; - blacklist-0 = "num lock"; - - format-prefix = ""; - format-prefix-foreground = "\${colors.foreground-alt}"; - - label-layout = "%layout%"; - - label-indicator-padding = 2; - label-indicator-margin = 1; - label-indicator-background = "\${colors.secondary}"; - }; - - "module/filesystem" = { - type = "internal/fs"; - interval = 10; - - mount-0 = "/"; - - label-mounted = "%{F#0a81f5}%mountpoint%%{F-}: %used%/%total%"; - label-unmounted = ""; - }; - - "module/i3" = { - type = "internal/i3"; - format = " "; - index-sort = true; - wrapping-scroll = false; - - # Only show workspaces on the same output as the bar - # pin-workspaces = true - - label-mode-padding = 1; - label-mode-foreground = "#000"; - label-mode-background = "\${colors.primary}"; - - # focused = Active workspace on focused monitor - label-focused = "%index%"; - label-focused-background = "\${colors.background}"; - label-focused-underline = "\${colors.primary}"; - label-focused-padding = 1; - - # unfocused = Inactive workspace on any monitor - label-unfocused = "%index%"; - label-unfocused-padding = 1; - - # visible = Active workspace on unfocused monitor - label-visible = "%index%"; - label-visible-background = "\${self.label-focused-background}"; - label-visible-underline = "\${self.label-focused-underline}"; - label-visible-padding = "\${self.label-focused-padding}"; - - # urgent = Workspace with urgency hint set - label-urgent = "%index%"; - label-urgent-background = "\${colors.alert}"; - label-urgent-padding = 1; - }; - - "module/xbacklight" = { - type = "internal/xbacklight"; - - format = "