diff --git a/flake.lock b/flake.lock index 52268de..59590e4 100644 --- a/flake.lock +++ b/flake.lock @@ -8,7 +8,7 @@ "ragenix", "nixpkgs" ], - "systems": "systems_17" + "systems": "systems_15" }, "locked": { "lastModified": 1707830867, @@ -190,20 +190,28 @@ "cachix": { "inputs": { "devenv": "devenv_2", - "flake-compat": "flake-compat_5", + "flake-compat": [ + "memexpert", + "devenv", + "flake-compat" + ], "nixpkgs": [ "memexpert", "devenv", "nixpkgs" ], - "pre-commit-hooks": "pre-commit-hooks" + "pre-commit-hooks": [ + "memexpert", + "devenv", + "pre-commit-hooks" + ] }, "locked": { - "lastModified": 1710475558, - "narHash": "sha256-egKrPCKjy/cE+NqCj4hg2fNX/NwLCf0bRDInraYXDgs=", + "lastModified": 1712055811, + "narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=", "owner": "cachix", "repo": "cachix", - "rev": "661bbb7f8b55722a0406456b15267b5426a3bda6", + "rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30", "type": "github" }, "original": { @@ -266,11 +274,11 @@ ] }, "locked": { - "lastModified": 1711299236, - "narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=", + "lastModified": 1718474113, + "narHash": "sha256-UKrfy/46YF2TRnxTtKCYzqf2f5ZPRRWwKCCJb7O5X8U=", "owner": "ipetkov", "repo": "crane", - "rev": "880573f80d09e18a11713f402b9e6172a085449f", + "rev": "0095fd8ea00ae0a9e6014f39c375e40c2fbd3386", "type": "github" }, "original": { @@ -330,11 +338,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1715699772, - "narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=", + "lastModified": 1718194053, + "narHash": "sha256-FaGrf7qwZ99ehPJCAwgvNY5sLCqQ3GDiE/6uLhxxwSY=", "owner": "serokell", "repo": "deploy-rs", - "rev": "b3ea6f333f9057b77efd9091119ba67089399ced", + "rev": "3867348fa92bc892eba5d9ddb2d7a97b9e127a8a", "type": "github" }, "original": { @@ -346,20 +354,20 @@ "devenv": { "inputs": { "cachix": "cachix", - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_5", "nix": "nix_2", "nixpkgs": [ "memexpert", "nixpkgs" ], - "pre-commit-hooks": "pre-commit-hooks_2" + "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1712300418, - "narHash": "sha256-tQKGdBAYIPeLNOtkymFQJh47w3R3e8adfgzVZ76qSeY=", + "lastModified": 1719993933, + "narHash": "sha256-6o8OGE40gWCugfvk8mLaqq3BQYq8H35/jV8aJt2egJk=", "owner": "cachix", "repo": "devenv", - "rev": "8827aa19daf1fc3f53e7adcc7201933ef28f8652", + "rev": "83b295ec9febbc662040ffa8539d23f294af275d", "type": "github" }, "original": { @@ -410,11 +418,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1712384501, - "narHash": "sha256-AZmYmEnc1ZkSlxUJVUtGh9VFAqWPr+xtNIiBqD2eKfc=", + "lastModified": 1719988193, + "narHash": "sha256-RKKOQ5LxhSh6VCuLr5HsLUF2JWQqFeiPiQ3zSkEtBXg=", "owner": "nix-community", "repo": "fenix", - "rev": "99c6241db5ca5363c05c8f4acbdf3a4e8fc42844", + "rev": "aec88e528fb93a3b6381905a3d54ce89d07b6df9", "type": "github" }, "original": { @@ -540,54 +548,6 @@ "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-compat_8": { - "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_9": { - "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": [ @@ -596,11 +556,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -629,25 +589,7 @@ }, "flake-utils_10": { "inputs": { - "systems": "systems_12" - }, - "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_11": { - "inputs": { - "systems": "systems_13" + "systems": "systems_11" }, "locked": { "lastModified": 1710146030, @@ -663,9 +605,9 @@ "type": "github" } }, - "flake-utils_12": { + "flake-utils_11": { "inputs": { - "systems": "systems_15" + "systems": "systems_13" }, "locked": { "lastModified": 1710146030, @@ -681,27 +623,9 @@ "type": "github" } }, - "flake-utils_13": { - "inputs": { - "systems": "systems_16" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_14": { + "flake-utils_12": { "inputs": { - "systems": "systems_18" + "systems": "systems_14" }, "locked": { "lastModified": 1705309234, @@ -717,9 +641,9 @@ "type": "github" } }, - "flake-utils_15": { + "flake-utils_13": { "inputs": { - "systems": "systems_19" + "systems": "systems_16" }, "locked": { "lastModified": 1705309234, @@ -857,7 +781,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_11" + "systems": "systems_10" }, "locked": { "lastModified": 1689068808, @@ -921,30 +845,6 @@ } }, "gitignore_2": { - "inputs": { - "nixpkgs": [ - "memexpert", - "devenv", - "cachix", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1703887061, - "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_3": { "inputs": { "nixpkgs": [ "memexpert", @@ -974,11 +874,11 @@ ] }, "locked": { - "lastModified": 1716457508, - "narHash": "sha256-ZxzffLuWRyuMrkVVq7wastNUqeO0HJL9xqfY1QsYaqo=", + "lastModified": 1719992360, + "narHash": "sha256-SRq0ZRkqagqpMGVf4z9q9CIWRbPYjO7FTqSJyWh7nes=", "owner": "nix-community", "repo": "home-manager", - "rev": "850cb322046ef1a268449cf1ceda5fd24d930b05", + "rev": "36e2f9da91ce8b63a549a47688ae60d47c50de4b", "type": "github" }, "original": { @@ -1025,11 +925,11 @@ ] }, "locked": { - "lastModified": 1716576411, - "narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=", + "lastModified": 1718450675, + "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621", + "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", "type": "github" }, "original": { @@ -1042,6 +942,7 @@ "inputs": { "hyprcursor": "hyprcursor", "hyprlang": "hyprlang", + "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": [ "nixpkgs" @@ -1050,11 +951,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1716583868, - "narHash": "sha256-ob6ep5LY0RxjdKYROYKcAxAutT02x1Kgbt/QPZErs7E=", + "lastModified": 1719949580, + "narHash": "sha256-Ht6ZUjQ6HO9vllB0CxeGgLYUzZCw9Q/2Aaq21Og+3hM=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "2ff95bba3fec58b9f1a127fe72dda84b1420a7af", + "rev": "8bb75a223db3ea9471d05d74fbed3328334a9f78", "type": "github" }, "original": { @@ -1077,11 +978,11 @@ ] }, "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "lastModified": 1714869498, + "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", "type": "github" }, "original": { @@ -1092,6 +993,10 @@ }, "hyprlang": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -1102,11 +1007,11 @@ ] }, "locked": { - "lastModified": 1716473782, - "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=", + "lastModified": 1717881852, + "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "87d5d984109c839482b88b4795db073eb9ed446f", + "rev": "ec6938c66253429192274d612912649a0cfe4d28", "type": "github" }, "original": { @@ -1115,6 +1020,31 @@ "type": "github" } }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1719316102, + "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, "hyprwayland-scanner": { "inputs": { "nixpkgs": [ @@ -1127,11 +1057,11 @@ ] }, "locked": { - "lastModified": 1716058375, - "narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=", + "lastModified": 1719067853, + "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "3afed4364790aebe0426077631af1e164a9650cc", + "rev": "914f083741e694092ee60a39d31f693d0a6dc734", "type": "github" }, "original": { @@ -1147,11 +1077,11 @@ ] }, "locked": { - "lastModified": 1716228712, - "narHash": "sha256-y+LOXuSRMfkR2Vfwl5K2NVrszi1h5MJpML+msLnVS8U=", + "lastModified": 1718476555, + "narHash": "sha256-fuWpgh8KasByIJWE+xVd37Al0LV5YAn6s871T50qVY0=", "owner": "hyprwm", "repo": "contrib", - "rev": "33b38358559054d316eb605ccb733980dfa7dc63", + "rev": "29a8374f4b9206d5c4af84aceb7fb5dff441ea60", "type": "github" }, "original": { @@ -1162,11 +1092,11 @@ }, "impermanence": { "locked": { - "lastModified": 1708968331, - "narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=", + "lastModified": 1719091691, + "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=", "owner": "nix-community", "repo": "impermanence", - "rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30", + "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a", "type": "github" }, "original": { @@ -1347,11 +1277,11 @@ "rust-overlay": "rust-overlay_8" }, "locked": { - "lastModified": 1713369831, - "narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", + "lastModified": 1719818887, + "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "850f27322239f8cfa56b122cc9a278ab99a49015", + "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429", "type": "github" }, "original": { @@ -1367,14 +1297,14 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils_2" + "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1714720456, - "narHash": "sha256-e0WFe1BHqX23ADpGBc4ZRu38Mg+GICCZCqyS6EWCbHc=", + "lastModified": 1718697807, + "narHash": "sha256-Enla61WFisytTYbWygPynEbu8vozjeGc6Obkj2GRj7o=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "41059fc548088e49e3ddb3a2b4faeb5de018e60f", + "rev": "290a995de5c3d3f08468fa548f0d55ab2efc7b6b", "type": "gitlab" }, "original": { @@ -1391,14 +1321,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_14" + "systems": "systems_12" }, "locked": { - "lastModified": 1716635730, - "narHash": "sha256-xjRjChzqYImL6edivbrhcS6pAlN1ype5eicWlSRSeyU=", + "lastModified": 1720202754, + "narHash": "sha256-vez+Ees8sYBT/Opi9oYz6p5ZgXoXhpflQoMWoosheE4=", "owner": "averyanalex", "repo": "memexpert", - "rev": "5251c6d535586883d200d0ac867cabf2c042b1ae", + "rev": "3bf7448963cd1a417175d31daa3604c46b3dddac", "type": "github" }, "original": { @@ -1443,11 +1373,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1708577783, - "narHash": "sha256-92xq7eXlxIT5zFNccLpjiP7sdQqQI30Gyui2p/PfKZM=", + "lastModified": 1712911606, + "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", "owner": "domenkozar", "repo": "nix", - "rev": "ecd0af0c1f56de32cbad14daa1d82a132bf298f8", + "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", "type": "github" }, "original": { @@ -1526,16 +1456,16 @@ }, "nix-vscode-extensions": { "inputs": { - "flake-compat": "flake-compat_9", - "flake-utils": "flake-utils_12", + "flake-compat": "flake-compat_6", + "flake-utils": "flake-utils_11", "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1716600075, - "narHash": "sha256-WeUfE0jslseCeGUcQPHQLL2aFArGst1RdA0WKfoOHJ4=", + "lastModified": 1719969975, + "narHash": "sha256-W+ctoSuED6yONTCwwxig746iDWEwGKVUd19IDjamO0c=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "b2de3e372569c4af5bacc49e5920392e1808f98a", + "rev": "3fd832c22561c4a54ed8ebba555ca70731de1476", "type": "github" }, "original": { @@ -1546,7 +1476,11 @@ }, "nix_2": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": [ + "memexpert", + "devenv", + "flake-compat" + ], "nixpkgs": [ "memexpert", "devenv", @@ -1555,11 +1489,11 @@ "nixpkgs-regression": "nixpkgs-regression_2" }, "locked": { - "lastModified": 1710500156, - "narHash": "sha256-zvCqeUO2GLOm7jnU23G4EzTZR7eylcJN+HJ5svjmubI=", + "lastModified": 1712911606, + "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", "owner": "domenkozar", "repo": "nix", - "rev": "c5bbf14ecbd692eeabf4184cc8d50f79c2446549", + "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", "type": "github" }, "original": { @@ -1571,11 +1505,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1716173274, - "narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", + "lastModified": 1719895800, + "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", + "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", "type": "github" }, "original": { @@ -1600,13 +1534,28 @@ "type": "github" } }, + "nixpkgs-24_05": { + "locked": { + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-24.05", + "type": "indirect" + } + }, "nixpkgs-master": { "locked": { - "lastModified": 1716633273, - "narHash": "sha256-yykmLEHv76zKfcG1S92rEKCmKCxy/937Kdh+jgLBAXo=", + "lastModified": 1720005909, + "narHash": "sha256-iOcqqGj3u4mVkKrkJ2WlHwNklbfcaYwiN7bdWcBv3TY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8ff6ad5d85826ed888b2518f7f7b820bf89bbe2a", + "rev": "f2506eaef6ebd0a18a4f9f1b99d1be371ec60241", "type": "github" }, "original": { @@ -1664,22 +1613,6 @@ } }, "nixpkgs-stable_2": { - "locked": { - "lastModified": 1704874635, - "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { "locked": { "lastModified": 1710695816, "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", @@ -1695,13 +1628,13 @@ "type": "github" } }, - "nixpkgs-stable_4": { + "nixpkgs-stable_3": { "locked": { - "lastModified": 1716361217, - "narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", + "lastModified": 1719837636, + "narHash": "sha256-sTya/Vhqtdi7Kxx/eVldJRGTPKcyGgFG3ZugOqcbmiE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", + "rev": "28f8f3531ebdbea069995c20bd946a295699f275", "type": "github" }, "original": { @@ -1713,11 +1646,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1706487304, - "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", + "lastModified": 1718428119, + "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", + "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", "type": "github" }, "original": { @@ -1777,11 +1710,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1711297276, - "narHash": "sha256-KtHBr73Z729krfueBV6pUsEyq/4vILGP77DPmrKOTrI=", + "lastModified": 1718541509, + "narHash": "sha256-TmC5TxW5WPAfmovDzi1hLe1i4qqND79s9SH9UOKcSvo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3d41d1087707826b3a90685ab69147f8dc8145d5", + "rev": "ba06293cdba1c94af9710024abf3b94cf8d76349", "type": "github" }, "original": { @@ -1825,11 +1758,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1716330097, - "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", + "lastModified": 1719848872, + "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", + "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "type": "github" }, "original": { @@ -1857,11 +1790,11 @@ }, "nur": { "locked": { - "lastModified": 1716628190, - "narHash": "sha256-qHlmGlw+6fnXWkyFneBkxh7uAzeeySyeEvqR+40yp8M=", + "lastModified": 1719999906, + "narHash": "sha256-3fucmTQRZDbTOX372EIQYhRHox3YSOX1mgkZJqhuYU4=", "owner": "nix-community", "repo": "NUR", - "rev": "a098423c7c3eef1d3b190d57f29a5921cf6b14f7", + "rev": "61ac6dad5efc8d6ffa408f9965a6706d83b6521d", "type": "github" }, "original": { @@ -1948,23 +1881,26 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": [ + "memexpert", + "devenv", + "flake-compat" + ], "flake-utils": "flake-utils_10", "gitignore": "gitignore_2", "nixpkgs": [ "memexpert", "devenv", - "cachix", "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708018599, - "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", + "lastModified": 1713775815, + "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", + "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", "type": "github" }, "original": { @@ -1979,10 +1915,6 @@ "lanzaboote", "flake-compat" ], - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "lanzaboote", @@ -1991,41 +1923,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1710923068, - "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": [ - "memexpert", - "devenv", - "flake-compat" - ], - "flake-utils": "flake-utils_11", - "gitignore": "gitignore_3", - "nixpkgs": [ - "memexpert", - "devenv", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_3" - }, - "locked": { - "lastModified": 1712055707, - "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -2038,18 +1940,18 @@ "inputs": { "agenix": "agenix", "crane": "crane_3", - "flake-utils": "flake-utils_14", + "flake-utils": "flake-utils_13", "nixpkgs": [ "nixpkgs" ], "rust-overlay": "rust-overlay_10" }, "locked": { - "lastModified": 1709831932, - "narHash": "sha256-WsP8rOFa/SqYNbVtYJ/l2mWWOgyDTJFbITMV8tv0biI=", + "lastModified": 1718869541, + "narHash": "sha256-smhpGh1x/8mNl+sFL8SbeWnx0bK4HWjmdRA3mIwGjPU=", "owner": "yaxitech", "repo": "ragenix", - "rev": "06de099ef02840ec463419f12de73729d458e1eb", + "rev": "8a254bbaa93fbd38e16f70fa81af6782794e046e", "type": "github" }, "original": { @@ -2084,7 +1986,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_8", "nixpkgs-master": "nixpkgs-master", - "nixpkgs-stable": "nixpkgs-stable_4", + "nixpkgs-stable": "nixpkgs-stable_3", "nur": "nur", "picsavbot": "picsavbot", "ragenix": "ragenix", @@ -2094,11 +1996,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1712156296, - "narHash": "sha256-St7ZQrkrr5lmQX9wC1ZJAFxL8W7alswnyZk9d1se3Us=", + "lastModified": 1719922854, + "narHash": "sha256-Y6dMioLP5nQHpTJCu5y3FtxTe5DDXop31D6dpsvlxQQ=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "8e581ac348e223488622f4d3003cb2bd412bf27e", + "rev": "4981f00bb6a9f677b5a139e3749c4942175d6751", "type": "github" }, "original": { @@ -2154,15 +2056,14 @@ }, "rust-overlay_11": { "inputs": { - "flake-utils": "flake-utils_15", "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1716603336, - "narHash": "sha256-81u/zd7V+XRTq88zwRLxw5GnwZyEiAvGA2BvAXUe864=", + "lastModified": 1719973106, + "narHash": "sha256-IGCdN/m7DfwUfxZjFnlTiTtpwSHCb01P/LWavAKD2jw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "4d0f1e4d5d65c23cdbb77e4b0d91940be7309bd4", + "rev": "fb733500aead50880b9b301f34a0061bf997d6f2", "type": "github" }, "original": { @@ -2321,11 +2222,11 @@ ] }, "locked": { - "lastModified": 1711246447, - "narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", + "lastModified": 1718504420, + "narHash": "sha256-F2HT/abCfr0CDpkvXwYCscJyD66XDTLMVfdrIMRp2ck=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", + "rev": "0043c3f92304823cc2c0a4354b0feaa61dfb4cd9", "type": "github" }, "original": { @@ -2336,7 +2237,7 @@ }, "rust-overlay_9": { "inputs": { - "flake-utils": "flake-utils_13", + "flake-utils": "flake-utils_12", "nixpkgs": "nixpkgs_9" }, "locked": { @@ -2489,51 +2390,6 @@ "type": "github" } }, - "systems_17": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_18": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_19": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -2693,24 +2549,6 @@ "type": "github" } }, - "utils_2": { - "inputs": { - "systems": "systems_10" - }, - "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "xdph": { "inputs": { "hyprland-protocols": "hyprland-protocols", @@ -2728,11 +2566,11 @@ ] }, "locked": { - "lastModified": 1716290197, - "narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=", + "lastModified": 1718619174, + "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "91e48d6acd8a5a611d26f925e51559ab743bc438", + "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ba458a0..740577d 100644 --- a/flake.nix +++ b/flake.nix @@ -227,38 +227,38 @@ modules = [ "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-no-zfs-installer.nix" ({ - pkgs, - lib, - ... - }: let + pkgs, + lib, + ... + }: # pkgsCross = import nixpkgs { # system = "x86_64-linux"; # # hostPlatform.system = "aarch64-linux"; # # buildPlatform.system = "x86_64-linux"; # crossSystem = "x86_64-linux"; # }; - in { - config = { - # nixpkgs.hostPlatform.system = "aarch64-linux"; - # nixpkgs.buildPlatform.system = "x86_64-linux"; - sdImage.compressImage = false; - system.stateVersion = "23.05"; - boot.kernelPackages = lib.mkForce (pkgs.linuxPackagesFor (pkgs.linux_6_1.override { - argsOverride = { - src = pkgs.fetchFromGitHub { - owner = "orangepi-xunlong"; - repo = "linux-orangepi"; - rev = "3495b5ee0594566c9fed930b96b1cae90600412e"; - hash = "sha256-MKlhbqORiwzFe84VEbcHbz4ZfRwNYxK5bZD5AKyopGw="; + { + config = { + # nixpkgs.hostPlatform.system = "aarch64-linux"; + # nixpkgs.buildPlatform.system = "x86_64-linux"; + sdImage.compressImage = false; + system.stateVersion = "23.05"; + boot.kernelPackages = lib.mkForce (pkgs.linuxPackagesFor (pkgs.linux_6_1.override { + argsOverride = { + src = pkgs.fetchFromGitHub { + owner = "orangepi-xunlong"; + repo = "linux-orangepi"; + rev = "3495b5ee0594566c9fed930b96b1cae90600412e"; + hash = "sha256-MKlhbqORiwzFe84VEbcHbz4ZfRwNYxK5bZD5AKyopGw="; + }; + kernelPatches = []; + version = "6.1.31"; + modDirVersion = "6.1.31"; }; - kernelPatches = []; - version = "6.1.31"; - modDirVersion = "6.1.31"; - }; - })); - # nixpkgs.config.allowBroken = true; - }; - }) + })); + # nixpkgs.config.allowBroken = true; + }; + }) ]; }; }; diff --git a/hardware/gpu/amd.nix b/hardware/gpu/amd.nix index 9a79e40..343393a 100644 --- a/hardware/gpu/amd.nix +++ b/hardware/gpu/amd.nix @@ -1,8 +1,6 @@ {pkgs, ...}: { - hardware.opengl = { + hardware.graphics = { enable = true; - driSupport = true; - extraPackages = with pkgs; [ rocmPackages.clr rocmPackages.clr.icd diff --git a/hardware/gpu/intel.nix b/hardware/gpu/intel.nix index bec8172..608c04a 100644 --- a/hardware/gpu/intel.nix +++ b/hardware/gpu/intel.nix @@ -1,7 +1,6 @@ {pkgs, ...}: { - hardware.opengl = { + hardware.graphics = { enable = true; - driSupport = true; # driSupport32Bit = true; extraPackages = with pkgs; [ diff --git a/machines/alligator/default.nix b/machines/alligator/default.nix index 9cff056..9ac1aef 100644 --- a/machines/alligator/default.nix +++ b/machines/alligator/default.nix @@ -31,19 +31,15 @@ "40-wgav" = { routes = [ { - routeConfig = { - Destination = "::/0"; - Type = "unreachable"; - Table = 700; - }; + Destination = "::/0"; + Type = "unreachable"; + Table = 700; } ]; routingPolicyRules = [ { - routingPolicyRuleConfig = { - FirewallMark = 700; - Table = 700; - }; + FirewallMark = 700; + Table = 700; } # { # routingPolicyRuleConfig = { @@ -64,7 +60,7 @@ { publicKey = "h+76esMcmPLakUN/1vDlvGGf2Ovmw/IDKKxFtqXCdm8="; allowedIPs = ["0.0.0.0/0"]; - endpoint = "hawk.averyan.ru:51820"; + endpoint = "vpn.averyan.ru:51820"; persistentKeepalive = 25; } ]; diff --git a/machines/falcon/default.nix b/machines/falcon/default.nix index 35927c3..35a1b60 100644 --- a/machines/falcon/default.nix +++ b/machines/falcon/default.nix @@ -4,7 +4,7 @@ ... }: { imports = [ - inputs.self.nixosModules.roles.server + inputs.self.nixosModules.roles.minimal inputs.self.nixosModules.hardware.aeza inputs.self.nixosModules.profiles.remote-builder-client @@ -12,6 +12,7 @@ ./mounts.nix ./tor.nix + ./proxy.nix ]; system.stateVersion = "23.05"; diff --git a/machines/falcon/proxy.nix b/machines/falcon/proxy.nix new file mode 100644 index 0000000..9b5d354 --- /dev/null +++ b/machines/falcon/proxy.nix @@ -0,0 +1,8 @@ +{ + services.microsocks = { + enable = true; + ip = "10.57.1.20"; + }; + + networking.firewall.interfaces."nebula.averyan".allowedTCPPorts = [1080]; +} diff --git a/machines/whale/default.nix b/machines/whale/default.nix index 56afc90..21f4580 100644 --- a/machines/whale/default.nix +++ b/machines/whale/default.nix @@ -24,7 +24,7 @@ in { inputs.self.nixosModules.profiles.server.picsav inputs.self.nixosModules.profiles.server.acme inputs.self.nixosModules.profiles.server.blog - inputs.self.nixosModules.profiles.server.bvilove + # inputs.self.nixosModules.profiles.server.bvilove # inputs.self.nixosModules.profiles.server.gitea inputs.self.nixosModules.profiles.server.hass # inputs.self.nixosModules.profiles.server.hydra @@ -180,19 +180,15 @@ in { "40-wgav" = { routes = [ { - routeConfig = { - Destination = "::/0"; - Type = "unreachable"; - Table = 700; - }; + Destination = "::/0"; + Type = "unreachable"; + Table = 700; } ]; routingPolicyRules = [ { - routingPolicyRuleConfig = { - FirewallMark = 700; - Table = 700; - }; + FirewallMark = 700; + Table = 700; } # { # routingPolicyRuleConfig = { @@ -210,10 +206,8 @@ in { linkConfig.RequiredForOnline = false; routingPolicyRules = [ { - routingPolicyRuleConfig = { - IncomingInterface = "wgavbr"; - Table = 700; - }; + IncomingInterface = "wgavbr"; + Table = 700; } ]; }; @@ -233,7 +227,7 @@ in { { publicKey = "h+76esMcmPLakUN/1vDlvGGf2Ovmw/IDKKxFtqXCdm8="; allowedIPs = ["0.0.0.0/0"]; - endpoint = "hawk.averyan.ru:51820"; + endpoint = "vpn.averyan.ru:51820"; persistentKeepalive = 25; } ]; diff --git a/machines/whale/dns.nix b/machines/whale/dns.nix index 45baddc..1c6bba6 100644 --- a/machines/whale/dns.nix +++ b/machines/whale/dns.nix @@ -20,10 +20,11 @@ ${nullsProxy "clashofclans.com"} ${nullsProxy "brawlstars.com"} ${nullsProxy "brawlstarsgame.com"} - forward . tls://1.1.1.1 tls://1.0.0.1 { - tls_servername cloudflare-dns.com - health_check 15s - } + # forward . tls://1.1.1.1 tls://1.0.0.1 { + # tls_servername cloudflare-dns.com + # health_check 15s + # } + forward . tls://8.8.8.8 ''; certDir = config.security.acme.certs."neutrino.su".directory; in '' diff --git a/machines/whale/firesquare.nix b/machines/whale/firesquare.nix index 6c1b008..b89f105 100644 --- a/machines/whale/firesquare.nix +++ b/machines/whale/firesquare.nix @@ -14,7 +14,7 @@ in { { publicKey = "h+76esMcmPLakUN/1vDlvGGf2Ovmw/IDKKxFtqXCdm8="; allowedIPs = ["0.0.0.0/0"]; - endpoint = "hawk.averyan.ru:51820"; + endpoint = "vpn.averyan.ru:51820"; persistentKeepalive = 25; } ]; diff --git a/machines/whale/photoprism.nix b/machines/whale/photoprism.nix index 2d6d8d0..8e02f0a 100644 --- a/machines/whale/photoprism.nix +++ b/machines/whale/photoprism.nix @@ -6,8 +6,8 @@ dockerImage = pkgs.dockerTools.pullImage { imageName = "photoprism/photoprism"; finalImageTag = "latest"; - imageDigest = "sha256:80b6bedef9dca00f4962c229cb7136df50d28d8ac51a4b7471fbde16b057ff8b"; - sha256 = "nhMfI5jQjgYjZiadPbPSY4v6UhfbyKNTtoh2XfYNfok="; + imageDigest = "sha256:5db91badeec3f1e32a624f9e6c70541fe5d28ddfd5447d5d258046a5768c1c0b"; + sha256 = "sha256-DgH5RWlYQSfSHHeRnRPFtzfFIW2CExMEk6Vu8tHJfBM="; }; in { age.secrets.photoprism.file = ../../secrets/intpass/photoprism.age; diff --git a/machines/whale/webtlo.nix b/machines/whale/webtlo.nix index 46a8239..5c62850 100644 --- a/machines/whale/webtlo.nix +++ b/machines/whale/webtlo.nix @@ -2,8 +2,8 @@ dockerImage = pkgs.dockerTools.pullImage { imageName = "berkut174/webtlo"; finalImageTag = "latest"; - imageDigest = "sha256:85b3fb3927072249b81ce0690247d1db0b7e8975ab06e8a2122a554c55c0de87"; - sha256 = "cVglaqNAsNRNOPrwMRjfLUc0D5Dtf5jw6KrDaEjSUcc="; + imageDigest = "sha256:522ceaa41c39ff46825d5fcab9908c8b806d4b7bf5ce70c2f2a61305d8cff440"; + sha256 = "sha256-UioNfJ1YfQMb12mQ5sRACxcZoNQ0CyxYtVzoM77Ikug="; }; in { virtualisation.oci-containers = { diff --git a/modules/nebula-averyan.nix b/modules/nebula-averyan.nix index f93dafd..0301ee5 100644 --- a/modules/nebula-averyan.nix +++ b/modules/nebula-averyan.nix @@ -79,12 +79,17 @@ in { "10.57.1.10" = [ "95.165.105.90:4242" ]; + "10.57.1.20" = [ + # "5.42.84.150:4242" + "10.8.7.1:4242" + ]; }; settings = { lighthouse = { remote_allow_list = { "0200::/7" = false; + # "10.8.7.1/32" = true; }; }; punchy = { diff --git a/profiles/apps/misc-a.nix b/profiles/apps/misc-a.nix index 87cba4d..7e326a7 100644 --- a/profiles/apps/misc-a.nix +++ b/profiles/apps/misc-a.nix @@ -58,6 +58,7 @@ kmplot helvum betaflight-configurator + brave ]; xdg.mimeApps = { @@ -67,6 +68,8 @@ "image/jpeg" = "org.gnome.gThumb.desktop"; }; }; + + services.kdeconnect.enable = true; }; nixpkgs.config.permittedInsecurePackages = [ @@ -93,5 +96,6 @@ ".config/kicad" ".local/share/kicad" + ".config/BraveSoftware" ]; } diff --git a/profiles/apps/vscode.nix b/profiles/apps/vscode.nix index 276e342..d5d6f0f 100644 --- a/profiles/apps/vscode.nix +++ b/profiles/apps/vscode.nix @@ -11,48 +11,68 @@ }; home-manager.users.alex = { + home.packages = with pkgs; [gh-copilot]; + + home.file.".vscode/argv.json".text = builtins.toJSON { + enable-crash-reporter = false; + password-store = "gnome"; + }; + programs.vscode = { enable = true; - package = pkgs.vscodium; + package = pkgs.vscode; + mutableExtensionsDir = false; - extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.hostPlatform.system}; [ - # Python - open-vsx.ms-python.python - open-vsx.ms-toolsai.jupyter - open-vsx.njpwerner.autodocstring - - # Other langs - open-vsx.redhat.java - open-vsx.redhat.vscode-xml - open-vsx.redhat.vscode-yaml - open-vsx.tamasfe.even-better-toml - vscode-marketplace.rust-lang.rust-analyzer - open-vsx.serayuzgur.crates - vscode-marketplace.ms-vscode.cpptools - open-vsx.james-yu.latex-workshop - open-vsx.jnoortheen.nix-ide - # open-vsx.galarius.vscode-opencl - - # SQL - open-vsx.mtxr.sqltools - open-vsx.mtxr.sqltools-driver-mysql - open-vsx.mtxr.sqltools-driver-pg - open-vsx.mtxr.sqltools-driver-sqlite - vscode-marketplace.surendrajat.apklab - vscode-marketplace.loyieking.smalise - - # Tools - open-vsx.editorconfig.editorconfig - vscode-marketplace.earshinov.sort-lines-by-selection - vscode-marketplace.gruntfuggly.todo-tree - vscode-marketplace.stkb.rewrap - vscode-marketplace.tyriar.sort-lines - - # Misc - open-vsx.mkhl.direnv - open-vsx.gitlab.gitlab-workflow - open-vsx.wakatime.vscode-wakatime - ]; + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + + extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.hostPlatform.system}; + [ + # Python + open-vsx.njpwerner.autodocstring + + # Other langs + open-vsx.redhat.java + open-vsx.redhat.vscode-xml + open-vsx.redhat.vscode-yaml + open-vsx.tamasfe.even-better-toml + vscode-marketplace.rust-lang.rust-analyzer + open-vsx.serayuzgur.crates + vscode-marketplace.ms-vscode.cpptools + open-vsx.james-yu.latex-workshop + open-vsx.jnoortheen.nix-ide + vscode-marketplace.galarius.vscode-opencl + vscode-marketplace.mechatroner.rainbow-csv + vscode-marketplace.github.vscode-github-actions + + # SQL + open-vsx.mtxr.sqltools + open-vsx.mtxr.sqltools-driver-mysql + open-vsx.mtxr.sqltools-driver-pg + open-vsx.mtxr.sqltools-driver-sqlite + vscode-marketplace.surendrajat.apklab + vscode-marketplace.loyieking.smalise + + # Tools + open-vsx.editorconfig.editorconfig + vscode-marketplace.earshinov.sort-lines-by-selection + vscode-marketplace.gruntfuggly.todo-tree + vscode-marketplace.stkb.rewrap + vscode-marketplace.tyriar.sort-lines + + # Misc + open-vsx.mkhl.direnv + open-vsx.gitlab.gitlab-workflow + open-vsx.wakatime.vscode-wakatime + ] + ++ (with pkgs.vscode-extensions; [ + github.copilot + ms-python.python + ms-python.vscode-pylance + ms-python.black-formatter + ms-python.isort + ms-toolsai.jupyter + ]); userSettings = { "nix.enableLanguageServer" = true; "nix.serverPath" = "${pkgs.nil}/bin/nil"; @@ -67,6 +87,7 @@ "editor.quickSuggestions" = { "strings" = true; }; + "editor.tabCompletion" = "on"; # VCS "diffEditor.ignoreTrimWhitespace" = false; @@ -74,6 +95,8 @@ "git.confirmSync" = false; "git.enableSmartCommit" = true; + "editor.fontLigatures" = "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'"; + "editor.fontFamily" = "'Monaspace Neon', monospace"; "terminal.integrated.fontFamily" = "MesloLGS NF"; # Other @@ -81,9 +104,36 @@ "files.autoSave" = "afterDelay"; "redhat.telemetry.enabled" = false; "sortLines.filterBlankLines" = true; + "workbench.startupEditor" = "none"; + "direnv.restart.automatic" = true; + + "C_Cpp.clang_format_path" = "${pkgs.clang-tools}/bin/clang-format"; + "OpenCL.formatting.name" = "${pkgs.clang-tools}/bin/clang-format"; + + "python.defaultInterpreterPath" = "${pkgs.python3}/bin/python"; + "python.linting.flake8Enabled" = false; + "python.linting.flake8Path" = "${pkgs.python3Packages.flake8}/bin/flake8"; + "python.linting.mypyEnabled" = true; + "python.linting.mypyPath" = "${pkgs.mypy}/bin/mypy"; + "python.linting.pydocstyleEnabled" = true; + "python.linting.pydocstylePath" = "${pkgs.python3Packages.pydocstyle}/bin/pydocstyle"; + "python.formatting.blackArgs" = ["-l120" "-tpy311"]; + "python.languageServer" = "Pylance"; + "python.sortImports.path" = "${pkgs.python3Packages.isort}/bin/isort"; + "python.formatting.provider" = "black"; + "python.formatting.blackPath" = "${pkgs.black}/bin/black"; + "python.formatting.autopep8Path" = "${pkgs.python3Packages.autopep8}/bin/autopep8"; + "python.formatting.yapfPath" = "${pkgs.yapf}/bin/yapf"; + "python.testing.pytestEnabled" = true; + "python.testing.pytestPath" = "${pkgs.python3Packages.pytest}/bin/pytest"; + "python.venvPath" = "~/.cache/pypoetry/virtualenvs"; + "python.poetryPath" = "${pkgs.poetry}/bin/poetry"; + "python.analysis.autoImportCompletions" = true; + # "python.envFile" = "\${workspaceFolder}/.env"; + # "python.analysis.typeCheckingMode" = "basic"; }; }; }; - persist.state.homeDirs = [".config/VSCodium"]; + persist.state.homeDirs = [".config/Code"]; } diff --git a/profiles/fonts.nix b/profiles/fonts.nix index bbf8c0b..6270d6a 100644 --- a/profiles/fonts.nix +++ b/profiles/fonts.nix @@ -5,6 +5,7 @@ corefonts # Proprietary: Times New Roman, etc jetbrains-mono meslo-lgs-nf + monaspace noto-fonts noto-fonts-cjk noto-fonts-extra diff --git a/profiles/nixld.nix b/profiles/nixld.nix index b47dfd5..8a5bb7b 100644 --- a/profiles/nixld.nix +++ b/profiles/nixld.nix @@ -1,5 +1,11 @@ -{inputs, ...}: { - imports = [ - inputs.nix-ld.nixosModules.nix-ld - ]; +{ + inputs, + lib, + pkgs, + ... +}: { + # imports = [ + # inputs.nix-ld.nixosModules.nix-ld + # ]; + programs.nix-ld.enable = true; } diff --git a/profiles/pmbootstrap.nix b/profiles/pmbootstrap.nix index fad404a..faccafc 100644 --- a/profiles/pmbootstrap.nix +++ b/profiles/pmbootstrap.nix @@ -1,6 +1,12 @@ -{pkgs, ...}: { +{ + pkgs, + lib, + ... +}: { home-manager.users.alex = { - home.packages = [pkgs.pmbootstrap]; + home.packages = [ + # pmbootstrap + ]; }; persist.state.homeDirs = [".local/var/pmbootstrap"]; diff --git a/profiles/proxy.nix b/profiles/proxy.nix new file mode 100644 index 0000000..da4fac5 --- /dev/null +++ b/profiles/proxy.nix @@ -0,0 +1,19 @@ +{ + services.privoxy = { + enable = true; + settings = { + toggle = "0"; + enable-remote-toggle = "0"; + forward-socks5 = [ + "api.github.com falcon:1080 ." + "copilot-proxy.githubusercontent.com falcon:1080 ." + "rutracker.org falcon:1080 ." + ]; + }; + }; + + environment.sessionVariables = { + HTTPS_PROXY = "http://localhost:8118"; + HTTP_PROXY = "http://localhost:8118"; + }; +} diff --git a/profiles/server/mail.nix b/profiles/server/mail.nix deleted file mode 100644 index 76e22c3..0000000 --- a/profiles/server/mail.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ - config, - inputs, - ... -}: let - commonSieve = '' - require ["fileinto"]; - - if header :contains ["Chat-Version"] [""] { - fileinto "DeltaChat"; - stop; - } - ''; -in { - imports = [ - inputs.mailserver.nixosModules.mailserver - ]; - - services.dovecot2.sieve.extensions = ["fileinto"]; - - mailserver = { - enable = true; - fqdn = "hawk.averyan.ru"; - domains = ["averyan.ru"]; - - indexDir = "/var/lib/dovecot/indices"; - fullTextSearch = { - enable = true; - autoIndex = true; - indexAttachments = true; - }; - - vmailUserName = "vmail"; - vmailGroupName = "vmail"; - - useFsLayout = true; - - certificateScheme = "manual"; - certificateFile = config.security.acme.certs."averyan.ru".directory + "/fullchain.pem"; - keyFile = config.security.acme.certs."averyan.ru".directory + "/key.pem"; - - dkimKeyBits = 2048; - - mailboxes = { - Trash = { - auto = "create"; - specialUse = "Trash"; - }; - Archive = { - auto = "create"; - specialUse = "Archive"; - }; - Junk = { - auto = "subscribe"; - specialUse = "Junk"; - }; - Drafts = { - auto = "subscribe"; - specialUse = "Drafts"; - }; - Sent = { - auto = "subscribe"; - specialUse = "Sent"; - }; - }; - - loginAccounts = { - "alex@averyan.ru" = { - hashedPasswordFile = config.age.secrets.mail-alex.path; - sieveScript = commonSieve; - }; - "sonya8128@averyan.ru" = { - hashedPasswordFile = config.age.secrets.mail-sonya8128.path; - sieveScript = commonSieve; - }; - "cofob@averyan.ru" = { - hashedPasswordFile = config.age.secrets.mail-cofob.path; - sieveScript = commonSieve; - }; - }; - }; - - age.secrets.mail-alex.file = ../../secrets/mail/alex.age; - age.secrets.mail-sonya8128.file = ../../secrets/mail/sonya8128.age; - age.secrets.mail-cofob.file = ../../secrets/mail/cofob.age; - - persist.state.dirs = [ - { - directory = "/var/dkim"; - user = "opendkim"; - group = "opendkim"; - mode = "u=rwx,g=rx,o=rx"; - } - { - directory = "/var/sieve"; - user = "vmail"; - group = "vmail"; - mode = "u=rwx,g=rwx,o="; - } - { - directory = "/var/vmail"; - user = "vmail"; - group = "vmail"; - mode = "u=rwx,g=rws,o="; - } - { - directory = "/var/lib/dovecot"; - user = "root"; - group = "root"; - mode = "u=rwx,g=rx,o=rx"; - } - { - directory = "/var/lib/postfix"; - user = "root"; - group = "root"; - mode = "u=rwx,g=rx,o=rx"; - } - { - directory = "/var/lib/redis-rspamd"; - user = "redis-rspamd"; - group = "redis-rspamd"; - mode = "u=rwx,g=,o="; - } - { - directory = "/var/lib/rspamd"; - user = "rspamd"; - group = "rspamd"; - mode = "u=rwx,g=,o="; - } - { - directory = "/var/spool/mail"; - user = "root"; - group = "root"; - mode = "u=rwx,g=rwx,o=rwt"; - } - ]; -} diff --git a/profiles/shell/misc-s.nix b/profiles/shell/misc-s.nix index 11b459e..396013e 100644 --- a/profiles/shell/misc-s.nix +++ b/profiles/shell/misc-s.nix @@ -32,6 +32,7 @@ pv # stdout speed fd # user-friendly find websocat # websocket terminal client + payload-dumper-go ]; home.sessionVariables = { diff --git a/profiles/ssh-server.nix b/profiles/ssh-server.nix index e6ae1da..4e9ec1f 100644 --- a/profiles/ssh-server.nix +++ b/profiles/ssh-server.nix @@ -8,6 +8,8 @@ }; }; + systemd.services.openssh.after = ["nebula@averyan.service"]; + environment.systemPackages = [pkgs.mosh]; networking.firewall = { interfaces."nebula.averyan".allowedTCPPorts = [22]; diff --git a/profiles/unfree.nix b/profiles/unfree.nix index 875a67e..0fa396c 100644 --- a/profiles/unfree.nix +++ b/profiles/unfree.nix @@ -2,6 +2,10 @@ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "vscode-extension-ms-vscode-cpptools" + "vscode-extension-github-copilot" + "vscode-extension-MS-python-vscode-pylance" + "vscode" + "gh-copilot" "corefonts" "hplip" ]; diff --git a/profiles/wireshark.nix b/profiles/wireshark.nix new file mode 100644 index 0000000..114a0e2 --- /dev/null +++ b/profiles/wireshark.nix @@ -0,0 +1,4 @@ +{ + programs.wireshark.enable = true; + users.users.alex.extraGroups = ["wireshark"]; +} diff --git a/roles/desktop.nix b/roles/desktop.nix index 3e175be..59b92ee 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -1,19 +1,16 @@ {inputs, ...}: { imports = [ - ./base.nix + ./full.nix ] - ++ (with inputs.self.nixosModules.modules; [ - nebula-frsqr - ]) ++ (with inputs.self.nixosModules.profiles; with apps; [ alacritty firefox + misc-a mpv vscode - misc-a ] ++ (with games; [ minecraft @@ -25,9 +22,9 @@ # sway clipboard eww - sway portals rofi + sway swaylock swaync swayosd @@ -36,6 +33,7 @@ wm ]) ++ [ + # jupyter adb autologin embedded @@ -50,11 +48,12 @@ pipewire podman printing + proxy sdr + shell.rust sync tank - # jupyter waydroid - shell.rust + wireshark ]); } diff --git a/roles/base.nix b/roles/full.nix similarity index 85% rename from roles/base.nix rename to roles/full.nix index e1d0c1b..63a0533 100644 --- a/roles/base.nix +++ b/roles/full.nix @@ -1,24 +1,21 @@ {inputs, ...}: { imports = - (with inputs.self.nixosModules.modules; [ - nebula-averyan - persist - ]) + [./minimal.nix] ++ (with inputs.self.nixosModules.profiles; with shell; [ - gpg - zsh - direnv eza fzf git - zoxide - neovim + gpg misc-s + neovim + zoxide ] ++ [ + # mining + # qemu agenix apparmor boot @@ -28,24 +25,22 @@ filesystems home hosts - misc-p locale logs + misc-p monitoring - mining nebula-averyan nftables nix nur persist polkit - qemu ssh-server + stable sudo timezone unfree unsecure - stable userdirs users vmvariant diff --git a/roles/minimal.nix b/roles/minimal.nix new file mode 100644 index 0000000..f79cd8c --- /dev/null +++ b/roles/minimal.nix @@ -0,0 +1,43 @@ +{inputs, ...}: { + imports = + (with inputs.self.nixosModules.modules; [ + nebula-averyan + persist + ]) + ++ (with inputs.self.nixosModules.profiles; [ + # mining + # qemu + agenix + apparmor + boot + console + dhcp + dns + filesystems + home + hosts + locale + logs + misc-p + monitoring + nebula-averyan + nftables + nix + nur + persist + polkit + shell.zsh + ssh-server + stable + sudo + timezone + unfree + unsecure + userdirs + users + vmvariant + xdg + yggdrasil + zram + ]); +} diff --git a/roles/server.nix b/roles/server.nix index c2e13db..72f2b2f 100644 --- a/roles/server.nix +++ b/roles/server.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { imports = [ - ./base.nix + ./full.nix ]; systemd = { diff --git a/secrets/creds/memexpert.age b/secrets/creds/memexpert.age index 9146a92..ea3ec95 100644 --- a/secrets/creds/memexpert.age +++ b/secrets/creds/memexpert.age @@ -1,16 +1,17 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHYvZHpyZyBvV3Fm -MDVmQzY3RW5EK2RSOGV1WGJUZ1NWV2ZtL1VERmRwU0NHTU1GYWk0CkdlVHpyVHps -NFpoaWplSlVwaTNER28wUklqMlBldTZnd3d6NlMvNURKVVEKLT4gc3NoLWVkMjU1 -MTkgblNZNlB3IE5sK0k2RFJNQkFScW1WMUM3K014dkd3OTVxa3cvSWxCSmRJak1K -Qko5aWcKenk1eTUrTTV2ZVBVT2ttc2I5MXcwSWxwRkZSMmN4cXljMDRzMUhVVjdr -ZwotPiAzSXZwLWdyZWFzZSBmWlpvRGIgSEB0QlV3IF8gNkhfTVg6Ry0KM1ozU1l2 -bUtyQQotLS0gcVJhNlQrV3BBSlRKendQRUthMGpFZFRCc1N0aEtuclc4cCtUUG0y -dy9TOArWpHDegrZiqbLix1Khy6y2nwoElxGEadXhf0z3zIm6Jdg2qPy50953eh8v -L7opwitqnI8VddeJ9CJQEdFEUSl89Vcj8xdNP44BOe/N5Rni+WfgPJGU3waYBsCJ -oa9XTLRJEGCt/IOxyBS7ojCdV2CybomDnF6sYG6T2gi6oRzT6G5kYhwXb68vgr1R -hWV05NmQbOab3DCUXxWHeeSubPh8JIUcv5TjkNgsUb8Y48X5QD6AwG71Z5U66N0f -qpmK/P9aXnStCBIXwFkIXmdai2ktRyx9/iVR+vNPWYIARVQ6ETHpI1ia0eAIDEnW -WGtk3ZY2iz/n2nYUaZsXFDIb3cCzcgZpiUTGCnAOtSyxkURY9FljuFPdg541rDm/ -6P/aFjhfFGBsz1OBLnb0ELv4r3xJx6iH5sWKLkFMTDbk6yw= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHYvZHpyZyBEMTB4 +TThhN1FQMWFMbmVER2NmRW1VZERmcXh1L0ZGN003Z0I1L2NmcmlnCnltR01KMzRN +YnNYQ3dJWTE1d09zbVQyVWdIOUl2WVo1RkU0TzFlelJLM28KLT4gc3NoLWVkMjU1 +MTkgblNZNlB3IGtzN05Yd1JoZThXeFpHY3BDUkhKMGxacURNZkMzZTNxaDZWbFZ3 +cDhTSHMKUmE3Z1ltS2k3ZmpGUy9YTklDTDJsanFtR3pkMkRKM2xGMHlpd3V1dVRk +UQotPiBvVU8pQiJxOy1ncmVhc2UgLVIoZ1cvUCBXID49UHc5KFEgdTBsCnJIVWY4 +dGhDSXlKTHk2OU9ML2lTWGFhL1NhMEIKLS0tIGF2RFBqRmxuVjJkNjFtaFMxKzlI +dy9jdXZIaHJRZUhENCtTanI1MkF3ZG8KuZpdfvGH4oDHApuuX4jR372z7MIFVRCw +6ytpMpI+6CQrgrtC8N4bzUkvQ+Dib6e54Y4eGWqaUne2fKN7ssP8gvuq0kqI3mjr +UdOJfwbBSvo3E9WXG4wKFH3Hxi6mz9/Ozm/bMZrRoL3iUII9Io8PqlhKNEFt45Fc +FOGDquQnKSEStoDust0/38+jhluwzkZaSM0aVvLxy6f5sqwsP/X4V/IHskBUdPYr +9t/1acgv59iAU6HEmW+mTkNxIZqDDL/Cn325AEHbjwIKhjs2lL6AVAvprNG0QTcs +QFNVlLO2p6nEhseYm+7QzTRwtM8mEYfTZ3BA4LNza4BZN/iHM6XPL/JJtkpXLhXe +SZm+PeQcrlCz9uSCCak6r76U1Wlir6Zr5MtXa1VlkMWQRtKyJ2SPXBOIGpQx0Q66 +YGr0D5uB -----END AGE ENCRYPTED FILE-----