From bbfc3acc325cfb4c06a59963a80c1d39265fc587 Mon Sep 17 00:00:00 2001 From: atagen Date: Sat, 2 Dec 2023 12:00:59 +1100 Subject: [PATCH] idk i dont even remember --- flake.lock | 254 +++++++----------------------- flakes/qtile/flake.lock | 188 +++------------------- flakes/qtile/flake.nix | 10 +- flakes/qtile/pywlroots/flake.lock | 111 ++----------- flakes/qtile/pywlroots/flake.nix | 8 - flakes/qtile/scenefx.patch | 67 -------- flakes/qtile/scenefx/flake.lock | 80 ---------- flakes/qtile/scenefx/flake.nix | 75 --------- home/dots/qtile/config.py | 94 ++++++++--- home/home.nix | 17 +- system/configuration.nix | 18 ++- util/python311-keyutils-0.6.nix | 45 ++++++ util/temp-iproute-patch.nix | 27 ++++ 13 files changed, 262 insertions(+), 732 deletions(-) delete mode 100644 flakes/qtile/scenefx.patch delete mode 100644 flakes/qtile/scenefx/flake.lock delete mode 100644 flakes/qtile/scenefx/flake.nix create mode 100644 util/python311-keyutils-0.6.nix create mode 100644 util/temp-iproute-patch.nix diff --git a/flake.lock b/flake.lock index 6e46a43..95229bf 100644 --- a/flake.lock +++ b/flake.lock @@ -49,11 +49,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -117,11 +117,11 @@ "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -135,46 +135,11 @@ "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" - }, - "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_6" - }, - "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -224,11 +189,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -287,11 +252,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1697539588, - "narHash": "sha256-veWkq42czNVzppmXMhd97BFbCbWGrkVSfMP3sVkLbcM=", + "lastModified": 1701407251, + "narHash": "sha256-HO4T2BqUpWR7GiiJHgMqI3vv0IBYABi+l85chaQ4SP8=", "owner": "helix-editor", "repo": "helix", - "rev": "fc16449efe58a49c15e19c9fde6584d8625493fd", + "rev": "86023cf1e6c9ab12446061e40c838335c5790979", "type": "github" }, "original": { @@ -307,11 +272,11 @@ ] }, "locked": { - "lastModified": 1697555443, - "narHash": "sha256-nsq8A+adEdN7bvVdz09LFyrHkTW5GtOzo/ctlHhyaaE=", + "lastModified": 1701433070, + "narHash": "sha256-Gf9JStfENaUQ7YWFz3V7x/srIwr4nlnVteqaAxtwpgM=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3acf1dc78b38a2fe03b287fead44d7ad25ac7c5", + "rev": "4a8545f5e737a6338814a4676dc8e18c7f43fc57", "type": "github" }, "original": { @@ -343,11 +308,11 @@ ] }, "locked": { - "lastModified": 1697340827, - "narHash": "sha256-XlrR68N7jyaZ0bs8TPrhqcWG0IPG3pbjrKzJMpYOsos=", + "lastModified": 1700968077, + "narHash": "sha256-Lax+2g7G3Fe+ckMrHLYTl+97unbmNDmN1qS9MLBkxr4=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "29977d0796c058bbcfb2df5b18eb5badf1711007", + "rev": "bd3aec0ecb0fdde863a7ed2c6caa220c47e22c07", "type": "github" }, "original": { @@ -362,17 +327,14 @@ "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" - ], - "rust-overlay": [ - "rust-overlay" ] }, "locked": { - "lastModified": 1692825040, - "narHash": "sha256-01V6wiLzXe2acXPriiHnn/MMQpwYXcneC0tIqbdcny8=", + "lastModified": 1699781621, + "narHash": "sha256-l8OMloSbDyjIb9yVeD10M7aK7qDCVMt3huBztihrbwM=", "owner": "nix-community", "repo": "nix-ld-rs", - "rev": "35987e7f70ca6845489e8abc6e7897775c01a5c4", + "rev": "5806f307048a9ae9e3e88cc48006d4d0b2df4410", "type": "github" }, "original": { @@ -424,11 +386,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697038389, - "narHash": "sha256-hbzFPXyQQxJObRdb+CsylUXii29UfFV7866WWgWYs6Y=", + "lastModified": 1699966122, + "narHash": "sha256-zEN3ET7jfXpIKYeYh/z4xekOBOoaFS+n0q3oL3sVh+0=", "owner": "nix-community", "repo": "nixd", - "rev": "29904e121cc775e7caaf4fffa6bc7da09376a43b", + "rev": "b3bb9ea7cd3c2f07c89779a474d6468b2c11e303", "type": "github" }, "original": { @@ -489,11 +451,11 @@ "nixpkgs-lib_3": { "locked": { "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -507,47 +469,11 @@ "nixpkgs-lib_4": { "locked": { "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_5": { - "locked": { - "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_6": { - "locked": { - "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -576,11 +502,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1697226376, - "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { @@ -608,27 +534,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697456312, - "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1695830400, - "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -640,11 +550,11 @@ }, "nur": { "locked": { - "lastModified": 1697572048, - "narHash": "sha256-jS93XeYHl0HtnQ09tulbdeygjFHYYXHDozQ7AZP8aaU=", + "lastModified": 1701470031, + "narHash": "sha256-FTiAgPcK72g3S08CuE5CiFVwrkQ00uQhCpxVGUTVX8k=", "owner": "nix-community", "repo": "NUR", - "rev": "641022140ba8b6339d9f39bc13dd81aa4ac0f0e7", + "rev": "9593bb9bb0b60b8e9023587386bd32743072ac68", "type": "github" }, "original": { @@ -685,12 +595,11 @@ "qtile", "nixpkgs" ], - "pywlroots-src": "pywlroots-src", - "scenefx": "scenefx" + "pywlroots-src": "pywlroots-src" }, "locked": { "lastModified": 1, - "narHash": "sha256-TohP8yXFcSpQzFL7evx7D1wVqvCEgmF5qtnSdaCqCso=", + "narHash": "sha256-8QIPcBStp/1aPT93B2ot9tNBx6IxgrhrUYpwxLv+2w8=", "path": "pywlroots", "type": "path" }, @@ -702,11 +611,11 @@ "pywlroots-src": { "flake": false, "locked": { - "lastModified": 1694810594, - "narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=", + "lastModified": 1696720020, + "narHash": "sha256-iQRGQmyVTIpMeDMhDj4uWC+MGlql6LIRO9mI2qHRakI=", "owner": "flacjacket", "repo": "pywlroots", - "rev": "fca5c8142930ed4a6c23a906e77813207d993480", + "rev": "1b39a33c23e0d0dc0d4fbd60d6e7bd1ca1e17b2d", "type": "github" }, "original": { @@ -722,12 +631,11 @@ "nixpkgs" ], "pywlroots": "pywlroots", - "qtile-src": "qtile-src", - "smartfloat": "smartfloat" + "qtile-src": "qtile-src" }, "locked": { "lastModified": 1, - "narHash": "sha256-JK4fwHyPBVulc+go0yJdPJ8zJzY/6NxV96/l/09eRT8=", + "narHash": "sha256-LmTjzgFeOoaZS9Z1McM5B1MpJqk4TLNCtrC7m2xb4tg=", "path": "flakes/qtile", "type": "path" }, @@ -739,11 +647,11 @@ "qtile-src": { "flake": false, "locked": { - "lastModified": 1697524288, - "narHash": "sha256-5KUPyCAyev++MWudkrEDMWTgVQTue5IdH9HMnATWuxI=", + "lastModified": 1701169515, + "narHash": "sha256-Rbc38gdgU9QliDJ5RBOYmYkcrtzQR5YoisJnCcQC3C8=", "owner": "qtile", "repo": "qtile", - "rev": "5a1af7fd65b5fb0d4afb97bb82007cf082044d73", + "rev": "9ccaf6f1c01a9ffbd7beacdd8f405884bd81e1c0", "type": "github" }, "original": { @@ -804,11 +712,11 @@ ] }, "locked": { - "lastModified": 1697508761, - "narHash": "sha256-QKWiXUlnke+EiJw3pek1l7xyJ4YsxYXZeQJt/YLgjvA=", + "lastModified": 1701397143, + "narHash": "sha256-nYUJxZXwCWWVBYZXPgRxGDuQcZRhKTtD/Jp5Jl+9EWU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "6f74c92caaf2541641b50ec623676430101d1fd4", + "rev": "bb71557c93cad40f5921b2342d7fd69f9e6497ab", "type": "github" }, "original": { @@ -817,58 +725,6 @@ "type": "github" } }, - "scenefx": { - "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_4", - "scenefx-src": "scenefx-src" - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=", - "path": "../scenefx", - "type": "path" - }, - "original": { - "path": "../scenefx", - "type": "path" - } - }, - "scenefx-src": { - "flake": false, - "locked": { - "lastModified": 1691347738, - "narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "b929a2bbadf467864796ad4ec90882ce86cfebff", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" - } - }, - "smartfloat": { - "inputs": { - "flake-parts": "flake-parts_5", - "nixpkgs": [ - "qtile", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-hKPB0q1CYMXpH2kvCs8oCmNcRRoOj1JJDECGGY2A1AU=", - "path": "smartfloat", - "type": "path" - }, - "original": { - "path": "smartfloat", - "type": "path" - } - }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flakes/qtile/flake.lock b/flakes/qtile/flake.lock index f0f9b0b..3d73a24 100644 --- a/flakes/qtile/flake.lock +++ b/flakes/qtile/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -23,46 +23,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_4" - }, - "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -73,11 +38,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697456312, - "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -90,11 +55,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -108,11 +73,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -123,70 +88,17 @@ "type": "github" } }, - "nixpkgs-lib_3": { - "locked": { - "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_4": { - "locked": { - "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1695830400, - "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pywlroots": { "inputs": { "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], - "pywlroots-src": "pywlroots-src", - "scenefx": "scenefx" + "pywlroots-src": "pywlroots-src" }, "locked": { "lastModified": 1, - "narHash": "sha256-TohP8yXFcSpQzFL7evx7D1wVqvCEgmF5qtnSdaCqCso=", + "narHash": "sha256-8QIPcBStp/1aPT93B2ot9tNBx6IxgrhrUYpwxLv+2w8=", "path": "pywlroots", "type": "path" }, @@ -198,11 +110,11 @@ "pywlroots-src": { "flake": false, "locked": { - "lastModified": 1694810594, - "narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=", + "lastModified": 1696720020, + "narHash": "sha256-iQRGQmyVTIpMeDMhDj4uWC+MGlql6LIRO9mI2qHRakI=", "owner": "flacjacket", "repo": "pywlroots", - "rev": "fca5c8142930ed4a6c23a906e77813207d993480", + "rev": "1b39a33c23e0d0dc0d4fbd60d6e7bd1ca1e17b2d", "type": "github" }, "original": { @@ -214,11 +126,11 @@ "qtile-src": { "flake": false, "locked": { - "lastModified": 1697524288, - "narHash": "sha256-5KUPyCAyev++MWudkrEDMWTgVQTue5IdH9HMnATWuxI=", + "lastModified": 1701169515, + "narHash": "sha256-Rbc38gdgU9QliDJ5RBOYmYkcrtzQR5YoisJnCcQC3C8=", "owner": "qtile", "repo": "qtile", - "rev": "5a1af7fd65b5fb0d4afb97bb82007cf082044d73", + "rev": "9ccaf6f1c01a9ffbd7beacdd8f405884bd81e1c0", "type": "github" }, "original": { @@ -232,59 +144,7 @@ "flake-parts": "flake-parts", "nixpkgs": "nixpkgs", "pywlroots": "pywlroots", - "qtile-src": "qtile-src", - "smartfloat": "smartfloat" - } - }, - "scenefx": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_2", - "scenefx-src": "scenefx-src" - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=", - "path": "../scenefx", - "type": "path" - }, - "original": { - "path": "../scenefx", - "type": "path" - } - }, - "scenefx-src": { - "flake": false, - "locked": { - "lastModified": 1691347738, - "narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "b929a2bbadf467864796ad4ec90882ce86cfebff", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" - } - }, - "smartfloat": { - "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-hKPB0q1CYMXpH2kvCs8oCmNcRRoOj1JJDECGGY2A1AU=", - "path": "smartfloat", - "type": "path" - }, - "original": { - "path": "smartfloat", - "type": "path" + "qtile-src": "qtile-src" } } }, diff --git a/flakes/qtile/flake.nix b/flakes/qtile/flake.nix index c86e693..983c67b 100644 --- a/flakes/qtile/flake.nix +++ b/flakes/qtile/flake.nix @@ -14,10 +14,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - smartfloat = { - url = "path:smartfloat"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # smartfloat = { + # url = "path:smartfloat"; + # inputs.nixpkgs.follows = "nixpkgs"; + # }; # scenefx = { # url = "path:scenefx"; @@ -60,8 +60,6 @@ substituteInPlace libqtile/backend/wayland/cffi/build.py \ --replace /usr/include/pixman-1 ${lib.getDev pkgs.pixman}/include \ --replace /usr/include/libdrm ${lib.getDev pkgs.libdrm}/include/libdrm - cp ${inputs'.smartfloat.packages.default} libqtile/layout/smartfloat.py - echo from libqtile.layout.smartfloat import SmartFloat >> libqtile/layout/__init__.py ''; nativeBuildInputs = [ pkg-config diff --git a/flakes/qtile/pywlroots/flake.lock b/flakes/qtile/pywlroots/flake.lock index 81b0700..7ff1636 100644 --- a/flakes/qtile/pywlroots/flake.lock +++ b/flakes/qtile/pywlroots/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -18,30 +18,13 @@ "type": "github" } }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, "nixpkgs": { "locked": { - "lastModified": 1695830400, - "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -54,11 +37,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -69,48 +52,14 @@ "type": "github" } }, - "nixpkgs-lib_2": { - "locked": { - "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1695830400, - "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pywlroots-src": { "flake": false, "locked": { - "lastModified": 1694810594, - "narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=", + "lastModified": 1696720020, + "narHash": "sha256-iQRGQmyVTIpMeDMhDj4uWC+MGlql6LIRO9mI2qHRakI=", "owner": "flacjacket", "repo": "pywlroots", - "rev": "fca5c8142930ed4a6c23a906e77813207d993480", + "rev": "1b39a33c23e0d0dc0d4fbd60d6e7bd1ca1e17b2d", "type": "github" }, "original": { @@ -123,41 +72,7 @@ "inputs": { "flake-parts": "flake-parts", "nixpkgs": "nixpkgs", - "pywlroots-src": "pywlroots-src", - "scenefx": "scenefx" - } - }, - "scenefx": { - "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_2", - "scenefx-src": "scenefx-src" - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=", - "path": "../scenefx", - "type": "path" - }, - "original": { - "path": "../scenefx", - "type": "path" - } - }, - "scenefx-src": { - "flake": false, - "locked": { - "lastModified": 1691347738, - "narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "b929a2bbadf467864796ad4ec90882ce86cfebff", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" + "pywlroots-src": "pywlroots-src" } } }, diff --git a/flakes/qtile/pywlroots/flake.nix b/flakes/qtile/pywlroots/flake.nix index 1c22d5e..d6acd7a 100644 --- a/flakes/qtile/pywlroots/flake.nix +++ b/flakes/qtile/pywlroots/flake.nix @@ -4,8 +4,6 @@ flake-parts.url = "github:hercules-ci/flake-parts"; - scenefx.url = "path:../scenefx"; - pywlroots-src = { url = "github:flacjacket/pywlroots"; flake = false; @@ -46,7 +44,6 @@ xorg.xcbutilwm udev wayland - inputs'.scenefx.packages.default ((wlroots_0_16.override { xwayland = xwayland; enableXWayland = true; @@ -68,11 +65,6 @@ postBuild = '' ${python3.pythonForBuild.interpreter} wlroots/ffi_build.py ''; - # patches = [./scenefx.patch]; - # postPatch = '' - # substituteInPlace wlroots/ffi_build.py \ - # --replace 'libraries=["wlroots"],' 'libraries=["wlroots","scenefx"],' - # ''; pythonImportsCheck = ["wlroots"]; passthru.test = {inherit qtile;}; diff --git a/flakes/qtile/scenefx.patch b/flakes/qtile/scenefx.patch deleted file mode 100644 index f03abd5..0000000 --- a/flakes/qtile/scenefx.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/libqtile/backend/wayland/window.py b/libqtile/backend/wayland/window.py -index 8f2c12a..563cc83 100644 ---- a/libqtile/backend/wayland/window.py -+++ b/libqtile/backend/wayland/window.py -@@ -114,6 +114,7 @@ class Window(typing.Generic[S], _Base, base.Window, HasListeners): - self.x = 0 - self.y = 0 - self._opacity: float = 1.0 -+ self._rounding: int = 0 - self._wm_class: str | None = None - self._idle_inhibitors_count: int = 0 - self._urgent = False -@@ -389,16 +390,43 @@ class Window(typing.Generic[S], _Base, base.Window, HasListeners): - - @opacity.setter - def opacity(self, opacity: float) -> None: -- if opacity < 1.0: -+ if self.container.node: -+ buf = SceneBuffer.from_node(self.container.node) -+ if buf: -+ buf.set_opacity(opacity) -+ else: -+ logger.warning( -+ f"Failed to turn node {self.container.node} into a buffer!" -+ ) -+ else: - logger.warning( -- "Sorry, transparency is not yet supported by the wlroots API used by " -- "Qtile. Transparency can only be achieved if the client sets it." -+ "Sorry, opacity is not implemented for this window type." - ) - # wlroots' scene graph doesn't support setting the opacity of trees/nodes by - # the compositor. See: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3393 - # If/when that becomes supported, this warning can be removed. - self._opacity = opacity - -+ @property -+ def rounding(self) -> int: -+ return self._rounding -+ -+ @rounding.setter -+ def rounding(self, radii: int) -> None: -+ if self.container.node: -+ buf = SceneBuffer.from_node(self.container.node) -+ if buf: -+ buf.set_corner_radius(radii) -+ else: -+ logger.warning( -+ f"Failed to turn node {self.container.node} into a buffer!" -+ ) -+ else: -+ logger.warning( -+ "Sorry, rounding is not implemented for this window type." -+ ) -+ -+ - @property - def floating(self) -> bool: - return self._float_state != FloatStates.NOT_FLOATING -@@ -921,6 +949,7 @@ class Internal(_Base, base.Internal): - self._width: int = width - self._height: int = height - self._opacity: float = 1.0 -+ self._rounding: int = 0 - - # Store this object on the scene node for finding the window under the pointer. - self.wlr_buffer, self.surface = self._new_buffer(init=True) diff --git a/flakes/qtile/scenefx/flake.lock b/flakes/qtile/scenefx/flake.lock deleted file mode 100644 index 6a48e18..0000000 --- a/flakes/qtile/scenefx/flake.lock +++ /dev/null @@ -1,80 +0,0 @@ -{ - "nodes": { - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1695830400, - "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs", - "scenefx-src": "scenefx-src" - } - }, - "scenefx-src": { - "flake": false, - "locked": { - "lastModified": 1691347738, - "narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "b929a2bbadf467864796ad4ec90882ce86cfebff", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flakes/qtile/scenefx/flake.nix b/flakes/qtile/scenefx/flake.nix deleted file mode 100644 index 44b3ae5..0000000 --- a/flakes/qtile/scenefx/flake.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ - description = "scenefx"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - scenefx-src = { - url = "github:wlrfx/scenefx"; - flake = false; - }; - }; - - outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} { - imports = [ - # To import a flake module - # 1. Add foo to inputs - # 2. Add foo as a parameter to the outputs function - # 3. Add here: foo.flakeModule - ]; - systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"]; - perSystem = { - config, - self', - inputs', - pkgs, - system, - ... - }: { - # Per-system attributes can be defined here. The self' and inputs' - # module parameters provide easy access to attributes of the same - # system. - - # Equivalent to inputs'.nixpkgs.legacyPackages.hello; - packages.default = with pkgs; - stdenv.mkDerivation rec { - pname = "scenefx"; - version = "unstable-${inputs.scenefx-src.lastModifiedDate}"; - src = inputs.scenefx-src; - nativeBuildInputs = [ - meson - ninja - cmake - pkg-config - ]; - buildInputs = [ - ((wlroots_0_16.override { - xwayland = xwayland; - enableXWayland = true; - }) - .overrideAttrs (wf: wp: { - postPatch = - wp.postPatch - + '' - substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();" - ''; - })) - wayland - libdrm - libxkbcommon - udev - pixman - wayland-protocols - libGL - mesa - ]; - }; - }; - flake = { - # The usual flake attributes can be defined here, including system- - # agnostic ones like nixosModule and system-enumerating ones, although - # those are more easily expressed in perSystem. - }; - }; -} diff --git a/home/dots/qtile/config.py b/home/dots/qtile/config.py index ce3b412..ad8699c 100755 --- a/home/dots/qtile/config.py +++ b/home/dots/qtile/config.py @@ -39,7 +39,7 @@ class Apps: fm = "thunar" logout = "wlogout" noti = "swaync-client -t" - ss = "slurp | grim -g - -t png /home/bolt/screenshots/$(date +%F_%H-%m-%S).png" + ss = "slurp | grim -g - -t png /home/$(whoami)/screenshots/$(date +%F_%H-%m-%S).png" screenrec = "kooha" passmgr = "keepassxc" music = "strawberry" @@ -56,6 +56,7 @@ class OSD: brightup = "swayosd --brightness raise" brightdown = "swayosd --brightness lower" + keys = [ Key([mod], "return", lazy.spawn(Apps.term)), Key([mod], "d", lazy.spawn(Apps.launcher)), @@ -103,7 +104,6 @@ keys = [ Key([mod], "Tab", lazy.next_layout()), ] - groups = [Group(i) for i in "123456"] @@ -127,17 +127,45 @@ for i in groups: ] ) -groups.append(ScratchPad("scratch", [ - DropDown("term", Apps.term, width=2.0/3.0, height=2.0/3.0, x=0.5/3.0, y=0.5/3.0), - DropDown("pass", Apps.passmgr, width=1.0/2.0, height=2.0/3.0, x=0.5/2.0, y=0.5/3.0), - DropDown("music", Apps.music, width=2.0/3.0, height=2.0/3.0, x=0.5/3.0, y=0.5/3.0), -])) +groups.append( + ScratchPad( + "scratch", + [ + DropDown( + "term", + Apps.term, + width=2.0 / 3.0, + height=2.0 / 3.0, + x=0.5 / 3.0, + y=0.5 / 3.0, + ), + DropDown( + "pass", + Apps.passmgr, + width=1.0 / 2.0, + height=2.0 / 3.0, + x=0.5 / 2.0, + y=0.5 / 3.0, + ), + DropDown( + "music", + Apps.music, + width=2.0 / 3.0, + height=2.0 / 3.0, + x=0.5 / 3.0, + y=0.5 / 3.0, + ), + ], + ) +) -keys.extend([ - Key([mod], 'grave', lazy.group['scratch'].dropdown_toggle('term')), - Key([mod], 'minus', lazy.group['scratch'].dropdown_toggle('pass')), - Key([mod], 'equal', lazy.group['scratch'].dropdown_toggle('music')), -]) +keys.extend( + [ + Key([mod], "grave", lazy.group["scratch"].dropdown_toggle("term")), + Key([mod], "minus", lazy.group["scratch"].dropdown_toggle("pass")), + Key([mod], "equal", lazy.group["scratch"].dropdown_toggle("music")), + ] +) layout_theme = dict( margin=#GAPS, @@ -160,13 +188,20 @@ widget_defaults = dict( ) mouse = [ - Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()), - Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()), + Drag( + [mod], + "Button1", + lazy.window.set_position_floating(), + start=lazy.window.get_position(), + ), + Drag( + [mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size() + ), ] screens = [ Screen( - top = bar.Bar( + top=bar.Bar( [ widget.GroupBox(**widget_defaults), widget.WindowTabs(**widget_defaults), @@ -190,9 +225,12 @@ focus_on_window_activation = "smart" auto_fullscreen = True floats_kept_above = True -floating_layout = layout.Floating(float_rules=[ - *layout.Floating.default_float_rules, -], **layout_theme) +floating_layout = layout.Floating( + float_rules=[ + *layout.Floating.default_float_rules, + ], + **layout_theme, +) @hook.subscribe.startup @@ -200,7 +238,8 @@ def autostart(): home = os.path.expanduser("~/.config/qtile/autostart.sh") subprocess.Popen([home]) -# force float and fullscreen on various windows + +# window management hooks @hook.subscribe.client_new def float_firefox(client): @@ -208,27 +247,37 @@ def float_firefox(client): if wm_class and "firefox" in wm_class and client.name == "Library": client.enable_floating() + @hook.subscribe.client_new def fullscreen_wlogout(client): if client.name == "wlogout": client.enable_fullscreen() + @hook.subscribe.focus_change def always_front(): win = qtile.current_window if win is not None and win.floating: win.bring_to_front() - + + @hook.subscribe.float_change def centre_floated(): win = qtile.current_window - if win is not None and win.floating: + if ( + win is not None + and win.floating + and not win.maximized + and not win.wants_to_fullscreen + and not win.fullscreen + ): win.bring_to_front() info = qtile.current_screen.info() - width, height = ((info['width']//4)*3, (info['height']//6)*5) + width, height = ((info["width"] // 4) * 3, (info["height"] // 6) * 5) win.set_size_floating(width, height) win.center() + # @hook.subscribe.client_new # def round_and_transparent(client): # logger.warning(client) @@ -237,4 +286,3 @@ def centre_floated(): # logger.warning(client.opacity) # client.rounding = 8 # client.opacity = 0.85 - diff --git a/home/home.nix b/home/home.nix index 1309959..8e43b41 100644 --- a/home/home.nix +++ b/home/home.nix @@ -29,10 +29,9 @@ in { thunderbird strawberry inkscape - xfce.thunar - xfce.thunar-archive-plugin - xfce.thunar-volman - xfce.thunar-media-tags-plugin + (xfce.thunar.override {thunarPlugins = [xfce.thunar-archive-plugin xfce.thunar-volman xfce.thunar-media-tags-plugin];}) + peazip + imv zathura @@ -85,7 +84,7 @@ in { enable = true; }; - services.udiskie.enable = true; + services.udiskie.enable = false; # TODO change once upstream python package is fixed in nixpkgs programs.vscode = { enable = true; @@ -101,8 +100,14 @@ in { mutableExtensionsDir = true; userSettings = { "window.titleBarStyle" = "custom"; - "editor.fontFamily" = "'${pkgs.rice.fonts.monospace.name}'"; + "editor.fontFamily" = "${pkgs.rice.fonts.monospace.name}"; "editor.fontSize" = 12; + "workbench.colorTheme" = "KanagawaTheme"; + "rust-analyzer.check.overrideCommand" = "clippy"; + "rust-analyzer.debug.engine" = "vadimcn.vscode-lldb"; + "rust-analyzer.inlayHints.chainingHints.enable" = false; + "rust-analyzer.inlayHints.parameterHints.enable" = false; + "rust-analyzer.inlayHints.typeHints.enable" = false; }; }; diff --git a/system/configuration.nix b/system/configuration.nix index c4ffe9c..0bfa72a 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -18,7 +18,6 @@ inputs.helix.overlays.default inputs.nixd.overlays.default inputs.nix-ld-rs.overlays.default - # inputs.eww.overlays.default ]; config = { allowUnfree = true; @@ -32,16 +31,17 @@ trusted-users = ["bolt" "plank"]; experimental-features = "nix-command flakes"; substitute = true; - substituters = ["https://jakestanger.cachix.org"]; - trusted-public-keys = [ - "jakestanger.cachix.org-1:VWJE7AWNe5/KOEvCQRxoE8UsI2Xs2nHULJ7TEjYm7mM=" - ]; + substituters = []; + trusted-public-keys = []; }; }; imports = [ + ../util/temp-iproute-patch.nix ]; + disabledModules = ["config/iproute2.nix"]; + nix.extraOptions = '' keep-outputs = true keep-derivations = true @@ -116,8 +116,13 @@ enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk - # xdg-desktop-portal-wlr + xdg-desktop-portal-wlr ]; + config = { + common = { + default = "wlr"; + }; + }; }; services.resolved = { @@ -189,6 +194,7 @@ networking.firewall.enable = true; networking.firewall = { + # TODO: use tailscale with interface blacklist patch? # trustedInterfaces = ["tailscale0"]; checkReversePath = "loose"; }; diff --git a/util/python311-keyutils-0.6.nix b/util/python311-keyutils-0.6.nix new file mode 100644 index 0000000..c387c10 --- /dev/null +++ b/util/python311-keyutils-0.6.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, cython +, fetchFromGitHub +, keyutils +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "keyutils"; + version = "0.6"; + + # github version comes bundled with tests + src = fetchFromGitHub { + owner = "sassoftware"; + repo = "python-keyutils"; + rev = version; + sha256 = "0pfqfr5xqgsqkxzrmj8xl2glyl4nbq0irs0k6ik7iy3gd3mxf5g1"; + }; + + postPatch = '' + substituteInPlace setup.py --replace '"pytest-runner"' "" + ''; + + preBuild = '' + cython keyutils/_keyutils.pyx + ''; + + preCheck = '' + rm -rf keyutils + ''; + + buildInputs = [ keyutils ]; + nativeBuildInputs = [ cython ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "A set of python bindings for keyutils"; + homepage = "https://github.com/sassoftware/python-keyutils"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ primeos ]; + }; +} diff --git a/util/temp-iproute-patch.nix b/util/temp-iproute-patch.nix new file mode 100644 index 0000000..78bd07d --- /dev/null +++ b/util/temp-iproute-patch.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.iproute2; +in +{ + options.networking.iproute2 = { + enable = mkEnableOption (lib.mdDoc "copying IP route configuration files"); + rttablesExtraConfig = mkOption { + type = types.lines; + default = ""; + description = lib.mdDoc '' + Verbatim lines to add to /etc/iproute2/rt_tables + ''; + }; + }; + + config = mkIf cfg.enable { + environment.etc."iproute2/rt_tables" = { + mode = "0644"; + text = (fileContents "${pkgs.iproute2}/lib/iproute2/rt_tables") + + (optionalString (cfg.rttablesExtraConfig != "") "\n\n${cfg.rttablesExtraConfig}"); + }; + }; +}