From 63c49e592c56a88dffe538e984caff49ca9ecdb0 Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Sat, 25 Nov 2023 17:12:09 +0100 Subject: [PATCH] feat: massive --- .gitignore | 2 + .gitmodules | 3 + flake.lock | 2644 +++-------------- flake.nix | 10 +- hosts/chmura/conduit.nix | 8 +- hosts/chmura/configuration.nix | 33 +- hosts/chmura/default.nix | 3 + hosts/chmura/firefox-syncserver.nix | 33 + hosts/chmura/forgejo.nix | 1 - hosts/chmura/home-manager.nix | 8 - hosts/chmura/jacekpoz.pl.nix | 16 + .../chmura/jacekpoz.pl/archetypes/default.md | 5 + hosts/chmura/jacekpoz.pl/content/_index.md | 1 + hosts/chmura/jacekpoz.pl/content/about.md | 9 + .../jacekpoz.pl/content/posts/git-workflow.md | 115 + hosts/chmura/jacekpoz.pl/default.nix | 31 + hosts/chmura/jacekpoz.pl/hugo.toml | 40 + hosts/chmura/jacekpoz.pl/static/email.svg | 7 + hosts/chmura/jacekpoz.pl/static/favicon.ico | Bin 0 -> 34494 bytes hosts/chmura/jacekpoz.pl/static/jacekpoz.svg | 88 + hosts/chmura/jacekpoz.pl/static/matrix.svg | 52 + hosts/chmura/jacekpoz.pl/themes/risotto | 1 + hosts/chmura/stalwart.nix | 37 +- hosts/chmura/trollface.pl/default.nix | 16 + hosts/default.nix | 30 +- hosts/niks/configuration.nix | 53 +- hosts/niks/home-manager.nix | 22 +- hosts/niks/mathis.m4a | Bin 0 -> 70922 bytes hosts/niks/waydroid.nix | 2 +- modules/cli/zsh.nix | 22 +- modules/gui/anyrun.nix | 1 + modules/gui/armcord.nix | 8 +- modules/gui/default.nix | 2 +- modules/gui/firefox.nix | 6 +- modules/gui/hyprland.nix | 26 +- modules/gui/qt.nix | 6 +- modules/other/default.nix | 1 + modules/other/preserve-system.nix | 6 + modules/services/anki-sync-server.nix | 57 + modules/services/fcitx/default.nix | 115 + modules/services/greetd.nix | 5 + modules/tui/default.nix | 1 + modules/tui/neovim/default.nix | 403 ++- modules/tui/newsboat.nix | 73 + secrets/eturnal-turn-secret.age | Bin 0 -> 722 bytes secrets/firefox-syncserver-secrets.age | 13 + secrets/secrets.nix | 2 + 47 files changed, 1453 insertions(+), 2564 deletions(-) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 hosts/chmura/firefox-syncserver.nix create mode 100644 hosts/chmura/jacekpoz.pl.nix create mode 100644 hosts/chmura/jacekpoz.pl/archetypes/default.md create mode 100644 hosts/chmura/jacekpoz.pl/content/_index.md create mode 100644 hosts/chmura/jacekpoz.pl/content/about.md create mode 100644 hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md create mode 100644 hosts/chmura/jacekpoz.pl/default.nix create mode 100644 hosts/chmura/jacekpoz.pl/hugo.toml create mode 100644 hosts/chmura/jacekpoz.pl/static/email.svg create mode 100644 hosts/chmura/jacekpoz.pl/static/favicon.ico create mode 100644 hosts/chmura/jacekpoz.pl/static/jacekpoz.svg create mode 100644 hosts/chmura/jacekpoz.pl/static/matrix.svg create mode 160000 hosts/chmura/jacekpoz.pl/themes/risotto create mode 100644 hosts/chmura/trollface.pl/default.nix create mode 100644 hosts/niks/mathis.m4a create mode 100644 modules/other/preserve-system.nix create mode 100644 modules/services/anki-sync-server.nix create mode 100644 modules/services/fcitx/default.nix create mode 100644 modules/tui/newsboat.nix create mode 100644 secrets/eturnal-turn-secret.age create mode 100644 secrets/firefox-syncserver-secrets.age diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2a9582 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +hosts/chmura/jacekpoz.pl/public/ +hosts/chmura/jacekpoz.pl/.hugo_build.lock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d5b9759 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "hosts/chmura/jacekpoz.pl/themes/risotto"] + path = hosts/chmura/jacekpoz.pl/themes/risotto + url = https://github.com/jacekpoz/risotto.git diff --git a/flake.lock b/flake.lock index 9b41556..fdd4818 100644 --- a/flake.lock +++ b/flake.lock @@ -20,22 +20,6 @@ "type": "github" } }, - "alpha-nvim": { - "flake": false, - "locked": { - "lastModified": 1689470865, - "narHash": "sha256-wgjYus4XlJ0GoQWTo5gf7yyKYhseOXKOqUXEiwXpEJQ=", - "owner": "goolord", - "repo": "alpha-nvim", - "rev": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65", - "type": "github" - }, - "original": { - "owner": "goolord", - "repo": "alpha-nvim", - "type": "github" - } - }, "anyrun": { "inputs": { "flake-parts": "flake-parts", @@ -57,19 +41,26 @@ "type": "github" } }, - "bufdelete-nvim": { - "flake": false, + "beautysh": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "poetry2nix": "poetry2nix", + "utils": "utils" + }, "locked": { - "lastModified": 1688027130, - "narHash": "sha256-UubYRfRAXZ89WOc3QFMvAMjNjLW6bV4nDgSa1CRZkIM=", - "owner": "famiu", - "repo": "bufdelete.nvim", - "rev": "07d1f8ba79dec59d42b975a4df1c732b2e4e37b4", + "lastModified": 1680308980, + "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=", + "owner": "lovesegfault", + "repo": "beautysh", + "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c", "type": "github" }, "original": { - "owner": "famiu", - "repo": "bufdelete.nvim", + "owner": "lovesegfault", + "repo": "beautysh", "type": "github" } }, @@ -89,198 +80,6 @@ "type": "github" } }, - "catppuccin": { - "flake": false, - "locked": { - "lastModified": 1690630440, - "narHash": "sha256-MSZcIrV3vvgb5mlMpO5uRlAYoENm2pZyuZbV5Q9Vg58=", - "owner": "catppuccin", - "repo": "nvim", - "rev": "057c34f849cf21059487d849e2f3b3efcd4ee0eb", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nvim", - "type": "github" - } - }, - "ccc": { - "flake": false, - "locked": { - "lastModified": 1686587775, - "narHash": "sha256-T1ryyTdbU/335MpD184PSnBLgj4S2Kzf9hZnwc9to+I=", - "owner": "uga-rosa", - "repo": "ccc.nvim", - "rev": "4a0ddaf787cc82796e84ab8a7f70d086f250aeb6", - "type": "github" - }, - "original": { - "owner": "uga-rosa", - "repo": "ccc.nvim", - "type": "github" - } - }, - "cellular-automaton": { - "flake": false, - "locked": { - "lastModified": 1674679594, - "narHash": "sha256-h4KQCf8+GbxWSyZzDny07YFZm7j+aSSfm51lsaK0Ers=", - "owner": "Eandrju", - "repo": "cellular-automaton.nvim", - "rev": "679943b8e1e5ef79aaeeaf4b00782c52eb4e928f", - "type": "github" - }, - "original": { - "owner": "Eandrju", - "repo": "cellular-automaton.nvim", - "type": "github" - } - }, - "cheatsheet-nvim": { - "flake": false, - "locked": { - "lastModified": 1640255456, - "narHash": "sha256-TYkGB7cON2t4GwMaR9H1MDG2j3btBv2AR37ade8kqTY=", - "owner": "sudormrfbin", - "repo": "cheatsheet.nvim", - "rev": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", - "type": "github" - }, - "original": { - "owner": "sudormrfbin", - "repo": "cheatsheet.nvim", - "type": "github" - } - }, - "cinnamon-nvim": { - "flake": false, - "locked": { - "lastModified": 1670143364, - "narHash": "sha256-JglXQhoPgN9sQ3yuv0+VQxmKMvoQTu5lbGLSRaQkytI=", - "owner": "declancm", - "repo": "cinnamon.nvim", - "rev": "c406ffda3a0302f32c23b24ab756ea20467d6578", - "type": "github" - }, - "original": { - "owner": "declancm", - "repo": "cinnamon.nvim", - "type": "github" - } - }, - "cmp-buffer": { - "flake": false, - "locked": { - "lastModified": 1660101488, - "narHash": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=", - "owner": "hrsh7th", - "repo": "cmp-buffer", - "rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-buffer", - "type": "github" - } - }, - "cmp-nvim-lsp": { - "flake": false, - "locked": { - "lastModified": 1687494203, - "narHash": "sha256-mU0soCz79erJXMMqD/FyrJZ0mu2n6fE0deymPzQlxts=", - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "rev": "44b16d11215dce86f253ce0c30949813c0a90765", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "type": "github" - } - }, - "cmp-path": { - "flake": false, - "locked": { - "lastModified": 1664784283, - "narHash": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=", - "owner": "hrsh7th", - "repo": "cmp-path", - "rev": "91ff86cd9c29299a64f968ebb45846c485725f23", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-path", - "type": "github" - } - }, - "cmp-treesitter": { - "flake": false, - "locked": { - "lastModified": 1680745848, - "narHash": "sha256-WOcg6w4M20gpMCZjZ3DpPIA55SGLjV75fhckefiVfU0=", - "owner": "ray-x", - "repo": "cmp-treesitter", - "rev": "389eadd48c27aa6dc0e6b992644704f026802a2e", - "type": "github" - }, - "original": { - "owner": "ray-x", - "repo": "cmp-treesitter", - "type": "github" - } - }, - "cmp-vsnip": { - "flake": false, - "locked": { - "lastModified": 1669100283, - "narHash": "sha256-2mkN03noOr5vBvRbSb35xZKorSH+8savQNZtgM9+QcM=", - "owner": "hrsh7th", - "repo": "cmp-vsnip", - "rev": "989a8a73c44e926199bfd05fa7a516d51f2d2752", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-vsnip", - "type": "github" - } - }, - "codewindow-nvim": { - "flake": false, - "locked": { - "lastModified": 1690128662, - "narHash": "sha256-7ntC06PhxfuKnGyXpiW4juP3fWR97DH3Gygwvscv3OY=", - "owner": "gorbit99", - "repo": "codewindow.nvim", - "rev": "11fb5520898d22a563fe6a124a61c0d2887f3d3f", - "type": "github" - }, - "original": { - "owner": "gorbit99", - "repo": "codewindow.nvim", - "type": "github" - } - }, - "comment-nvim": { - "flake": false, - "locked": { - "lastModified": 1686546603, - "narHash": "sha256-XM9yhp+SGxfAOdN/eDunzM0TMoCJhVth3wpFKNCGf3g=", - "owner": "numToStr", - "repo": "Comment.nvim", - "rev": "176e85eeb63f1a5970d6b88f1725039d85ca0055", - "type": "github" - }, - "original": { - "owner": "numToStr", - "repo": "Comment.nvim", - "type": "github" - } - }, "conduit": { "inputs": { "crane": "crane", @@ -303,38 +102,6 @@ "type": "gitlab" } }, - "copilot-cmp": { - "flake": false, - "locked": { - "lastModified": 1683831407, - "narHash": "sha256-+MzEGnhlrYRvAfskOwmw69OC1CsPXt7s3z+xPe9XPqs=", - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "rev": "c2cdb3c0f5078b0619055af192295830a7987790", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "type": "github" - } - }, - "copilot-lua": { - "flake": false, - "locked": { - "lastModified": 1688190439, - "narHash": "sha256-lD9FdbKKZ6d/BjIfqp0Ust2hqSYNLpCFWxuaKUO9qLs=", - "owner": "zbirenbaum", - "repo": "copilot.lua", - "rev": "e48bd7020a98be217d85c006a298656294fd6210", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot.lua", - "type": "github" - } - }, "crane": { "inputs": { "flake-compat": "flake-compat", @@ -392,22 +159,6 @@ "type": "github" } }, - "crates-nvim": { - "flake": false, - "locked": { - "lastModified": 1688295570, - "narHash": "sha256-ah+fTmzkZn+xuL3sG2RxlCtDiFsRv3SY1iJzYKMIaMg=", - "owner": "Saecki", - "repo": "crates.nvim", - "rev": "4ce7c51b881e58f1e2f8f437f30e4e583cbac319", - "type": "github" - }, - "original": { - "owner": "Saecki", - "repo": "crates.nvim", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -430,119 +181,6 @@ "type": "github" } }, - "dashboard-nvim": { - "flake": false, - "locked": { - "lastModified": 1690351087, - "narHash": "sha256-aVMugjgA9lnORUVDBpa8G800Ev86htP4hDGrBq6Sw6s=", - "owner": "glepnir", - "repo": "dashboard-nvim", - "rev": "c17d3210b3dec8798b4fc82a11c542989251f85d", - "type": "github" - }, - "original": { - "owner": "glepnir", - "repo": "dashboard-nvim", - "type": "github" - } - }, - "diffview-nvim": { - "flake": false, - "locked": { - "lastModified": 1689788060, - "narHash": "sha256-0tsgwI/qZm8Gj3NyN9CA+YHf3qim7vGXI+vbEcFBKbQ=", - "owner": "sindrets", - "repo": "diffview.nvim", - "rev": "e91110d2a7f8e2f667666aba6ea089ff823f8748", - "type": "github" - }, - "original": { - "owner": "sindrets", - "repo": "diffview.nvim", - "type": "github" - } - }, - "dirt-samples-src": { - "flake": false, - "locked": { - "lastModified": 1588278411, - "narHash": "sha256-h8vQxRym6QzNLOTZU7A43VCHuG0H77l+BFwXnC0L1CE=", - "owner": "tidalcycles", - "repo": "dirt-samples", - "rev": "66d432418c9a7d82cf049d9246adfa62f46df2a6", - "type": "github" - }, - "original": { - "owner": "tidalcycles", - "ref": "master", - "repo": "dirt-samples", - "type": "github" - } - }, - "dracula": { - "flake": false, - "locked": { - "lastModified": 1690594744, - "narHash": "sha256-gblqxRTphGBpEOx57/4oU/B50O0OguIm1bFtd4LXuQ4=", - "owner": "Mofiqul", - "repo": "dracula.nvim", - "rev": "9fe831e685a76e1a1898a694623b33247c4d036c", - "type": "github" - }, - "original": { - "owner": "Mofiqul", - "repo": "dracula.nvim", - "type": "github" - } - }, - "dressing-nvim": { - "flake": false, - "locked": { - "lastModified": 1690648598, - "narHash": "sha256-hndRErSXhX1BHM90nuhiZkgHwkclLEMv5vtF+GDzUP4=", - "owner": "stevearc", - "repo": "dressing.nvim", - "rev": "829bc80400651aea31b03d8fc9a99135512fe67a", - "type": "github" - }, - "original": { - "owner": "stevearc", - "repo": "dressing.nvim", - "type": "github" - } - }, - "elixir-ls": { - "flake": false, - "locked": { - "lastModified": 1690526097, - "narHash": "sha256-lR1xsOJhz0W/Z3E2EUWujpUvpgUkLLDr0E6Ao31zi8s=", - "owner": "elixir-lsp", - "repo": "elixir-ls", - "rev": "216ff0e2969c2bbe45d324c4d6a5f08e6b681f5e", - "type": "github" - }, - "original": { - "owner": "elixir-lsp", - "repo": "elixir-ls", - "type": "github" - } - }, - "elixir-tools": { - "flake": false, - "locked": { - "lastModified": 1690555653, - "narHash": "sha256-7wDEChXTUGp8ONT6jufIJp05vawzo4AXg35ELNLvysA=", - "owner": "elixir-tools", - "repo": "elixir-tools.nvim", - "rev": "883933b57c9150c71ad2b99a4080685d83e095b8", - "type": "github" - }, - "original": { - "owner": "elixir-tools", - "repo": "elixir-tools.nvim", - "type": "github" - } - }, "fenix": { "inputs": { "nixpkgs": [ @@ -573,11 +211,11 @@ "rust-analyzer-src": "rust-analyzer-src_2" }, "locked": { - "lastModified": 1697178193, - "narHash": "sha256-LBDLUWlwSDPMA1Ui9wC9YcQEnJL0UP627RoUmtz4TTo=", + "lastModified": 1700806945, + "narHash": "sha256-mV25HkKFHDmjp+FEmneLYaRCB7wHOGuZlDFdHUCKAJI=", "owner": "nix-community", "repo": "fenix", - "rev": "ff6c27356cbde594e598e388a32d79ef79cbe1b1", + "rev": "7ab9ec16d364b564da3aa0e73887b0af133eef59", "type": "github" }, "original": { @@ -586,23 +224,6 @@ "type": "github" } }, - "fidget-nvim": { - "flake": false, - "locked": { - "lastModified": 1686378433, - "narHash": "sha256-N3O/AvsD6Ckd62kDEN4z/K5A3SZNR15DnQeZhH6/Rr0=", - "owner": "j-hui", - "repo": "fidget.nvim", - "rev": "90c22e47be057562ee9566bad313ad42d622c1d3", - "type": "github" - }, - "original": { - "owner": "j-hui", - "ref": "legacy", - "repo": "fidget.nvim", - "type": "github" - } - }, "firefox-nightly": { "inputs": { "cachix": "cachix", @@ -614,11 +235,11 @@ ] }, "locked": { - "lastModified": 1697221741, - "narHash": "sha256-KCSUsOGr0N2DSprwLoOOExLI4Pqg2FPP7J3MzfpKexQ=", + "lastModified": 1700842988, + "narHash": "sha256-8quSprmWXYxMDhioKZZDGT6kPnfvXbglDQ62KtpiINQ=", "owner": "colemickens", "repo": "flake-firefox-nightly", - "rev": "9f7e5bcf3c7567d21f2ec912c7a0ffb87da370a3", + "rev": "cc0e03aa0fbca12a45fa8d4278aaf96676b69fd4", "type": "github" }, "original": { @@ -675,22 +296,6 @@ } }, "flake-compat_4": { - "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_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -706,7 +311,7 @@ "type": "github" } }, - "flake-compat_6": { + "flake-compat_5": { "locked": { "lastModified": 1688025799, "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", @@ -721,6 +326,22 @@ "type": "github" } }, + "flake-compat_6": { + "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_7": { "flake": false, "locked": { @@ -758,59 +379,19 @@ "type": "github" } }, - "flake-parts_10": { - "inputs": { - "nixpkgs-lib": [ - "nixpkgs-wayland", - "nix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_11": { - "inputs": { - "nixpkgs-lib": [ - "schizofox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -823,6 +404,7 @@ "inputs": { "nixpkgs-lib": [ "neovim-nightly-overlay", + "hercules-ci-effects", "nixpkgs" ] }, @@ -834,44 +416,39 @@ "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, "original": { "id": "flake-parts", "type": "indirect" } }, - "flake-parts_5": { + "flake-parts_4": { "inputs": { - "nixpkgs-lib": [ - "neovim-nightly-overlay", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1698579227, + "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "f76e870d64779109e41370848074ac4eaa1606ec", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -882,14 +459,17 @@ }, "flake-parts_6": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_4" + "nixpkgs-lib": [ + "nixpak", + "nixpkgs" + ] }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -900,14 +480,18 @@ }, "flake-parts_7": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" + "nixpkgs-lib": [ + "nixpkgs-wayland", + "nix-eval-jobs", + "nixpkgs" + ] }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -919,7 +503,7 @@ "flake-parts_8": { "inputs": { "nixpkgs-lib": [ - "nixpak", + "schizofox", "nixpkgs" ] }, @@ -937,29 +521,6 @@ "type": "github" } }, - "flake-parts_9": { - "inputs": { - "nixpkgs-lib": [ - "nixpak", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems" @@ -1018,39 +579,6 @@ "inputs": { "systems": "systems_5" }, - "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_5": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_6": { - "inputs": { - "systems": "systems_7" - }, "locked": { "lastModified": 1685518550, "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", @@ -1065,9 +593,9 @@ "type": "github" } }, - "flake-utils_7": { + "flake-utils_5": { "inputs": { - "systems": "systems_8" + "systems": "systems_6" }, "locked": { "lastModified": 1694529238, @@ -1083,99 +611,61 @@ "type": "github" } }, - "flutter-tools": { - "flake": false, + "flake-utils_6": { + "inputs": { + "systems": "systems_7" + }, "locked": { - "lastModified": 1690188839, - "narHash": "sha256-h8s5g6KU7dMesDqiwzv2MmUGk6jlU5lBnuVA3LaoI1g=", - "owner": "akinsho", - "repo": "flutter-tools.nvim", - "rev": "561d85b16d8ca2938820a9c26b2fe74096d89c81", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { - "owner": "akinsho", - "repo": "flutter-tools.nvim", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "gesture-nvim": { - "flake": false, + "flake-utils_7": { + "inputs": { + "systems": "systems_8" + }, "locked": { - "lastModified": 1687655077, - "narHash": "sha256-ps/dAKIga2ZVunwj+KU/Iej4PGZbBvm5ZzcK30EiKMc=", - "owner": "notomo", - "repo": "gesture.nvim", - "rev": "aa273e7982943ac6ccf6b864f3fd40ad287a9fe2", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { - "owner": "notomo", - "repo": "gesture.nvim", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "gitsigns-nvim": { - "flake": false, + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixvim", + "pre-commit-hooks", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1690463120, - "narHash": "sha256-kraK0GP5aLGbh1eVZCm41D6BztjFxthSXGnE5CxhrZs=", - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "rev": "5d73da785a3c05fd63ac31769079db05169a6ec7", + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", "type": "github" }, "original": { - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "type": "github" - } - }, - "glow-nvim": { - "flake": false, - "locked": { - "lastModified": 1690579937, - "narHash": "sha256-ZDlQfSJHq9CbOpTDgmIoMq4gDzHxoUslFfN5XKtrDtM=", - "owner": "ellisonleao", - "repo": "glow.nvim", - "rev": "8942dfb05794f436af4fbc90a34393f1fd36f361", - "type": "github" - }, - "original": { - "owner": "ellisonleao", - "repo": "glow.nvim", - "type": "github" - } - }, - "haskell-flake": { - "locked": { - "lastModified": 1684780604, - "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "0.3.0", - "repo": "haskell-flake", - "type": "github" - } - }, - "haskell-flake_2": { - "locked": { - "lastModified": 1684780604, - "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "0.3.0", - "repo": "haskell-flake", + "owner": "hercules-ci", + "repo": "gitignore.nix", "type": "github" } }, @@ -1187,11 +677,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1697209736, - "narHash": "sha256-EBliRkJjZ4AP1CnRRyWXbIS8WFyKD+0SmQgql5b6lTg=", + "lastModified": 1700676250, + "narHash": "sha256-08aSqFjN/TR82M6dkRPYMwemRHzvZ5qShTam8ltpfQE=", "owner": "helix-editor", "repo": "helix", - "rev": "9f6e9a151228c3c95cddb9032849625883d2ac8a", + "rev": "090ed97e0045bfad1e5bff8b96c61707b996b85a", "type": "github" }, "original": { @@ -1200,59 +690,20 @@ "type": "github" } }, - "hercules-ci-agent": { - "inputs": { - "flake-parts": "flake-parts_5", - "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs_9" - }, - "locked": { - "lastModified": 1688568579, - "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, - "hercules-ci-agent_2": { - "inputs": { - "flake-parts": "flake-parts_9", - "haskell-flake": "haskell-flake_2", - "nixpkgs": "nixpkgs_11" - }, - "locked": { - "lastModified": 1688568579, - "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_4", - "hercules-ci-agent": "hercules-ci-agent", + "flake-parts": "flake-parts_3", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" ] }, "locked": { - "lastModified": 1697031886, - "narHash": "sha256-oTMPX8dGC7yxSwrbF4NuPNQsUEcHB1dusW2yEbFD5zg=", + "lastModified": 1699381651, + "narHash": "sha256-mZlQ54xJs3j5+SJrLhzePPMXzS+Czbx7gNyOnOAQrHA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "178b36dc3a75c96efc25477d45eafc37ba1fafc3", + "rev": "0bd99f5ab7ec7a74c11238bd02bb29e709c14328", "type": "github" }, "original": { @@ -1267,18 +718,17 @@ "nixpak", "flake-parts" ], - "hercules-ci-agent": "hercules-ci-agent_2", "nixpkgs": [ "nixpak", "nixpkgs" ] }, "locked": { - "lastModified": 1697031886, - "narHash": "sha256-oTMPX8dGC7yxSwrbF4NuPNQsUEcHB1dusW2yEbFD5zg=", + "lastModified": 1699381651, + "narHash": "sha256-mZlQ54xJs3j5+SJrLhzePPMXzS+Czbx7gNyOnOAQrHA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "178b36dc3a75c96efc25477d45eafc37ba1fafc3", + "rev": "0bd99f5ab7ec7a74c11238bd02bb29e709c14328", "type": "github" }, "original": { @@ -1315,11 +765,11 @@ ] }, "locked": { - "lastModified": 1696940889, - "narHash": "sha256-p2Wic74A1tZpFcld1wSEbFQQbrZ/tPDuLieCnspamQo=", + "lastModified": 1700847865, + "narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=", "owner": "nix-community", "repo": "home-manager", - "rev": "6bba64781e4b7c1f91a733583defbd3e46b49408", + "rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe", "type": "github" }, "original": { @@ -1336,11 +786,11 @@ ] }, "locked": { - "lastModified": 1696446489, - "narHash": "sha256-xSjMKdNR+q/3hdSPyg/LUMsZT/WIoUi8dcm5zT4SMUQ=", + "lastModified": 1697662575, + "narHash": "sha256-fVtd4Le9edB831xyGWu0aqSfg6YVbkCNMX/IE3SUIdk=", "owner": "nix-community", "repo": "home-manager", - "rev": "68f7d8c0fb0bfc67d1916dd7f06288424360d43a", + "rev": "3433206e51766b4164dad368a81325efbf343fbe", "type": "github" }, "original": { @@ -1349,32 +799,16 @@ "type": "github" } }, - "hop-nvim": { - "flake": false, - "locked": { - "lastModified": 1684332066, - "narHash": "sha256-xdjFbdp0+S3pVdwcOFmad8PMUU033WeDzswOSdxSQjg=", - "owner": "phaazon", - "repo": "hop.nvim", - "rev": "03f0434869f1f38868618198b5f4f2ab6d39aef2", - "type": "github" - }, - "original": { - "owner": "phaazon", - "repo": "hop.nvim", - "type": "github" - } - }, "hyprcontrib": { "inputs": { "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1696339530, - "narHash": "sha256-rb954Rc+IyUiiXoIuQOJRp0//zH/WeMYZ3yJ5CccODA=", + "lastModified": 1700499713, + "narHash": "sha256-1+0EXzRXcHn3Zqy8+kdcHClDJR181sqGBRp0xVoedEA=", "owner": "hyprwm", "repo": "contrib", - "rev": "2e3f8ac2a3f1334fd2e211b07ed76b4215bb0542", + "rev": "11bbb96e44818f67e5259c1788231f30fe5fe2e7", "type": "github" }, "original": { @@ -1392,11 +826,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1697151905, - "narHash": "sha256-sfuiRn7D5D2NzDkXXN/DUUcs2d1ddlf3VmzDBzDO2Tk=", + "lastModified": 1700862359, + "narHash": "sha256-gNtAZ9m5gTT0C/HTiqAVGQ2MPH+TBoIKBvROPJvlHWQ=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "3a61350286de842c7f1566c38e2b42821080ddf4", + "rev": "745b998587fc39db6e3f77caa54074da618cd509", "type": "github" }, "original": { @@ -1412,11 +846,11 @@ ] }, "locked": { - "lastModified": 1696973054, - "narHash": "sha256-jdJ9bgw1p7w6bkfSdGPtWBvjNoxm+Mohb2mSgT7d8CY=", + "lastModified": 1700860454, + "narHash": "sha256-UMxvkBykixT5corPSdTEv03imFvYhdADdZ7YPYbUwWQ=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "aa3517bec58c1d572c7f54deeed7f004fe52bdba", + "rev": "8d5c2f60c880f21851526b303fb254a3cd4c1fb0", "type": "github" }, "original": { @@ -1475,81 +909,17 @@ "type": "github" } }, - "icon-picker-nvim": { - "flake": false, - "locked": { - "lastModified": 1683205244, - "narHash": "sha256-/oi2Kj7GDXzN3ccPoxyxXtQTYSxtZndgELZa2XgZ3U8=", - "owner": "ziontee113", - "repo": "icon-picker.nvim", - "rev": "e6dca182518eeb7a51470c13605a5bce08a816e4", - "type": "github" - }, - "original": { - "owner": "ziontee113", - "repo": "icon-picker.nvim", - "type": "github" - } - }, - "indent-blankline": { - "flake": false, - "locked": { - "lastModified": 1688727830, - "narHash": "sha256-efMRkxjbr6o7kSKAEn0Kaw8lsDubRmc1N0Kd1BZ3A7k=", - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "rev": "4541d690816cb99a7fc248f1486aa87f3abce91c", - "type": "github" - }, - "original": { - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "type": "github" - } - }, - "kommentary": { - "flake": false, - "locked": { - "lastModified": 1672983049, - "narHash": "sha256-N4n5tjNB1yX/QxH+t5aG0VxNwZhUJejv0b5V62WEKDU=", - "owner": "b3nj5m1n", - "repo": "kommentary", - "rev": "3a80117148c6798972bb69414423311ab151d368", - "type": "github" - }, - "original": { - "owner": "b3nj5m1n", - "repo": "kommentary", - "type": "github" - } - }, - "leap-nvim": { - "flake": false, - "locked": { - "lastModified": 1690120911, - "narHash": "sha256-9GFZ5CuR92kFGwh/ouqSSp14eOLZLpzpoFTEuYL7biQ=", - "owner": "ggandor", - "repo": "leap.nvim", - "rev": "5efe985cf68fac3b6a6dfe7a75fbfaca8db2af9c", - "type": "github" - }, - "original": { - "owner": "ggandor", - "repo": "leap.nvim", - "type": "github" - } - }, "lib-aggregate": { "inputs": { "flake-utils": "flake-utils_2", "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696766909, - "narHash": "sha256-lU1BmCWpQ9cx64YnJKc89lMg9cx4pCokXIbh5J//2t0=", + "lastModified": 1700395747, + "narHash": "sha256-pzLYZGK34vhAFfyAJjcZYX3BK0Ap/QY/rd8B6Q30tHo=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "9f495e4feea66426589cbb59ac8b972993b5d872", + "rev": "474538707da35589543af5a1c8c31f9978841add", "type": "github" }, "original": { @@ -1560,15 +930,15 @@ }, "lib-aggregate_2": { "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs-lib": "nixpkgs-lib_6" + "flake-utils": "flake-utils_5", + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { - "lastModified": 1696766909, - "narHash": "sha256-lU1BmCWpQ9cx64YnJKc89lMg9cx4pCokXIbh5J//2t0=", + "lastModified": 1700395747, + "narHash": "sha256-pzLYZGK34vhAFfyAJjcZYX3BK0Ap/QY/rd8B6Q30tHo=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "9f495e4feea66426589cbb59ac8b972993b5d872", + "rev": "474538707da35589543af5a1c8c31f9978841add", "type": "github" }, "original": { @@ -1577,134 +947,6 @@ "type": "github" } }, - "lsp-lines": { - "flake": false, - "locked": { - "lastModified": 1684163755, - "narHash": "sha256-Zhf2xitLWtE+dWqhvWtLM1K1WdtBvkqqoRLSYIO42oY=", - "owner": "~whynothugo", - "repo": "lsp_lines.nvim", - "rev": "f53af96d4789eef39a082dbcce078d2bfc384ece", - "type": "sourcehut" - }, - "original": { - "owner": "~whynothugo", - "repo": "lsp_lines.nvim", - "type": "sourcehut" - } - }, - "lsp-signature": { - "flake": false, - "locked": { - "lastModified": 1690267930, - "narHash": "sha256-qvcs0KuO2/NdtiTZIxJ2vrwV0I5PjzjMvoAePPasaJM=", - "owner": "ray-x", - "repo": "lsp_signature.nvim", - "rev": "58d4e810801da74c29313da86075d6aea537501f", - "type": "github" - }, - "original": { - "owner": "ray-x", - "repo": "lsp_signature.nvim", - "type": "github" - } - }, - "lspkind": { - "flake": false, - "locked": { - "lastModified": 1683275543, - "narHash": "sha256-S+qZm51hw/cRujIfHV/1x1fYyCKI4XQ0utSL8uy4l6I=", - "owner": "onsails", - "repo": "lspkind-nvim", - "rev": "57610d5ab560c073c465d6faf0c19f200cb67e6e", - "type": "github" - }, - "original": { - "owner": "onsails", - "repo": "lspkind-nvim", - "type": "github" - } - }, - "lspsaga": { - "flake": false, - "locked": { - "lastModified": 1670360222, - "narHash": "sha256-7ENInq3LAPPTdm0Fb7klOc630j8m4LRj1kLZZFYLh68=", - "owner": "tami5", - "repo": "lspsaga.nvim", - "rev": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", - "type": "github" - }, - "original": { - "owner": "tami5", - "repo": "lspsaga.nvim", - "type": "github" - } - }, - "lualine": { - "flake": false, - "locked": { - "lastModified": 1683213422, - "narHash": "sha256-ltHE8UIquGo07BSlFGM1l3wmTNN43i8kx6QY7Fj2CNo=", - "owner": "hoob3rt", - "repo": "lualine.nvim", - "rev": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9", - "type": "github" - }, - "original": { - "owner": "hoob3rt", - "repo": "lualine.nvim", - "type": "github" - } - }, - "mind-nvim": { - "flake": false, - "locked": { - "lastModified": 1679526071, - "narHash": "sha256-JIhAhQYGLLRucwlhzfckQYU5qjqbHtNH52JlGS5a79w=", - "owner": "phaazon", - "repo": "mind.nvim", - "rev": "002137dd7cf97865ebd01b6a260209d2daf2da66", - "type": "github" - }, - "original": { - "owner": "phaazon", - "repo": "mind.nvim", - "type": "github" - } - }, - "minimap-vim": { - "flake": false, - "locked": { - "lastModified": 1690301768, - "narHash": "sha256-yRWZH9caSxrWjUXlM84fU90tZjNfX97m0m491ZsIHxA=", - "owner": "wfxr", - "repo": "minimap.vim", - "rev": "74573b63b9ef0583262b6bf6ef209eb7f3b06b94", - "type": "github" - }, - "original": { - "owner": "wfxr", - "repo": "minimap.vim", - "type": "github" - } - }, - "modes-nvim": { - "flake": false, - "locked": { - "lastModified": 1682778003, - "narHash": "sha256-qrGgraBdAvIc6AXqMMWESlOV29lM5zC1du1r5L2kpQQ=", - "owner": "mvllow", - "repo": "modes.nvim", - "rev": "4d97a51ebbdb649b85f6d79da0009fddd7081a6b", - "type": "github" - }, - "original": { - "owner": "mvllow", - "repo": "modes.nvim", - "type": "github" - } - }, "mozilla": { "flake": false, "locked": { @@ -1722,28 +964,6 @@ } }, "naersk": { - "inputs": { - "nixpkgs": [ - "neovim-flake", - "rnix-lsp", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1655042882, - "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", - "owner": "nix-community", - "repo": "naersk", - "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, - "naersk_2": { "inputs": { "nixpkgs": [ "shadower", @@ -1764,143 +984,9 @@ "type": "github" } }, - "neodev-nvim": { - "flake": false, - "locked": { - "lastModified": 1695449121, - "narHash": "sha256-WisbNLKEz0IgO7gLDA2quNzK69hJaHzmvWkZSUPQb6k=", - "owner": "folke", - "repo": "neodev.nvim", - "rev": "c8e126393a34939fb448d48eeddb510971739e3a", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "neodev.nvim", - "type": "github" - } - }, "neovim-flake": { "inputs": { - "alpha-nvim": "alpha-nvim", - "bufdelete-nvim": "bufdelete-nvim", - "catppuccin": "catppuccin", - "ccc": "ccc", - "cellular-automaton": "cellular-automaton", - "cheatsheet-nvim": "cheatsheet-nvim", - "cinnamon-nvim": "cinnamon-nvim", - "cmp-buffer": "cmp-buffer", - "cmp-nvim-lsp": "cmp-nvim-lsp", - "cmp-path": "cmp-path", - "cmp-treesitter": "cmp-treesitter", - "cmp-vsnip": "cmp-vsnip", - "codewindow-nvim": "codewindow-nvim", - "comment-nvim": "comment-nvim", - "copilot-cmp": "copilot-cmp", - "copilot-lua": "copilot-lua", - "crates-nvim": "crates-nvim", - "dashboard-nvim": "dashboard-nvim", - "diffview-nvim": "diffview-nvim", - "dracula": "dracula", - "dressing-nvim": "dressing-nvim", - "elixir-ls": "elixir-ls", - "elixir-tools": "elixir-tools", - "fidget-nvim": "fidget-nvim", - "flake-parts": "flake-parts_2", "flake-utils": "flake-utils_4", - "flutter-tools": "flutter-tools", - "gesture-nvim": "gesture-nvim", - "gitsigns-nvim": "gitsigns-nvim", - "glow-nvim": "glow-nvim", - "hop-nvim": "hop-nvim", - "icon-picker-nvim": "icon-picker-nvim", - "indent-blankline": "indent-blankline", - "kommentary": "kommentary", - "leap-nvim": "leap-nvim", - "lsp-lines": "lsp-lines", - "lsp-signature": "lsp-signature", - "lspkind": "lspkind", - "lspsaga": "lspsaga", - "lualine": "lualine", - "mind-nvim": "mind-nvim", - "minimap-vim": "minimap-vim", - "modes-nvim": "modes-nvim", - "neodev-nvim": "neodev-nvim", - "nil": "nil", - "nixpkgs": [ - "nixpkgs" - ], - "nmd": "nmd", - "noice-nvim": "noice-nvim", - "nui-nvim": "nui-nvim", - "null-ls": "null-ls", - "nvim-autopairs": "nvim-autopairs", - "nvim-bufferline-lua": "nvim-bufferline-lua", - "nvim-cmp": "nvim-cmp", - "nvim-code-action-menu": "nvim-code-action-menu", - "nvim-colorizer-lua": "nvim-colorizer-lua", - "nvim-compe": "nvim-compe", - "nvim-cursorline": "nvim-cursorline", - "nvim-dap": "nvim-dap", - "nvim-dap-ui": "nvim-dap-ui", - "nvim-lightbulb": "nvim-lightbulb", - "nvim-lspconfig": "nvim-lspconfig", - "nvim-navbuddy": "nvim-navbuddy", - "nvim-navic": "nvim-navic", - "nvim-neoclip": "nvim-neoclip", - "nvim-notify": "nvim-notify", - "nvim-session-manager": "nvim-session-manager", - "nvim-surround": "nvim-surround", - "nvim-tree-lua": "nvim-tree-lua", - "nvim-treesitter-context": "nvim-treesitter-context", - "nvim-ts-autotag": "nvim-ts-autotag", - "nvim-web-devicons": "nvim-web-devicons", - "obsidian-nvim": "obsidian-nvim", - "onedark": "onedark", - "orgmode-nvim": "orgmode-nvim", - "plenary-nvim": "plenary-nvim", - "presence-nvim": "presence-nvim", - "project-nvim": "project-nvim", - "registers": "registers", - "rnix-lsp": "rnix-lsp", - "rust-tools": "rust-tools", - "scrollbar-nvim": "scrollbar-nvim", - "smartcolumn": "smartcolumn", - "sqls-nvim": "sqls-nvim", - "systems": "systems_6", - "tabular": "tabular", - "telescope": "telescope", - "tidalcycles": "tidalcycles", - "todo-comments": "todo-comments", - "toggleterm-nvim": "toggleterm-nvim", - "tokyonight": "tokyonight", - "trouble": "trouble", - "vim-dirtytalk": "vim-dirtytalk", - "vim-illuminate": "vim-illuminate", - "vim-markdown": "vim-markdown", - "vim-repeat": "vim-repeat", - "vim-startify": "vim-startify", - "vim-vsnip": "vim-vsnip", - "which-key": "which-key", - "zig": "zig" - }, - "locked": { - "lastModified": 1697046997, - "narHash": "sha256-lHamAPibqMoDP6MyHqSyXDrofUOi87ZGT5zcmznGR+g=", - "owner": "NotAShelf", - "repo": "neovim-flake", - "rev": "767b5ec48a25f05d61869867887f0e48b91c1956", - "type": "github" - }, - "original": { - "owner": "NotAShelf", - "repo": "neovim-flake", - "type": "github" - } - }, - "neovim-flake_2": { - "inputs": { - "flake-utils": "flake-utils_6", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -1908,11 +994,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697153265, - "narHash": "sha256-ZE2ViIiNqqsu72vd/VLx+sB0hWbUZtdUG4gb5UPjmtw=", + "lastModified": 1700415469, + "narHash": "sha256-uRdcRPnOkaL/rk3c/u2zUV6hPDoaplWAbJ6ajlhHdaw=", "owner": "neovim", "repo": "neovim", - "rev": "ebe489d8f0edbb3538a59733289d8969d1ffea22", + "rev": "7ca2d64e8bbfb73f33cf82a2f9c03808bfea3d95", "type": "github" }, "original": { @@ -1924,18 +1010,18 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_3", + "flake-compat": "flake-compat_4", + "flake-parts": "flake-parts_2", "hercules-ci-effects": "hercules-ci-effects", - "neovim-flake": "neovim-flake_2", - "nixpkgs": "nixpkgs_10" + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1697155251, - "narHash": "sha256-gKNcjjGOSt6VnUaURlrHjaweQdnG30gXXl7itqnjV/I=", + "lastModified": 1700438595, + "narHash": "sha256-3Kr57JalUnLCJ4EpencaE+Dh7orKF7VBcU/YyrjSWYM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "185a47b09d95c430187a16d89b1ec32391698e07", + "rev": "d811ebe5a826ccdc0c27f89b1e41314828d652aa", "type": "github" }, "original": { @@ -1946,18 +1032,18 @@ }, "nh": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_4", "nix-filter": "nix-filter", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1696149398, - "narHash": "sha256-RwlAyww4bzeu2ndeQoScelYtlYiSxPdCn70R+xGdZBc=", + "lastModified": 1698826948, + "narHash": "sha256-Th05oofIIhsN2bmJNsb0Xev3+RJgtk8stjHZX9EdWA0=", "owner": "viperML", "repo": "nh", - "rev": "2985f5a45d6f3e1a9d8d3ca5c777ef1bc9c7fbd1", + "rev": "23d21975231d569afbe3973eb19d955c650f8f08", "type": "github" }, "original": { @@ -1966,44 +1052,19 @@ "type": "github" } }, - "nil": { - "inputs": { - "flake-utils": [ - "neovim-flake", - "flake-utils" - ], - "nixpkgs": [ - "neovim-flake", - "nixpkgs" - ], - "rust-overlay": "rust-overlay_3" - }, - "locked": { - "lastModified": 1689759503, - "narHash": "sha256-wFrcae6V58hIlDW+7NDoUXzXBmsU7W/k3V1KIePcwRA=", - "owner": "oxalica", - "repo": "nil", - "rev": "59bcad0b13b5d77668c0c125fef71d7b41406d7a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "nil", - "type": "github" - } - }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_10", - "nixpkgs": "nixpkgs_13", + "flake-parts": "flake-parts_7", + "nix-github-actions": "nix-github-actions", + "nixpkgs": "nixpkgs_8", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1696813662, - "narHash": "sha256-dQTBtvjdzKa7+ViWiDdnBpdtDS4FD+gWuJJrfIrxSkc=", + "lastModified": 1700459485, + "narHash": "sha256-vHE+wNz3o0ygEY/XIC4XrQq18DlC6Ek7zu8tSdUbVzk=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "7cdbfd5ffe59fe54fd5c44be96f58c45e25d5b62", + "rev": "575ca7a957cfd49f3e82c5434ac8029e2e6519d3", "type": "github" }, "original": { @@ -2044,17 +1105,17 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_7", + "flake-parts": "flake-parts_5", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1697159786, - "narHash": "sha256-ccAt54mqvuq0JI4nsDgQqM0xEIcTehmVTDi3m84WWD8=", + "lastModified": 1700702053, + "narHash": "sha256-F/0DojDt48Ak9KGbyEf6L6dNeDXOKYdeWYr7va90lVM=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "b7e0ac262c55825ac6e2918780703aae6d772460", + "rev": "d4a02648d39ad40d1cc94c13b1f68b2a07641978", "type": "github" }, "original": { @@ -2063,20 +1124,42 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "nixpkgs-wayland", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698974481, + "narHash": "sha256-yPncV9Ohdz1zPZxYHQf47S8S0VrnhV7nNhCawY46hDA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "4bb5e752616262457bc7ca5882192a564c0472d2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixpak": { "inputs": { - "flake-parts": "flake-parts_8", + "flake-parts": "flake-parts_6", "hercules-ci-effects": "hercules-ci-effects_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1697078589, - "narHash": "sha256-OkmeB1+kJFV2+oqMMahr5FduoDIOpKUDy4a7+cAzKME=", + "lastModified": 1700707848, + "narHash": "sha256-25D16AZq4VLV3psWPLusHn1ksj2vpff++1za1p2EG+E=", "owner": "max-privatevoid", "repo": "nixpak", - "rev": "79c315ab6d09dcf970e4bd16474c66f752361953", + "rev": "857de989621eb62a6c180eaff6ed92a6b5e47d82", "type": "github" }, "original": { @@ -2103,11 +1186,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1696726172, - "narHash": "sha256-89yxFXzTA7JRyWo6hg7SD4DlS/ejYt8Y8IvGZHbSWsg=", + "lastModified": 1700354803, + "narHash": "sha256-kJYhswYp1XMdpI2p/2oRcZxvwW83e64r1av/9zypFLU=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "59da6ac0c02c48aa92dee37057f978412797db2a", + "rev": "07e160fb6ad2c4bcabecd43425ebaaa4336c5da2", "type": "github" }, "original": { @@ -2117,60 +1200,6 @@ } }, "nixpkgs-lib_2": { - "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_3": { - "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_4": { - "locked": { - "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_5": { "locked": { "dir": "lib", "lastModified": 1696019113, @@ -2188,13 +1217,31 @@ "type": "github" } }, - "nixpkgs-lib_6": { + "nixpkgs-lib_3": { "locked": { - "lastModified": 1696726172, - "narHash": "sha256-89yxFXzTA7JRyWo6hg7SD4DlS/ejYt8Y8IvGZHbSWsg=", + "dir": "lib", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_4": { + "locked": { + "lastModified": 1700354803, + "narHash": "sha256-kJYhswYp1XMdpI2p/2oRcZxvwW83e64r1av/9zypFLU=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "59da6ac0c02c48aa92dee37057f978412797db2a", + "rev": "07e160fb6ad2c4bcabecd43425ebaaa4336c5da2", "type": "github" }, "original": { @@ -2203,19 +1250,35 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1685801374, + "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-wayland": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "lib-aggregate": "lib-aggregate_2", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1697217271, - "narHash": "sha256-Ug2mTr+cV8wyqNCCCxGxmX8MKA+x5Ye05Vv8acoGfHI=", + "lastModified": 1700860372, + "narHash": "sha256-jWNIMHxuvOC3if17goWqeqeBjAmTqUriqUtU9ZO1l7o=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "82a065daaa0254edb652d4858ecf5cd36b5a06e4", + "rev": "03721ba8f5cc8182508bc6f72b25daa34374294c", "type": "github" }, "original": { @@ -2225,86 +1288,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1697009197, - "narHash": "sha256-viVRhBTFT8fPJTb1N3brQIpFZnttmwo3JVKNuWRVc3s=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "01441e14af5e29c9d27ace398e6dd0b293e25a54", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1697059129, - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_13": { - "locked": { - "lastModified": 1696810678, - "narHash": "sha256-XAw8D1ZEbdqwhSvn8RsgeeNrDktx4YSikTb5V4ArsrA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "35c640b19a189ce3a86698ce2fdcd87d085a339b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_14": { - "locked": { - "lastModified": 1697059129, - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_15": { "locked": { "lastModified": 1682809678, "narHash": "sha256-jqR8t82mWotOSgnWZvr6xXCO/tc3fCPTLMPvI7Jo5rA=", @@ -2320,13 +1303,13 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_11": { "locked": { - "lastModified": 1697456312, - "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", + "lastModified": 1694183432, + "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", + "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", "type": "github" }, "original": { @@ -2386,11 +1369,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1694767346, - "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", "type": "github" }, "original": { @@ -2402,27 +1385,27 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1656753965, - "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", - "owner": "nixos", + "lastModified": 1700416016, + "narHash": "sha256-Qp8Of0BUYGjqodmE912h+/uGknB7J11ypcQMKnEDUrg=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", + "rev": "0bf3f5cf6a98b5d077cdcdb00a6d4b3d92bc78b5", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { "locked": { - "lastModified": 1655400192, - "narHash": "sha256-49OBVVRgb9H/PSmNT9W61+NRdDbuSJVuDDflwXlaUKU=", + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3d7435c638baffaa826b85459df0fff47f12317d", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", "type": "github" }, "original": { @@ -2434,53 +1417,60 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1689088367, - "narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=", + "lastModified": 1700444282, + "narHash": "sha256-s/+tgT+Iz0LZO+nBvSms+xsMqvHt2LqYniG9r+CYyJc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5c9ddb86679c400d6b7360797b8a22167c2053f8", + "rev": "3f21a22b5aafefa1845dec6f4a378a8f53d8681c", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "master", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", - "owner": "NixOS", + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nmd": { - "flake": false, + "nixvim": { + "inputs": { + "beautysh": "beautysh", + "flake-utils": "flake-utils_6", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks" + }, "locked": { - "lastModified": 1696846470, - "narHash": "sha256-S/6s3nRcg+xZfsO7aLe01W+EMAKFVyieHa4eFvOKOLk=", - "owner": "horriblename", - "repo": "nmd", - "rev": "bcf805ce85b9e938f7e027b3311137ffbd995794", + "lastModified": 1700831612, + "narHash": "sha256-4rjt03g847UpPYshwItJqFqxHJ6l4aoXqDVT9CNOCu4=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "bacdae2c508defccdff1af8511e4d639d26d3d47", "type": "github" }, "original": { - "owner": "horriblename", - "repo": "nmd", + "owner": "nix-community", + "repo": "nixvim", "type": "github" } }, - "nmd_2": { + "nmd": { "flake": false, "locked": { "lastModified": 1687627428, @@ -2496,61 +1486,13 @@ "type": "sourcehut" } }, - "noice-nvim": { - "flake": false, - "locked": { - "lastModified": 1690306450, - "narHash": "sha256-Zca6meJkfF4fl17Y+6s77GYrqnhkkzIYW73vAhKg7e4=", - "owner": "folke", - "repo": "noice.nvim", - "rev": "894db25ec726d32047799d4d0a982b701bec453b", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "noice.nvim", - "type": "github" - } - }, - "nui-nvim": { - "flake": false, - "locked": { - "lastModified": 1689828309, - "narHash": "sha256-nSUs9zAX7hQ3PuFrH4zQblMfTY6ALDNggmqaQnkbR5E=", - "owner": "MunifTanjim", - "repo": "nui.nvim", - "rev": "9e3916e784660f55f47daa6f26053ad044db5d6a", - "type": "github" - }, - "original": { - "owner": "MunifTanjim", - "repo": "nui.nvim", - "type": "github" - } - }, - "null-ls": { - "flake": false, - "locked": { - "lastModified": 1688652536, - "narHash": "sha256-6KJtj9pbvBm6fOVpnyzO2fEVC+cVrw2XtZHOgq9ieIw=", - "owner": "jose-elias-alvarez", - "repo": "null-ls.nvim", - "rev": "db09b6c691def0038c456551e4e2772186449f35", - "type": "github" - }, - "original": { - "owner": "jose-elias-alvarez", - "repo": "null-ls.nvim", - "type": "github" - } - }, "nur": { "locked": { - "lastModified": 1697222698, - "narHash": "sha256-OYd5TvXTSbNLHg6og3gVsrBWmatNGipBrpnFc/xZCkw=", + "lastModified": 1700855055, + "narHash": "sha256-QKjcrEntfghcXBsrenDE46OxaF/4YQVStAQfyDOQcPA=", "owner": "nix-community", "repo": "NUR", - "rev": "be96886a0bb735ba9e3f0be46745372b7c80b45e", + "rev": "ebf2c68214f10ee5b9372ae4960a7b54af514bd3", "type": "github" }, "original": { @@ -2559,471 +1501,55 @@ "type": "github" } }, - "nvim-autopairs": { - "flake": false, - "locked": { - "lastModified": 1689332359, - "narHash": "sha256-bu+WpW5Wfk3pS74mzVvehl7dVMHgrttmV4ZSlfwbai4=", - "owner": "windwp", - "repo": "nvim-autopairs", - "rev": "ae5b41ce880a6d850055e262d6dfebd362bb276e", - "type": "github" - }, - "original": { - "owner": "windwp", - "repo": "nvim-autopairs", - "type": "github" - } - }, - "nvim-bufferline-lua": { - "flake": false, - "locked": { - "lastModified": 1690184232, - "narHash": "sha256-MiQsYeLgADCaUf1x88q/7gO17F992HMlt1pu9dYEmp0=", - "owner": "akinsho", - "repo": "nvim-bufferline.lua", - "rev": "99f0932365b34e22549ff58e1bea388465d15e99", - "type": "github" - }, - "original": { - "owner": "akinsho", - "repo": "nvim-bufferline.lua", - "type": "github" - } - }, - "nvim-cmp": { - "flake": false, - "locked": { - "lastModified": 1688965049, - "narHash": "sha256-Hq6YUfMQo1rHoay3/NieGCne7U/f06GwUPhN2HO0PdQ=", - "owner": "hrsh7th", - "repo": "nvim-cmp", - "rev": "c4e491a87eeacf0408902c32f031d802c7eafce8", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "nvim-cmp", - "type": "github" - } - }, - "nvim-code-action-menu": { - "flake": false, - "locked": { - "lastModified": 1671523188, - "narHash": "sha256-7szx+Me6WhrANbmfQ6C6gfSVB2owd02b3iZYhz7K6wY=", - "owner": "weilbith", - "repo": "nvim-code-action-menu", - "rev": "e4399dbaf6eabff998d3d5f1cbcd8d9933710027", - "type": "github" - }, - "original": { - "owner": "weilbith", - "repo": "nvim-code-action-menu", - "type": "github" - } - }, - "nvim-colorizer-lua": { - "flake": false, - "locked": { - "lastModified": 1591879145, - "narHash": "sha256-6YrnItxExL2C8pNIdLd+hXCjsB2MbZANwWkah6dreD8=", - "owner": "norcalli", - "repo": "nvim-colorizer.lua", - "rev": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6", - "type": "github" - }, - "original": { - "owner": "norcalli", - "repo": "nvim-colorizer.lua", - "type": "github" - } - }, - "nvim-compe": { - "flake": false, - "locked": { - "lastModified": 1633188506, - "narHash": "sha256-Y2oqvsuAKM3qjmmtJVD9z34682eCRF25kPL+rxhhg7I=", - "owner": "hrsh7th", - "repo": "nvim-compe", - "rev": "d186d739c54823e0b010feb205c6f97792322c08", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "nvim-compe", - "type": "github" - } - }, - "nvim-cursorline": { - "flake": false, - "locked": { - "lastModified": 1650034925, - "narHash": "sha256-Uhw65p1KBjs8KsVOmTzuiu3XKclxBob8AVdWEt30C/8=", - "owner": "yamatsum", - "repo": "nvim-cursorline", - "rev": "804f0023692653b2b2368462d67d2a87056947f9", - "type": "github" - }, - "original": { - "owner": "yamatsum", - "repo": "nvim-cursorline", - "type": "github" - } - }, - "nvim-dap": { - "flake": false, - "locked": { - "lastModified": 1690444190, - "narHash": "sha256-OSJA+K8eGj87RWo2tE0kT6bAItGkMMtuR0HB8WEXZ4k=", - "owner": "mfussenegger", - "repo": "nvim-dap", - "rev": "2f28ea843bcdb378b171a66ddcd568516e431d55", - "type": "github" - }, - "original": { - "owner": "mfussenegger", - "repo": "nvim-dap", - "type": "github" - } - }, - "nvim-dap-ui": { - "flake": false, - "locked": { - "lastModified": 1689371609, - "narHash": "sha256-z6TFe7+r/g2tfgdXr6PCPri5lSboi66zZmsdyWTI1BM=", - "owner": "rcarriga", - "repo": "nvim-dap-ui", - "rev": "85b16ac2309d85c88577cd8ee1733ce52be8227e", - "type": "github" - }, - "original": { - "owner": "rcarriga", - "repo": "nvim-dap-ui", - "type": "github" - } - }, - "nvim-lightbulb": { - "flake": false, - "locked": { - "lastModified": 1689887436, - "narHash": "sha256-Meoop66jINllnxN6aohuPmU7DEjn64FMq/b8zuy9FEQ=", - "owner": "kosayoda", - "repo": "nvim-lightbulb", - "rev": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9", - "type": "github" - }, - "original": { - "owner": "kosayoda", - "repo": "nvim-lightbulb", - "type": "github" - } - }, - "nvim-lspconfig": { - "flake": false, - "locked": { - "lastModified": 1690356683, - "narHash": "sha256-Ama9nLC/T1wJWal6bKvgY0ywUUiJ5VLuIxoY1xbJKtY=", - "owner": "neovim", - "repo": "nvim-lspconfig", - "rev": "b6091272422bb0fbd729f7f5d17a56d37499c54f", - "type": "github" - }, - "original": { - "owner": "neovim", - "repo": "nvim-lspconfig", - "type": "github" - } - }, - "nvim-navbuddy": { - "flake": false, - "locked": { - "lastModified": 1688569844, - "narHash": "sha256-011RT/wnQdBR1vMrXFwxbicBAgdcd4eQYPbok/o3CIE=", - "owner": "SmiteshP", - "repo": "nvim-navbuddy", - "rev": "244a4cded6f2b568403684131d148048efe4e8af", - "type": "github" - }, - "original": { - "owner": "SmiteshP", - "repo": "nvim-navbuddy", - "type": "github" - } - }, - "nvim-navic": { - "flake": false, - "locked": { - "lastModified": 1689944100, - "narHash": "sha256-M7BT1C9xHyLgr22JI3b+wyD+bYs6FgKc6PIqMrXnNr4=", - "owner": "SmiteshP", - "repo": "nvim-navic", - "rev": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0", - "type": "github" - }, - "original": { - "owner": "SmiteshP", - "repo": "nvim-navic", - "type": "github" - } - }, - "nvim-neoclip": { - "flake": false, - "locked": { - "lastModified": 1684196333, - "narHash": "sha256-96AwMgyC7PTDEPS5tXwDT3WfK8jJJuIYGE+q+j6U5Uc=", - "owner": "AckslD", - "repo": "nvim-neoclip.lua", - "rev": "4e406ae0f759262518731538f2585abb9d269bac", - "type": "github" - }, - "original": { - "owner": "AckslD", - "repo": "nvim-neoclip.lua", - "type": "github" - } - }, - "nvim-notify": { - "flake": false, - "locked": { - "lastModified": 1685978736, - "narHash": "sha256-Rr2tzuEr06M9ZbvQbC07qcxkyjFJFYdABwRpYelKBFI=", - "owner": "rcarriga", - "repo": "nvim-notify", - "rev": "ea9c8ce7a37f2238f934e087c255758659948e0f", - "type": "github" - }, - "original": { - "owner": "rcarriga", - "repo": "nvim-notify", - "type": "github" - } - }, - "nvim-session-manager": { - "flake": false, - "locked": { - "lastModified": 1689976511, - "narHash": "sha256-04GL+0JdtD2hEOSrRJUh3Wdpoy2igjHt95Nf3WioFU4=", - "owner": "Shatur", - "repo": "neovim-session-manager", - "rev": "4883372b1ef2bdcf4cbdac44c98d68c216914462", - "type": "github" - }, - "original": { - "owner": "Shatur", - "repo": "neovim-session-manager", - "type": "github" - } - }, - "nvim-surround": { - "flake": false, - "locked": { - "lastModified": 1685464327, - "narHash": "sha256-r3D5WTqEnIL1T3p7cmkRmBY8qgwFFJptM7BKNNsCT8k=", - "owner": "kylechui", - "repo": "nvim-surround", - "rev": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18", - "type": "github" - }, - "original": { - "owner": "kylechui", - "repo": "nvim-surround", - "type": "github" - } - }, - "nvim-tree-lua": { - "flake": false, - "locked": { - "lastModified": 1690616703, - "narHash": "sha256-kTbYvT21wLfiwEpQAgGZtep2GP4F9e7e6XGVpr4D1hY=", - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "rev": "4bd30f0137e44dcf3e74cc1164efb568f78f2b02", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "type": "github" - } - }, - "nvim-treesitter-context": { - "flake": false, - "locked": { - "lastModified": 1689239188, - "narHash": "sha256-AJamiDezFK7l0bqb/VFm+pzBKugQNCmQ6JAWKmjH76g=", - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "rev": "6f8f788738b968f24a108ee599c5be0031f94f06", - "type": "github" - }, - "original": { - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "type": "github" - } - }, - "nvim-ts-autotag": { - "flake": false, - "locked": { - "lastModified": 1686883732, - "narHash": "sha256-4qTtXYA5HyG1sADV0wsiccO/G89qEoYPmlg8tTx7h8g=", - "owner": "windwp", - "repo": "nvim-ts-autotag", - "rev": "6be1192965df35f94b8ea6d323354f7dc7a557e4", - "type": "github" - }, - "original": { - "owner": "windwp", - "repo": "nvim-ts-autotag", - "type": "github" - } - }, - "nvim-web-devicons": { - "flake": false, - "locked": { - "lastModified": 1689474464, - "narHash": "sha256-FtEJBhqvs+c/Rvy4qXf3iyoMTTKrDBvQw5g63n4KEYo=", - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "rev": "efbfed0567ef4bfac3ce630524a0f6c8451c5534", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "type": "github" - } - }, - "obsidian-nvim": { - "flake": false, - "locked": { - "lastModified": 1690662423, - "narHash": "sha256-qemlp11QSp4BnWadN3+3ndv47e+1yS+w91GumbzQric=", - "owner": "epwalsh", - "repo": "obsidian.nvim", - "rev": "f81ddfa56b87fda158d3a56625a8040a7cf23fef", - "type": "github" - }, - "original": { - "owner": "epwalsh", - "repo": "obsidian.nvim", - "type": "github" - } - }, - "onedark": { - "flake": false, - "locked": { - "lastModified": 1689269544, - "narHash": "sha256-HfyYEppo9NFswYlPKnHNOZO5eiTQSORQhWAkzCmM2m4=", - "owner": "navarasu", - "repo": "onedark.nvim", - "rev": "cae5fdf035ee92c407a29ee2ccfcff503d2be7f1", - "type": "github" - }, - "original": { - "owner": "navarasu", - "repo": "onedark.nvim", - "type": "github" - } - }, - "orgmode-nvim": { - "flake": false, - "locked": { - "lastModified": 1690291768, - "narHash": "sha256-jc89zEAtHBh8785gNW/UZ9jkgTee/XYMm4+jyW7G2Oo=", - "owner": "nvim-orgmode", - "repo": "orgmode", - "rev": "6b6eb8eabbed4d95568fd1f5374a3dff7ed51a3b", - "type": "github" - }, - "original": { - "owner": "nvim-orgmode", - "repo": "orgmode", - "type": "github" - } - }, - "plenary-nvim": { - "flake": false, - "locked": { - "lastModified": 1689589150, - "narHash": "sha256-oRtNcURQzrIRS3D88tWAl3HuFHxVJr8m/zzL7xoa/II=", - "owner": "nvim-lua", - "repo": "plenary.nvim", - "rev": "267282a9ce242bbb0c5dc31445b6d353bed978bb", - "type": "github" - }, - "original": { - "owner": "nvim-lua", - "repo": "plenary.nvim", - "type": "github" - } - }, - "presence-nvim": { - "flake": false, - "locked": { - "lastModified": 1674984077, - "narHash": "sha256-ZpsunLsn//zYgUtmAm5FqKVueVd/Pa1r55ZDqxCimBk=", - "owner": "andweeb", - "repo": "presence.nvim", - "rev": "87c857a56b7703f976d3a5ef15967d80508df6e6", - "type": "github" - }, - "original": { - "owner": "andweeb", - "repo": "presence.nvim", - "type": "github" - } - }, - "project-nvim": { - "flake": false, - "locked": { - "lastModified": 1680567592, - "narHash": "sha256-avV3wMiDbraxW4mqlEsKy0oeewaRj9Q33K8NzWoaptU=", - "owner": "ahmedkhalf", - "repo": "project.nvim", - "rev": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb", - "type": "github" - }, - "original": { - "owner": "ahmedkhalf", - "repo": "project.nvim", - "type": "github" - } - }, - "registers": { - "flake": false, - "locked": { - "lastModified": 1680595111, - "narHash": "sha256-MeBlcF5LLk6bhIofYuG+0Z2xwc0BVqP85yNCvjH66fw=", - "owner": "tversteeg", - "repo": "registers.nvim", - "rev": "2ab8372bb837f05fae6b43091f10a0b725d113ca", - "type": "github" - }, - "original": { - "owner": "tversteeg", - "repo": "registers.nvim", - "type": "github" - } - }, - "rnix-lsp": { + "poetry2nix": { "inputs": { - "naersk": "naersk", - "nixpkgs": "nixpkgs_6", - "utils": "utils" + "flake-utils": [ + "nixvim", + "beautysh", + "utils" + ], + "nixpkgs": [ + "nixvim", + "beautysh", + "nixpkgs" + ] }, "locked": { - "lastModified": 1669555118, - "narHash": "sha256-F0s0m62S5bHNVWNHLZD6SeHiLrsDx98VQbRjDyIu+qQ=", + "lastModified": 1658665240, + "narHash": "sha256-/wkx7D7enyBPRjIkK0w7QxLQhzEkb3UxNQnjyc3FTUI=", "owner": "nix-community", - "repo": "rnix-lsp", - "rev": "95d40673fe43642e2e1144341e86d0036abd95d9", + "repo": "poetry2nix", + "rev": "8b8edc85d24661d5a6d0d71d6a7011f3e699780f", "type": "github" }, "original": { "owner": "nix-community", - "repo": "rnix-lsp", + "repo": "poetry2nix", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_6", + "flake-utils": "flake-utils_7", + "gitignore": "gitignore", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1700064067, + "narHash": "sha256-1ZWNDzhu8UlVCK7+DUN9dVQfiHX1bv6OQP9VxstY/gs=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "e558068cba67b23b4fbc5537173dbb43748a17e8", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", "type": "github" } }, @@ -3039,13 +1565,13 @@ "hyprcontrib": "hyprcontrib", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", - "neovim-flake": "neovim-flake", "neovim-nightly-overlay": "neovim-nightly-overlay", "nh": "nh", "nix-gaming": "nix-gaming", "nixpak": "nixpak", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_7", "nixpkgs-wayland": "nixpkgs-wayland", + "nixvim": "nixvim", "nur": "nur", "schizofox": "schizofox", "shadower": "shadower", @@ -3073,11 +1599,11 @@ "rust-analyzer-src_2": { "flake": false, "locked": { - "lastModified": 1697098808, - "narHash": "sha256-OfatUxSwuzYd17IDy9eNOedwioq0dX6mOuiTghKol3s=", + "lastModified": 1700744506, + "narHash": "sha256-zE+ncUiKUJjMYVgvLsRnphyk+lPB4fta+4eiXKz4t4I=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "84e1d273439413ab4ca1718db0b574dffba443ce", + "rev": "cccc7ca2c630865239f68af480878824041c7c05", "type": "github" }, "original": { @@ -3139,53 +1665,10 @@ "type": "github" } }, - "rust-overlay_3": { - "inputs": { - "flake-utils": [ - "neovim-flake", - "nil", - "flake-utils" - ], - "nixpkgs": [ - "neovim-flake", - "nil", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688783586, - "narHash": "sha256-HHaM2hk2azslv1kH8zmQxXo2e7i5cKgzNIuK4yftzB0=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "7a29283cc242c2486fc67f60b431ef708046d176", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-tools": { - "flake": false, - "locked": { - "lastModified": 1689033186, - "narHash": "sha256-jtfyDxifchznUupLSao6nmpVqaX1yO0xN+NhqS9fgxg=", - "owner": "simrat39", - "repo": "rust-tools.nvim", - "rev": "0cc8adab23117783a0292a0c8a2fbed1005dc645", - "type": "github" - }, - "original": { - "owner": "simrat39", - "repo": "rust-tools.nvim", - "type": "github" - } - }, "schizofox": { "inputs": { "flake-compat": "flake-compat_7", - "flake-parts": "flake-parts_11", + "flake-parts": "flake-parts_8", "home-manager": "home-manager_3", "nixpak": [ "nixpak" @@ -3193,14 +1676,14 @@ "nixpkgs": [ "nixpkgs" ], - "nmd": "nmd_2" + "nmd": "nmd" }, "locked": { - "lastModified": 1696625102, - "narHash": "sha256-GNk+FZf457zBVONbDh7Rh19TnxqRO+eNv2PtLamRAZ8=", + "lastModified": 1698293239, + "narHash": "sha256-z+PS49V/GTWT3wqXS4LqPudj82L3ixtS9H0CMPpLeUw=", "owner": "schizofox", "repo": "schizofox", - "rev": "4a953104e73b69cafe464bc413ce05c48836105e", + "rev": "f1372e306349f1b154dada0ceea51fc6b4b21036", "type": "github" }, "original": { @@ -3209,26 +1692,10 @@ "type": "github" } }, - "scrollbar-nvim": { - "flake": false, - "locked": { - "lastModified": 1684886154, - "narHash": "sha256-zLBexSxQCn9HPY04a9w/UCJP1F5ShI2X12I9xE9H0cM=", - "owner": "petertriho", - "repo": "nvim-scrollbar", - "rev": "35f99d559041c7c0eff3a41f9093581ceea534e8", - "type": "github" - }, - "original": { - "owner": "petertriho", - "repo": "nvim-scrollbar", - "type": "github" - } - }, "shadower": { "inputs": { - "naersk": "naersk_2", - "nixpkgs": "nixpkgs_15" + "naersk": "naersk", + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1683924844, @@ -3244,22 +1711,6 @@ "type": "github" } }, - "smartcolumn": { - "flake": false, - "locked": { - "lastModified": 1679417638, - "narHash": "sha256-DjPWBOLbzdfOQAx+6xgV1CD5NKuP1N6An2lmHNHd39Q=", - "owner": "m4xshen", - "repo": "smartcolumn.nvim", - "rev": "0c572e3eae48874f25b74394a486f38cadb5c958", - "type": "github" - }, - "original": { - "owner": "m4xshen", - "repo": "smartcolumn.nvim", - "type": "github" - } - }, "split-monitor-workspaces": { "inputs": { "hyprland": [ @@ -3268,11 +1719,11 @@ "nix-filter": "nix-filter_2" }, "locked": { - "lastModified": 1697056199, - "narHash": "sha256-Tkd4cI4Vq6cczZjiZdfs1Q9Gke+4iL1+S3c2GAGhEvc=", + "lastModified": 1698179193, + "narHash": "sha256-zDW+72enuRGuLLRbO1+pYk8FgRjQrBGksIAOk88OwOI=", "owner": "Duckonaut", "repo": "split-monitor-workspaces", - "rev": "9b40de35aeb8c62df3326eae7979b438f3ee0fb1", + "rev": "2b1abdbf9e9de9ee660540167c8f51903fa3d959", "type": "github" }, "original": { @@ -3281,39 +1732,6 @@ "type": "github" } }, - "sqls-nvim": { - "flake": false, - "locked": { - "lastModified": 1684697500, - "narHash": "sha256-jKFut6NZAf/eIeIkY7/2EsjsIhvZQKCKAJzeQ6XSr0s=", - "owner": "nanotee", - "repo": "sqls.nvim", - "rev": "4b1274b5b44c48ce784aac23747192f5d9d26207", - "type": "github" - }, - "original": { - "owner": "nanotee", - "repo": "sqls.nvim", - "type": "github" - } - }, - "superdirt-src": { - "flake": false, - "locked": { - "lastModified": 1611740180, - "narHash": "sha256-GtnqZeMFqFkVhgx2Exu0wY687cHa7mNnVCgjQd6fiIA=", - "owner": "musikinformatik", - "repo": "superdirt", - "rev": "7abb62e89649daa1232b9cbd6427241868abd30e", - "type": "github" - }, - "original": { - "owner": "musikinformatik", - "ref": "master", - "repo": "superdirt", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -3449,127 +1867,6 @@ "type": "github" } }, - "tabular": { - "flake": false, - "locked": { - "lastModified": 1550598128, - "narHash": "sha256-irolBA/m3YIaezl+90h5G+xUOpad+3u44uJqDs4JCUs=", - "owner": "godlygeek", - "repo": "tabular", - "rev": "339091ac4dd1f17e225fe7d57b48aff55f99b23a", - "type": "github" - }, - "original": { - "owner": "godlygeek", - "repo": "tabular", - "type": "github" - } - }, - "telescope": { - "flake": false, - "locked": { - "lastModified": 1690663693, - "narHash": "sha256-okyOr5t0e+oV3mY7Yq1ad/7f6qEEDS/ZQrqJcjktYRI=", - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "rev": "b6fccfb0f7589a87587875206786daccba62acc3", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "type": "github" - } - }, - "tidal-src": { - "flake": false, - "locked": { - "lastModified": 1654350756, - "narHash": "sha256-tONM5SYYBca0orTLH1EUOilSC1FCluWrFt8AetUx+YQ=", - "owner": "tidalcycles", - "repo": "tidal", - "rev": "fda9c1ecb3722698935245e5409ef8ccdfca16c8", - "type": "github" - }, - "original": { - "owner": "tidalcycles", - "ref": "main", - "repo": "tidal", - "type": "github" - } - }, - "tidalcycles": { - "inputs": { - "dirt-samples-src": "dirt-samples-src", - "nixpkgs": "nixpkgs_7", - "superdirt-src": "superdirt-src", - "tidal-src": "tidal-src", - "utils": "utils_2", - "vim-tidal-src": "vim-tidal-src", - "vowel-src": "vowel-src" - }, - "locked": { - "lastModified": 1664760044, - "narHash": "sha256-e5LGk/tDnphory1mYhADgPnVtShofY2w/3xY09jEE2A=", - "owner": "mitchmindtree", - "repo": "tidalcycles.nix", - "rev": "3f3a820cd43709077d15a24fa6062de7d623a6bf", - "type": "github" - }, - "original": { - "owner": "mitchmindtree", - "repo": "tidalcycles.nix", - "type": "github" - } - }, - "todo-comments": { - "flake": false, - "locked": { - "lastModified": 1690569591, - "narHash": "sha256-Qm8AJ8omU5eCfjLt91DVxLS0R3QHbfW55ZTegB1JvWI=", - "owner": "folke", - "repo": "todo-comments.nvim", - "rev": "3094ead8edfa9040de2421deddec55d3762f64d1", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "todo-comments.nvim", - "type": "github" - } - }, - "toggleterm-nvim": { - "flake": false, - "locked": { - "lastModified": 1689602083, - "narHash": "sha256-/sUulN93nRHa3Je+tXr8/i1cgCrd/wtrvMPkjG5Ofzs=", - "owner": "akinsho", - "repo": "toggleterm.nvim", - "rev": "00c13dccc78c09fa5da4c5edda990a363e75035e", - "type": "github" - }, - "original": { - "owner": "akinsho", - "repo": "toggleterm.nvim", - "type": "github" - } - }, - "tokyonight": { - "flake": false, - "locked": { - "lastModified": 1689285710, - "narHash": "sha256-x26qLaZzg7sJIc1d/5Q/DJ/YvRSc3s87PwPHTPTl+Xk=", - "owner": "folke", - "repo": "tokyonight.nvim", - "rev": "1ee11019f8a81dac989ae1db1a013e3d582e2033", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "tokyonight.nvim", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -3579,11 +1876,11 @@ ] }, "locked": { - "lastModified": 1695822946, - "narHash": "sha256-IQU3fYo0H+oGlqX5YrgZU3VRhbt2Oqe6KmslQKUO4II=", + "lastModified": 1699786194, + "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "720bd006d855b08e60664e4683ccddb7a9ff614a", + "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", "type": "github" }, "original": { @@ -3592,29 +1889,13 @@ "type": "github" } }, - "trouble": { - "flake": false, - "locked": { - "lastModified": 1690614197, - "narHash": "sha256-Ee0AM8S/A8DU0hyOnZoKC1hkW0fvk0A+c3WGvPqmKcU=", - "owner": "folke", - "repo": "trouble.nvim", - "rev": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "trouble.nvim", - "type": "github" - } - }, "utils": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", "type": "github" }, "original": { @@ -3623,198 +1904,37 @@ "type": "github" } }, - "utils_2": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "vim-dirtytalk": { - "flake": false, - "locked": { - "lastModified": 1690722430, - "narHash": "sha256-kjyLwkAk6mqK7u4+zAr+Yh+zbSiukNKtXwb7t39LUco=", - "owner": "psliwka", - "repo": "vim-dirtytalk", - "rev": "a49251dce1852875951d95f7013979ece5caebf0", - "type": "github" - }, - "original": { - "owner": "psliwka", - "repo": "vim-dirtytalk", - "type": "github" - } - }, - "vim-illuminate": { - "flake": false, - "locked": { - "lastModified": 1679187974, - "narHash": "sha256-8dL3cBjQ2iY4D4gTxKVVmOGhxcSSRuDBvmEwwFIbWsQ=", - "owner": "RRethy", - "repo": "vim-illuminate", - "rev": "a2907275a6899c570d16e95b9db5fd921c167502", - "type": "github" - }, - "original": { - "owner": "RRethy", - "repo": "vim-illuminate", - "type": "github" - } - }, - "vim-markdown": { - "flake": false, - "locked": { - "lastModified": 1680951012, - "narHash": "sha256-B00rad/Bbp+kJBN/fYliOaGiUe0AfBng6gs/fVBve9A=", - "owner": "preservim", - "repo": "vim-markdown", - "rev": "cc82d88e2a791f54d2b6e2b26e41f743351ac947", - "type": "github" - }, - "original": { - "owner": "preservim", - "repo": "vim-markdown", - "type": "github" - } - }, - "vim-repeat": { - "flake": false, - "locked": { - "lastModified": 1611544268, - "narHash": "sha256-8rfZa3uKXB3TRCqaDHZ6DfzNbm7WaYnLvmTNzYtnKHg=", - "owner": "tpope", - "repo": "vim-repeat", - "rev": "24afe922e6a05891756ecf331f39a1f6743d3d5a", - "type": "github" - }, - "original": { - "owner": "tpope", - "repo": "vim-repeat", - "type": "github" - } - }, - "vim-startify": { - "flake": false, - "locked": { - "lastModified": 1620487920, - "narHash": "sha256-//3bzFTe1WKqvQ3uYrDbk5Zu5BKq2hXQGeBhmhKIHvk=", - "owner": "mhinz", - "repo": "vim-startify", - "rev": "81e36c352a8deea54df5ec1e2f4348685569bed2", - "type": "github" - }, - "original": { - "owner": "mhinz", - "repo": "vim-startify", - "type": "github" - } - }, - "vim-tidal-src": { - "flake": false, - "locked": { - "lastModified": 1685703852, - "narHash": "sha256-8gyk17YLeKpLpz3LRtxiwbpsIbZka9bb63nK5/9IUoA=", - "owner": "tidalcycles", - "repo": "vim-tidal", - "rev": "e440fe5bdfe07f805e21e6872099685d38e8b761", - "type": "github" - }, - "original": { - "owner": "tidalcycles", - "ref": "master", - "repo": "vim-tidal", - "type": "github" - } - }, - "vim-vsnip": { - "flake": false, - "locked": { - "lastModified": 1678609126, - "narHash": "sha256-ehPnvGle7YrECn76YlSY/2V7Zeq56JGlmZPlwgz2FdE=", - "owner": "hrsh7th", - "repo": "vim-vsnip", - "rev": "7753ba9c10429c29d25abfd11b4c60b76718c438", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "vim-vsnip", - "type": "github" - } - }, - "vowel-src": { - "flake": false, - "locked": { - "lastModified": 1641306144, - "narHash": "sha256-zfF6cvAGDNYWYsE8dOIo38b+dIymd17Pexg0HiPFbxM=", - "owner": "supercollider-quarks", - "repo": "vowel", - "rev": "ab59caa870201ecf2604b3efdd2196e21a8b5446", - "type": "github" - }, - "original": { - "owner": "supercollider-quarks", - "ref": "master", - "repo": "vowel", - "type": "github" - } - }, - "which-key": { - "flake": false, - "locked": { - "lastModified": 1690570286, - "narHash": "sha256-B1+EHd2eH/EbD5Kip9PfhdPyyGfIkD6rsx0Z3rXvb5w=", - "owner": "folke", - "repo": "which-key.nvim", - "rev": "7ccf476ebe0445a741b64e36c78a682c1c6118b7", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "which-key.nvim", - "type": "github" - } - }, "wlroots": { "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1696410538, - "narHash": "sha256-ecDhdYLXWHsxMv+EWG36mCNDvzRbu9qfjH7dLxL7aGM=", + "lastModified": 1700736101, + "narHash": "sha256-1Fh1xf/JX5zFbGIF9LDaffaleG6JDwwwnKby0LyiXEA=", "owner": "wlroots", "repo": "wlroots", - "rev": "3406c1b17a4a7e6d4e2a7d9c1176affa72bce1bc", + "rev": "f1762f428b0ef2989c81f57ea9e810403d34d946", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "3406c1b17a4a7e6d4e2a7d9c1176affa72bce1bc", + "rev": "f1762f428b0ef2989c81f57ea9e810403d34d946", "type": "gitlab" } }, "xdg-desktop-portal-hyprland": { "inputs": { "hyprland-protocols": "hyprland-protocols_2", - "nixpkgs": "nixpkgs_16", + "nixpkgs": "nixpkgs_11", "systems": "systems_9" }, "locked": { - "lastModified": 1697281098, - "narHash": "sha256-yKrV/2lwKUZnzLUneI9x8CtiD4WTGLIJ4hNjxAmaySw=", + "lastModified": 1700508250, + "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "d8daa2a84f5e9b38eb89e0631b294e7d0a83aa9b", + "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47", "type": "github" }, "original": { @@ -3839,11 +1959,11 @@ ] }, "locked": { - "lastModified": 1694628480, - "narHash": "sha256-Qg9hstRw0pvjGu5hStkr2UX1D73RYcQ9Ns/KnZMIm9w=", + "lastModified": 1700508250, + "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "8f45a6435069b9e24ebd3160eda736d7a391cbf2", + "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47", "type": "github" }, "original": { @@ -3851,26 +1971,6 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } - }, - "zig": { - "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_8" - }, - "locked": { - "lastModified": 1690718829, - "narHash": "sha256-GN19SrCqWxIJN+rnbv+pIkF/yynh6FG2y7jY6PZRiYw=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "92e485cc7887f57be4d2921ed077f467912b7d33", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 507de51..b3cb2a8 100644 --- a/flake.nix +++ b/flake.nix @@ -73,11 +73,6 @@ helix.url = "github:helix-editor/helix"; - neovim-flake = { - url = "github:NotAShelf/neovim-flake"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - agenix.url = "github:ryantm/agenix"; nh = { @@ -92,5 +87,10 @@ nixpak.follows = "nixpak"; }; }; + + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } diff --git a/hosts/chmura/conduit.nix b/hosts/chmura/conduit.nix index 50dd27e..d0dfccc 100644 --- a/hosts/chmura/conduit.nix +++ b/hosts/chmura/conduit.nix @@ -1,13 +1,15 @@ { - pkgs, + config, inputs, + lib, + pkgs, ... -}: let +}: with lib; let caddyConfig = '' reverse_proxy /_matrix/* localhost:6167 header /.well-known/matrix/* Content-Type application/json header /.well-known/matrix/* Access-Control-Allow-Origin * - respond /.well-known/matrix/server `{"m.server": "m.jacekpoz.pl:443"}` + respond /.well-known/matrix/server `{"m.server": "m.jacekpoz.pl:8448"}` respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://m.jacekpoz.pl"}}` ''; in { diff --git a/hosts/chmura/configuration.nix b/hosts/chmura/configuration.nix index b2dab6a..35f6971 100644 --- a/hosts/chmura/configuration.nix +++ b/hosts/chmura/configuration.nix @@ -82,17 +82,6 @@ services.caddy = { enable = true; - virtualHosts."trollface.pl".extraConfig = '' - @discord { - header_regexp User-Agent (?i)(Discord) - path / - } - - rewrite @discord /trollface.png - - root * ${./trollface.pl} - file_server - ''; virtualHosts."test.jacekpoz.pl".extraConfig = '' reverse_proxy * localhost:3001 ''; @@ -108,5 +97,27 @@ networking.firewall.allowedTCPPorts = [ 80 443 22 ]; + myOptions = { + programs = { + git = { + enable = true; + userName = "jacekpoz"; + userEmail = "jacekpoz@cock.li"; + signingKey = "0EEE6B0C9A8CC06820E59C3894E812A8B12AAE3C"; + editor = "${pkgs.neovim-nightly}/bin/nvim"; + defaultBranch = "master"; + }; + starship.enable = true; + zsh.enable = true; + btop.enable = true; + neovim.enable = true; + helix.enable = true; + }; + services.ssh = { + agent.enable = false; + daemon.enable = true; + }; + }; + system.stateVersion = "23.11"; } diff --git a/hosts/chmura/default.nix b/hosts/chmura/default.nix index 272de92..af09490 100644 --- a/hosts/chmura/default.nix +++ b/hosts/chmura/default.nix @@ -5,14 +5,17 @@ _: { ./conduit.nix ./configuration.nix #./discord-autodelete.nix + ./firefox-syncserver.nix ./forgejo.nix #./freshrss.nix #./grafana.nix ./hardware-configuration.nix ./home-manager.nix ./i2pd.nix + ./jacekpoz.pl.nix ./ntfy-sh.nix ./stalwart.nix + ./trollface.pl #./qbittorrent.nix ]; } diff --git a/hosts/chmura/firefox-syncserver.nix b/hosts/chmura/firefox-syncserver.nix new file mode 100644 index 0000000..a4e9011 --- /dev/null +++ b/hosts/chmura/firefox-syncserver.nix @@ -0,0 +1,33 @@ +{ + config, + pkgs, + ... +}: let + domain = "ffsync.jacekpoz.pl"; +in { + age.secrets.firefox-syncserver-secrets.file = ../../secrets/firefox-syncserver-secrets.age; + + services.firefox-syncserver = { + enable = true; + logLevel = "warn"; + singleNode = { + enable = true; + capacity = 100; + hostname = domain; + url = "https://${domain}"; + }; + settings = { + port = 6583; + }; + secrets = config.age.secrets.firefox-syncserver-secrets.path; + }; + + services.mysql.package = pkgs.mariadb; + + services.caddy = { + enable = true; + virtualHosts.${domain}.extraConfig = '' + reverse_proxy * localhost:6583 + ''; + }; +} diff --git a/hosts/chmura/forgejo.nix b/hosts/chmura/forgejo.nix index 3052821..a889824 100644 --- a/hosts/chmura/forgejo.nix +++ b/hosts/chmura/forgejo.nix @@ -13,7 +13,6 @@ settings = { DEFAULT = { APP_NAME = "fuck it we code"; - }; server = { diff --git a/hosts/chmura/home-manager.nix b/hosts/chmura/home-manager.nix index be77e13..c354f23 100644 --- a/hosts/chmura/home-manager.nix +++ b/hosts/chmura/home-manager.nix @@ -11,14 +11,6 @@ useGlobalPkgs = true; extraSpecialArgs = {inherit inputs self config';}; users.${config'.username} = { - imports = [ - inputs.neovim-flake.homeManagerModules.default - ../../modules/cli/starship.nix - ../../modules/cli/zsh.nix - ../../modules/tui/btop.nix - ../../modules/tui/neovim - ]; - programs = { home-manager.enable = true; direnv = { diff --git a/hosts/chmura/jacekpoz.pl.nix b/hosts/chmura/jacekpoz.pl.nix new file mode 100644 index 0000000..decd02b --- /dev/null +++ b/hosts/chmura/jacekpoz.pl.nix @@ -0,0 +1,16 @@ +{ + pkgs, + ... +}: { + services.caddy = { + enable = true; + virtualHosts."jacekpoz.pl".extraConfig = '' + root * ${ pkgs.callPackage ./jacekpoz.pl { } } + file_server + ''; + virtualHosts."jpoz.pl".extraConfig = '' + redir / https://jacekpoz.pl + redir /git https://jacekpoz.pl/posts/git-workflow + ''; + }; +} diff --git a/hosts/chmura/jacekpoz.pl/archetypes/default.md b/hosts/chmura/jacekpoz.pl/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/hosts/chmura/jacekpoz.pl/content/_index.md b/hosts/chmura/jacekpoz.pl/content/_index.md new file mode 100644 index 0000000..d94cccf --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/content/_index.md @@ -0,0 +1 @@ +piss blob diff --git a/hosts/chmura/jacekpoz.pl/content/about.md b/hosts/chmura/jacekpoz.pl/content/about.md new file mode 100644 index 0000000..c06d0e8 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/content/about.md @@ -0,0 +1,9 @@ ++++ +title = 'About' +date = 2023-11-12T23:23:47+01:00 +draft = false ++++ + +hello :-) + +I like foss and stuff diff --git a/hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md b/hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md new file mode 100644 index 0000000..d2f4335 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md @@ -0,0 +1,115 @@ ++++ +title = 'My git workflow' +date = 2023-11-12T19:10:04+01:00 +draft = false ++++ + +## TL;DR (if you use nix) + +[git module](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/cli/git.nix) (uses home-manager) and [the config](https://codeberg.org/jacekpoz/niksos/src/branch/master/hosts/niks/configuration.nix#L323-L330) +[ssh module](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/services/ssh.nix) and [the config](https://codeberg.org/jacekpoz/niksos/src/branch/master/hosts/niks/configuration.nix#L434-L472) + +--- + +Over the past few months I helped a few people learn git so I decided to put this together instead of explaining my workflow each time. + +Hopefully this can serve as a simple git guide to get started quickly or as a reference to come back to if you forget something. + +I don't use any git wrappers, the cli is enough for me. If you know of a good one let me know, I might try it and add it here. + +--- + +I aliased `git` to `g` in my [zsh config](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/cli/zsh.nix#L31), which is what I use in all the examples below. + +First the basics: + +- `g init` initializes the repo in `.`; make sure you create a new one for your repo, + +- `g clone forge:username/repo` will download that repository into `./repo`, + +- `g remote add origin forge:username/repo` is how you connect the local repo to your preferred git forge (more in [remotes](#remotes)), + +- `g add .` adds all the changes you made so far (more in [adding](#adding)), + +- `g commit -m "commit message"` creates a commit with whatever you added prior (more in [commits](#commits)), + +- `g push` pushes all the commits to the forge (it ignores added but uncommited changes), + +- `g status` shows you the current status (added files, unpushed commites, etc.) and handy commands on how to change it. + +If you run all these right now you'll get an error akin to this: +``` +user@example.com: Permission denied (publickey). +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +``` +which means you need to generate and setup an ssh key. + +## SSH key + +`ssh-keygen -t ed25519 -f ~/.ssh/` is what I usually do. Some people might recommend making a single key for all git forges, I keep them separate, you do you. + +After running the above you'll be asked to enter a passphrase or leave it empty for no passphrase. I recommend **always** setting a strong passphrase (could be generated with [KeePassXC](https://keepassxc.org)) and adding it to a password manager like the aforementioned. Copying and pasting that passphrase isn't a big deal, having your unlocked key stolen is. + +After doing that you'll have 2 files, `~/.ssh/` (the private key) and `~/.ssh/.pub` (the public key). As the name suggests, **DO NOT** share the first one with anyone, it must be kept secure. If that leaks and isn't protected by a password, or the password is cracked, whoever has the file can modify the git history as you. + +Now you want to add your public key to your preferred git forge. Here's how to do that on [github](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account), [gitlab](https://docs.gitlab.com/ee/user/ssh.html#add-an-ssh-key-to-your-gitlab-account) and [codeberg](https://docs.codeberg.org/security/ssh-key/#add-the-ssh-key-to-codeberg) (which should work for all forgejo instances). All of these instructions are pretty similar and you should be able to figure it out after the first time. + +What we need to do now is tell git which ssh key to use when connecting to our preferred forge. + +## Remotes + +On my machine I alias all the remotes in my ssh config which both makes them shorter and allows me to add the ssh key to that forge. The nix config is at the top but if you don't use nix this is what you add for each remote to either `/etc/ssh/ssh_config` or (preferably) `~/.ssh/config`: +``` +Host example + HostName git.example.com + User git + IdentityFile /path/to/private_key +``` + +For an example, this is what I'd do for codeberg: +``` +Host codeberg + HostName codeberg.org + User git + IdentityFile ~/.ssh/codeberg +``` +and change my git remote: `g remote set-url origin codeberg:nickname/repo` (if you added it already). + +Now you should finally be able to push your changes! That wasn't so bad, was it? This workflow might not be ideal to you but it's simple and convenient enough for me and I think it should be alright for new users. + +The purpose of this post isn't to be a general git guide, it's a reference I (and hopefully others) can go back to. For a general git guide that goes much more in depth than this I can't recommend the [official git book](https://git-scm.com/book/en/v2) enough. This post covers a very small part of the second chapter of that book. If you also want a (maybe not so quick) reference for various git subcommands check their manpages, e.g. `man git-add` for `g add`. + +Now, if all you want to do is push a few commits to a repo, this should be enough and you can stop reading. If you want to learn interactive adding, reverting your changes, signing your commits with a GPG key and more, read on! + +## Adding + +`g add` accepts a [glob pattern](https://en.wikipedia.org/wiki/Glob_(programming)#Unix-like) meaning that you can e.g. `g add *.c` to add all files ending with `.c` in the current directory. Passing a single file name of course also works. + +`g add -p` gives you access to the interactive mode, which displays hunks (a part of the changes) that you can add `y`, discard `n`, split `s` or manually edit `e` into smaller hunks. It also accepts a glob pattern, just like the normal `g add`. The interactive mode might offer more functionality but I found these 4 options to be enough for almost anything. + +## Commits + +`g commit` without any flags will let you edit the commit message in your editor of choice. It can be set with either `g config --global core.editor "my_editor"` or with the environment variable `GIT_EDITOR`. If you're on nix and use home-manager check my git module. + +`g log` gives you all commits in the current repo. Each commit description starts with something like `commit b155c8912bb2347e030e723a2b37f1a60cb0fe15`. That big mess of characters is the commit hash, its identifier which you will use to refer to that commit. Usually you can type the first few characters of that hash and it should also work. When in doubt use your shell's autocompletion (most likely using the tab key). `g log` has *a lot* of flags, either read its manpage or toy around with the help of autocompletion. + +If you want to see the state of your repo at a specific commit use `g checkout`. + +Now that we know how to view and refer to a specific commit, we can learn how to revert the changes made in that commit. The terminology on this one is really confusing, I have to check it almost every time I need to revert a commit: + +- `g reset --hard commit_hash` will remove that commit and **remove all the changes in that commit locally** — to get them back you have to rewrite them by hand; most of the time not necessary, + +- `g revert commit_hash` will create a revert commit — the exact opposite of the one you're reverting, bringing you back to the state before it, + +- `g reset --soft commit_hash` will remove that commit but keep its changes, allowing you to make further changes, add and commit them again; in practice this is the one I use the most. + +To ammend further changes to the last commit you can add the changes and use `g commit --ammend`. It's probably a faster equivalent to `g reset --soft`, I just happen to have learned the former first and got used to it. + +If you want to sign your commits with a GPG key, verifying that you're actually their author, you want to make git aware of your public key. To do that, run `g config --global user.signingkey my_public_gpg_key` and install a pinentry frontend. I use the qt one and can recommend it. If you have no idea what I'm talking about, skip this section. This isn't necessary and your contributions most likely won't be rejected because your commits aren't signed. + +--- + +If you got stuck on some part, find this too hard or have any suggestions for this post, feel free to contact me. All my public contact information is on the sidebar at the top of all pages, I'd be more than happy to help you out. :-) diff --git a/hosts/chmura/jacekpoz.pl/default.nix b/hosts/chmura/jacekpoz.pl/default.nix new file mode 100644 index 0000000..086d827 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/default.nix @@ -0,0 +1,31 @@ +{ + pkgs ? import {}, + ... +}: let + risotto-src = pkgs.fetchFromGitHub { + owner = "jacekpoz"; + repo = "risotto"; + rev = "7c8cdd97cca30c49f0c13cf2e049f43b39b49d75"; + hash = "sha256-CX4aLTY1Z6E0QoRQIUOmfhG1gGCCnLqwBiLjhVMSpY8="; + }; +in pkgs.stdenv.mkDerivation { + name = "jacekpoz.pl"; + version = "0.1"; + src = ./.; + + buildInputs = with pkgs; [ + hugo + ]; + dontConfigure = true; + + buildPhase = '' + cp -r $src/* . + cp -r ${risotto-src} ./themes/risotto + ${pkgs.hugo}/bin/hugo + ''; + + installPhase = '' + mkdir -p $out + cp -r ./public/* $out/ + ''; +} diff --git a/hosts/chmura/jacekpoz.pl/hugo.toml b/hosts/chmura/jacekpoz.pl/hugo.toml new file mode 100644 index 0000000..c43e3a3 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/hugo.toml @@ -0,0 +1,40 @@ +baseURL = "https://jacekpoz.pl/" +theme = "risotto" +languageCode = "en-us" +title = "jacekpoz" +author = "jacekpoz" +copyright = "© 2023 by jacekpoz" + +[params] + +[params.theme] +palette = "tokyo-night-dark" + +[params.about] +title = "jacekpoz" +description = "piss blob" +logo = "jacekpoz.svg" + +[[params.socialLinks]] +logo = "email.svg" +title = "Email" +url = "mailto:jacekpoz@cock.li" + +[[params.socialLinks]] +logo = "matrix.svg" +title = "Matrix" +url = "https://matrix.to/#/@jacekpoz:jacekpoz.pl" + +[menu] + +[[menu.main]] +identifier = "posts" +name = "posts" +url = "/posts/" +weight = 1 + +[[menu.main]] +identifier = "about" +name = "about" +url = "/about" +weight = 2 diff --git a/hosts/chmura/jacekpoz.pl/static/email.svg b/hosts/chmura/jacekpoz.pl/static/email.svg new file mode 100644 index 0000000..63b3c8b --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/static/email.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/hosts/chmura/jacekpoz.pl/static/favicon.ico b/hosts/chmura/jacekpoz.pl/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..798a3e3fd2cdae446771f5fc9bf7cbe0167d920b GIT binary patch literal 34494 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 + + + + + + + + + + + + + + + + + + + diff --git a/hosts/chmura/jacekpoz.pl/static/matrix.svg b/hosts/chmura/jacekpoz.pl/static/matrix.svg new file mode 100644 index 0000000..037fac4 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/static/matrix.svg @@ -0,0 +1,52 @@ + + + + + + + + diff --git a/hosts/chmura/jacekpoz.pl/themes/risotto b/hosts/chmura/jacekpoz.pl/themes/risotto new file mode 160000 index 0000000..7c8cdd9 --- /dev/null +++ b/hosts/chmura/jacekpoz.pl/themes/risotto @@ -0,0 +1 @@ +Subproject commit 7c8cdd97cca30c49f0c13cf2e049f43b39b49d75 diff --git a/hosts/chmura/stalwart.nix b/hosts/chmura/stalwart.nix index 608ee5d..771395f 100644 --- a/hosts/chmura/stalwart.nix +++ b/hosts/chmura/stalwart.nix @@ -1,4 +1,12 @@ _: { + users.users.stalwart = { + isSystemUser = true; + group = "stalwart"; + home = "/var/lib/stalwart"; + }; + + users.groups.stalwart = {}; + services.stalwart-mail = { enable = true; settings = { @@ -8,11 +16,21 @@ _: { user = "stalwart"; group = "stalwart"; }; - listener = { - smtp = { - bind = [ "0.0.0.0:9900" ]; - }; - }; + #listener = { + # lmtp = { + # protocol = "lmtp"; + # bind = [ "0.0.0.0:9900" ]; + # }; + # smtp = { + # protocol = "smtp"; + # bind = [ "0.0.0.0:9901" ]; + # }; + # jmap = { + # protocol = "jmap"; + # bind = [ "0.0.0.0:9902" ]; + # url = "https://mail.jacekpoz.pl/jmap"; + # }; + #}; }; global = { thread-pool = 4; @@ -27,4 +45,13 @@ _: { }; }; }; + + services.caddy = { + enable = true; + virtualHosts."mail.jacekpoz.pl".extraConfig = '' + handle_path /jmap* { + reverse_proxy * localhost:9902 + } + ''; + }; } diff --git a/hosts/chmura/trollface.pl/default.nix b/hosts/chmura/trollface.pl/default.nix new file mode 100644 index 0000000..cbe96c2 --- /dev/null +++ b/hosts/chmura/trollface.pl/default.nix @@ -0,0 +1,16 @@ +_ : { + services.caddy = { + enable = true; + virtualHosts."trollface.pl".extraConfig = '' + @discord { + header_regexp User-Agent (?i)(Discord) + path / + } + + rewrite @discord /trollface.png + + root * ${./.} + file_server + ''; + }; +} diff --git a/hosts/default.nix b/hosts/default.nix index 2c492d8..991fa9a 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -21,21 +21,21 @@ in { inputs.agenix.nixosModules.default ]; }; - hape = lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { - inherit lib inputs self; - config' = { - hostname = "hape"; - username = "jacek"; - }; - }; - modules = [ - ./hape - ../modules - inputs.home-manager.nixosModules.home-manager - ]; - }; + #hape = lib.nixosSystem { + # system = "x86_64-linux"; + # specialArgs = { + # inherit lib inputs self; + # config' = { + # hostname = "hape"; + # username = "jacek"; + # }; + # }; + # modules = [ + # ./hape + # ../modules + # inputs.home-manager.nixosModules.home-manager + # ]; + #}; chmura = lib.nixosSystem { system = "x86_86-linux"; specialArgs = { diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix index 42cffa8..8db07e4 100644 --- a/hosts/niks/configuration.nix +++ b/hosts/niks/configuration.nix @@ -10,7 +10,7 @@ config = { permittedInsecurePackages = [ "python-2.7.18.6" - "armcord-3.2.3" + "electron-24.8.6" ]; allowUnfree = true; }; @@ -56,10 +56,15 @@ networking = { hostName = config'.hostname; - networkmanager.enable = true; + networkmanager = { + enable = true; + dns = "systemd-resolved"; + }; firewall.checkReversePath = "loose"; }; + services.resolved.enable = true; + # don't wait for network to boot faster # https://old.reddit.com/r/NixOS/comments/vdz86j/how_to_remove_boot_dependency_on_network_for_a systemd = { @@ -189,7 +194,10 @@ CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium"; - NIXOS_OZONE_WL = "1"; + #NIXOS_OZONE_WL = "1"; + + #WLR_DRM_DEVICES = "/dev/dri/card0:/dev/dri/card1"; + #DRI_PRIME = "1"; }; systemPackages = with pkgs; [ man-pages @@ -241,6 +249,12 @@ enable = true; driSupport = true; driSupport32Bit = true; + extraPackages = with pkgs; [ + amdvlk + ]; + extraPackages32 = with pkgs; [ + driversi686Linux.amdvlk + ]; }; cpu.amd.updateMicrocode = true; }; @@ -318,6 +332,8 @@ programs.kdeconnect.enable = true; + programs.noisetorch.enable = true; + myOptions = { programs = { git = { @@ -329,7 +345,14 @@ defaultBranch = "master"; }; starship.enable = true; - zsh.enable = true; + zsh = { + enable = true; + extraAliases = { + u = "nixos-rebuild switch -L --use-remote-sudo --flake \"/home/jacek/niksos#niks\" --max-jobs 3 --cores 4"; + us = "NIX_SSHOPTS='-t' nixos-rebuild switch -L --use-remote-sudo --flake \"/home/jacek/niksos#chmura\" --target-host chmura --max-jobs 3 --cores 4"; + }; + profiling = false; + }; anyrun.enable = true; armcord.enable = true; btop.enable = true; @@ -379,16 +402,18 @@ }; }; }; - schizofox.enable = false; foot.enable = true; - gtklock.enable = false; mpv.enable = true; neovim.enable = true; swaylock.enable = true; waybar.enable = true; zathura.enable = true; - hyprland.enable = true; + hyprland = { + enable = true; + startupSound = ./mathis.m4a; + }; helix.enable = true; + newsboat.enable = true; }; themes = { cursor = { @@ -457,16 +482,30 @@ user = "aur"; identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/aur"; }; + "jacekpoz" = { + hostName = "git.jacekpoz.pl"; + user = "forgejo"; + identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/jacekpoz"; + }; "chmura" = { hostName = "192.168.15.17"; user = "chmura"; identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/chmura"; }; + "chmura2" = { + hostName = "jacekpoz.pl"; + user = "chmura"; + identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/chmura"; + }; "malina" = { hostName = "192.168.15.13"; user = "malina"; identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/malina"; }; + "outfoxxed" = { + hostName = "git.outfoxxed.me"; + identityFile = "${config.home-manager.users.${config'.username}.home.homeDirectory}/.ssh/outfoxxed"; + }; }; }; }; diff --git a/hosts/niks/home-manager.nix b/hosts/niks/home-manager.nix index 7fb3a3c..aa27391 100644 --- a/hosts/niks/home-manager.nix +++ b/hosts/niks/home-manager.nix @@ -68,7 +68,6 @@ qbittorrent retroarchFull ventoy-full - zathura zellij nodejs unzip @@ -107,7 +106,7 @@ rage fd udisks - ffmpeg + ffmpeg_6-full ghc ghcid cabal-install @@ -182,18 +181,31 @@ logseq gamescope vitetris + gtetrinet # tp jetbrains.idea-community maven - pmd libsForQt5.umbrello - jdk - checkstyle + plantuml + umlet + graphviz linuxKernel.packages.linux_zen.cpupower usbutils libsForQt5.dolphin + kiwix + inkscape + gomuks + subversion + nushell + twitch-tui + hugo + ytfzf + mat2 + simplex-chat-desktop + libsixel + lsix ]; stateVersion = lib.mkDefault "23.11"; diff --git a/hosts/niks/mathis.m4a b/hosts/niks/mathis.m4a new file mode 100644 index 0000000000000000000000000000000000000000..e1c31b005ac2c8cfe78f23ddf35bb1030ccebef8 GIT binary patch literal 70922 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" = { - action = "vim.lsp.buf.signature_help"; - lua = true; - }; - "wa" = { - action = "vim.lsp.buf.add_workspace_folder"; - lua = true; - }; - "wr" = { - action = "vim.lsp.buf.remove_workspace_folder"; - lua = true; - }; - "wl" = { - action = '' - function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end - ''; - lua = true; - }; - "D" = { - action = "vim.lsp.buf.type_definition"; - lua = true; - }; - "r" = { - action = "vim.lsp.buf.rename"; - lua = true; - }; - "a" = { - action = "vim.lsp.buf.code_action"; - lua = true; - }; - "e" = { - action = "vim.diagnostic.open_float"; - lua = true; - }; - "q" = { - action = "vim.diagnostic.setloclist"; - lua = true; - }; - "[d" = { - action = "vim.diagnostic.goto_prev"; - lua = true; - }; - "]d" = { - action = "vim.diagnostic.goto_next"; - lua = true; - }; - "" = { - action = '' - function() - vim.lsp.buf.format { async = true } - end - ''; - lua = true; - }; - }; - }; - - treesitter = { - enable = true; - fold = true; - grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ - lua - rust - markdown - markdown-inline - python - cmake - cpp - ]; - }; - - startPlugins = [ - (pkgs.fetchFromGitHub { - owner = "slint-ui"; - repo = "vim-slint"; - rev = "9badce3860297562bb5e80ba1666628f9e0ac632"; - hash = "sha256-RKsRGE7KzAxmiviaikoXIVydjt8XxYXS/OMx8ol8kEQ="; - }) - ]; - - lsp = { - formatOnSave = false; - }; - - languages = { - enableLSP = true; - enableFormat = true; - enableTreesitter = true; - enableExtraDiagnostics = true; - - nix.enable = true; - html.enable = true; - ts.enable = true; - rust = { - enable = true; - crates.enable = true; - }; - - clang = { - enable = true; - lsp = { - enable = true; - server = "clangd"; - }; - }; - - java = { - enable = true; - treesitter.enable = true; - lsp.enable = true; - }; - }; - - autocomplete = { - enable = true; - }; - - telescope.enable = true; - - git = { - enable = true; - gitsigns = { - enable = true; - codeActions = true; - }; - }; - #filetree.chadtree = { - # enable = true; - #}; - - filetree.nvimTree = { - enable = true; - mappings = { - toggle = "v"; - }; - disableNetrw = true; - - openOnSetup = false; - }; - - terminal.toggleterm = { - enable = true; - direction = "float"; - mappings.open = ""; - }; - - theme = { - enable = true; - name = "catppuccin"; - style = "mocha"; - transparent = true; - }; - }; - }; - }; + programs.nixvim = { + enable = true; + defaultEditor = true; + package = pkgs.neovim-nightly; + enableMan = true; + colorscheme = "catppuccin"; + colorschemes.catppuccin = { + enable = true; + flavour = "mocha"; + transparentBackground = true; }; + + options = { + number = true; + relativenumber = true; + autoread = true; + so = 7; + cmdheight = 1; + ignorecase = true; + smartcase = true; + showmatch = true; + timeoutlen = 500; + encoding = "utf8"; + smarttab = true; + shiftwidth = 4; + tabstop = 4; + expandtab = true; + linebreak = true; + smartindent = true; + updatetime = 300; + hidden = true; + background = "dark"; + mousemoveevent = true; + smoothscroll = true; + }; + + globals = { + mapleader = " "; + }; + + keymaps = [ + { + action = "vim.cmd.CHADopen"; + lua = true; + key = "v"; + } + ]; + + plugins = { + airline = { + enable = true; + powerline = true; + theme = "catppuccin"; + }; + fugitive.enable = true; + treesitter = { + enable = true; + ensureInstalled = [ + "lua" + "rust" + "markdown" + "markdown-inline" + "python" + "cmake" + "cpp" + "c" + ]; + folding = false; + indent = true; + nixvimInjections = true; + incrementalSelection.enable = true; + }; + coq-nvim = { + enable = true; + autoStart = "shut-up"; + installArtifacts = true; + recommendedKeymaps = true; + }; + chadtree = { + enable = true; + keymap.openFileFolder.tertiary = ["t" ""]; + }; + toggleterm = { + enable = true; + direction = "float"; + openMapping = ""; + shadeTerminals = true; + shadingFactor = 2; + size = 10; + }; + # TODO laytan/cloak.nvim + gitsigns = { + enable = true; + currentLineBlame = true; + numhl = true; + signcolumn = true; + wordDiff = true; + }; + lsp = { + enable = true; + servers = { + rust-analyzer = { + enable = true; + installCargo = false; + installRustc = false; + }; + lua-ls.enable = true; + clangd.enable = true; + nil_ls.enable = true; + bashls.enable = true; + }; + #onAttach = '' + # vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + # local bufopts = { noremap = true, silent = true, buffer = bufnr } + # vim.keymap.set('n', 'wl', function() + # print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + # end, bufopts) + # vim.keymap.set('n', '', function() vim.lsp.buf.format { async = true } end, bufopts) + #''; + keymaps = { + lspBuf = { + gD = "declaration"; + gd = "definition"; + K = "hover"; + gi = "implementation"; + "" = "signature_help"; + "wa" = "add_workspace_folder"; + "wr" = "remove_workspace_folder"; + "wl" = "list_workspace_folders"; + "D" = "type_definition"; + "r" = "rename"; + "a" = "code_action"; + gr = "references"; + "" = "format"; + }; + diagnostic = { + "e" = "open_float"; + "j" = "goto_prev"; + "k" = "goto_next"; + "q" = "setloclist"; + }; + # TODO maybe change + silent = false; + }; + }; + rust-tools = { + enable = true; + crateGraph = { + enabledGraphvizBackends = ["png" "svg"]; + backend = "x11"; + }; + inlayHints = { + auto = true; + onlyCurrentLine = true; + showParameterHints = true; + }; + }; + leap.enable = true; + fidget.enable = true; + telescope = { + enable = true; + keymaps = { + "ff" = "find_files"; + "fg" = "live_grep"; + "fb" = "buffers"; + "fh" = "help_tags"; + }; + # TODO maybe change + keymapsSilent = false; + }; + comment-nvim.enable = true; + crates-nvim.enable = true; + harpoon = { + enable = true; + enableTelescope = true; + keymapsSilent = false; + }; + }; + + extraPlugins = with pkgs.vimPlugins; [ + zen-mode-nvim + ]; + }; }; + }; } diff --git a/modules/tui/newsboat.nix b/modules/tui/newsboat.nix new file mode 100644 index 0000000..125c851 --- /dev/null +++ b/modules/tui/newsboat.nix @@ -0,0 +1,73 @@ +{ + config, + config', + lib, + ... +}: with lib; let + cfg = config.myOptions.programs.newsboat; +in { + options.myOptions.programs.newsboat.enable = mkEnableOption "enable newsboat"; + + config = mkIf cfg.enable { + home-manager.users.${config'.username} = { + programs.newsboat = { + enable = true; + autoReload = true; + extraConfig = '' + download-full-page yes + download-retries 3 + error-log /dev/null + cookie-cache ~/.cache/newsboat/cookies.txt + bind-key j down + bind-key k up + bind-key G end + bind-key g home + bind-key d pagedown + bind-key u pageup + bind-key a toggle-article-read + + color listnormal color15 default + color listnormal_unread color2 default + color listfocus_unread color2 color0 + color listfocus default color0 + color background default default + color article default default + color end-of-text-marker color8 default + color info color4 color8 + color hint-separator default color8 + color hint-description default color8 + color title color14 color8 + + highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold + highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold + highlight article "\\((link|image|video)\\)" color8 default + highlight article "https?://[^ ]+" color4 default + highlight article "\[[0-9]+\]" color6 default bold + user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" + ''; + urls = [ + { + title = "NixOS Weekly"; + url = "https://weekly.nixos.org/feeds/all.rss.xml"; + } + { + title = "Hacker News"; + url = "https://hnrss.org/newest"; + } + { + title = "Phoronix"; + url = "https://www.phoronix.com/rss.php"; + } + { + title = "LWN"; + url = "https://lwn.net/headlines/rss"; + } + { + title = "Hyprland Commit Feed"; + url = "https://github.com/hyprwm/Hyprland/commits/main.atom"; + } + ]; + }; + }; + }; +} diff --git a/secrets/eturnal-turn-secret.age b/secrets/eturnal-turn-secret.age new file mode 100644 index 0000000000000000000000000000000000000000..c40bf62c780fbb9ed2c322adb20b46513c5d3340 GIT binary patch literal 722 zcmZ9|%WKnc007|W7(yK=-h80(u(?^gG-=YNzLT_T({AazU8@X!P0~D@Hjk}q?DXP6 zJnSZj6MNAq!?O(CWGD*aL8qVtK~zKrUff_Z9E##`f58VI5CxB*b7r${%QbzVW{U7Q z;_{q^EKBkTJc{E;5c1*-Srs8QV|zKtu`rf2N_?XV{4h&{VM^yXhbba%k{mCTu_l_D z;9NdJ(n1Lkbz?CFMFz1XE>^1UL3bcx2rNQY6rrSLeLOA38(Xy~O(Y2t3bB+wnUkt{ z%CZ6DW=%so07H}DD|1S;L& z3ArpeIw~o2mfWgYj4gre#Z%p`1Ta$_7ugH}Y3`SDnY5tIH%CaiIsk*KG~GHIXc z0xadG#@Pu{L1;`W0@d-R!Zj;Gu-RrVn5T0?JXL5`!;0YDsufc#kBCr~V!%)-AEg|! zSW#rD5nzULnw(TQE#00uu^|1Nn(aS2Us`*ep4$KMrMSG>URk7C zYti`qZ!h{fyYZR3`o`sr9cpXe!>NHiAHG(5-zTo`I^Oks@w0RFTvuaTducs?_-yyB wGfN$#bG^}fIKT7KtZ^Po1Wf0xPkpv}u>Vu%=E?k@-yJt6M|VGFJE ssh-ed25519 05IAmg Q5Q02J6CGyf4zY8QaVGwGdVGnDFdbR9X6Yyl9qOSLSE +f0+qlioiZAVhwlCU4852Jrlj1RXz5N3M6lAEmne94Ns +-> ssh-ed25519 HC8P8A ChB/hMIOC4kuF3qr3hoihzHUew+OQ/4+8HqeqCFX3zM +LOdqk/SnJqlbSlo1Kd77ZOCFlLaDLMv5bRwgFzHwk3A +-> ssh-ed25519 sItgaw wjhyB82a6wu7TTBY8qnMwPoTTMkvQErPorPb+vh/XDQ +KF+eHQkRIZzZtFEuavTLzwUkTOXohA0RaCRgCmULS4U +-> ssh-ed25519 YQNd1g 9+4Dk+RioFhqD1EDdSDaA6abrv1nFtXdtzyOWI+ZbwQ +uJCBoQEmlPbiHqmejVB/kVP9899z89U756nHdCzsKTA +-> 6V]-grease YJ} M/%3t4Q +Wtz31Eqy2mUNJQ +--- 9bAuZp6n+rkfsnx4NAbnMGLrhTghunPvFCTc1hC/7v8 +?)ōgqz Ui7qׂJ[GʪcJ# o &ɫ0Qf ٌ݇2Q~zY{dǤ͋$Qg{u>.ľ~K+6l9O8 \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index b0ad425..920b02e 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -10,4 +10,6 @@ let in { "anki-user-credentials.age".publicKeys = niks ++ chmura; "discord-autodelete-config.age".publicKeys = niks ++ chmura; + "eturnal-turn-secret.age".publicKeys = niks ++ chmura; + "firefox-syncserver-secrets.age".publicKeys = niks ++ chmura; }