From a6293a1ba43f3d50a279b774a6dc2c813c2f56ae Mon Sep 17 00:00:00 2001 From: prescientmoon Date: Fri, 26 Jul 2024 20:18:26 +0200 Subject: [PATCH] Update to nixpgks 24.05 --- common/themes/default.nix | 12 +- dns/pkgs.nix | 4 +- flake.lock | 562 ++++++++---------- flake.nix | 22 +- home/features/cli/fish/config.fish | 1 - home/features/cli/fish/default.nix | 1 - home/features/cli/gpg.nix | 17 +- home/features/cli/productivity/default.nix | 6 +- home/features/cli/productivity/intray.nix | 6 +- .../cli/productivity/smos/default.nix | 5 +- home/features/cli/zellij.nix | 4 + home/features/desktop/default.nix | 1 + home/features/desktop/firefox/default.nix | 18 +- home/features/desktop/foot.nix | 4 + home/features/desktop/wezterm/default.nix | 4 +- home/features/desktop/wezterm/wezterm.lua | 2 + home/features/desktop/zathura.nix | 1 - home/features/neovim/config/lazy-lock.json | 70 +-- .../features/neovim/config/lua/my/tempest.lua | 10 +- home/features/neovim/default.nix | 134 +---- home/features/neovim/plugins/lspconfig.lua | 3 +- home/features/persistence.nix | 7 +- home/features/wayland/global.nix | 1 - home/features/wayland/hyprland/hyprland.conf | 27 +- home/tethys.nix | 11 +- hosts/nixos/common/global/default.nix | 2 +- hosts/nixos/common/global/nix.nix | 4 +- .../nixos/common/global/services/openssh.nix | 5 - hosts/nixos/common/global/unicode.nix | 11 + hosts/nixos/common/optional/desktop/steam.nix | 1 - .../nixos/common/optional/services/kanata.nix | 125 ++-- hosts/nixos/tethys/default.nix | 2 - hosts/nixos/tethys/hardware/default.nix | 2 +- modules/README.md | 21 +- modules/common/README.md | 20 + modules/common/korora-neovim.nix | 12 +- modules/common/theming.nix | 6 +- modules/home-manager/README.md | 9 + modules/home-manager/compat/bemenu.nix | 54 -- modules/home-manager/compat/hyprpaper.nix | 135 ----- modules/home-manager/compat/k9s.nix | 28 - modules/home-manager/default.nix | 7 - modules/nixos/README.md | 11 + modules/nixos/nginx.nix | 2 +- pkgs/default.nix | 5 +- scripts/dns/dns.txt | 71 --- 46 files changed, 475 insertions(+), 991 deletions(-) create mode 100644 home/features/cli/zellij.nix create mode 100644 home/features/desktop/foot.nix create mode 100644 hosts/nixos/common/global/unicode.nix create mode 100644 modules/common/README.md create mode 100644 modules/home-manager/README.md delete mode 100644 modules/home-manager/compat/bemenu.nix delete mode 100644 modules/home-manager/compat/hyprpaper.nix delete mode 100644 modules/home-manager/compat/k9s.nix create mode 100644 modules/nixos/README.md delete mode 100644 scripts/dns/dns.txt diff --git a/common/themes/default.nix b/common/themes/default.nix index 86b4607..7d81875 100644 --- a/common/themes/default.nix +++ b/common/themes/default.nix @@ -18,7 +18,7 @@ let opacity = transparency 0.7; polarity = "dark"; }; - satellite.rounding.radius = 8.0; + satellite.rounding.radius = 8; }; # }}} # {{{ Catppuccin latte @@ -29,7 +29,7 @@ let opacity = transparency 0.7; polarity = "light"; }; - satellite.rounding.radius = 8.0; + satellite.rounding.radius = 8; }; # }}} # {{{ Catppuccin macchiato @@ -40,7 +40,7 @@ let opacity = transparency 0.7; polarity = "dark"; }; - satellite.rounding.radius = 8.0; + satellite.rounding.radius = 8; }; # }}} # {{{ Rosepine dawn @@ -61,12 +61,12 @@ let opacity = transparency 0.7; polarity = "light"; }; - satellite.rounding.radius = 8.0; + satellite.rounding.radius = 8; # For this one, I went with a big size, which means the blur just adds a slight gradient to the backgrounds. satellite.blur = { brightness = 1.05; - size = 25.0; + size = 25; }; }; # }}} @@ -78,7 +78,7 @@ let opacity = transparency 0.7; polarity = "dark"; }; - satellite.rounding.radius = 8.0; + satellite.rounding.radius = 8; }; # }}} }; diff --git a/dns/pkgs.nix b/dns/pkgs.nix index 3773b1a..837682e 100644 --- a/dns/pkgs.nix +++ b/dns/pkgs.nix @@ -1,4 +1,4 @@ -{ pkgs, self, system, ... }: rec { +{ pkgs, self, ... }: rec { octodns-zones = let nixosConfigModules = pkgs.lib.mapAttrsToList @@ -19,7 +19,7 @@ octodns-sync = pkgs.symlinkJoin { name = "octodns-sync"; - paths = [ self.packages.${system}.octodns ]; + paths = [ self.packages.${pkgs.system}.octodns ]; buildInputs = [ pkgs.makeWrapper pkgs.yq ]; postBuild = '' cat ${./octodns.yaml} | yq '.providers.zones.directory="${octodns-zones}"' > $out/config.yaml diff --git a/flake.lock b/flake.lock index 8a456f9..f94e3bd 100644 --- a/flake.lock +++ b/flake.lock @@ -5,14 +5,15 @@ "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems" }, "locked": { - "lastModified": 1701453400, - "narHash": "sha256-hI9+KBShsSfvWX7bmRa/1VI20WGat3lDXmbceMZzMS4=", + "lastModified": 1717576207, + "narHash": "sha256-LU6d1xX7jN1zt10YU7Oym07MtzVfziSmUEznGFdbuaw=", "owner": "Kirottu", "repo": "anyrun", - "rev": "e14da6c37337ffa3ee1bc66965d58ef64c1590e5", + "rev": "7aabad8d5bb7d1bffae903ce86427b888ab824b4", "type": "github" }, "original": { @@ -24,11 +25,11 @@ "autodocodec": { "flake": false, "locked": { - "lastModified": 1701673930, - "narHash": "sha256-Mv8LNgJrQpHpuxg7jMuYuUoLeWCW+0OvqST4KNJYH9k=", + "lastModified": 1719160008, + "narHash": "sha256-ZVcod9Yp3lzzZa/NEkqHp0jnxRrcMv3Z+sQ1dxmpnPo=", "owner": "NorfairKing", "repo": "autodocodec", - "rev": "958a1c51fbf2f166974a60e2d0a5d266483baff5", + "rev": "36779707f38ec3aeb0a591ff8043a63717c96ea2", "type": "github" }, "original": { @@ -203,11 +204,11 @@ "base16-schemes": { "flake": false, "locked": { - "lastModified": 1713388094, - "narHash": "sha256-wcotm0Ek2ISn8iJBzEujJQdcPLKWrPAOZ/dS/DLKafw=", + "lastModified": 1718992165, + "narHash": "sha256-9i9IjZcjvinb/214x5YShUDBZBC2189HYs26uGy/Hck=", "owner": "tinted-theming", "repo": "schemes", - "rev": "abcf2a055ae69f1bf047463332f83db3125aa8a5", + "rev": "ef9a4c3c384624694608adebf0993d7a3bed3cf2", "type": "github" }, "original": { @@ -352,11 +353,11 @@ "dekking": { "flake": false, "locked": { - "lastModified": 1702048665, - "narHash": "sha256-DHGLHBiZMNUaaVDVM979gKh2N5BqOssBIQTWGKfoPls=", + "lastModified": 1717353868, + "narHash": "sha256-skkBIDSRj0UQDgPVmiF8aj13ozkoeq94kTAhROlH8cE=", "owner": "NorfairKing", "repo": "dekking", - "rev": "e74091e032254c70740769996564d55ceac51278", + "rev": "0ac013f211e047db3d6b9ca0c67d1f6334faf561", "type": "github" }, "original": { @@ -404,11 +405,11 @@ ] }, "locked": { - "lastModified": 1716168343, - "narHash": "sha256-82oT27w9smpItZ+PyN2C0PjIwZYbIocwXSM4u1igXuc=", + "lastModified": 1720402389, + "narHash": "sha256-zJv6euDOrJWMHBhxfp/ay+Dvjwpe8YtMuEI5b09bxmo=", "owner": "nix-community", "repo": "disko", - "rev": "6f01b9710bc4d3bf006eb8df928b4b15e0430901", + "rev": "f1a00e7f55dc266ef286cc6fc8458fa2b5ca2414", "type": "github" }, "original": { @@ -436,11 +437,11 @@ "fast-myers-diff": { "flake": false, "locked": { - "lastModified": 1701674450, - "narHash": "sha256-1RP8wXPZGKB/OSdxcjvxAJCqC+trWzrNcD7UGAdpHiA=", + "lastModified": 1717390032, + "narHash": "sha256-7O9MA3G8CQtiAQaTsj5WskieLR0BhjfFAQsq7CWJFnQ=", "owner": "NorfairKing", "repo": "fast-myers-diff", - "rev": "7fe372e635f293cc76de95773bdc4f0eaae89597", + "rev": "ac52f5779739c46aa1c014108bbbd1e7464cdf75", "type": "github" }, "original": { @@ -468,11 +469,11 @@ "feedback": { "flake": false, "locked": { - "lastModified": 1705617203, - "narHash": "sha256-KbhdkpYQ3H6/SJ25BZCOOpE3VGGMN8MDfj3SKERZjX8=", + "lastModified": 1713169350, + "narHash": "sha256-ExwxuftE018oszRTUmjP/Nu6zSFoCpyKqfsGMABHT/U=", "owner": "NorfairKing", "repo": "feedback", - "rev": "19c15ebcac752b7c53959799afaeb841ab3b77ed", + "rev": "c727298d7b34252a5e9b360805c7d51252589a0a", "type": "github" }, "original": { @@ -490,11 +491,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1711500952, - "narHash": "sha256-YEF6ycTwkcuZq1ocon+JahHgwuQLQtpH2js1j+gN8K8=", + "lastModified": 1720411406, + "narHash": "sha256-Z3tMBbMeYQKz1YYmSnbLglG9lm1l/EU+h3CFPJCli4I=", "ref": "refs/heads/master", - "rev": "d0df0c83bfe2e7ed6e26259a289d7056c4001ced", - "revCount": 3473, + "rev": "a2a2d880d5ec199ee333c9bf929865d65f92a1d4", + "revCount": 3677, "type": "git", "url": "https://gitlab.com/rycee/nur-expressions?dir=pkgs/firefox-addons" }, @@ -523,11 +524,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": { @@ -569,22 +570,6 @@ } }, "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, @@ -600,7 +585,7 @@ "type": "github" } }, - "flake-compat_7": { + "flake-compat_6": { "flake": false, "locked": { "lastModified": 1696426674, @@ -616,7 +601,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1673956053, @@ -640,11 +625,11 @@ ] }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -734,24 +719,6 @@ } }, "flake-utils_2": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { "inputs": { "systems": "systems_2" }, @@ -769,7 +736,7 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -784,7 +751,7 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_4": { "inputs": { "systems": "systems_3" }, @@ -802,6 +769,24 @@ "type": "github" } }, + "flake-utils_5": { + "inputs": { + "systems": "systems_4" + }, + "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_6": { "inputs": { "systems": "systems_5" @@ -875,11 +860,11 @@ "fuzzy-time": { "flake": false, "locked": { - "lastModified": 1705590242, - "narHash": "sha256-c210cnnkceOIvbuYpaVnQSyLDpOb2tKmcG0mOxQ3+5A=", + "lastModified": 1713892122, + "narHash": "sha256-CcwVLbQaeeKRT7XMnA10XRSdfwOFhu5981oxK/sUPQs=", "owner": "NorfairKing", "repo": "fuzzy-time", - "rev": "a0966a82eea64afaa165f42ef258ec2052ec97be", + "rev": "062cf02b999c7ed9fe380ce5db1c352964290303", "type": "github" }, "original": { @@ -890,11 +875,11 @@ }, "get-flake": { "locked": { - "lastModified": 1694475786, - "narHash": "sha256-s5wDmPooMUNIAAsxxCMMh9g68AueGg63DYk2hVZJbc8=", + "lastModified": 1714237590, + "narHash": "sha256-9gtHdGbzFHaR20xORN8IYd67ROWS+1nqQ5CsPf9MD8I=", "owner": "ursi", "repo": "get-flake", - "rev": "ac54750e3b95dab6ec0726d77f440efe6045bec1", + "rev": "a6c57417d1b857b8be53aba4095869a0f438c502", "type": "github" }, "original": { @@ -912,11 +897,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -999,11 +984,11 @@ ] }, "locked": { - "lastModified": 1670417232, - "narHash": "sha256-mSKwKYAmOrKW2VQ7AL1x5GOFmbXd5FV02ImxdJl+mZg=", + "lastModified": 1712559772, + "narHash": "sha256-R7VaJAIXFH8yCBLCY8tIsRPEgPNX4aFL2iAZhbIRoao=", "owner": "NorfairKing", "repo": "haskell-dependency-graph-nix", - "rev": "1dd987dee4863e47f69eae2b1e3df1b747d43e53", + "rev": "9f9ac5184baa7f1b6ff759bffab517d2d7447338", "type": "github" }, "original": { @@ -1024,11 +1009,11 @@ ] }, "locked": { - "lastModified": 1670417232, - "narHash": "sha256-mSKwKYAmOrKW2VQ7AL1x5GOFmbXd5FV02ImxdJl+mZg=", + "lastModified": 1712559772, + "narHash": "sha256-R7VaJAIXFH8yCBLCY8tIsRPEgPNX4aFL2iAZhbIRoao=", "owner": "NorfairKing", "repo": "haskell-dependency-graph-nix", - "rev": "1dd987dee4863e47f69eae2b1e3df1b747d43e53", + "rev": "9f9ac5184baa7f1b6ff759bffab517d2d7447338", "type": "github" }, "original": { @@ -1066,30 +1051,30 @@ ] }, "locked": { - "lastModified": 1715381426, - "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, "home-manager_2": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1702195709, - "narHash": "sha256-+zRjWkm5rKqQ57PuLZ3JF3xi3vPMiOJzItb1m/43Cq4=", + "lastModified": 1714043624, + "narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=", "owner": "nix-community", "repo": "home-manager", - "rev": "6761b8188b860f374b457eddfdb05c82eef9752f", + "rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411", "type": "github" }, "original": { @@ -1100,25 +1085,6 @@ } }, "home-manager_3": { - "inputs": { - "nixpkgs": "nixpkgs_9" - }, - "locked": { - "lastModified": 1710888565, - "narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-23.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_4": { "inputs": { "nixpkgs": [ "stylix", @@ -1142,11 +1108,11 @@ "ical": { "flake": false, "locked": { - "lastModified": 1701881999, - "narHash": "sha256-tMw9s2qI9jAs8tUHfam11u1rZo4Sjs95BWcX8S55RKs=", + "lastModified": 1711669230, + "narHash": "sha256-4urRUX+DBkFnT1FxwkpfBeNDbNQEgT/jVhn2AHf61PE=", "owner": "NorfairKing", "repo": "ical", - "rev": "601ff6dd9e48e87fec524056e2e7e2234aabe147", + "rev": "34acdf5e6df3aa1a3fdeb96e2870af179177d6da", "type": "github" }, "original": { @@ -1157,11 +1123,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": { @@ -1176,25 +1142,24 @@ "dekking": "dekking", "fast-myers-diff": "fast-myers-diff", "haskell-dependency-graph-nix": "haskell-dependency-graph-nix", - "home-manager": "home-manager_2", "linkcheck": "linkcheck", "mergeless": "mergeless", - "nixpkgs": "nixpkgs_2", - "openapi-code-generator": "openapi-code-generator", + "nixpkgs": "nixpkgs", "pre-commit-hooks": "pre-commit-hooks", "safe-coloured-text": "safe-coloured-text", "seocheck": "seocheck", "sydtest": "sydtest", "validity": "validity", + "weeder-nix": "weeder-nix", "yesod-autoreload": "yesod-autoreload", "yesod-static-remote": "yesod-static-remote" }, "locked": { - "lastModified": 1706973371, - "narHash": "sha256-9xfpX0yPGXp1QiWSCrnyKCClHEUGfaMTTUR4sdlVTSA=", + "lastModified": 1719410565, + "narHash": "sha256-0/LaAC5jWnHWzHeKzFQoVy263IPqTr6wwEViMbSasjE=", "owner": "NorfairKing", "repo": "intray", - "rev": "01317d051f7745a02f7786a69d7fc67c3c7e86c7", + "rev": "7f24257eaab3a2fa160183eb86f6e91358552a1f", "type": "github" }, "original": { @@ -1205,7 +1170,7 @@ }, "korora": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1702807380, @@ -1224,11 +1189,11 @@ "linkcheck": { "flake": false, "locked": { - "lastModified": 1701875443, - "narHash": "sha256-+M79SDqj833VtQ31G+gYn2kYnnRP1Ju7fglGKbdKOfw=", + "lastModified": 1717401761, + "narHash": "sha256-uoEx0gMbMgqGN6V08JpoKRxQ3Nclqic8yK/8SHI/Cbc=", "owner": "NorfairKing", "repo": "linkcheck", - "rev": "02d6a52177f4ea77dbd62fba04f51b0702797ca5", + "rev": "6f2555cb1ebf44535db5f6d7047c7f4d95837cbb", "type": "github" }, "original": { @@ -1288,11 +1253,11 @@ "mergeless": { "flake": false, "locked": { - "lastModified": 1701875444, - "narHash": "sha256-w4jSyaT7EnJO6UpjYMtme3eHEtTTGU1ig0ZhqWt1A0s=", + "lastModified": 1719329226, + "narHash": "sha256-tDdN5HOQq93oo/+eMEt99yQGVI9SolIyEoNFUJxd03E=", "owner": "NorfairKing", "repo": "mergeless", - "rev": "6eaf0f7cbff4b11cc2c56f95366f77ed5c2ec1b7", + "rev": "1ccb65b1625a482054bc8cfe2c3a71dc9b13d189", "type": "github" }, "original": { @@ -1303,7 +1268,7 @@ }, "miros": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ], @@ -1326,7 +1291,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_4", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -1375,7 +1340,7 @@ "nix-eval-jobs": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -1399,11 +1364,11 @@ ] }, "locked": { - "lastModified": 1702177733, - "narHash": "sha256-lr3hkmmuqDFPj3i41cHpaALF3Txo3kxsJ3L6jZLujJ8=", + "lastModified": 1720334033, + "narHash": "sha256-X9pEvvHTVWJphhbUYqXvlLedOndNqGB7rvhSvL2CIgU=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "58ecd98e27e27fcbb27a51a588555c828b1ec56e", + "rev": "685e40e1348007d2cf76747a201bab43d86b38cb", "type": "github" }, "original": { @@ -1412,36 +1377,13 @@ "type": "github" } }, - "nixos-dns": { - "inputs": { - "flake-compat": "flake-compat_5", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_4", - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1715321534, - "narHash": "sha256-cDTRRrLj08k867/lajKXkCg9HTNWuoYGfgr8wyAVaTY=", - "owner": "Janik-Haag", - "repo": "nixos-dns", - "rev": "c4f734d771038db15700a61a8703d0da5f993b3a", - "type": "github" - }, - "original": { - "owner": "Janik-Haag", - "repo": "nixos-dns", - "type": "github" - } - }, "nixos-hardware": { "locked": { - "lastModified": 1711352745, - "narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=", + "lastModified": 1720429258, + "narHash": "sha256-d6JI5IgJ1xdrk7DvYVx7y8ijcYz5I1nhCwOiDP6cq00=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0", + "rev": "72d3c007024ce47d838bb38693c8773812f54bf2", "type": "github" }, "original": { @@ -1453,32 +1395,32 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700204040, - "narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=", + "lastModified": 1719253556, + "narHash": "sha256-A/76RFUVxZ/7Y8+OMVL1Lc8LRhBxZ8ZE2bpMnvZ1VpY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad", + "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "lastModified": 1718811006, + "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -1517,27 +1459,27 @@ }, "nixpkgs-stable_4": { "locked": { - "lastModified": 1711233294, - "narHash": "sha256-eEu5y4J145BYDw9o/YEmeJyqh8blgnZwuz9k234zuWc=", + "lastModified": 1720282526, + "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68", + "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1711523803, - "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -1548,22 +1490,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1705331948, - "narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1701539137, "narHash": "sha256-nVO/5QYpf1GwjvtpXhyxx5M3U/WN0MwBro4Lsk+9mL0=", @@ -1579,7 +1505,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_11": { "locked": { "lastModified": 1689261696, "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", @@ -1595,7 +1521,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_12": { "locked": { "lastModified": 1710765496, "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", @@ -1611,7 +1537,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_13": { "locked": { "lastModified": 1700856099, "narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=", @@ -1629,27 +1555,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702346276, - "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1689261696, - "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { @@ -1659,7 +1569,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1702272962, "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", @@ -1673,7 +1583,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1693443141, "narHash": "sha256-uvXHx0ysNeEPC4UjPiwNgX/8z9ItBS4GLkcM7ency+w=", @@ -1689,7 +1599,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1679679161, "narHash": "sha256-weTfVvy077MKvm+62R3dj+EpL9u7xe/PTWWH8nDHYfM=", @@ -1704,7 +1614,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1658371388, "narHash": "sha256-ACjtJNUAqjAdR+o5EDcOGgK3aseB+IF1TSBNPVftdLg=", @@ -1720,17 +1630,33 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "lastModified": 1720691131, + "narHash": "sha256-CWT+KN8aTPyMIx8P303gsVxUnkinIz0a/Cmasz1jyIM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "rev": "a046c1202e11b62cbede5385ba64908feb7bfac4", "type": "github" }, "original": { "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1705331948, + "narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", + "type": "github" + }, + "original": { + "owner": "NixOS", "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" @@ -1747,42 +1673,27 @@ }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", "repo": "nixpkgs", + "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", "type": "github" } }, "openapi-code-generator": { - "flake": false, - "locked": { - "lastModified": 1702632142, - "narHash": "sha256-WA2SDidIOwWICL9ycH4ZrvWSE+2mkg3B1FsJApfkROU=", - "owner": "Haskell-OpenAPI-Code-Generator", - "repo": "Haskell-OpenAPI-Client-Code-Generator", - "rev": "35f6ea94d0b49ead5cbb88b56027dd8e18c1aaa7", - "type": "github" - }, - "original": { - "owner": "Haskell-OpenAPI-Code-Generator", - "repo": "Haskell-OpenAPI-Client-Code-Generator", - "type": "github" - } - }, - "openapi-code-generator_2": { "inputs": { "autodocodec": "autodocodec_3", - "nixpkgs": "nixpkgs_11", + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_10", "pre-commit-hooks": "pre-commit-hooks_2", "safe-coloured-text": "safe-coloured-text_2", "sydtest": "sydtest_2", "validity": "validity_2" }, "locked": { - "lastModified": 1711211082, - "narHash": "sha256-+H7xCJfbZNvFYNchtpPI04ebVRR9gJf1Av1j5oYMFi8=", + "lastModified": 1714369690, + "narHash": "sha256-4dqJWghB6+EVeENVmBADlR5INhJBWrW2tnitZV14GK8=", "owner": "Haskell-OpenAPI-Code-Generator", "repo": "Haskell-OpenAPI-Client-Code-Generator", - "rev": "0a767d7b537b8b974fe7df5576254d948f96df38", + "rev": "0294df4a3b915d936364689b4bda50565e8e3f4c", "type": "github" }, "original": { @@ -1794,17 +1705,16 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1702456155, - "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -1815,10 +1725,10 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "flake-utils": "flake-utils_6", "gitignore": "gitignore_2", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_11", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -1837,18 +1747,18 @@ }, "pre-commit-hooks_3": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_6", "flake-utils": "flake-utils_7", "gitignore": "gitignore_3", - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_12", "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1711409088, - "narHash": "sha256-+rTCra8TY4vuSNTtQ0tcex1syCRPoKyb8vyHmoxkga4=", + "lastModified": 1713954846, + "narHash": "sha256-RWFafuSb5nkWGu8dDbW7gVb8FOQOPqmX/9MlxUUDguw=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "db656fc3e34907000df26e8bc5cc3c94fb27f353", + "rev": "6fb82e44254d6a0ece014ec423cb62d92435336f", "type": "github" }, "original": { @@ -1859,8 +1769,8 @@ }, "purenix": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_7" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1659759527, @@ -1935,7 +1845,7 @@ "inputs": { "easy-purescript-nix": "easy-purescript-nix", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "purenix": "purenix", "purescript-registry": "purescript-registry", "purescript-registry-index": "purescript-registry-index" @@ -1968,9 +1878,8 @@ "miros": "miros", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixos-dns": "nixos-dns", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "nixpkgs-unstable": "nixpkgs-unstable", "smos": "smos", "sops-nix": "sops-nix", @@ -1981,11 +1890,11 @@ "safe-coloured-text": { "flake": false, "locked": { - "lastModified": 1701941869, - "narHash": "sha256-BOsn+Q92scoIy0XPqAIjZ5iio2WE5mx0DThCdL1ajUs=", + "lastModified": 1719159317, + "narHash": "sha256-5P+iUgLtQa7p9XzX7gt9pfJBLzAfGJ0dlb1Lw0eZIv0=", "owner": "NorfairKing", "repo": "safe-coloured-text", - "rev": "b8f83cfb47ed6ada2da2d55979cf2b7dd3867b2f", + "rev": "61f14d21b7399fe97da24e484c2f9fedaf532bb8", "type": "github" }, "original": { @@ -2013,11 +1922,11 @@ "safe-coloured-text_3": { "flake": false, "locked": { - "lastModified": 1711451746, - "narHash": "sha256-anR90ESjXuKTrsb9/VEtHtRi+JkxA/3Y+x6N4IayRQs=", + "lastModified": 1711626793, + "narHash": "sha256-Pu7cKBjljx7wY4OoQ6T6Uu92+Hsj2SnuutYsVN3U89A=", "owner": "NorfairKing", "repo": "safe-coloured-text", - "rev": "67b2d81b41b44bc4a6f6f17180f89714796bde40", + "rev": "4161e707b1b0a8090a7149b8195f15943fa29fa9", "type": "github" }, "original": { @@ -2029,11 +1938,11 @@ "seocheck": { "flake": false, "locked": { - "lastModified": 1701875442, - "narHash": "sha256-DbMNVgSmt2weeJ9Th6vN+vuyiaaJJwzV8QqoDV2qHro=", + "lastModified": 1719344787, + "narHash": "sha256-Kd16xliSLZgegkIRP9JL3dzM3r00BEt3gDerXE6nH40=", "owner": "NorfairKing", "repo": "seocheck", - "rev": "ae488b173bdd3962b7429ae4fed7c9bc11250a4d", + "rev": "eacc6c6455bd557d9d40267e9b8c5146ff7cdd19", "type": "github" }, "original": { @@ -2096,13 +2005,13 @@ "fuzzy-time": "fuzzy-time", "get-flake": "get-flake", "haskell-dependency-graph-nix": "haskell-dependency-graph-nix_2", - "home-manager": "home-manager_3", + "home-manager": "home-manager_2", "ical": "ical", "linkcheck": "linkcheck_2", "looper": "looper", "mergeful": "mergeful", - "nixpkgs": "nixpkgs_10", - "openapi-code-generator": "openapi-code-generator_2", + "nixpkgs": "nixpkgs_9", + "openapi-code-generator": "openapi-code-generator", "pre-commit-hooks": "pre-commit-hooks_3", "safe-coloured-text": "safe-coloured-text_3", "seocheck": "seocheck_2", @@ -2110,15 +2019,16 @@ "sydtest": "sydtest_3", "template-haskell-reload": "template-haskell-reload", "validity": "validity_3", + "weeder-nix": "weeder-nix_2", "yesod-autoreload": "yesod-autoreload_2", "yesod-static-remote": "yesod-static-remote_2" }, "locked": { - "lastModified": 1711465072, - "narHash": "sha256-zbXtil3Z3DA3/c5QnDmkzX2MXTrWuujsx8ynYUAeBjA=", + "lastModified": 1715688920, + "narHash": "sha256-xt90LzPDao/m04Zhi0H44zCfvAFBtOV6LJmHTSCzyRI=", "owner": "NorfairKing", "repo": "smos", - "rev": "0801f057306aeba472aea816d054ebae3fc22205", + "rev": "8c7f97b3aba304e6d0ac6d36493f9c22600a4572", "type": "github" }, "original": { @@ -2130,11 +2040,11 @@ "smos-latest-release": { "flake": false, "locked": { - "lastModified": 1707785726, - "narHash": "sha256-oSG0hhI+iBc6gugIHcw3HVghz7NliO7+RgIPR0EtY6c=", + "lastModified": 1711465072, + "narHash": "sha256-zbXtil3Z3DA3/c5QnDmkzX2MXTrWuujsx8ynYUAeBjA=", "owner": "NorfairKing", "repo": "smos", - "rev": "6ca4df8d63e2d7c2d2eaf3254e3c6815ced411cb", + "rev": "0801f057306aeba472aea816d054ebae3fc22205", "type": "github" }, "original": { @@ -2152,11 +2062,11 @@ "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { - "lastModified": 1711249319, - "narHash": "sha256-N+Pp3/8H+rd7cO71VNV/ovV/Kwt+XNeUHNhsmyTabdM=", + "lastModified": 1720321395, + "narHash": "sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "405987a66cce9a4a82f321f11b205982a7127c88", + "rev": "c184aca4db5d71c3db0c8cbfcaaec337a5d065ea", "type": "github" }, "original": { @@ -2197,10 +2107,10 @@ "base16-kitty": "base16-kitty", "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_7", "gnome-shell": "gnome-shell", - "home-manager": "home-manager_4", - "nixpkgs": "nixpkgs_14" + "home-manager": "home-manager_3", + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1710366273, @@ -2220,11 +2130,11 @@ "sydtest": { "flake": false, "locked": { - "lastModified": 1701869719, - "narHash": "sha256-+qrn2utn8W754ifrm5phT3DtAtK78vjlNObFWRHRxHg=", + "lastModified": 1717391148, + "narHash": "sha256-LDjuZAqincm814E0wCsiZEHKiwLx20srJyAkUsCYpTA=", "owner": "NorfairKing", "repo": "sydtest", - "rev": "d22ec20ca32854f880295cb373f84e874be916bb", + "rev": "6be618a53366d2453ba55da6cddc119d6d589916", "type": "github" }, "original": { @@ -2267,16 +2177,16 @@ }, "systems": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -2320,8 +2230,9 @@ "type": "github" }, "original": { - "id": "systems", - "type": "indirect" + "owner": "nix-systems", + "repo": "default", + "type": "github" } }, "systems_5": { @@ -2408,35 +2319,14 @@ "type": "github" } }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nixos-dns", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "validity": { "flake": false, "locked": { - "lastModified": 1701673254, - "narHash": "sha256-TsSkc2kqAoJ/S6HaK4t4S9r7nDvcHEPiNzMjlPnkb4Y=", + "lastModified": 1717390480, + "narHash": "sha256-+l3WF6uhVoZhoOipKrTEAuI5fPlmz/X5lPa7maTdYY4=", "owner": "NorfairKing", "repo": "validity", - "rev": "57c4897ccfeb3de60489e0328113798f059ef140", + "rev": "b7bf25ca71a0b3f56f58326357c5148246a7a23e", "type": "github" }, "original": { @@ -2477,6 +2367,38 @@ "type": "github" } }, + "weeder-nix": { + "flake": false, + "locked": { + "lastModified": 1712652513, + "narHash": "sha256-etbllbKKJNVHogT89VkgevuaSLa0SA24OGpSDKTrGX0=", + "owner": "NorfairKing", + "repo": "weeder-nix", + "rev": "d49eebf716fd512d5e521bfed49c3281ca12dc1c", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "weeder-nix", + "type": "github" + } + }, + "weeder-nix_2": { + "flake": false, + "locked": { + "lastModified": 1712652513, + "narHash": "sha256-etbllbKKJNVHogT89VkgevuaSLa0SA24OGpSDKTrGX0=", + "owner": "NorfairKing", + "repo": "weeder-nix", + "rev": "d49eebf716fd512d5e521bfed49c3281ca12dc1c", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "weeder-nix", + "type": "github" + } + }, "yesod-autoreload": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index ed55489..4d255b7 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # {{{ Inputs inputs = { # {{{ Nixpkgs instances - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # }}} # {{{ Additional package repositories @@ -23,7 +23,7 @@ disko.inputs.nixpkgs.follows = "nixpkgs"; # }}} - home-manager.url = "github:nix-community/home-manager/release-23.11"; + home-manager.url = "github:nix-community/home-manager/release-24.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-index-database.url = "github:Mic92/nix-index-database"; @@ -33,9 +33,6 @@ sops-nix.inputs.nixpkgs.follows = "nixpkgs"; korora.url = "github:adisbladis/korora"; - - nixos-dns.url = "github:Janik-Haag/nixos-dns"; - nixos-dns.inputs.nixpkgs.follows = "nixpkgs"; # }}} # {{{ Standalone software # {{{ Nightly versions of things @@ -45,15 +42,11 @@ # {{{ Self management # Smos smos.url = "github:NorfairKing/smos"; - smos.inputs.nixpkgs.url = "github:NixOS/nixpkgs/b8dd8be3c790215716e7c12b247f45ca525867e2"; - # REASON: smos fails to build this way - # smos.inputs.nixpkgs.follows = "nixpkgs"; - # smos.inputs.home-manager.follows = "home-manager"; + # smos.inputs.nixpkgs.url = "github:NixOS/nixpkgs/b8dd8be3c790215716e7c12b247f45ca525867e2"; # Intray intray.url = "github:NorfairKing/intray"; - intray.inputs.nixpkgs.url = "github:NixOS/nixpkgs/cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7"; - # intray.inputs.home-manager.follows = "home-manager"; + # intray.inputs.nixpkgs.url = "github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e"; # }}} anyrun.url = "github:Kirottu/anyrun"; @@ -84,12 +77,7 @@ let # {{{ Common helpers inherit (self) outputs; - forAllSystems = nixpkgs.lib.genAttrs [ - # "aarch64-linux" TODO: purescript doesn't work on this one - "x86_64-linux" - "aarch64-darwin" - "x86_64-darwin" - ]; + forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; specialArgs = system: { inherit inputs outputs; diff --git a/home/features/cli/fish/config.fish b/home/features/cli/fish/config.fish index 502e154..026f5d5 100644 --- a/home/features/cli/fish/config.fish +++ b/home/features/cli/fish/config.fish @@ -12,7 +12,6 @@ set fish_cursor_insert line # Set the insert mode cursor to a line set fish_cursor_replace_one underscore # Set the replace mode cursor to an underscore # Force fish to skip some checks (I think?) -# TODO: research why this is here set fish_vi_force_cursor # }}} # {{{ Disable greeting diff --git a/home/features/cli/fish/default.nix b/home/features/cli/fish/default.nix index 38ed789..6266647 100644 --- a/home/features/cli/fish/default.nix +++ b/home/features/cli/fish/default.nix @@ -7,7 +7,6 @@ let # C-z to return to background process "\\cz" = "fg && ${repaint}"; # C-y to yank current command - # TODO: make this work in xorg as well "\\cy" = "wl-copy \$(commandline)"; # C-e to launch $EDITOR "\\ce" = "$EDITOR"; diff --git a/home/features/cli/gpg.nix b/home/features/cli/gpg.nix index 5e0c4a9..f6e6b1f 100644 --- a/home/features/cli/gpg.nix +++ b/home/features/cli/gpg.nix @@ -1,20 +1,11 @@ { pkgs, config, ... }: -let - pinentry = - if config.gtk.enable then { - packages = [ pkgs.pinentry-gnome pkgs.gcr ]; - name = "gnome3"; - } else { - packages = [ pkgs.pinentry-curses ]; - name = "curses"; - }; -in { - home.packages = pinentry.packages; - services.gpg-agent = { enable = true; - pinentryFlavor = pinentry.name; + pinentryPackage = + if config.gtk.enable + then pkgs.pinentry-gnome3 + else pkgs.pinentry-curses; }; programs.gpg.enable = true; diff --git a/home/features/cli/productivity/default.nix b/home/features/cli/productivity/default.nix index ce867cc..6db123a 100644 --- a/home/features/cli/productivity/default.nix +++ b/home/features/cli/productivity/default.nix @@ -1,3 +1,7 @@ { - imports = [ ./smos ./intray.nix ./mail.nix ]; + imports = [ + ./smos + # ./intray.nix + ./mail.nix + ]; } diff --git a/home/features/cli/productivity/intray.nix b/home/features/cli/productivity/intray.nix index b4ca876..c3229e8 100644 --- a/home/features/cli/productivity/intray.nix +++ b/home/features/cli/productivity/intray.nix @@ -1,8 +1,12 @@ -{ config, ... }: { +{ config, inputs, pkgs, ... }: { sops.secrets.intray_password.sopsFile = ./secrets.yaml; programs.intray = { enable = true; + + # We don't want to use the statically-linked binary, as it requires pulling-in ghc-musl. + intray-cli = inputs.intray.packages.${pkgs.system}.default.intray-cli; + data-dir = "${config.satellite.persistence.at.state.home}/intray"; cache-dir = "${config.satellite.persistence.at.cache.home}/intray"; config.sync = "AlwaysSync"; diff --git a/home/features/cli/productivity/smos/default.nix b/home/features/cli/productivity/smos/default.nix index 538bb5c..5266392 100644 --- a/home/features/cli/productivity/smos/default.nix +++ b/home/features/cli/productivity/smos/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, inputs, ... }: let workflowDir = "${config.home.homeDirectory}/productivity/smos"; in { @@ -8,6 +8,9 @@ in programs.smos = { inherit workflowDir; + # We don't want to use the statically-linked binary, as it requires pulling-in ghc-musl. + smosReleasePackages = inputs.smos.packages.${pkgs.system}.default; + enable = true; notify.enable = true; diff --git a/home/features/cli/zellij.nix b/home/features/cli/zellij.nix new file mode 100644 index 0000000..6e26a53 --- /dev/null +++ b/home/features/cli/zellij.nix @@ -0,0 +1,4 @@ +{ + programs.zellij.enable = true; + stylix.targets.zellij.enable = true; +} diff --git a/home/features/desktop/default.nix b/home/features/desktop/default.nix index afb2e5a..4bd2d4b 100644 --- a/home/features/desktop/default.nix +++ b/home/features/desktop/default.nix @@ -9,6 +9,7 @@ # Use a base16 theme for gtk apps! stylix.targets.gtk.enable = true; + gtk.enable = true; gtk.iconTheme = { package = pkgs.papirus-icon-theme; diff --git a/home/features/desktop/firefox/default.nix b/home/features/desktop/firefox/default.nix index ae17241..4b4c049 100644 --- a/home/features/desktop/firefox/default.nix +++ b/home/features/desktop/firefox/default.nix @@ -288,7 +288,6 @@ in # {{{ Standalone "apps" which actually run inside a browser. apps.extensions = extensions; apps.app = { - # TODO: auto increment ids # {{{ Desmos desmos = { url = "https://www.desmos.com/calculator"; @@ -305,23 +304,14 @@ in id = 2; }; # }}} - # {{{ Syncthing - syncthing = { - url = "http://localhost:8384/"; - icon = ../../../../common/icons/syncthing.png; - displayName = "Syncthing"; - id = 3; - }; - # }}} }; # }}} }; - # TODO: uncomment when using newer version - # stylix.targets.firefox = { - # enable = true; - # profileNames = [ config.home.username "desmos" "monkey-type" "syncthing" ]; - # }; + stylix.targets.firefox = { + enable = true; + profileNames = [ config.home.username "desmos" "monkey-type" ]; + }; # {{{ Make firefox the default # Use firefox as the default browser to open stuff. diff --git a/home/features/desktop/foot.nix b/home/features/desktop/foot.nix new file mode 100644 index 0000000..a026bff --- /dev/null +++ b/home/features/desktop/foot.nix @@ -0,0 +1,4 @@ +{ + programs.foot.enable=true; + stylix.targets.foot.enable=true; +} diff --git a/home/features/desktop/wezterm/default.nix b/home/features/desktop/wezterm/default.nix index 2cfeb01..9157587 100644 --- a/home/features/desktop/wezterm/default.nix +++ b/home/features/desktop/wezterm/default.nix @@ -1,5 +1,5 @@ -{ inputs, upkgs, config, ... }: { - home.packages = [ upkgs.wezterm ]; +{ inputs, pkgs, config, ... }: { + home.packages = [pkgs.wezterm ]; xdg.configFile."wezterm/nix".source = config.satellite.lib.lua.writeFile diff --git a/home/features/desktop/wezterm/wezterm.lua b/home/features/desktop/wezterm/wezterm.lua index 781715b..42781d9 100644 --- a/home/features/desktop/wezterm/wezterm.lua +++ b/home/features/desktop/wezterm/wezterm.lua @@ -178,5 +178,7 @@ config.keys = { } -- }}} +config.enable_wayland = false + -- and finally, return the configuration to wezterm return config diff --git a/home/features/desktop/zathura.nix b/home/features/desktop/zathura.nix index 8ddd11e..e7d47bd 100644 --- a/home/features/desktop/zathura.nix +++ b/home/features/desktop/zathura.nix @@ -67,7 +67,6 @@ set statusbar-bg '${base00}' # }}} # {{{ Highlighting parts of the document (e.g. show search results) - # TODO: make sure these look fine on other schemes set highlight-color '${base03}' set highlight-active-color '${base06}' # }}} diff --git a/home/features/neovim/config/lazy-lock.json b/home/features/neovim/config/lazy-lock.json index 6c68c7d..67916de 100644 --- a/home/features/neovim/config/lazy-lock.json +++ b/home/features/neovim/config/lazy-lock.json @@ -1,58 +1,58 @@ { - "clipboard-image": { "branch": "main", "commit": "485de5493d196154db30f85665f8ac480ce116a2" }, - "cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, + "clipboard-image": { "branch": "main", "commit": "4ab6f7f1fa4ea97866c0e0f6160f6a36ef174438" }, + "cmp": { "branch": "main", "commit": "7e348da6e5085ac447144a2ef4b637220ba27209" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, + "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform": { "branch": "master", "commit": "192a6d2ddace343f1840a8f72efe2315bd392243" }, - "crates": { "branch": "main", "commit": "ec2b04a380c9f3a8e6ca38c230e4990d71978143" }, + "conform": { "branch": "master", "commit": "cd75be867f2331b22905f47d28c0c270a69466aa" }, + "crates": { "branch": "main", "commit": "c3fd47391de6999f4c939af89494d08443f71916" }, "discord-rich-presence": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, - "dressing": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, + "dressing": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, "fidget": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" }, - "flash": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, + "flash": { "branch": "main", "commit": "d0799ae43a581d9f190e182e2a1f389d2887c42a" }, "ftft": { "branch": "master", "commit": "f3e43c9584e14b27f04c27a95a9d9f0e58dfec02" }, - "github-actions": { "branch": "master", "commit": "f2f16243447cea174daa6b4a9ffd3ff9213814ef" }, + "github-actions": { "branch": "master", "commit": "728374ef59b11a5f5991ea2560d149a4ae33fd22" }, "gitlinker": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" }, - "gitsigns": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, - "gruvbox": { "branch": "main", "commit": "6e4027ae957cddf7b193adfaec4a8f9e03b4555f" }, + "gitsigns": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, + "gruvbox": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" }, "harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" }, "haskell-tools": { "branch": "master", "commit": "92e097c6832405fb64e4c44a7ce8bebe7836cae6" }, "hyprland": { "branch": "main", "commit": "71760fe0cad972070657b0528f48456f7e0027b2" }, "idris": { "branch": "main", "commit": "8bff02984a33264437e70fd9fff4359679d910da" }, - "inc-rename": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "indent-blankline": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, + "inc-rename": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, + "indent-blankline": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, "lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" }, - "lean": { "branch": "main", "commit": "1a2a2dfbc7e6775e9ec8b84e5eadaf31fde1894e" }, + "lean": { "branch": "main", "commit": "182703184edb866d7bfe878be358295e189c8223" }, "live-command": { "branch": "main", "commit": "d460067d47948725a6f25b20f31ea8bbfdfe4622" }, - "lspconfig": { "branch": "master", "commit": "16295b79410f131c4fa7870c663b4ace6a761fb2" }, + "lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, - "luasnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, - "mini.ai": { "branch": "main", "commit": "98e45e6832351354e41e82b32a80ce7537c20746" }, - "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, - "mini.files": { "branch": "main", "commit": "eab771c69b787a3f042dc6505d15613c282aa786" }, - "mini.operators": { "branch": "main", "commit": "0765e4818086e96b8fb55d280e47af781a5bc56a" }, - "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, - "mini.statusline": { "branch": "main", "commit": "dfd3d2ba295473930f78f143852b9b53eb54ae2a" }, - "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, + "luasnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "mini.ai": { "branch": "main", "commit": "45587078f323eaf41b9f701bbc04f8d1ab008979" }, + "mini.comment": { "branch": "main", "commit": "080f00bb91fea4bab799820bd2ce835a88d0703a" }, + "mini.files": { "branch": "main", "commit": "acfc4e46f6722a0690ce640632c5b5515ddade70" }, + "mini.operators": { "branch": "main", "commit": "7d30c0bc5baaa1f0d3a63dd18b35c8581bc164f4" }, + "mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" }, + "mini.statusline": { "branch": "main", "commit": "ec7e2c509c7262fef85a28a772f60ebe146297db" }, + "mini.surround": { "branch": "main", "commit": "57caca9525cec0ea771a67326b0ee637d056078a" }, "navigator": { "branch": "master", "commit": "91d86506ac2a039504d5205d32a1d4bc7aa57072" }, - "neoconf": { "branch": "main", "commit": "4ef6c6c5882e7e16209173fb8c47414202843384" }, - "neodev": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, - "nui": { "branch": "main", "commit": "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b" }, + "neoconf": { "branch": "main", "commit": "23f24edab5f78465a0bc3320678e038664b9aa6e" }, + "neodev": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, + "nui": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "null-ls": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, - "plenary": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, + "plenary": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "purescript": { "branch": "main", "commit": "82348352e6568fcc0385bd7c99a8ead3a479feea" }, "rust-tools": { "branch": "master", "commit": "676187908a1ce35ffcd727c654ed68d851299d3e" }, "rzip": { "branch": "master", "commit": "f65400fed27b27c7cff7ef8d428c4e5ff749bf28" }, "scrap": { "branch": "main", "commit": "cc8453ed613932c744c3d1ec42f379b78bd8b92c" }, "ssr": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, - "telescope": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, - "treesitter": { "branch": "master", "commit": "19bf991be2403c10fa379fa0fb11b7de2560ac31" }, - "typst": { "branch": "main", "commit": "e28d440c7ba4df2516d7d7f908c4fb664a8cf86c" }, - "undotree": { "branch": "master", "commit": "9dbbf3b7d19dda0d22ceca461818e4739ad8154d" }, - "wakatime": { "branch": "master", "commit": "285c2e4e48fb0c63ced233c00fb10a2edb3b6c94" }, - "web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } + "telescope": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" }, + "typst": { "branch": "main", "commit": "4d18ced62599ffe5b3c0e5e49566d5456121bc02" }, + "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, + "wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, + "web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "which-key.nvim": { "branch": "main", "commit": "c77cda8cd2f54965e4316699f1d124a2b3bf9d49" } } \ No newline at end of file diff --git a/home/features/neovim/config/lua/my/tempest.lua b/home/features/neovim/config/lua/my/tempest.lua index 1a587d6..965bb73 100644 --- a/home/features/neovim/config/lua/my/tempest.lua +++ b/home/features/neovim/config/lua/my/tempest.lua @@ -130,11 +130,17 @@ function M.configure(opts, context) opts = opts(context) end - if type(opts) ~= "table" then - -- TODO: throw + if opts == nil then return end + if type(opts) ~= "table" then + return error( + "Cannot handle non-table options for tempest runtime, " + .. vim.inspect(opts) + ) + end + if type(opts.mkContext) == "function" then context = opts.mkContext(context) end diff --git a/home/features/neovim/default.nix b/home/features/neovim/default.nix index 0f1eba2..fc616bd 100644 --- a/home/features/neovim/default.nix +++ b/home/features/neovim/default.nix @@ -177,7 +177,7 @@ let (thunk /* lua */ "vim.opt.spell = not vim.o.spell") "toggle [s]pell checker") (nmap "yp" - ("!curl --data-binary @% https://paste.rs") + "!curl --data-binary @% https://paste.rs" "[y]ank [p]aste.rs link") # }}} ]; @@ -538,7 +538,7 @@ let event = "VeryLazy"; config = true; - # {{{{ Keybinds + # {{{ Keybinds keys = let # {{{ List of fold-related keybinds @@ -702,21 +702,6 @@ let "[U]ndo tree"; }; # }}} - # {{{ ssr (structured search & replace) - ssr = { - package = "cshuaimin/ssr.nvim"; - - cond = blacklist "vscode"; - keys = { - mode = "nx"; - mapping = "rt"; - action = thunk /* lua */ ''require("ssr").open()''; - desc = "[r]eplace [t]emplate"; - }; - - opts.keymaps.replace_all = ""; - }; - # }}} # {{{ mini.ai mini-ai = { package = "echasnovski/mini.ai"; @@ -925,7 +910,6 @@ let pkgs.lua ] ++ optionals nix [ - pkgs.rnix-lsp pkgs.nil pkgs.nixd ] ++ @@ -1036,100 +1020,6 @@ let ''; }; # }}} - # {{{ gitsigns - gitsigns = { - package = "lewis6991/gitsigns.nvim"; - - cond = [ (blacklist [ "vscode" "firenvim" ]) notmp ]; - event = "BufReadPost"; - - opts.on_attach = tempest { - mkContext = lua /* lua */ - "function(bufnr) return { bufnr = bufnr } end"; - keys = - let - prefix = m: "h${m}"; - gs = "package.loaded.gitsigns"; - - # {{{ nmap helper - nmap = mapping: action: desc: { - inherit desc; - mapping = prefix "mapping"; - action = "${gs}.action"; - }; - # }}} - # {{{ exprmap helper - exprmap = mapping: action: desc: { - inherit mapping desc; - action = thunk /* lua */ '' - if vim.wo.diff then - return "${mapping}" - end - - vim.schedule(function() - ${gs}.${action}() - end) - - return "" - ''; - expr = true; - }; - # }}} - in - [ - # {{{ navigation - (exprmap "]c" "next_hunk" "Navigate to next hunk") - (exprmap "[c" "prev_hunk" "Navigate to previous hunk") - # }}} - # {{{ actions - (nmap "s" "stage_hunk" "[s]tage hunk") - (nmap "r" "reset_hunk" "[s]tage hunk") - (nmap "S" "stage_buffer" "[s]tage hunk") - (nmap "u" "undo_stage_hunk" "[s]tage hunk") - (nmap "R" "reset_buffer" "[s]tage hunk") - (nmap "p" "preview_hunk" "[s]tage hunk") - (nmap "d" "diffthis" "[s]tage hunk") - { - mapping = prefix "D"; - action = thunk '' - ${gs}.diffthis("~") - ''; - desc = "[d]iff file (?)"; - } - { - mapping = prefix "b"; - action = thunk '' - ${gs}.blame_line({ full = true }) - ''; - desc = "[b]lame line"; - } - # }}} - # {{{ Toggles - (nmap "tb" "toggle_current_line_blame" "[t]oggle line [b]laming") - (nmap "td" "toggle_deleted" "[t]oggle [d]eleted") - # }}} - # {{{ visual mappings - { - mode = "v"; - mapping = prefix "s"; - action = thunk /* lua */ '' - ${gs}.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) - ''; - desc = "stage visual hunk"; - } - { - mode = "v"; - mapping = prefix "r"; - action = thunk /* lua */ '' - ${gs}.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) - ''; - desc = "reset visual hunk"; - } - # }}} - ]; - }; - }; - # }}} # {{{ cmp cmp = { package = "hrsh7th/nvim-cmp"; @@ -1151,26 +1041,6 @@ let config = importFrom ./plugins/cmp.lua "config"; }; # }}} - # {{{ inc-rename - inc-rename = { - package = "smjonas/inc-rename.nvim"; - dependencies.lua = [ "dressing" ]; - - cond = blacklist "vscode"; - event = "VeryLazy"; - - opts.input_buffer_type = "dressing"; - config.autocmds = { - event = "LspAttach"; - group = "CreateIncRenameKeybinds"; - action.keys = { - mapping = "rn"; - action = ":IncRename "; - desc = "Incremenetal [r]e[n]ame"; - }; - }; - }; - # }}} # }}} # {{{ language support # {{{ haskell support diff --git a/home/features/neovim/plugins/lspconfig.lua b/home/features/neovim/plugins/lspconfig.lua index 384f5cd..dc29ef6 100644 --- a/home/features/neovim/plugins/lspconfig.lua +++ b/home/features/neovim/plugins/lspconfig.lua @@ -86,8 +86,7 @@ function M.config() }, -- }}} -- {{{ Nix - rnix = {}, - -- nil_ls = {}, + nil_ls = {}, nixd = {}, -- }}} cssls = {}, diff --git a/home/features/persistence.nix b/home/features/persistence.nix index aa72ce4..5586f2d 100644 --- a/home/features/persistence.nix +++ b/home/features/persistence.nix @@ -103,7 +103,6 @@ ]; satellite.persistence.at.cache.apps.qbittorrent.directories = [ - # TODO: investigate which subdirectories/files I actually want to keep "${config.xdg.dataHome}/qBittorrent" # Torrent files, logs, etc ]; # }}} @@ -115,7 +114,7 @@ # {{{ Steam satellite.persistence.at.state.apps.steam = { directories = [ - ".factorio" # TODO: perhaps this should have it's own file? + ".factorio" # A couple of games don't play well with bindfs { directory = "${config.xdg.dataHome}/Steam"; @@ -148,5 +147,9 @@ # {{{ Sops satellite.persistence.at.state.apps.sops.directories = [ "${config.xdg.configHome}/sops/age" ]; # }}} + # {{{ QMK + home.sessionVariables.QMK_HOME = "${config.xdg.dataHome}/qmk"; + satellite.persistence.at.state.apps.qmk.directories = [ config.home.sessionVariables.QMK_HOME ]; + # }}} # }}} } diff --git a/home/features/wayland/global.nix b/home/features/wayland/global.nix index 1413cb8..9c0a684 100644 --- a/home/features/wayland/global.nix +++ b/home/features/wayland/global.nix @@ -20,7 +20,6 @@ wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy"; wl-paste = "${pkgs.wl-clipboard}/bin/wl-paste"; - # TODO: put this in it's own file perhaps? # Taken from [here](https://github.com/fufexan/dotfiles/blob/3b0075fa7a5d38de13c8c32140c4b020b6b32761/home/wayland/default.nix#L14) wl-ocr = pkgs.writeShellScriptBin "wl-ocr" '' ${_ pkgs.grim} -g "$(${_ pkgs.slurp})" -t ppm - \ diff --git a/home/features/wayland/hyprland/hyprland.conf b/home/features/wayland/hyprland/hyprland.conf index 9a1b4c2..ce2a97d 100644 --- a/home/features/wayland/hyprland/hyprland.conf +++ b/home/features/wayland/hyprland/hyprland.conf @@ -4,22 +4,29 @@ monitor=,preferred,auto,1 general { - cursor_inactive_timeout = 30 # Hide cursor after being inactive for 30s + # cursor_inactive_timeout = 30 # Hide cursor after being inactive for 30s resize_on_border = true # Click on borders with the mouse to resize } +decoration { + blur { + popups = true + } +} + # Blur extra surfaces layerrule = blur,gtk-layer-shell +layerrule = blur,osd +layerrule = blur,logout_dialog layerrule = blur,anyrun layerrule = blur,waybar + layerrule = ignorezero,anyrun layerrule = ignorezero,waybar input { kb_layout = us - # TODO: standardize the touchpad settings. - # Right now I also have similar settings for xorg. touchpad { natural_scroll = true # Invert scrolling direction } @@ -34,7 +41,7 @@ misc { # Configure the default hyprland branding disable_hyprland_logo = true disable_splash_rendering = true - force_hypr_chan = true + # force_hypr_chan = true } animations { @@ -157,11 +164,11 @@ bind=,escape,submap,reset submap=reset # }}} # {{{ Volume & brightness -binde=, XF86AudioRaiseVolume, exec, swayosd --output-volume raise -binde=, XF86AudioLowerVolume, exec, swayosd --output-volume lower -binde=, XF86AudioMute, exec, swayosd --output-volume mute-toggle -binde=, XF86AudioMicMute, exec, swayosd --input-volume mute-toggle -binde=, XF86MonBrightnessUp, exec, swayosd --brightness raise -binde=, XF86MonBrightnessDown, exec, swayosd --brightness lower +binde=, XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise +binde=, XF86AudioLowerVolume, exec, swayosd-client --output-volume lower +binde=, XF86AudioMute, exec, swayosd-client --output-volume mute-toggle +binde=, XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle +binde=, XF86MonBrightnessUp, exec, swayosd-client --brightness raise +binde=, XF86MonBrightnessDown, exec, swayosd-client --brightness lower # }}} # }}} diff --git a/home/tethys.nix b/home/tethys.nix index 51508ff..7f0cd35 100644 --- a/home/tethys.nix +++ b/home/tethys.nix @@ -1,14 +1,16 @@ -{ pkgs, upkgs, lib, config, ... }: { +{ pkgs, ... }: { imports = [ ./global.nix ./features/desktop/zathura.nix ./features/desktop/spotify.nix ./features/desktop/obsidian.nix + ./features/desktop/foot.nix ./features/desktop/firefox ./features/desktop/discord ./features/cli/productivity ./features/cli/pass.nix + ./features/cli/zellij.nix ./features/cli/nix-index.nix ./features/cli/catgirl.nix ./features/cli/lazygit.nix @@ -18,14 +20,14 @@ # Arbitrary extra packages home.packages = with pkgs; [ - # Desktop apps + alacritty # {{{ Communication # signal-desktop # Signal client element-desktop # Matrix client # zoom-us # Zoom client 🤮 # }}} # {{{ Editors for different formats - # gimp # Image editing + gimp # Image editing # lmms # Music software # kicad # PCB editing # libreoffice # Free office suite @@ -44,8 +46,7 @@ # google-chrome # Not my primary browser, but sometimes needed in webdev # plover.dev # steno engine - # REASON: not available in nixpkgs-stable just yet - upkgs.overskride # Bluetooth client + overskride # Bluetooth client # }}} # {{{ Media playing/recording mpv # Video player diff --git a/hosts/nixos/common/global/default.nix b/hosts/nixos/common/global/default.nix index 18abaa5..5fcd5a7 100644 --- a/hosts/nixos/common/global/default.nix +++ b/hosts/nixos/common/global/default.nix @@ -7,7 +7,6 @@ let inputs.disko.nixosModules.default inputs.stylix.nixosModules.stylix inputs.sops-nix.nixosModules.sops - inputs.nixos-dns.nixosModules.dns # }}} # {{{ global configuration ./cli/fish.nix @@ -16,6 +15,7 @@ let ./services/tailscale.nix ./nix.nix ./locale.nix + ./unicode.nix ./persistence.nix ./ports.nix ./wireless diff --git a/hosts/nixos/common/global/nix.nix b/hosts/nixos/common/global/nix.nix index 48fa7cb..a9f46ce 100644 --- a/hosts/nixos/common/global/nix.nix +++ b/hosts/nixos/common/global/nix.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, inputs, ... }: { nix = { # Flake support and whatnot - package = pkgs.nixUnstable; + package = pkgs.lix; # Weekly clean up the store, I think gc = { @@ -32,7 +32,7 @@ experimental-features = [ "nix-command" "flakes" - "repl-flake" + # "repl-flake" "auto-allocate-uids" # "configurable-impure-env" ]; diff --git a/hosts/nixos/common/global/services/openssh.nix b/hosts/nixos/common/global/services/openssh.nix index 150e379..7458f7c 100644 --- a/hosts/nixos/common/global/services/openssh.nix +++ b/hosts/nixos/common/global/services/openssh.nix @@ -1,5 +1,4 @@ # This setups a SSH server. -# TODO: persistence { outputs, config, lib, ... }: let # Record containing all the hosts @@ -35,10 +34,6 @@ in ]; }; - # TODO: is this safe? Can we ssh back and gain root access this way? - # Passwordless sudo when SSH'ing with keys - # security.pam.enableSSHAgentAuth = true; - # SSH on slow connections programs.mosh.enable = true; diff --git a/hosts/nixos/common/global/unicode.nix b/hosts/nixos/common/global/unicode.nix new file mode 100644 index 0000000..5872be3 --- /dev/null +++ b/hosts/nixos/common/global/unicode.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + i18n.inputMethod = { + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-gtk + fcitx5-configtool + ]; + }; +} + diff --git a/hosts/nixos/common/optional/desktop/steam.nix b/hosts/nixos/common/optional/desktop/steam.nix index de505b1..d5964ef 100644 --- a/hosts/nixos/common/optional/desktop/steam.nix +++ b/hosts/nixos/common/optional/desktop/steam.nix @@ -1,4 +1,3 @@ -# TODO(imperanence): handle persistence { lib, ... }: { programs.steam = { enable = true; diff --git a/hosts/nixos/common/optional/services/kanata.nix b/hosts/nixos/common/optional/services/kanata.nix index 7f81936..cf5b2da 100644 --- a/hosts/nixos/common/optional/services/kanata.nix +++ b/hosts/nixos/common/optional/services/kanata.nix @@ -20,103 +20,56 @@ let em (unicode —) ) ;; }}} - ;; {{{ Chord aliases - (defalias - chq (chord mainchords q) - chw (chord mainchords w) - che (chord mainchords e) - chr (chord mainchords r) - cha (chord mainchords a) - chs (chord mainchords s) - chd (chord mainchords d) - chf (chord mainchords f) - chz (chord mainchords z) - chx (chord mainchords x) - chc (chord mainchords c) - chg (chord mainchords g) - chh (chord mainchords h) - chi (chord mainchords i) - chp (chord mainchords p) - chj (chord mainchords j) - chk (chord mainchords k) - chl (chord mainchords l) - ch: (chord mainchords :) - chn (chord mainchords n) - ) - ;; }}} - - (defchords mainchords ${toString chordDelay} - ;; {{{ Single keys - (q) q - (w) w - (e) e - (r) r - (a) a - (s) s - (d) d - (f) f - (z) z - (x) x - (c) c - (g) g - (h) h - (i) i - (p) p - (j) j - (k) k - (l) l - (:) ; - (n) n - ;; }}} + (defchordsv2-experimental ;; {{{ Left modifiers - (a s ) lalt - ( s d ) lsft - ( s f) lctl - ( s d f) C-lsft - (a s d ) S-lalt - (a s d f) C-S-lalt + (a s d f) (multi lctl lalt lsft) ${toString chordDelay} all-released () + (a s d ) (multi lalt lsft) ${toString chordDelay} all-released () + ( s d f) (multi lctl lsft) ${toString chordDelay} all-released () + (a s ) lalt ${toString chordDelay} all-released () + ( s d ) lsft ${toString chordDelay} all-released () + ( s f) lctl ${toString chordDelay} all-released () ;; }}} ;; {{{ Right modifiers - ( l :) ralt - ( k l ) rsft - (j l ) rctl - (j k l ) C-rsft - ( k l :) S-ralt - (j k l :) C-S-ralt + (j k l ;) (multi rctl ralt rsft) ${toString chordDelay} all-released () + (j k l ) (multi rctl rsft) ${toString chordDelay} all-released () + ( k l ;) (multi ralt rsft) ${toString chordDelay} all-released () + (j l ) rctl ${toString chordDelay} all-released () + ( k l ) rsft ${toString chordDelay} all-released () + ( l ;) ralt ${toString chordDelay} all-released () ;; }}} ;; {{{ Special keys - (d f) tab - (e f) ret - (q w) esc + (d f) tab ${toString chordDelay} all-released () + (e f) ret ${toString chordDelay} all-released () + (q w) esc ${toString chordDelay} all-released () - (g h) bspc - (n l) rmet + (g h) bspc ${toString chordDelay} all-released () + (n l) rmet ${toString chordDelay} all-released () - (j k) f10 - (c p) f11 - (j i) f12 + (j k) f10 ${toString chordDelay} all-released () + (c p) f11 ${toString chordDelay} all-released () + (j i) f12 ${toString chordDelay} all-released () ;; }}} ;; {{{ Wm keybinds - (n l k) M-p - (n l q) M-1 - (n l w) M-2 - (n l e) M-3 - (n l r) M-4 - (n l a) M-5 - (n l s) M-6 - (n l d) M-7 - (n l f) M-8 - (n l z) M-9 - (n l x) M-0 + (n l k) M-p ${toString chordDelay} all-released () + (n l q) M-1 ${toString chordDelay} all-released () + (n l w) M-2 ${toString chordDelay} all-released () + (n l e) M-3 ${toString chordDelay} all-released () + (n l r) M-4 ${toString chordDelay} all-released () + (n l t) M-5 ${toString chordDelay} all-released () + (n l a) M-6 ${toString chordDelay} all-released () + (n l s) M-7 ${toString chordDelay} all-released () + (n l d) M-8 ${toString chordDelay} all-released () + (n l f) M-9 ${toString chordDelay} all-released () + (n l g) M-0 ${toString chordDelay} all-released () ;; }}} ) ;; {{{ Qwerty (deflayer qwerty XX XX XX XX XX XX XX XX XX XX XX XX XX XX - XX @chq @chw @che @chr t y u @chi o @chp XX XX XX - XX @cha @chs @chd @chf @chg @chh @chj @chk @chl @ch: XX XX - lsft @chz @chx @chc v b @chn m , . ' XX + XX q w e r t y u i o p XX XX XX + XX a s d f g h j k l ; XX XX + lsft z x c v b n m , . ' XX XX lmet @red spc @blue ) ;; }}} @@ -167,11 +120,17 @@ let ) ;; }}} ''; + + extraDefCfg = '' + concurrent-tap-hold true ;; Required by chords + ''; in { services.kanata = { enable = true; keyboards.tethysLaptop = { + inherit extraDefCfg; + devices = [ "/dev/input/by-path/platform-i8042-serio-0-event-kbd" ]; config = mkConfig { @@ -182,6 +141,8 @@ in }; keyboards.keychronK6 = { + inherit extraDefCfg; + devices = [ "/dev/input/by-id/usb-Keychron_Keychron_K6-event-kbd" ]; config = mkConfig { diff --git a/hosts/nixos/tethys/default.nix b/hosts/nixos/tethys/default.nix index 6385482..e7ba32e 100644 --- a/hosts/nixos/tethys/default.nix +++ b/hosts/nixos/tethys/default.nix @@ -47,8 +47,6 @@ # virtualisation.spiceUSBRedirection.enable = true; # This was required for the vm usb passthrough tomfoolery # }}} # {{{ Ad-hoc stylix targets - # TODO: include this on all gui hosts - # TODO: is this useful outside of home-manager? stylix.targets.gtk.enable = true; # }}} # {{{ Some ad-hoc site blocking diff --git a/hosts/nixos/tethys/hardware/default.nix b/hosts/nixos/tethys/hardware/default.nix index 3b6f9bf..63eff6e 100644 --- a/hosts/nixos/tethys/hardware/default.nix +++ b/hosts/nixos/tethys/hardware/default.nix @@ -2,7 +2,7 @@ { imports = with inputs.nixos-hardware.nixosModules; [ common-cpu-intel - common-gpu-intel + # common-gpu-intel # This leads to a "prop ... defined twice" error common-pc-laptop common-pc-ssd ./generated.nix diff --git a/modules/README.md b/modules/README.md index 18e7d21..d1a416d 100644 --- a/modules/README.md +++ b/modules/README.md @@ -20,23 +20,4 @@ This directory contains custom module definitions used throughout my config. | [korora-neovim](./common/korora-neovim.nix) | - | Nix -> neovim config helpers typechecked using [korora](https://github.com/adisbladis/korora) | | [theming](./common/theming.nix) | `satellite.theming` | [stylix](https://github.com/danth/stylix) theming helpers and configuration | | [lua-colorscheme](./common/lua-colorscheme.nix) | `satellite.colorscheme.lua` | Base16 theme to lua module generation | - -## Nixos modules - -| Name | Attribute | Description | -| -------------------------------------- | ----------------------- | ------------------------------------------- | -| [pounce](./nixos/pounce.nix) | `services.pounce` | Module for pounce & calico configuration | -| [nginx](./nixos/nginx.nix) | `satellite.nginx` | Helpers for nginx configuration | -| [ports](./nixos/ports.nix) | `satellite.ports` | Global port specification | -| [cloudflared](./nixos/cloudflared.nix) | `satellite.cloudflared` | Helpers for cloudflare tunnel configuration | -| [pilot](./nixos/pilot.nix) | `satellite.pilot` | Defined the concept of a "main user" | - -## Home-manager modules - -| Name | Attribute | Description | -| ------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------- | -| [discord](./home-manager/discord.nix) | `programs.discord` | Additional discord options | -| [firefox](./home-manager/firefox) | `programs.firefox.apps` | Hacky system for wrapping websites into desktop apps by hiding the firefox tabbar | -| [monitors](./home-manager/monitors.nix) | `satellite.monitors` | WM generic monitor configuration | -| [persistence](./home-manager/persistence.nix) | `satellite.persistence` | Syntactic wrapper around [impermanence](https://github.com/nix-community/impermanence) | -| [satellite-dev](./home-manager/satellite-dev.nix) | `satellite.dev` | Helpers for managing dotfiles which are actively under development | +| [octodns](./common/octodns.nix) | `satellite.dns.octodns` | Octodns config generation | diff --git a/modules/common/README.md b/modules/common/README.md new file mode 100644 index 0000000..1ebe514 --- /dev/null +++ b/modules/common/README.md @@ -0,0 +1,20 @@ +# Common modules + +## Home-manage & Nixos modules + +| Name | Attribute | Description | +| -------------------------------------- | --------------------------- | ----------------------------------- | +| [toggles](toggles.nix) | `satellite.toggles` | Generic interface for feature flags | +| [lua-lib](lua-lib.nix) | `satellite.lib.lua` | Helpers for working with lua code | +| [korora-lua](korora-lua.nix) | - | Nix -> lua encoder | +| [korora-neovim](korora-neovim.nix) | - | Nix -> neovim config helpers | +| [theming](theming.nix) | `satellite.theming` | Stylix theming helpers | +| [lua-colorscheme](lua-colorscheme.nix) | `satellite.colorscheme.lua` | Base16 theme -> lua | + +## Other modules + +These are special-purpose modules that are used for other purposes + +| Name | Attribute | Description | +| ---------------------- | ----------------------- | ------------------------- | +| [octodns](octodns.nix) | `satellite.dns.octodns` | Octodns config generation | diff --git a/modules/common/korora-neovim.nix b/modules/common/korora-neovim.nix index bf14219..5af4233 100644 --- a/modules/common/korora-neovim.nix +++ b/modules/common/korora-neovim.nix @@ -157,11 +157,13 @@ let ${context} ) ''; - tempestBufnr = given: context: lua '' - D.tempest.configure( - ${encode given}, - { bufnr = ${context}} - ) + tempestBufnr = given: lua '' + function(_, bufnr) + return D.tempest.configure( + ${encode given}, + { bufnr = bufnr} + ) + end ''; keymap = mode: mapping: action: desc: { inherit mode mapping action desc; }; diff --git a/modules/common/theming.nix b/modules/common/theming.nix index 06efb8d..ccfea1f 100644 --- a/modules/common/theming.nix +++ b/modules/common/theming.nix @@ -7,7 +7,7 @@ in rounding = { # Note: this is automatically set to true when the radius is strictly positive enable = lib.mkEnableOption "rounded corners for desktop apps"; - radius = lib.mkOption { default = 0.0; type = lib.types.float; }; + radius = lib.mkOption { default = 0; type = lib.types.int; }; }; # These pretty much directly map onto hypland options @@ -18,7 +18,7 @@ in passes = lib.mkOption { default = 4; type = lib.types.int; }; brightness = lib.mkOption { default = 1.0; type = lib.types.float; }; contrast = lib.mkOption { default = 1.2; type = lib.types.float; }; - size = lib.mkOption { default = 10.0; type = lib.types.float; }; + size = lib.mkOption { default = 10; type = lib.types.int; }; }; get = lib.mkOption { @@ -49,7 +49,7 @@ in }; config.satellite.theming = { - rounding.enable = cfg.rounding.radius > 0.0; + rounding.enable = cfg.rounding.radius > 0; blur.enable = cfg.blur.passes > 0; get = themeMap: diff --git a/modules/home-manager/README.md b/modules/home-manager/README.md new file mode 100644 index 0000000..d446612 --- /dev/null +++ b/modules/home-manager/README.md @@ -0,0 +1,9 @@ +# Home-manager modules + +| Name | Attribute | Description | +| ---------------------------------- | ----------------------- | -------------------------------------------- | +| [discord](discord.nix) | `programs.discord` | Additional discord options | +| [firefox](firefox) | `programs.firefox.apps` | Hack for wrapping websites into desktop apps | +| [monitors](monitors.nix) | `satellite.monitors` | WM generic monitor configuration | +| [persistence](persistence.nix) | `satellite.persistence` | Syntactic wrapper around impermanence | +| [satellite-dev](satellite-dev.nix) | `satellite.dev` | Manage in-development dotfiles | diff --git a/modules/home-manager/compat/bemenu.nix b/modules/home-manager/compat/bemenu.nix deleted file mode 100644 index caac7b4..0000000 --- a/modules/home-manager/compat/bemenu.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.programs.bemenu; - -in -{ - meta.maintainers = [ hm.maintainers.omernaveedxyz ]; - - options.programs.bemenu = { - enable = mkEnableOption "bemenu"; - - package = mkPackageOption pkgs "bemenu" { }; - - settings = mkOption { - type = with types; attrsOf (oneOf [ str number bool ]); - default = { }; - example = literalExpression '' - { - line-height = 28; - prompt = "open"; - ignorecase = true; - fb = "#1e1e2e"; - ff = "#cdd6f4"; - nb = "#1e1e2e"; - nf = "#cdd6f4"; - tb = "#1e1e2e"; - hb = "#1e1e2e"; - tf = "#f38ba8"; - hf = "#f9e2af"; - af = "#cdd6f4"; - ab = "#1e1e2e"; - width-factor = 0.3; - } - ''; - description = - "Configuration options for bemenu. See {manpage}`bemenu(1)`."; - }; - }; - - config = mkIf cfg.enable { - assertions = - [ (hm.assertions.assertPlatform "programs.bemenu" pkgs platforms.linux) ]; - - home.packages = [ cfg.package ]; - - home.sessionVariables = mkIf (cfg.settings != { }) { - BEMENU_OPTS = cli.toGNUCommandLineShell { } cfg.settings; - }; - }; -} diff --git a/modules/home-manager/compat/hyprpaper.nix b/modules/home-manager/compat/hyprpaper.nix deleted file mode 100644 index 7cd61c1..0000000 --- a/modules/home-manager/compat/hyprpaper.nix +++ /dev/null @@ -1,135 +0,0 @@ -{ config, lib, pkgs, ... }: -with lib; -let - cfg = config.services.hyprpaper; - toHyprconf = { attrs, indentLevel ? 0, importantPrefixes ? [ "$" ], }: - let - inherit (lib) - all concatMapStringsSep concatStrings concatStringsSep filterAttrs foldl - generators hasPrefix isAttrs isList mapAttrsToList replicate; - - initialIndent = concatStrings (replicate indentLevel " "); - - toHyprconf' = indent: attrs: - let - sections = - filterAttrs (n: v: isAttrs v || (isList v && all isAttrs v)) attrs; - - mkSection = n: attrs: - if lib.isList attrs then - (concatMapStringsSep "\n" (a: mkSection n a) attrs) - else '' - ${indent}${n} { - ${toHyprconf' " ${indent}" attrs}${indent}} - ''; - - mkFields = generators.toKeyValue { - listsAsDuplicateKeys = true; - inherit indent; - }; - - allFields = - filterAttrs (n: v: !(isAttrs v || (isList v && all isAttrs v))) - attrs; - - isImportantField = n: _: - foldl (acc: prev: if hasPrefix prev n then true else acc) false - importantPrefixes; - - importantFields = filterAttrs isImportantField allFields; - - fields = builtins.removeAttrs allFields - (mapAttrsToList (n: _: n) importantFields); - in - mkFields importantFields - + concatStringsSep "\n" (mapAttrsToList mkSection sections) - + mkFields fields; - in - toHyprconf' initialIndent attrs; -in -{ - meta.maintainers = [ maintainers.khaneliman maintainers.fufexan ]; - - options.services.hyprpaper = { - enable = mkEnableOption "Hyprpaper, Hyprland's wallpaper daemon"; - - package = mkPackageOption pkgs "hyprpaper" { }; - - settings = lib.mkOption { - type = with lib.types; - let - valueType = nullOr - (oneOf [ - bool - int - float - str - path - (attrsOf valueType) - (listOf valueType) - ]) // { - description = "Hyprpaper configuration value"; - }; - in - valueType; - default = { }; - description = '' - hyprpaper configuration written in Nix. Entries with the same key - should be written as lists. Variables' and colors' names should be - quoted. See for more examples. - ''; - example = lib.literalExpression '' - { - ipc = "on"; - splash = false; - splash_offset = 2.0; - - preload = - [ "/share/wallpapers/buttons.png" "/share/wallpapers/cat_pacman.png" ]; - - wallpaper = [ - "DP-3,/share/wallpapers/buttons.png" - "DP-1,/share/wallpapers/cat_pacman.png" - ]; - } - ''; - }; - - importantPrefixes = lib.mkOption { - type = with lib.types; listOf str; - default = [ "$" ]; - example = [ "$" ]; - description = '' - List of prefix of attributes to source at the top of the config. - ''; - }; - }; - - config = mkIf cfg.enable { - xdg.configFile."hypr/hyprpaper.conf" = mkIf (cfg.settings != { }) { - text = toHyprconf { - attrs = cfg.settings; - inherit (cfg) importantPrefixes; - }; - }; - - systemd.user.services.hyprpaper = { - Install = { WantedBy = [ "graphical-session.target" ]; }; - - Unit = { - ConditionEnvironment = "WAYLAND_DISPLAY"; - Description = "hyprpaper"; - After = [ "graphical-session-pre.target" ]; - PartOf = [ "graphical-session.target" ]; - X-Restart-Triggers = - [ "${config.xdg.configFile."hypr/hyprpaper.conf".source}" ]; - }; - - Service = { - ExecStart = "${getExe cfg.package}"; - Restart = "always"; - RestartSec = "10"; - }; - }; - }; -} diff --git a/modules/home-manager/compat/k9s.nix b/modules/home-manager/compat/k9s.nix deleted file mode 100644 index ced904e..0000000 --- a/modules/home-manager/compat/k9s.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - yamlFormat = pkgs.formats.yaml { }; - -in { - options.programs.k9s = { - skins = mkOption { - type = types.attrsOf yamlFormat.type; - default = { }; - description = '' - Skin files written to {file}`$XDG_CONFIG_HOME/k9s/skins/`. See - for supported values. - ''; - example = literalExpression '' - my_blue_skin = { - k9s = { - body = { - fgColor = "dodgerblue"; - }; - }; - }; - ''; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index aa9eac4..9d40598 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,13 +1,6 @@ # (https://nixos.wiki/wiki/Module). { - # example = import ./example.nix; - - # Modules not yet added to the stable branch - bemenu = import ./compat/bemenu.nix; - hyprpaper = import ./compat/hyprpaper.nix; - k9s = import ./compat/k9s.nix; - # Personal things dev = import ./dev.nix; firefox = import ./firefox; diff --git a/modules/nixos/README.md b/modules/nixos/README.md new file mode 100644 index 0000000..3644dbe --- /dev/null +++ b/modules/nixos/README.md @@ -0,0 +1,11 @@ +# Nixos modules + +| Name | Attribute | Description | +| ------------------------------------ | ----------------------- | ------------------------------------ | +| [pounce](pounce.nix) | `services.pounce` | Pounce & calico configuration | +| [nginx](nginx.nix) | `satellite.nginx` | Nginx configuration | +| [ports](ports.nix) | `satellite.ports` | Global port specification | +| [cloudflared](cloudflared.nix) | `satellite.cloudflared` | Cloudflare tunnel configuration | +| [pilot](pilot.nix) | `satellite.pilot` | Defines the concept of a "main user" | +| [dns](dns.nix) | `satellite.dns` | DNS record creation | +| [dns-assertions](dns-assertions.nix) | `satellite.dns` | DNS record validation | diff --git a/modules/nixos/nginx.nix b/modules/nixos/nginx.nix index 9066e62..8dd0008 100644 --- a/modules/nixos/nginx.nix +++ b/modules/nixos/nginx.nix @@ -91,7 +91,7 @@ in type = "CNAME"; zone = cfg.domain; at = subdomain; - to = config.networking.hostName; + to = "${config.networking.hostName}.${cfg.domain}."; }; in lib.attrsets.mapAttrsToList (_: mkDnsRecord) cfg.at; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index 9763bca..91c8bae 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -7,9 +7,6 @@ let plymouthThemes = pkgs.callPackage (import ./plymouth-themes.nix) { }; in # example = pkgs.callPackage (import ./example.nix) {}; vimclip = pkgs.callPackage (import ./vimclip.nix) { }; homer = pkgs.callPackage (import ./homer.nix) { }; - - # REASON: octodns not in nixpkgs 23.11 - octodns-cloudflare = upkgs.python3Packages.callPackage (import ./octodns-cloudflare.nix) { }; - + octodns-cloudflare = pkgs.python3Packages.callPackage (import ./octodns-cloudflare.nix) { }; plymouthThemeCutsAlt = plymouthThemes.cuts_alt; } diff --git a/scripts/dns/dns.txt b/scripts/dns/dns.txt deleted file mode 100644 index ee9445d..0000000 --- a/scripts/dns/dns.txt +++ /dev/null @@ -1,71 +0,0 @@ -$ORIGIN moonythm.dev. ; designates default origin -$TTL 600 ; expiration time in ms - -; ========================================================================================== -; Main dns records - -; Actual (tailscale internal) IPs -lapetus IN A 100.93.136.59 -lapetus IN AAAA fd7a:115c:a1e0::e75d:883b - -; lapetus services -actual IN CNAME lapetus -api.intray IN CNAME lapetus -api.smos IN CNAME lapetus -cal IN CNAME lapetus -diptime IN CNAME lapetus -docs.smos IN CNAME lapetus -grafana IN CNAME lapetus -guacamole IN CNAME lapetus -intray IN CNAME lapetus -irc IN CNAME lapetus -jupyter IN CNAME lapetus -lab IN CNAME lapetus -lapetus.syncthing IN CNAME lapetus ; TODO: might change this to syncthing.lapetus -media IN CNAME lapetus -prometheus IN CNAME lapetus -qbit IN CNAME lapetus -redlib IN CNAME lapetus -rss IN CNAME lapetus -search IN CNAME lapetus -smos IN CNAME lapetus -warden IN CNAME lapetus -yt IN CNAME lapetus -*.irc IN CNAME irc - -; Tunnel used by lapetus -tunnel.lapetus IN CNAME 347d9ead-a523-4f8b-bca7-3066e31e2952.cfargotunnel.com. - -; lapetus services using cloudflare tunnels -bin IN CNAME tunnel.lapetus -git IN CNAME tunnel.lapetus -jupyter IN CNAME tunnel.lapetus - -; github pages -doffycup IN CNAME prescientmoon.github.io. -erratic-gate IN CNAME prescientmoon.github.io. - -; ========================================================================================== -; Migadu mail setup - -; Mail MX records -@ IN MX 10 aspmx1.migadu.com. -@ IN MX 20 aspmx2.migadu.com. -orbit IN MX 10 aspmx1.migadu.com. -orbit IN MX 20 aspmx2.migadu.com. - -; Mail CNAME records -key1._domainkey IN CNAME key1.moonythm.dev._domainkey.migadu.com. -key2._domainkey IN CNAME key2.moonythm.dev._domainkey.migadu.com. -key3._domainkey IN CNAME key3.moonythm.dev._domainkey.migadu.com. -key1._domainkey.orbit IN CNAME key1.orbit.moonythm.dev._domainkey.migadu.com. -key2._domainkey.orbit IN CNAME key2.orbit.moonythm.dev._domainkey.migadu.com. -key3._domainkey.orbit IN CNAME key3.orbit.moonythm.dev._domainkey.migadu.com. - -; Other mail stuff -@ IN TXT "hosted-email-verify=kfkhyexd" -@ IN TXT "v=spf1 include:spf.migadu.com -all" -_dmarc IN TXT "v=DMARC1; p=quarantine;" -orbit IN TXT "hosted-email-verify=24s7lnum" -orbit IN TXT "v=spf1 include:spf.migadu.com -all" -_dmarc.orbit IN TXT "v=DMARC1; p=quarantine;"