diff --git a/flake.lock b/flake.lock index deba494..966a7fe 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1707830867, - "narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=", + "lastModified": 1715290355, + "narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=", "owner": "ryantm", "repo": "agenix", - "rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6", + "rev": "8d37c5bdeade12b6479c85acd133063ab53187a0", "type": "github" }, "original": { @@ -32,11 +32,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1705617092, - "narHash": "sha256-n9PK4O4X4S1JkwpkMuYm1wHZYJzRqif8g3RuVIPD+rY=", + "lastModified": 1707922053, + "narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=", "owner": "zhaofengli", "repo": "attic", - "rev": "fbe252a5c21febbe920c025560cbd63b20e24f3b", + "rev": "6eabc3f02fae3683bffab483e614bebfcd476b21", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1709392821, - "narHash": "sha256-mLLs3ug+5hYwNgIK5SPhZJPBjEBi+g5DIrau7dzFTo4=", + "lastModified": 1715719041, + "narHash": "sha256-Zi/NDGvZULPVzRV/bF6fLK/h24XKRfxiUYtfFRM0Bks=", "owner": "famedly", "repo": "conduit", - "rev": "18e684b92ee48a3245085404760d31bd5489e284", + "rev": "9b8ec21e6e580e880cd824550fc47cc762c70345", "type": "gitlab" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1706473964, - "narHash": "sha256-Fq6xleee/TsX6NbtoRuI96bBuDHMU57PrcK9z1QEKbk=", + "lastModified": 1713721181, + "narHash": "sha256-Vz1KRVTzU3ClBfyhOj8gOehZk21q58T1YsXC30V23PU=", "owner": "ipetkov", "repo": "crane", - "rev": "c798790eabec3e3da48190ae3698ac227aab770c", + "rev": "55f4939ac59ff8f89c6a4029730a2d49ea09105f", "type": "github" }, "original": { @@ -211,11 +211,11 @@ ] }, "locked": { - "lastModified": 1701025348, - "narHash": "sha256-42GHmYH+GF7VjwGSt+fVT1CQuNpGanJbNgVHTAZppUM=", + "lastModified": 1709610799, + "narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=", "owner": "ipetkov", "repo": "crane", - "rev": "42afaeb1a0325194a7cdb526332d2cb92fddd07b", + "rev": "81c393c776d5379c030607866afef6406ca1be57", "type": "github" }, "original": { @@ -284,6 +284,28 @@ "type": "github" } }, + "devshell": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": [ + "nixtopo", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "owner": "numtide", + "repo": "devshell", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "discordrp-mpris": { "inputs": { "dream2nix": "dream2nix_2", @@ -435,11 +457,11 @@ "pyproject-nix": "pyproject-nix_3" }, "locked": { - "lastModified": 1709318186, - "narHash": "sha256-zWeI4vqARUPXSGqK3Hu6lcYASWSfMww4TUS1kSNum4A=", + "lastModified": 1716240979, + "narHash": "sha256-eNlMTTRh1xF8k115lGyPsY6LFPnBX5izdBt1vd9vR2s=", "owner": "nix-community", "repo": "dream2nix", - "rev": "effd30d8905180f965d68238d985be333ba27d37", + "rev": "93727ed0c14fe5f9789bd2a9de380b61e8740499", "type": "github" }, "original": { @@ -492,11 +514,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1705559032, - "narHash": "sha256-Cb+Jd1+Gz4Wi+8elPnUIHnqQmE1qjDRZ+PsJaPaAffY=", + "lastModified": 1709619709, + "narHash": "sha256-l6EPVJfwfelWST7qWQeP6t/TDK3HHv5uUB1b2vw4mOQ=", "owner": "nix-community", "repo": "fenix", - "rev": "e132ea0eb0c799a2109a91688e499d7bf4962801", + "rev": "c8943ea9e98d41325ff57d4ec14736d330b321b2", "type": "github" }, "original": { @@ -556,11 +578,11 @@ "flake-compat_4": { "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": { @@ -570,6 +592,22 @@ } }, "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": 1673956053, @@ -585,16 +623,32 @@ "type": "github" } }, + "flake-compat_7": { + "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-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1714606777, + "narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a", "type": "github" }, "original": { @@ -603,6 +657,21 @@ "type": "github" } }, + "flake-root": { + "locked": { + "lastModified": 1713493429, + "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=", + "owner": "srid", + "repo": "flake-root", + "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -623,11 +692,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -641,11 +710,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -677,11 +746,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -690,6 +759,82 @@ "type": "github" } }, + "flake-utils_6": { + "inputs": { + "systems": "systems_7" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { + "inputs": { + "systems": "systems_9" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixtopo", + "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" + } + }, "helix": { "inputs": { "crane": "crane_4", @@ -698,11 +843,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1709488578, - "narHash": "sha256-ZcugEh4qENd0hZUtgBn8wS32ajXRw+HH96nv+3nohRk=", + "lastModified": 1716308526, + "narHash": "sha256-VMJmUxR+yK28PXN7ZB98bEyw0pSOdsNxNCrc6SS9i28=", "owner": "helix-editor", "repo": "helix", - "rev": "cc43e3521ed94e9d6e77c719c14073d3e7217c97", + "rev": "41dec92b0feb77719b07334b7a7f53152866e4e3", "type": "github" }, "original": { @@ -718,11 +863,11 @@ ] }, "locked": { - "lastModified": 1709485962, - "narHash": "sha256-rmFB4uE10+LJbcVE4ePgiuHOBlUIjQOeZt4VQVJTU8M=", + "lastModified": 1715930644, + "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d579633ff9915a8f4058d5c439281097e92380a8", + "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "type": "github" }, "original": { @@ -858,11 +1003,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1697228369, - "narHash": "sha256-j36FKeM8/K2EfmJAOueW88cgBaJLpROzX+HMUSmf9H4=", + "lastModified": 1711217400, + "narHash": "sha256-OYVkugwj+aGOb98tLKzlP0zwCQgvIQaJizGj8zNTPtE=", "owner": "yusdacra", "repo": "musikspider", - "rev": "6a8d5158c61154cf35c93dc30cac68beff85bf72", + "rev": "4989d004570a2700d82755aa7a58d982151af501", "type": "github" }, "original": { @@ -962,11 +1107,11 @@ ] }, "locked": { - "lastModified": 1709278248, - "narHash": "sha256-ceZXyzxTLSOrQlcTPQmvQnDV696NNMBwFmVPb9jpX2E=", + "lastModified": 1714905986, + "narHash": "sha256-Vj7iFkLrd7MDeeMVVol5uHTcaLwDq4a3vNx+6Sy1FLU=", "owner": "viperML", "repo": "nh", - "rev": "6947e6f6f234d303131ecc1e54ef6703c82257e3", + "rev": "127a23c82aa41091e97466092d2547c08c2a9a9d", "type": "github" }, "original": { @@ -993,16 +1138,17 @@ "nixd": { "inputs": { "flake-parts": "flake-parts", + "flake-root": "flake-root", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1707749130, - "narHash": "sha256-GGcLEg546mjyQbUzbd/z79sGHPK8jYbQKeHrbl8Zb/U=", + "lastModified": 1716179952, + "narHash": "sha256-YYAkj/wBEMO75nnJbcB4cjSfGzlkmaRao1WeULDIdGc=", "owner": "nix-community", "repo": "nixd", - "rev": "548226eca2994b2e9e1592c6910410b4a2d0575c", + "rev": "ff3eb7117ea030d8d466d364513394cf47b58715", "type": "github" }, "original": { @@ -1033,11 +1179,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1709410583, - "narHash": "sha256-esOSUoQ7mblwcsSea0K17McZuwAIjoS6dq/4b83+lvw=", + "lastModified": 1716173274, + "narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "59e37017b9ed31dee303dbbd4531c594df95cfbc", + "rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", "type": "github" }, "original": { @@ -1061,6 +1207,28 @@ "type": "github" } }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716028628, + "narHash": "sha256-sjgvUXjDXIA48tq+nbQ+e2BfAJyz865mfOtXTj1c8yQ=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "041bad074dbde651c6b9d23dce5ee15b67e98c6c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NixOS-WSL", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1680668850, @@ -1116,11 +1284,11 @@ "nixpkgs-lib_3": { "locked": { "dir": "lib", - "lastModified": 1701253981, - "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { @@ -1133,11 +1301,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1709487436, - "narHash": "sha256-1W1Fa7a6fHmQLLmrkQ6atID1jtA1wEJ2gX8e8RReFuE=", + "lastModified": 1716345478, + "narHash": "sha256-X87ZzaoV0gY48P0XP3+ScnNbp5MJBsvNK5A4S1124Ug=", "owner": "nixos", "repo": "nixpkgs", - "rev": "51403ecd1909faa16fca0b5d37392f61ebcf231f", + "rev": "0e06653a30031502300c3ff61faceefc2d26e45c", "type": "github" }, "original": { @@ -1163,14 +1331,30 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-wayland": { "flake": false, "locked": { - "lastModified": 1709468718, - "narHash": "sha256-NsGp8qPBD0Gv8UEkL3e39i9QN/Tk+bwvkab/bUCmq24=", + "lastModified": 1716329762, + "narHash": "sha256-fTs+uIa46xBi8jL0mAdgHCG1Y/ljHnSvV7u28RPgVyQ=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "9585f97bd49f8da1818b4799e0881aa8a27b1922", + "rev": "7ef6c4758ca302b0be30206494fb80f5aa88c450", "type": "github" }, "original": { @@ -1212,11 +1396,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1700794826, - "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", + "lastModified": 1709479366, + "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", + "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", "type": "github" }, "original": { @@ -1228,11 +1412,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "type": "github" }, "original": { @@ -1242,13 +1426,36 @@ "type": "github" } }, + "nixtopo": { + "inputs": { + "devshell": "devshell", + "flake-utils": "flake-utils_7", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1715634843, + "narHash": "sha256-YrECYhEXY7g8Ji5luq8mdRaLRGiwTPCSDEeVP91DyDY=", + "owner": "oddlama", + "repo": "nix-topology", + "rev": "9ed5c7b5c5cd5bed9e204e8b9d69f4be1954abd3", + "type": "github" + }, + "original": { + "owner": "oddlama", + "repo": "nix-topology", + "type": "github" + } + }, "nur": { "locked": { - "lastModified": 1709487869, - "narHash": "sha256-+5WDQZTMYkKgyo2aRCY8wp41Li2zoyVxEf2dhmZwyXg=", + "lastModified": 1716346130, + "narHash": "sha256-o4Tk7LpBgtJxf4eZQojpd0FR1mWNyy+mlzrouAvIzQ0=", "owner": "nix-community", "repo": "NUR", - "rev": "554b583c992084b560f879e44b5159bb7b8c277b", + "rev": "d69724e2c7a808d107407f38f99c56fa50394df4", "type": "github" }, "original": { @@ -1379,6 +1586,34 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-utils": [ + "nixtopo", + "flake-utils" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "nixtopo", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1714478972, + "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "2849da033884f54822af194400f8dff435ada242", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "purescript-overlay": { "inputs": { "nixpkgs": [ @@ -1516,9 +1751,11 @@ "nixinate": "nixinate", "nixos-hardware": "nixos-hardware", "nixos-persistence": "nixos-persistence", + "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_4", "nixpkgs-master": "nixpkgs-master", "nixpkgs-wayland": "nixpkgs-wayland", + "nixtopo": "nixtopo", "nur": "nur", "s3s": "s3s", "stylix": "stylix", @@ -1528,11 +1765,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1705523001, - "narHash": "sha256-TWq5vJ6m+9HGSDMsQAmz1TMegMi79R3TTyKjnPWsQp8=", + "lastModified": 1709571018, + "narHash": "sha256-ISFrxHxE0J5g7lDAscbK88hwaT5uewvWoma9TlFmRzM=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "9d9b34354d2f13e33568c9c55b226dd014a146a0", + "rev": "9f14343f9ee24f53f17492c5f9b653427e2ad15e", "type": "github" }, "original": { @@ -1570,11 +1807,11 @@ ] }, "locked": { - "lastModified": 1701137803, - "narHash": "sha256-0LcPAdql5IhQSUXJx3Zna0dYTgdIoYO7zUrsKgiBd04=", + "lastModified": 1709604635, + "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "9dd940c967502f844eacea52a61e9596268d4f70", + "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", "type": "github" }, "original": { @@ -1608,11 +1845,11 @@ "src": "src_2" }, "locked": { - "lastModified": 1709360507, - "narHash": "sha256-jBjJtjZchffheDQD0qgFvJ+/huIW464Zvog/6KaJbWI=", + "lastModified": 1716272715, + "narHash": "sha256-7sw1WvmCM4jpcweAhSfwTsn93WbniOXweFqma/iGQtc=", "owner": "yusdacra", "repo": "s3s-flake", - "rev": "3a9b6c02b662752df74a39941673d5ff1a5ad7ee", + "rev": "66f47d1263257754d527665c45125dd2822555bd", "type": "github" }, "original": { @@ -1710,11 +1947,11 @@ "src_2": { "flake": false, "locked": { - "lastModified": 1709041931, - "narHash": "sha256-Uce8MQBH7rVZ/fWwjDcbn2BxPA8oGdWG+lh1nO1Dxmc=", + "lastModified": 1715216110, + "narHash": "sha256-OUpAvm7XBhfj9ztsj5MgCEqANEeBvBRNDVHJ25XsnFc=", "owner": "frozenpandaman", "repo": "s3s", - "rev": "81030982fdbea2bd2188be33597c82958e877544", + "rev": "f1746f34558cf6c473bcb7a6475cabba6f1417f9", "type": "github" }, "original": { @@ -1726,7 +1963,7 @@ "stylix": { "inputs": { "base16": "base16", - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_6", "home-manager": [ "home" ], @@ -1839,6 +2076,51 @@ "type": "github" } }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt": { "inputs": { "nixpkgs": [ @@ -1885,18 +2167,18 @@ }, "vscode-extensions": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_8", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1709428697, - "narHash": "sha256-NpXo8PhCG1lg731w9/7mn31zRG5ie2UwEg+QpjTSO/8=", + "lastModified": 1716341003, + "narHash": "sha256-yyB4Kh3EFbYP+1JHza/IEeHwABypcYVi6vvWTmad/rY=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "ad19653822c4b9499b47a9c6a399ae5a7dc1b319", + "rev": "27ce569a199d2da1a8483fe3d69dd41664da3a63", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5d69e09..9fa0f20 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,9 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nur.url = "github:nix-community/NUR"; + nixos-wsl.url = "github:nix-community/NixOS-WSL"; + nixos-wsl.inputs.nixpkgs.follows = "nixpkgs"; + home.url = "github:nix-community/home-manager/master"; home.inputs.nixpkgs.follows = "nixpkgs"; @@ -65,6 +68,9 @@ naked-shell.url = "github:yusdacra/mk-naked-shell"; naked-shell.flake = false; + nixtopo.url = "github:oddlama/nix-topology"; + nixtopo.inputs.nixpkgs.follows = "nixpkgs"; + # vfio.url = "github:yusdacra/nixos-vfio"; # vfio.inputs.nixpkgs.follows = "nixpkgs"; @@ -124,6 +130,13 @@ legacyPackages = allPkgs; apps = miscApps // (inputs.nixinate.nixinate.x86_64-linux inputs.self); + topology = lib.mapAttrs (_: pkgs: + import inputs.nixtopo { + inherit pkgs; + modules = [{nixosConfigurations = {inherit (inputs.self.nixosConfigurations) wolumonde;};}]; + }) + allPkgs; + devShells = import ./shells {inherit lib tlib inputs;}; }; } diff --git a/hosts/default.nix b/hosts/default.nix index 96350d4..a25ef41 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -29,6 +29,7 @@ lungmen = "x86_64-linux"; tkaronto = "x86_64-linux"; wolumonde = "x86_64-linux"; + wsl = "x86_64-linux"; }; in lib.mapAttrs mkSystem systems diff --git a/hosts/tkaronto/modules/tlp.nix b/hosts/tkaronto/modules/tlp.nix index 5aa274f..0265711 100644 --- a/hosts/tkaronto/modules/tlp.nix +++ b/hosts/tkaronto/modules/tlp.nix @@ -11,16 +11,16 @@ PLATFORM_PROFILE_ON_AC = "balanced"; PLATFORM_PROFILE_ON_BAT = "low-power"; NMI_WATCHDOG = 0; - CPU_DRIVER_OPMODE_ON_AC="active"; - CPU_DRIVER_OPMODE_ON_BAT="active"; - CPU_ENERGY_PERF_POLICY_ON_AC="balance_power"; - CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"; - CPU_SCALING_GOVERNOR_ON_AC="powersave"; - CPU_SCALING_GOVERNOR_ON_BAT="powersave"; - SOUND_POWER_SAVE_ON_AC=1; - SOUND_POWER_SAVE_ON_BAT=1; - RUNTIME_PM_ON_AC="auto"; - RUNTIME_PM_ON_BAT="auto"; + CPU_DRIVER_OPMODE_ON_AC = "active"; + CPU_DRIVER_OPMODE_ON_BAT = "active"; + CPU_ENERGY_PERF_POLICY_ON_AC = "balance_power"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power"; + CPU_SCALING_GOVERNOR_ON_AC = "powersave"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + SOUND_POWER_SAVE_ON_AC = 1; + SOUND_POWER_SAVE_ON_BAT = 1; + RUNTIME_PM_ON_AC = "auto"; + RUNTIME_PM_ON_BAT = "auto"; }; }; } diff --git a/hosts/wolumonde/default.nix b/hosts/wolumonde/default.nix index 7fe97e4..18d056d 100644 --- a/hosts/wolumonde/default.nix +++ b/hosts/wolumonde/default.nix @@ -6,6 +6,7 @@ imports = [ inputs.agenix.nixosModules.default + inputs.nixtopo.nixosModules.default ] ++ (tlib.importFolder (toString ./modules)); diff --git a/hosts/wolumonde/modules/atproto.nix b/hosts/wolumonde/modules/atproto.nix index 81b1d04..8dc3282 100644 --- a/hosts/wolumonde/modules/atproto.nix +++ b/hosts/wolumonde/modules/atproto.nix @@ -5,8 +5,7 @@ mkdir -p $out cp ${_wellKnownFile} $out/atproto-did ''; -in -{ +in { services.nginx.virtualHosts."gaze.systems" = { locations."/.well-known/".extraConfig = '' add_header content-type text/plain; diff --git a/hosts/wsl/default.nix b/hosts/wsl/default.nix new file mode 100644 index 0000000..4240e04 --- /dev/null +++ b/hosts/wsl/default.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + tlib, + pkgs, + inputs, + ... +}: { + imports = + [ + ../../users/root + ../../users/firewatch + inputs.nixos-wsl.nixosModules.wsl + ] + ++ (tlib.importFolder (toString ./modules)); + + wsl.enable = true; + wsl.defaultUser = "firewatch"; + + nix.settings.max-jobs = lib.mkForce 10; + + networking.hostName = "wsl"; + + environment.systemPackages = [pkgs.wget]; + + # for tailscale + networking.firewall.checkReversePath = "loose"; + services.tailscale.enable = true; + + services.earlyoom.enable = true; + + system.stateVersion = "23.11"; +} diff --git a/hosts/wsl/modules/.keep b/hosts/wsl/modules/.keep new file mode 100644 index 0000000..e69de29 diff --git a/modules/base/default.nix b/modules/base/default.nix index 758e411..f5a538d 100644 --- a/modules/base/default.nix +++ b/modules/base/default.nix @@ -97,7 +97,7 @@ in { }; system.activationScripts.diff = '' if [ -z "$systemConfig" ]; then - ${pkgs.nixUnstable}/bin/nix store \ + ${config.nix.package}/bin/nix store \ --experimental-features 'nix-command' \ diff-closures /run/current-system "$systemConfig" fi diff --git a/modules/persist/null.nix b/modules/persist/null.nix new file mode 100644 index 0000000..55bd904 --- /dev/null +++ b/modules/persist/null.nix @@ -0,0 +1,16 @@ +{lib, ...}: { + imports = [./default.nix]; + + config = { + system.persistDir = "null"; + }; + + options = { + home.persistence = lib.mkOption { + type = lib.raw; + }; + environment.persistence = lib.mkOption { + type = lib.raw; + }; + }; +} diff --git a/pkgs-set/overlays/topology.nix b/pkgs-set/overlays/topology.nix new file mode 100644 index 0000000..30859fc --- /dev/null +++ b/pkgs-set/overlays/topology.nix @@ -0,0 +1 @@ +{inputs}: inputs.nixtopo.overlays.default diff --git a/shells/default.nix b/shells/default.nix index 4f418e8..d070951 100644 --- a/shells/default.nix +++ b/shells/default.nix @@ -1,4 +1,8 @@ -{tlib, inputs, ...}: +{ + tlib, + inputs, + ... +}: tlib.genPkgs (pkgs: let mkNakedShell = pkgs.callPackage inputs.naked-shell {}; agenix-wrapped = pkgs.writeShellApplication { @@ -13,12 +17,11 @@ tlib.genPkgs (pkgs: let ''; }; in { - default = - mkNakedShell { - name = "prts"; - packages = with pkgs; [git git-crypt alejandra helix agenix-wrapped rage]; - shellHook = '' - echo \"$(tput bold)welcome to PRTS, $USER$(tput sgr0)\" - ''; - }; + default = mkNakedShell { + name = "prts"; + packages = with pkgs; [git git-crypt alejandra helix agenix-wrapped rage]; + shellHook = '' + echo \"$(tput bold)welcome to PRTS, $USER$(tput sgr0)\" + ''; + }; }) diff --git a/users/firewatch/default.nix b/users/firewatch/default.nix new file mode 100644 index 0000000..b37b4c9 --- /dev/null +++ b/users/firewatch/default.nix @@ -0,0 +1,85 @@ +{ + pkgs, + lib, + tlib, + config, + ... +} @ globalAttrs: let + l = lib // builtins; + + nixosConfig = globalAttrs.config; + + signKeyText = builtins.readFile ../../secrets/yusdacra.key.pub; +in { + imports = [./stylix.nix]; + + users.users.firewatch = { + isNormalUser = true; + createHome = true; + home = "/home/firewatch"; + extraGroups = l.flatten [ + "wheel" + "adbusers" + "nix-build-key-access" + (l.optional nixosConfig.virtualisation.docker.enable "docker") + ]; + shell = pkgs.zsh; + hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/"; + }; + environment.shells = with pkgs; [bashInteractive zsh]; + programs = { + # cuz nixos complains + zsh.enable = true; + }; + home-manager.users.firewatch = { + config, + pkgs, + inputs, + secrets, + ... + }: let + personal = import ../../personal.nix; + name = personal.name; + email = personal.emails.primary; + in { + imports = let + modulesToEnable = l.flatten [ + ["zoxide" "zsh" "fzf" "starship" "direnv"] + # dev stuff + ["helix" "git" "ssh"] + ]; + in + l.flatten [ + ../../modules/persist/null.nix + (tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable) + ]; + + settings.enable = false; + + home = { + homeDirectory = nixosConfig.users.users.firewatch.home; + packages = with pkgs; [ + # Programs + nix-output-monitor + inputs.nh.packages.${pkgs.system}.default + ]; + file.".ssh/authorized_keys".text = '' + ${signKeyText} + ''; + }; + + programs = { + command-not-found.enable = + nixosConfig.programs.command-not-found.enable; + git = { + userName = name; + userEmail = email; + extraConfig = { + gpg.format = "ssh"; + commit.gpgsign = true; + user.signingkey = signKeyText; + }; + }; + }; + }; +} diff --git a/users/firewatch/stylix.nix b/users/firewatch/stylix.nix new file mode 100644 index 0000000..5fa71ba --- /dev/null +++ b/users/firewatch/stylix.nix @@ -0,0 +1,62 @@ +{ + inputs, + config, + pkgs, + lib, + ... +}: { + imports = [ + inputs.stylix.nixosModules.stylix + ]; + + stylix.image = ./wallpaper.png; + stylix.polarity = "dark"; + + stylix.base16Scheme = let + night = "#2b292d"; + ash = "#383539"; + umber = "#4d424b"; + bark = "#6F5D63"; + mist = "#D1D1E0"; + sage = "#B1B695"; + blush = "#fecdb2"; + coral = "#ffa07a"; + rose = "#F6B6C9"; + ember = "#e06b75"; + honey = "#F5D76E"; + in { + base00 = night; + base01 = ash; + base02 = umber; + base03 = bark; + base04 = blush; + base05 = mist; + base06 = mist; + base07 = bark; + base08 = ember; + base09 = honey; + base0A = rose; + base0B = sage; + base0C = bark; + base0D = coral; + base0E = blush; + base0F = umber; + }; + + stylix.fonts = { + serif = { + name = "Comic Relief"; + package = pkgs.comic-relief; + }; + sansSerif = config.stylix.fonts.serif; + monospace = { + name = "Comic Mono"; + package = pkgs.comic-mono; + }; + }; + + stylix.fonts.sizes = { + popups = 13; + terminal = 13; + }; +} diff --git a/users/firewatch/wallpaper.png b/users/firewatch/wallpaper.png new file mode 100644 index 0000000..83d5626 Binary files /dev/null and b/users/firewatch/wallpaper.png differ diff --git a/users/modules/discordrp-mpris/default.nix b/users/modules/discordrp-mpris/default.nix index 362425e..b04c593 100644 --- a/users/modules/discordrp-mpris/default.nix +++ b/users/modules/discordrp-mpris/default.nix @@ -1,4 +1,8 @@ -{inputs, pkgs, ...}: { +{ + inputs, + pkgs, + ... +}: { systemd.user.services.discordrp-mpris = { Install = { WantedBy = ["default.target"]; diff --git a/users/modules/s3s/default.nix b/users/modules/s3s/default.nix index b16fdab..7b91ddf 100644 --- a/users/modules/s3s/default.nix +++ b/users/modules/s3s/default.nix @@ -1,4 +1,8 @@ -{config, inputs, ...}: { +{ + config, + inputs, + ... +}: { imports = [inputs.s3s.homeManagerModule]; services.s3s.enable = true; } diff --git a/users/modules/settings/default.nix b/users/modules/settings/default.nix index 3b660d7..6ef7f95 100644 --- a/users/modules/settings/default.nix +++ b/users/modules/settings/default.nix @@ -8,6 +8,10 @@ cfg = config.settings; in { options = { + settings.enable = l.mkOption { + type = t.bool; + default = true; + }; settings.iconTheme = { name = l.mkOption { type = t.str; @@ -26,7 +30,7 @@ in { }; }; - config = { + config = l.mkIf cfg.enable { gtk.iconTheme = cfg.iconTheme; }; } diff --git a/users/modules/ssh/default.nix b/users/modules/ssh/default.nix index b764654..a189abb 100644 --- a/users/modules/ssh/default.nix +++ b/users/modules/ssh/default.nix @@ -1,9 +1,11 @@ -{...}: { +{config, nixosConfig, ...}: { programs.ssh = { enable = true; compression = true; hashKnownHosts = true; userKnownHostsFile = "~/.local/share/ssh/known-hosts"; + addKeysToAgent = "yes"; + package = nixosConfig.programs.ssh.package; # Only needed for darcs hub # extraConfig = '' # Host hub.darcs.net @@ -14,4 +16,5 @@ # MACs +hmac-sha1 # ''; }; + services.ssh-agent.enable = true; } diff --git a/users/modules/zoxide/default.nix b/users/modules/zoxide/default.nix index 721bbba..9d98b95 100644 --- a/users/modules/zoxide/default.nix +++ b/users/modules/zoxide/default.nix @@ -6,8 +6,7 @@ }: { home.packages = [pkgs.zoxide]; home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = - lib.singleton - ".local/share/zoxide"; + lib.singleton ".local/share/zoxide"; programs.zsh.initExtra = '' eval "$(zoxide init zsh)" '';