From a83c37a6380b84468b591f6b3f95d30b878ada62 Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 5 Feb 2025 17:58:09 +0100 Subject: [PATCH] full rewrite, first commit --- flake.lock | 3234 +++++++++++++++++ flake.nix | 56 + homes/x86_64-linux/philipp/default.nix | 20 + lib/module/default.nix | 64 + modules/home/apps/kitty/default.nix | 43 + modules/home/apps/librewolf/default.nix | 87 + modules/home/cli-apps/fish/default.nix | 52 + .../home/cli-apps/home-manager/default.nix | 21 + modules/home/home/default.nix | 9 + modules/home/tools/git/default.nix | 49 + modules/home/tools/neovim/default.nix | 39 + modules/nixos/apps/steam/default.nix | 27 + modules/nixos/cli/neovim/default.nix | 55 + modules/nixos/desktop/plasma/default.nix | 58 + modules/nixos/hardware/audio/default.nix | 88 + modules/nixos/services/btrfs/default.nix | 24 + modules/nixos/services/caddy/default.nix | 55 + modules/nixos/services/invidious/default.nix | 30 + modules/nixos/system/fonts/default.nix | 77 + modules/nixos/user/default.nix | 23 + .../podman/technitium/default.nix | 25 + systems/aarch64-linux/blarm/default.nix | 57 + systems/x86_64-linux/bodenheizung/default.nix | 77 + .../bodenheizung/hardware-configuration.nix | 88 + 24 files changed, 4358 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 homes/x86_64-linux/philipp/default.nix create mode 100644 lib/module/default.nix create mode 100644 modules/home/apps/kitty/default.nix create mode 100644 modules/home/apps/librewolf/default.nix create mode 100644 modules/home/cli-apps/fish/default.nix create mode 100644 modules/home/cli-apps/home-manager/default.nix create mode 100644 modules/home/home/default.nix create mode 100644 modules/home/tools/git/default.nix create mode 100644 modules/home/tools/neovim/default.nix create mode 100644 modules/nixos/apps/steam/default.nix create mode 100644 modules/nixos/cli/neovim/default.nix create mode 100644 modules/nixos/desktop/plasma/default.nix create mode 100644 modules/nixos/hardware/audio/default.nix create mode 100644 modules/nixos/services/btrfs/default.nix create mode 100644 modules/nixos/services/caddy/default.nix create mode 100644 modules/nixos/services/invidious/default.nix create mode 100644 modules/nixos/system/fonts/default.nix create mode 100644 modules/nixos/user/default.nix create mode 100644 modules/nixos/virtualisation/podman/technitium/default.nix create mode 100644 systems/aarch64-linux/blarm/default.nix create mode 100644 systems/x86_64-linux/bodenheizung/default.nix create mode 100644 systems/x86_64-linux/bodenheizung/hardware-configuration.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7ba9d89 --- /dev/null +++ b/flake.lock @@ -0,0 +1,3234 @@ +{ + "nodes": { + "firefox-addons": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "dir": "pkgs/firefox-addons", + "lastModified": 1738555412, + "narHash": "sha256-G5oWvS5yBdZTvl7xmVGXud8l3FLLfst1RZE/a0fdgDo=", + "owner": "rycee", + "repo": "nur-expressions", + "rev": "ec9525db7b22db431208013dcc9a1d510fc387cf", + "type": "gitlab" + }, + "original": { + "dir": "pkgs/firefox-addons", + "owner": "rycee", + "repo": "nur-expressions", + "type": "gitlab" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1629284811, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_3" + }, + "locked": { + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.11", + "repo": "home-manager", + "type": "github" + } + }, + "mnw": { + "locked": { + "lastModified": 1735150973, + "narHash": "sha256-OJhcCAoaMMXeD6o4qI/hxBCNELJp4dN8D5LJZc8w8XA=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "40cd0b006cc48dffd0f8698ad7f54cf1d56779a6", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, + "nil": { + "inputs": { + "flake-utils": [ + "nvf", + "flake-utils" + ], + "nixpkgs": [ + "nvf", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1732053863, + "narHash": "sha256-DCIVdlb81Fct2uwzbtnawLBC/U03U2hqx8trqTJB7WA=", + "owner": "oxalica", + "repo": "nil", + "rev": "2e24c9834e3bb5aa2a3701d3713b43a6fb106362", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "nil", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1738471961, + "narHash": "sha256-cgXDFrplNGs7bCVzXhRofjD8oJYqqXGcmUzXjHmip6Y=", + "owner": "nixos", + "repo": "nixos-hardware", + "rev": "537286c3c59b40311e5418a180b38034661d2536", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1738435198, + "narHash": "sha256-5+Hmo4nbqw8FrW85FlNm4IIrRnZ7bn0cmXlScNsNRLo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f6687779bf4c396250831aa5a32cbfeb85bb07a3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nmd": { + "flake": false, + "locked": { + "lastModified": 1705050560, + "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", + "owner": "~rycee", + "repo": "nmd", + "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", + "type": "sourcehut" + }, + "original": { + "owner": "~rycee", + "repo": "nmd", + "type": "sourcehut" + } + }, + "nvf": { + "inputs": { + "flake-parts": "flake-parts", + "flake-utils": "flake-utils_2", + "mnw": "mnw", + "nil": "nil", + "nixpkgs": "nixpkgs_2", + "nmd": "nmd", + "plugin-aerial-nvim": "plugin-aerial-nvim", + "plugin-alpha-nvim": "plugin-alpha-nvim", + "plugin-base16": "plugin-base16", + "plugin-bufdelete-nvim": "plugin-bufdelete-nvim", + "plugin-catppuccin": "plugin-catppuccin", + "plugin-ccc": "plugin-ccc", + "plugin-cellular-automaton": "plugin-cellular-automaton", + "plugin-chatgpt": "plugin-chatgpt", + "plugin-cheatsheet-nvim": "plugin-cheatsheet-nvim", + "plugin-cinnamon-nvim": "plugin-cinnamon-nvim", + "plugin-cmp-buffer": "plugin-cmp-buffer", + "plugin-cmp-luasnip": "plugin-cmp-luasnip", + "plugin-cmp-nvim-lsp": "plugin-cmp-nvim-lsp", + "plugin-cmp-path": "plugin-cmp-path", + "plugin-cmp-treesitter": "plugin-cmp-treesitter", + "plugin-codewindow-nvim": "plugin-codewindow-nvim", + "plugin-comment-nvim": "plugin-comment-nvim", + "plugin-copilot-cmp": "plugin-copilot-cmp", + "plugin-copilot-lua": "plugin-copilot-lua", + "plugin-crates-nvim": "plugin-crates-nvim", + "plugin-csharpls-extended": "plugin-csharpls-extended", + "plugin-dashboard-nvim": "plugin-dashboard-nvim", + "plugin-diffview-nvim": "plugin-diffview-nvim", + "plugin-dracula": "plugin-dracula", + "plugin-dressing-nvim": "plugin-dressing-nvim", + "plugin-elixir-tools": "plugin-elixir-tools", + "plugin-fastaction-nvim": "plugin-fastaction-nvim", + "plugin-fidget-nvim": "plugin-fidget-nvim", + "plugin-flutter-tools": "plugin-flutter-tools", + "plugin-friendly-snippets": "plugin-friendly-snippets", + "plugin-fzf-lua": "plugin-fzf-lua", + "plugin-gesture-nvim": "plugin-gesture-nvim", + "plugin-gitsigns-nvim": "plugin-gitsigns-nvim", + "plugin-glow-nvim": "plugin-glow-nvim", + "plugin-gruvbox": "plugin-gruvbox", + "plugin-haskell-tools-nvim": "plugin-haskell-tools-nvim", + "plugin-highlight-undo": "plugin-highlight-undo", + "plugin-hop-nvim": "plugin-hop-nvim", + "plugin-icon-picker-nvim": "plugin-icon-picker-nvim", + "plugin-image-nvim": "plugin-image-nvim", + "plugin-indent-blankline": "plugin-indent-blankline", + "plugin-leap-nvim": "plugin-leap-nvim", + "plugin-lsp-lines": "plugin-lsp-lines", + "plugin-lsp-signature": "plugin-lsp-signature", + "plugin-lspkind": "plugin-lspkind", + "plugin-lspsaga": "plugin-lspsaga", + "plugin-lua-utils-nvim": "plugin-lua-utils-nvim", + "plugin-lualine": "plugin-lualine", + "plugin-luasnip": "plugin-luasnip", + "plugin-lz-n": "plugin-lz-n", + "plugin-lzn-auto-require": "plugin-lzn-auto-require", + "plugin-mind-nvim": "plugin-mind-nvim", + "plugin-mini-ai": "plugin-mini-ai", + "plugin-mini-align": "plugin-mini-align", + "plugin-mini-animate": "plugin-mini-animate", + "plugin-mini-base16": "plugin-mini-base16", + "plugin-mini-basics": "plugin-mini-basics", + "plugin-mini-bracketed": "plugin-mini-bracketed", + "plugin-mini-bufremove": "plugin-mini-bufremove", + "plugin-mini-clue": "plugin-mini-clue", + "plugin-mini-colors": "plugin-mini-colors", + "plugin-mini-comment": "plugin-mini-comment", + "plugin-mini-completion": "plugin-mini-completion", + "plugin-mini-diff": "plugin-mini-diff", + "plugin-mini-doc": "plugin-mini-doc", + "plugin-mini-extra": "plugin-mini-extra", + "plugin-mini-files": "plugin-mini-files", + "plugin-mini-fuzzy": "plugin-mini-fuzzy", + "plugin-mini-git": "plugin-mini-git", + "plugin-mini-hipatterns": "plugin-mini-hipatterns", + "plugin-mini-hues": "plugin-mini-hues", + "plugin-mini-icons": "plugin-mini-icons", + "plugin-mini-indentscope": "plugin-mini-indentscope", + "plugin-mini-jump": "plugin-mini-jump", + "plugin-mini-jump2d": "plugin-mini-jump2d", + "plugin-mini-map": "plugin-mini-map", + "plugin-mini-misc": "plugin-mini-misc", + "plugin-mini-move": "plugin-mini-move", + "plugin-mini-notify": "plugin-mini-notify", + "plugin-mini-operators": "plugin-mini-operators", + "plugin-mini-pairs": "plugin-mini-pairs", + "plugin-mini-pick": "plugin-mini-pick", + "plugin-mini-sessions": "plugin-mini-sessions", + "plugin-mini-snippets": "plugin-mini-snippets", + "plugin-mini-splitjoin": "plugin-mini-splitjoin", + "plugin-mini-starter": "plugin-mini-starter", + "plugin-mini-statusline": "plugin-mini-statusline", + "plugin-mini-surround": "plugin-mini-surround", + "plugin-mini-tabline": "plugin-mini-tabline", + "plugin-mini-test": "plugin-mini-test", + "plugin-mini-trailspace": "plugin-mini-trailspace", + "plugin-mini-visits": "plugin-mini-visits", + "plugin-minimap-vim": "plugin-minimap-vim", + "plugin-modes-nvim": "plugin-modes-nvim", + "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", + "plugin-neocord": "plugin-neocord", + "plugin-neodev-nvim": "plugin-neodev-nvim", + "plugin-neorg": "plugin-neorg", + "plugin-neorg-telescope": "plugin-neorg-telescope", + "plugin-new-file-template-nvim": "plugin-new-file-template-nvim", + "plugin-noice-nvim": "plugin-noice-nvim", + "plugin-none-ls": "plugin-none-ls", + "plugin-nord": "plugin-nord", + "plugin-nui-nvim": "plugin-nui-nvim", + "plugin-nvim-autopairs": "plugin-nvim-autopairs", + "plugin-nvim-bufferline-lua": "plugin-nvim-bufferline-lua", + "plugin-nvim-cmp": "plugin-nvim-cmp", + "plugin-nvim-colorizer-lua": "plugin-nvim-colorizer-lua", + "plugin-nvim-cursorline": "plugin-nvim-cursorline", + "plugin-nvim-dap": "plugin-nvim-dap", + "plugin-nvim-dap-go": "plugin-nvim-dap-go", + "plugin-nvim-dap-ui": "plugin-nvim-dap-ui", + "plugin-nvim-docs-view": "plugin-nvim-docs-view", + "plugin-nvim-lightbulb": "plugin-nvim-lightbulb", + "plugin-nvim-lspconfig": "plugin-nvim-lspconfig", + "plugin-nvim-metals": "plugin-nvim-metals", + "plugin-nvim-navbuddy": "plugin-nvim-navbuddy", + "plugin-nvim-navic": "plugin-nvim-navic", + "plugin-nvim-neoclip": "plugin-nvim-neoclip", + "plugin-nvim-nio": "plugin-nvim-nio", + "plugin-nvim-notify": "plugin-nvim-notify", + "plugin-nvim-scrollbar": "plugin-nvim-scrollbar", + "plugin-nvim-session-manager": "plugin-nvim-session-manager", + "plugin-nvim-surround": "plugin-nvim-surround", + "plugin-nvim-tree-lua": "plugin-nvim-tree-lua", + "plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context", + "plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag", + "plugin-nvim-ufo": "plugin-nvim-ufo", + "plugin-nvim-web-devicons": "plugin-nvim-web-devicons", + "plugin-obsidian-nvim": "plugin-obsidian-nvim", + "plugin-omnisharp-extended": "plugin-omnisharp-extended", + "plugin-onedark": "plugin-onedark", + "plugin-orgmode-nvim": "plugin-orgmode-nvim", + "plugin-otter-nvim": "plugin-otter-nvim", + "plugin-oxocarbon": "plugin-oxocarbon", + "plugin-pathlib-nvim": "plugin-pathlib-nvim", + "plugin-plenary-nvim": "plugin-plenary-nvim", + "plugin-precognition-nvim": "plugin-precognition-nvim", + "plugin-project-nvim": "plugin-project-nvim", + "plugin-promise-async": "plugin-promise-async", + "plugin-rainbow-delimiters": "plugin-rainbow-delimiters", + "plugin-registers": "plugin-registers", + "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", + "plugin-rose-pine": "plugin-rose-pine", + "plugin-rtp-nvim": "plugin-rtp-nvim", + "plugin-run-nvim": "plugin-run-nvim", + "plugin-rustaceanvim": "plugin-rustaceanvim", + "plugin-smartcolumn": "plugin-smartcolumn", + "plugin-sqls-nvim": "plugin-sqls-nvim", + "plugin-tabular": "plugin-tabular", + "plugin-telescope": "plugin-telescope", + "plugin-tiny-devicons-auto-colors": "plugin-tiny-devicons-auto-colors", + "plugin-todo-comments": "plugin-todo-comments", + "plugin-toggleterm-nvim": "plugin-toggleterm-nvim", + "plugin-tokyonight": "plugin-tokyonight", + "plugin-trouble": "plugin-trouble", + "plugin-ts-error-translator": "plugin-ts-error-translator", + "plugin-typst-preview-nvim": "plugin-typst-preview-nvim", + "plugin-vim-dirtytalk": "plugin-vim-dirtytalk", + "plugin-vim-fugitive": "plugin-vim-fugitive", + "plugin-vim-illuminate": "plugin-vim-illuminate", + "plugin-vim-markdown": "plugin-vim-markdown", + "plugin-vim-repeat": "plugin-vim-repeat", + "plugin-vim-startify": "plugin-vim-startify", + "plugin-which-key": "plugin-which-key", + "plugin-yanky-nvim": "plugin-yanky-nvim", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1738504946, + "narHash": "sha256-/btrLwD7UFgNWPxdewMdYYiI2GJxYipGnLuX7pRVAjc=", + "owner": "notashelf", + "repo": "nvf", + "rev": "944327329712eda9eec8a86a972e0abd7ea368e6", + "type": "github" + }, + "original": { + "owner": "notashelf", + "repo": "nvf", + "type": "github" + } + }, + "plugin-aerial-nvim": { + "flake": false, + "locked": { + "lastModified": 1736064692, + "narHash": "sha256-7YQtkUTACTMfAGoqoFDPmRrqtw+ypxDbeLCTB3sy4Us=", + "owner": "stevearc", + "repo": "aerial.nvim", + "rev": "b3ec25ca8c347fafa976484a6cace162239112e1", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "aerial.nvim", + "type": "github" + } + }, + "plugin-alpha-nvim": { + "flake": false, + "locked": { + "lastModified": 1731604504, + "narHash": "sha256-sNi5qarejYqM4/J7lBZI3gjVLxer5FBPq8K6qjqcMjA=", + "owner": "goolord", + "repo": "alpha-nvim", + "rev": "de72250e054e5e691b9736ee30db72c65d560771", + "type": "github" + }, + "original": { + "owner": "goolord", + "repo": "alpha-nvim", + "type": "github" + } + }, + "plugin-base16": { + "flake": false, + "locked": { + "lastModified": 1716483968, + "narHash": "sha256-GRF/6AobXHamw8TZ3FjL7SI6ulcpwpcohsIuZeCSh2A=", + "owner": "rrethy", + "repo": "base16-nvim", + "rev": "6ac181b5733518040a33017dde654059cd771b7c", + "type": "github" + }, + "original": { + "owner": "rrethy", + "repo": "base16-nvim", + "type": "github" + } + }, + "plugin-bufdelete-nvim": { + "flake": false, + "locked": { + "lastModified": 1708814161, + "narHash": "sha256-ljUNfmpImtxFCS19HC9kFlaLlqaPDltKtnx1+/6Y33U=", + "owner": "famiu", + "repo": "bufdelete.nvim", + "rev": "f6bcea78afb3060b198125256f897040538bcb81", + "type": "github" + }, + "original": { + "owner": "famiu", + "repo": "bufdelete.nvim", + "type": "github" + } + }, + "plugin-catppuccin": { + "flake": false, + "locked": { + "lastModified": 1735299190, + "narHash": "sha256-lwQLmqm01FihJdad4QRMK23MTrouyOokyuX/3enWjzs=", + "owner": "catppuccin", + "repo": "nvim", + "rev": "f67b886d65a029f12ffa298701fb8f1efd89295d", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nvim", + "type": "github" + } + }, + "plugin-ccc": { + "flake": false, + "locked": { + "lastModified": 1727935067, + "narHash": "sha256-OhdR2sAQV5PvlhaKQ6rYneMmvQiN3QfymOeanpAs9wY=", + "owner": "uga-rosa", + "repo": "ccc.nvim", + "rev": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a", + "type": "github" + }, + "original": { + "owner": "uga-rosa", + "repo": "ccc.nvim", + "type": "github" + } + }, + "plugin-cellular-automaton": { + "flake": false, + "locked": { + "lastModified": 1719777869, + "narHash": "sha256-nIv7ISRk0+yWd1lGEwAV6u1U7EFQj/T9F8pU6O0Wf0s=", + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "rev": "11aea08aa084f9d523b0142c2cd9441b8ede09ed", + "type": "github" + }, + "original": { + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "type": "github" + } + }, + "plugin-chatgpt": { + "flake": false, + "locked": { + "lastModified": 1728720509, + "narHash": "sha256-+YVXAkG4pp7RGs8lGnNFc0kQcUV3O3kYBQaQ5Qa4wB0=", + "owner": "jackMort", + "repo": "ChatGPT.nvim", + "rev": "5b6d296eefc75331e2ff9f0adcffbd7d27862dd6", + "type": "github" + }, + "original": { + "owner": "jackMort", + "repo": "ChatGPT.nvim", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-cinnamon-nvim": { + "flake": false, + "locked": { + "lastModified": 1722992123, + "narHash": "sha256-kccQ4iFMSQ8kvE7hYz90hBrsDLo7VohFj/6lEZZiAO8=", + "owner": "declancm", + "repo": "cinnamon.nvim", + "rev": "450cb3247765fed7871b41ef4ce5fa492d834215", + "type": "github" + }, + "original": { + "owner": "declancm", + "repo": "cinnamon.nvim", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-cmp-luasnip": { + "flake": false, + "locked": { + "lastModified": 1730707109, + "narHash": "sha256-86lKQPPyqFz8jzuLajjHMKHrYnwW6+QOcPyQEx6B+gw=", + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "rev": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", + "type": "github" + }, + "original": { + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "type": "github" + } + }, + "plugin-cmp-nvim-lsp": { + "flake": false, + "locked": { + "lastModified": 1733823748, + "narHash": "sha256-iaihXNCF5bB5MdeoosD/kc3QtpA/QaIDZVLiLIurBSM=", + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-cmp-treesitter": { + "flake": false, + "locked": { + "lastModified": 1715596479, + "narHash": "sha256-8WAk9S+/7vSz7bVHdEzjbKUokU144fvnByIeJ1gAWhU=", + "owner": "ray-x", + "repo": "cmp-treesitter", + "rev": "958fcfa0d8ce46d215e19cc3992c542f576c4123", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "cmp-treesitter", + "type": "github" + } + }, + "plugin-codewindow-nvim": { + "flake": false, + "locked": { + "lastModified": 1717593052, + "narHash": "sha256-HAqVTAkFZ1/vBiBP/QDE1fmwOl/PbznAxz/jmUFxs88=", + "owner": "gorbit99", + "repo": "codewindow.nvim", + "rev": "dd7017617962943eb1d152fc58940f11c6775a4a", + "type": "github" + }, + "original": { + "owner": "gorbit99", + "repo": "codewindow.nvim", + "type": "github" + } + }, + "plugin-comment-nvim": { + "flake": false, + "locked": { + "lastModified": 1717957420, + "narHash": "sha256-h0kPue5Eqd5aeu4VoLH45pF0DmWWo1d8SnLICSQ63zc=", + "owner": "numToStr", + "repo": "Comment.nvim", + "rev": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", + "type": "github" + }, + "original": { + "owner": "numToStr", + "repo": "Comment.nvim", + "type": "github" + } + }, + "plugin-copilot-cmp": { + "flake": false, + "locked": { + "lastModified": 1733947099, + "narHash": "sha256-erRL8bY/zuwuCZfttw+avTrFV7pjv2H6v73NzY2bymM=", + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "rev": "15fc12af3d0109fa76b60b5cffa1373697e261d1", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "type": "github" + } + }, + "plugin-copilot-lua": { + "flake": false, + "locked": { + "lastModified": 1734926641, + "narHash": "sha256-c2UE0dLBtoYMvMxg+jXzfsD+wN9sZLvftJq4gGmooZU=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, + "plugin-crates-nvim": { + "flake": false, + "locked": { + "lastModified": 1727384188, + "narHash": "sha256-DIG0MXRTit4iEVoLlgsTK4znjam/QDjeZEpIDn6KHiE=", + "owner": "Saecki", + "repo": "crates.nvim", + "rev": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785", + "type": "github" + }, + "original": { + "owner": "Saecki", + "repo": "crates.nvim", + "type": "github" + } + }, + "plugin-csharpls-extended": { + "flake": false, + "locked": { + "lastModified": 1734491815, + "narHash": "sha256-jO/vuNgP8JAOIturzPFvxMLL5y+6YTYsUxjWwX6Nyso=", + "owner": "Decodetalkers", + "repo": "csharpls-extended-lsp.nvim", + "rev": "4f56c06215d10c4fcfee8a7f04ba766c114aece0", + "type": "github" + }, + "original": { + "owner": "Decodetalkers", + "repo": "csharpls-extended-lsp.nvim", + "type": "github" + } + }, + "plugin-dashboard-nvim": { + "flake": false, + "locked": { + "lastModified": 1730526793, + "narHash": "sha256-Qi8kmC3U8Tvxh0pWIBtN3DuWJioEGWn7FqQ8lQwauRo=", + "owner": "glepnir", + "repo": "dashboard-nvim", + "rev": "ae309606940d26d8c9df8b048a6e136b6bbec478", + "type": "github" + }, + "original": { + "owner": "glepnir", + "repo": "dashboard-nvim", + "type": "github" + } + }, + "plugin-diffview-nvim": { + "flake": false, + "locked": { + "lastModified": 1718279802, + "narHash": "sha256-SX+ybIzL/w6uyCy4iZKnWnzTFwqB1oXSgyYVAdpdKi8=", + "owner": "sindrets", + "repo": "diffview.nvim", + "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "type": "github" + }, + "original": { + "owner": "sindrets", + "repo": "diffview.nvim", + "type": "github" + } + }, + "plugin-dracula": { + "flake": false, + "locked": { + "lastModified": 1734597715, + "narHash": "sha256-9iRI5NW3mcVzduitY4sr679dRWAWVbZuCAEfgM1OIOs=", + "owner": "Mofiqul", + "repo": "dracula.nvim", + "rev": "515acae4fd294fcefa5b15237a333c2606e958d1", + "type": "github" + }, + "original": { + "owner": "Mofiqul", + "repo": "dracula.nvim", + "type": "github" + } + }, + "plugin-dressing-nvim": { + "flake": false, + "locked": { + "lastModified": 1734804193, + "narHash": "sha256-N4hB5wDgoqXrXxSfzDCrqmdDtdVvq+PtOS7FBPH7qXE=", + "owner": "stevearc", + "repo": "dressing.nvim", + "rev": "3a45525bb182730fe462325c99395529308f431e", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "dressing.nvim", + "type": "github" + } + }, + "plugin-elixir-tools": { + "flake": false, + "locked": { + "lastModified": 1735076861, + "narHash": "sha256-CoGTVSKifjqshk8hYaQfFYTYgEGsIb1hKdz6fIS81iU=", + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "rev": "803fa69dbb457305cff98e3997bed2c4b51aea7c", + "type": "github" + }, + "original": { + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "type": "github" + } + }, + "plugin-fastaction-nvim": { + "flake": false, + "locked": { + "lastModified": 1734546047, + "narHash": "sha256-1GSxTyXqufjkRtNK3drWlCn/mGJ9mM9bHMR6ZwWT6X8=", + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "rev": "886e22d85e13115808e81ca367d5aaba02d9a25b", + "type": "github" + }, + "original": { + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "type": "github" + } + }, + "plugin-fidget-nvim": { + "flake": false, + "locked": { + "lastModified": 1734334336, + "narHash": "sha256-o0za2NxFtzHZa7PRIm9U/P1/fwJrxS1G79ukdGLhJ4Q=", + "owner": "j-hui", + "repo": "fidget.nvim", + "rev": "9238947645ce17d96f30842e61ba81147185b657", + "type": "github" + }, + "original": { + "owner": "j-hui", + "repo": "fidget.nvim", + "type": "github" + } + }, + "plugin-flutter-tools": { + "flake": false, + "locked": { + "lastModified": 1735420417, + "narHash": "sha256-xfSdPhrSUwBYdE9ZA8GgwFvR70nOp+snbNrFHeIfwOM=", + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "rev": "a526c30f1941a7472509aaedda13758f943c968e", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "type": "github" + } + }, + "plugin-friendly-snippets": { + "flake": false, + "locked": { + "lastModified": 1733106470, + "narHash": "sha256-I8SRZxnoNC6SOWW+scoA77Jwyxcb4eUczppLdyOiZe0=", + "owner": "rafamadriz", + "repo": "friendly-snippets", + "rev": "efff286dd74c22f731cdec26a70b46e5b203c619", + "type": "github" + }, + "original": { + "owner": "rafamadriz", + "repo": "friendly-snippets", + "type": "github" + } + }, + "plugin-fzf-lua": { + "flake": false, + "locked": { + "lastModified": 1737131132, + "narHash": "sha256-0IdADUsIr+SZ0ort92jPPfGIH1EdcwELYz+TCmDCPPI=", + "owner": "ibhagwan", + "repo": "fzf-lua", + "rev": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", + "type": "github" + }, + "original": { + "owner": "ibhagwan", + "repo": "fzf-lua", + "type": "github" + } + }, + "plugin-gesture-nvim": { + "flake": false, + "locked": { + "lastModified": 1731669851, + "narHash": "sha256-LTkttlDmKO9ngzrJrMWeeG9R0Bz/PoroCAF2URhUEbM=", + "owner": "notomo", + "repo": "gesture.nvim", + "rev": "dbd839bda337cb73911aeef06897eb29cb99f76f", + "type": "github" + }, + "original": { + "owner": "notomo", + "repo": "gesture.nvim", + "type": "github" + } + }, + "plugin-gitsigns-nvim": { + "flake": false, + "locked": { + "lastModified": 1732361574, + "narHash": "sha256-H7A+AxioiedSuC+jqRwP4c7DjZR/0j4o/fTUasT2urc=", + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "rev": "5f808b5e4fef30bd8aca1b803b4e555da07fc412", + "type": "github" + }, + "original": { + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "type": "github" + } + }, + "plugin-glow-nvim": { + "flake": false, + "locked": { + "lastModified": 1703345545, + "narHash": "sha256-GsNcASzVvY0066kak2nvUY5luzanoBclqcUOsODww8g=", + "owner": "ellisonleao", + "repo": "glow.nvim", + "rev": "238070a686c1da3bccccf1079700eb4b5e19aea4", + "type": "github" + }, + "original": { + "owner": "ellisonleao", + "repo": "glow.nvim", + "type": "github" + } + }, + "plugin-gruvbox": { + "flake": false, + "locked": { + "lastModified": 1732485864, + "narHash": "sha256-qasIg1nvAlUWUUzSZLF36jnoNm8PmQa3owgh0tKGgHk=", + "owner": "ellisonleao", + "repo": "gruvbox.nvim", + "rev": "68c3460a5d1d1a362318960035c9f3466d5011f5", + "type": "github" + }, + "original": { + "owner": "ellisonleao", + "repo": "gruvbox.nvim", + "type": "github" + } + }, + "plugin-haskell-tools-nvim": { + "flake": false, + "locked": { + "lastModified": 1734222260, + "narHash": "sha256-gZVN9ADPO5wFOaf19FydCneb7aKTT9K1vcLoBURPEjk=", + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "rev": "943b77b68a79d3991523ba4d373063c9355c6f55", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "type": "github" + } + }, + "plugin-highlight-undo": { + "flake": false, + "locked": { + "lastModified": 1732378966, + "narHash": "sha256-b0JrMu3vbbYgyHPs9hyayMzUypFwugEAxvZOcuRMc/o=", + "owner": "tzachar", + "repo": "highlight-undo.nvim", + "rev": "5f588b420179a31d7073854bfd07ed9d5f364645", + "type": "github" + }, + "original": { + "owner": "tzachar", + "repo": "highlight-undo.nvim", + "type": "github" + } + }, + "plugin-hop-nvim": { + "flake": false, + "locked": { + "lastModified": 1694283445, + "narHash": "sha256-SnuFeD/lrMxKtpBRPgIwdG0kVF7BWe02PiV7URVDASI=", + "owner": "phaazon", + "repo": "hop.nvim", + "rev": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", + "type": "github" + }, + "original": { + "owner": "phaazon", + "repo": "hop.nvim", + "type": "github" + } + }, + "plugin-icon-picker-nvim": { + "flake": false, + "locked": { + "lastModified": 1704321319, + "narHash": "sha256-VZKsVeSmPR3AA8267Mtd5sSTZl2CAqnbgqceCptgp4w=", + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "rev": "3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3", + "type": "github" + }, + "original": { + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "type": "github" + } + }, + "plugin-image-nvim": { + "flake": false, + "locked": { + "lastModified": 1735173549, + "narHash": "sha256-Sjbmf4BmjkjAorT3tojbC7JivJagFamAVgzwcCipa8k=", + "owner": "3rd", + "repo": "image.nvim", + "rev": "b991fc7f845bc6ab40c6ec00b39750dcd5190010", + "type": "github" + }, + "original": { + "owner": "3rd", + "repo": "image.nvim", + "type": "github" + } + }, + "plugin-indent-blankline": { + "flake": false, + "locked": { + "lastModified": 1733296464, + "narHash": "sha256-H3lUQZDvgj3a2STYeMUDiOYPe7rfsy08tJ4SlDd+LuE=", + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "rev": "259357fa4097e232730341fa60988087d189193a", + "type": "github" + }, + "original": { + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "type": "github" + } + }, + "plugin-leap-nvim": { + "flake": false, + "locked": { + "lastModified": 1722337962, + "narHash": "sha256-PFD/UliAHKk2ga+7p/GmoZGqZFWenIVLkzmO+FkhvrY=", + "owner": "ggandor", + "repo": "leap.nvim", + "rev": "c6bfb191f1161fbabace1f36f578a20ac6c7642c", + "type": "github" + }, + "original": { + "owner": "ggandor", + "repo": "leap.nvim", + "type": "github" + } + }, + "plugin-lsp-lines": { + "flake": false, + "locked": { + "lastModified": 1734793049, + "narHash": "sha256-jHiIZemneQACTDYZXBJqX2/PRTBoxq403ILvt1Ej1ZM=", + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "rev": "a92c755f182b89ea91bd8a6a2227208026f27b4d", + "type": "sourcehut" + }, + "original": { + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "type": "sourcehut" + } + }, + "plugin-lsp-signature": { + "flake": false, + "locked": { + "lastModified": 1726445971, + "narHash": "sha256-W6bN3R10B84noK7MOzvUOIc82WwyojIS97iFL/dO5yk=", + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "rev": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "type": "github" + } + }, + "plugin-lspkind": { + "flake": false, + "locked": { + "lastModified": 1733408701, + "narHash": "sha256-OCvKUBGuzwy8OWOL1x3Z3fo+0+GyBMI9TX41xSveqvE=", + "owner": "onsails", + "repo": "lspkind-nvim", + "rev": "d79a1c3299ad0ef94e255d045bed9fa26025dab6", + "type": "github" + }, + "original": { + "owner": "onsails", + "repo": "lspkind-nvim", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-lua-utils-nvim": { + "flake": false, + "locked": { + "lastModified": 1708177208, + "narHash": "sha256-9ildzQEMkXKZ3LHq+khGFgRQFxlIXQclQ7QU3fcU1C4=", + "owner": "nvim-neorg", + "repo": "lua-utils.nvim", + "rev": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "lua-utils.nvim", + "type": "github" + } + }, + "plugin-lualine": { + "flake": false, + "locked": { + "lastModified": 1731050126, + "narHash": "sha256-IN6Qz3jGxUcylYiRTyd8j6me3pAoqJsJXtFUvph/6EI=", + "owner": "hoob3rt", + "repo": "lualine.nvim", + "rev": "2a5bae925481f999263d6f5ed8361baef8df4f83", + "type": "github" + }, + "original": { + "owner": "hoob3rt", + "repo": "lualine.nvim", + "type": "github" + } + }, + "plugin-luasnip": { + "flake": false, + "locked": { + "lastModified": 1733162004, + "narHash": "sha256-efDe3RXncnNVkj37AmIv8oj0DKurB50Dziao5FGTLP4=", + "owner": "L3MON4D3", + "repo": "LuaSnip", + "rev": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d", + "type": "github" + }, + "original": { + "owner": "L3MON4D3", + "repo": "LuaSnip", + "type": "github" + } + }, + "plugin-lz-n": { + "flake": false, + "locked": { + "lastModified": 1735437369, + "narHash": "sha256-6NIXqwmX7RgwiZVEzmTnkJgmrPqFNx12ayIcRgNIaEs=", + "owner": "nvim-neorocks", + "repo": "lz.n", + "rev": "32be28a221b9c98e56841458e4b20c150a4169c4", + "type": "github" + }, + "original": { + "owner": "nvim-neorocks", + "repo": "lz.n", + "type": "github" + } + }, + "plugin-lzn-auto-require": { + "flake": false, + "locked": { + "lastModified": 1731009187, + "narHash": "sha256-KC1z+zC9vKODllZVpBu+udzM12oYJaS8e6LdXWtQ89U=", + "owner": "horriblename", + "repo": "lzn-auto-require", + "rev": "a075ed51976323fd7fc44ccfca89fe0449a08cca", + "type": "github" + }, + "original": { + "owner": "horriblename", + "ref": "require-rewrite", + "repo": "lzn-auto-require", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-mini-ai": { + "flake": false, + "locked": { + "lastModified": 1733662803, + "narHash": "sha256-b/776l9nYM9e2atzXrvOk9dCxjzIuW/+iINC/yPv88Y=", + "owner": "echasnovski", + "repo": "mini.ai", + "rev": "ebb04799794a7f94628153991e6334c3304961b8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.ai", + "type": "github" + } + }, + "plugin-mini-align": { + "flake": false, + "locked": { + "lastModified": 1735582248, + "narHash": "sha256-oHub8dEihIx4kcP3CD9GXG1SUObJUVpH4bg2Z6PmadQ=", + "owner": "echasnovski", + "repo": "mini.align", + "rev": "e715137aece7d05734403d793b8b6b64486bc812", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.align", + "type": "github" + } + }, + "plugin-mini-animate": { + "flake": false, + "locked": { + "lastModified": 1733078395, + "narHash": "sha256-ZePmJuHCCymTgaK46nSg5tRloxs+UKrVgVmT++rGKpc=", + "owner": "echasnovski", + "repo": "mini.animate", + "rev": "d14190ac3040116540889e2ebc25f488b195799e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.animate", + "type": "github" + } + }, + "plugin-mini-base16": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-VGs4k/xDujPcA0Nv5T18ybSv1iqnzg0AFmaweRdhvDM=", + "owner": "echasnovski", + "repo": "mini.base16", + "rev": "23453dacc1606e5d42238d82f0b42a2985386b62", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.base16", + "type": "github" + } + }, + "plugin-mini-basics": { + "flake": false, + "locked": { + "lastModified": 1730194519, + "narHash": "sha256-R8POaMcgb6SBOxIpanZsswieywapnU7zDNjQMRTkR8U=", + "owner": "echasnovski", + "repo": "mini.basics", + "rev": "67c10b3436d5d3b892715137f4773e71c6753b13", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.basics", + "type": "github" + } + }, + "plugin-mini-bracketed": { + "flake": false, + "locked": { + "lastModified": 1737036218, + "narHash": "sha256-y+tGFF1H37ES/hnEtr3GJK3GeB6D5s8ZdSpvzl+lh3s=", + "owner": "echasnovski", + "repo": "mini.bracketed", + "rev": "0091e11fabe34973fc038a8d0d0485202742e403", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bracketed", + "type": "github" + } + }, + "plugin-mini-bufremove": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-CB6ZIlrCQlh2W44Knnb10REDcvj4jcYkW/9CiOaoH2E=", + "owner": "echasnovski", + "repo": "mini.bufremove", + "rev": "285bdac9596ee7375db50c0f76ed04336dcd2685", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bufremove", + "type": "github" + } + }, + "plugin-mini-clue": { + "flake": false, + "locked": { + "lastModified": 1737130586, + "narHash": "sha256-/0DpZV/jXuhaqBz5j4JN3xmofATlwPMHNSm/uTXALg0=", + "owner": "echasnovski", + "repo": "mini.clue", + "rev": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.clue", + "type": "github" + } + }, + "plugin-mini-colors": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-B2JahCUhKpYwOJrl+BhSp3UQFiyyMGJAYKGK+uMv3fk=", + "owner": "echasnovski", + "repo": "mini.colors", + "rev": "d64b1c0f520579d905f97208eca85329e664ab88", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.colors", + "type": "github" + } + }, + "plugin-mini-comment": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-vAgBDSVtXCP+rlu+cmXdoZQBGShyH7KfL8E/gvDMfnM=", + "owner": "echasnovski", + "repo": "mini.comment", + "rev": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.comment", + "type": "github" + } + }, + "plugin-mini-completion": { + "flake": false, + "locked": { + "lastModified": 1732271068, + "narHash": "sha256-dlQCfHUQX9rPiSYZSRipezHX0CG/redbV2g7cpwwExY=", + "owner": "echasnovski", + "repo": "mini.completion", + "rev": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.completion", + "type": "github" + } + }, + "plugin-mini-diff": { + "flake": false, + "locked": { + "lastModified": 1735324663, + "narHash": "sha256-dRvW/1lfVShiHmRU0mQA5g5xDyQ0EVtVLLZ0y6WSedg=", + "owner": "echasnovski", + "repo": "mini.diff", + "rev": "00f072250061ef498f91ed226918c9ec31a416a4", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.diff", + "type": "github" + } + }, + "plugin-mini-doc": { + "flake": false, + "locked": { + "lastModified": 1723308950, + "narHash": "sha256-Q3DAEV1ZHS+lFhZKFCNoIjn41ksk7WRrVP2b2d6uSss=", + "owner": "echasnovski", + "repo": "mini.doc", + "rev": "bb73a3d1ff390f7e2740027ea2567017099a237c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.doc", + "type": "github" + } + }, + "plugin-mini-extra": { + "flake": false, + "locked": { + "lastModified": 1736279066, + "narHash": "sha256-lUJrviUjAmJ70g2y93aNw3e1mHGHoB9lbh44HGP7zQs=", + "owner": "echasnovski", + "repo": "mini.extra", + "rev": "477e3dda7b597b49bc1373951ea7da4da834c352", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.extra", + "type": "github" + } + }, + "plugin-mini-files": { + "flake": false, + "locked": { + "lastModified": 1736535707, + "narHash": "sha256-UHW78m4BiYMMrABwdkyyzQUENgQrVFbWJnmNdRMtr0w=", + "owner": "echasnovski", + "repo": "mini.files", + "rev": "d0f03a5c38836fd2cce3dc80734124959002078c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.files", + "type": "github" + } + }, + "plugin-mini-fuzzy": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-XvDkDfwPcBxySuz58f2mpWTeo8EsOnMvZUcNI8HNZg8=", + "owner": "echasnovski", + "repo": "mini.fuzzy", + "rev": "faa5a6c0d29c28012c90bd011162963a58715428", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.fuzzy", + "type": "github" + } + }, + "plugin-mini-git": { + "flake": false, + "locked": { + "lastModified": 1736535710, + "narHash": "sha256-rXuKopyZBCBbpKuytCdm8keruSNK1ohk2NdeZv1wifI=", + "owner": "echasnovski", + "repo": "mini-git", + "rev": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini-git", + "type": "github" + } + }, + "plugin-mini-hipatterns": { + "flake": false, + "locked": { + "lastModified": 1733141274, + "narHash": "sha256-zJ8OMzfcBh9NtSg2FHDjB5DFX9C2qZRo8t8lc097sCI=", + "owner": "echasnovski", + "repo": "mini.hipatterns", + "rev": "f34975103a38b3f608219a1324cdfc58ea660b8b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hipatterns", + "type": "github" + } + }, + "plugin-mini-hues": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-4y79ejOkRL/fajZ4jC8t4K6EgNbnTsH++mIjmo6G3q0=", + "owner": "echasnovski", + "repo": "mini.hues", + "rev": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hues", + "type": "github" + } + }, + "plugin-mini-icons": { + "flake": false, + "locked": { + "lastModified": 1737036219, + "narHash": "sha256-w0PxiTj9uiUffZXkMM18IO/b/zPpdRKW9ydyhvXRoqE=", + "owner": "echasnovski", + "repo": "mini.icons", + "rev": "910db5df9724d65371182948f921fce23c2c881e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.icons", + "type": "github" + } + }, + "plugin-mini-indentscope": { + "flake": false, + "locked": { + "lastModified": 1737036220, + "narHash": "sha256-Mrzc7oHXxyEGqdE003qiC9unScyb7i5A6+l8Do7yxws=", + "owner": "echasnovski", + "repo": "mini.indentscope", + "rev": "613df2830d7faeae7483ba2e736683154b95921e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.indentscope", + "type": "github" + } + }, + "plugin-mini-jump": { + "flake": false, + "locked": { + "lastModified": 1733662809, + "narHash": "sha256-qMP9ezk4xZov5S4vrUFM62lnc4YkEaZL1EVzdXwDq1Q=", + "owner": "echasnovski", + "repo": "mini.jump", + "rev": "bb93d998c9db6936697746330411f5fb9957145e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump", + "type": "github" + } + }, + "plugin-mini-jump2d": { + "flake": false, + "locked": { + "lastModified": 1733662811, + "narHash": "sha256-+DihKCh6GYwin3H9YD+q30MLMRNXvvb1GtKnfBinGjc=", + "owner": "echasnovski", + "repo": "mini.jump2d", + "rev": "88077058297e80f1c76a18ed801ae9d7064187c6", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump2d", + "type": "github" + } + }, + "plugin-mini-map": { + "flake": false, + "locked": { + "lastModified": 1725613927, + "narHash": "sha256-dL+d92+GLAILQ/A1JVCwoe3B5WtwVK01tPuC+fOTB5A=", + "owner": "echasnovski", + "repo": "mini.map", + "rev": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.map", + "type": "github" + } + }, + "plugin-mini-misc": { + "flake": false, + "locked": { + "lastModified": 1734103112, + "narHash": "sha256-qnYa4IZk14MGZArmVpn15l+P9cwtFWomBVxRuYHVyXc=", + "owner": "echasnovski", + "repo": "mini.misc", + "rev": "645fb9367c19bb485902e54e5451425981498601", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.misc", + "type": "github" + } + }, + "plugin-mini-move": { + "flake": false, + "locked": { + "lastModified": 1723711319, + "narHash": "sha256-nX0eAlhMnKhAftgM6qeHUuawagumLQMPKDkqZNPLljg=", + "owner": "echasnovski", + "repo": "mini.move", + "rev": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.move", + "type": "github" + } + }, + "plugin-mini-notify": { + "flake": false, + "locked": { + "lastModified": 1736790793, + "narHash": "sha256-q27j14OV6LAfoxeqBG75GSiqtqmW37GOPHpmA2fD4gs=", + "owner": "echasnovski", + "repo": "mini.notify", + "rev": "05e598d5b349bd66404d576e6a4d4340aea5f194", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.notify", + "type": "github" + } + }, + "plugin-mini-operators": { + "flake": false, + "locked": { + "lastModified": 1731776514, + "narHash": "sha256-+Zhy0AhuMPSHnM6dqbV45Aa7dS7XJ4mpfcHApSbuy8A=", + "owner": "echasnovski", + "repo": "mini.operators", + "rev": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.operators", + "type": "github" + } + }, + "plugin-mini-pairs": { + "flake": false, + "locked": { + "lastModified": 1728656795, + "narHash": "sha256-PtHxLKU1smVTx655r5SINxuz5CJmZWnBW70T8zJ/oxM=", + "owner": "echasnovski", + "repo": "mini.pairs", + "rev": "7e834c5937d95364cc1740e20d673afe2d034cdb", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pairs", + "type": "github" + } + }, + "plugin-mini-pick": { + "flake": false, + "locked": { + "lastModified": 1736696004, + "narHash": "sha256-Q4GD0WzUYNtoBMx8pIl6fX5glKn1oflS4HZVC+w/eAM=", + "owner": "echasnovski", + "repo": "mini.pick", + "rev": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pick", + "type": "github" + } + }, + "plugin-mini-sessions": { + "flake": false, + "locked": { + "lastModified": 1735582250, + "narHash": "sha256-vyn8MGyOWFgJ5QVvjYb7K1cKDtg9qWnWYMNf80+kpHk=", + "owner": "echasnovski", + "repo": "mini.sessions", + "rev": "71c9ae596664ac110560d27eb928fc24e22bc53d", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.sessions", + "type": "github" + } + }, + "plugin-mini-snippets": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-How9m7KTo66FrwjZQlgZRmJ5toFKn/+GnUbx/0va3lM=", + "owner": "echasnovski", + "repo": "mini.snippets", + "rev": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.snippets", + "type": "github" + } + }, + "plugin-mini-splitjoin": { + "flake": false, + "locked": { + "lastModified": 1719822504, + "narHash": "sha256-LDIbh5KfupTI4zkYOlLmVCd3DuZRhx5lTASN53VG34g=", + "owner": "echasnovski", + "repo": "mini.splitjoin", + "rev": "3e92f6764e770ba392325cad3a4497adcada695f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.splitjoin", + "type": "github" + } + }, + "plugin-mini-starter": { + "flake": false, + "locked": { + "lastModified": 1736858747, + "narHash": "sha256-pJYkZUo+L3IeGCRdTipqTzMv+HatpNnyRxshaygKtIw=", + "owner": "echasnovski", + "repo": "mini.starter", + "rev": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.starter", + "type": "github" + } + }, + "plugin-mini-statusline": { + "flake": false, + "locked": { + "lastModified": 1735582251, + "narHash": "sha256-AQ2N93JDjtFpgerWTzRspmxrl9oQuALbeCUxBO4ZPqo=", + "owner": "echasnovski", + "repo": "mini.statusline", + "rev": "1b0edf76fe2af015f8c989385ff949f1db7aade2", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.statusline", + "type": "github" + } + }, + "plugin-mini-surround": { + "flake": false, + "locked": { + "lastModified": 1733662812, + "narHash": "sha256-okWJlG0KOdg1ShvkIIMnPSoOzGd7K84eDcp5kx6eVP8=", + "owner": "echasnovski", + "repo": "mini.surround", + "rev": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.surround", + "type": "github" + } + }, + "plugin-mini-tabline": { + "flake": false, + "locked": { + "lastModified": 1729176541, + "narHash": "sha256-nucUqSN8w2xBnDp1dFBgRVVvfVoqZMdx7Zj78wdFAP0=", + "owner": "echasnovski", + "repo": "mini.tabline", + "rev": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.tabline", + "type": "github" + } + }, + "plugin-mini-test": { + "flake": false, + "locked": { + "lastModified": 1729520957, + "narHash": "sha256-NtsX441k84owAAJywq4G2rMvV6d7UR2K75G8oKam+gs=", + "owner": "echasnovski", + "repo": "mini.test", + "rev": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.test", + "type": "github" + } + }, + "plugin-mini-trailspace": { + "flake": false, + "locked": { + "lastModified": 1725613928, + "narHash": "sha256-JKYvFz8g8kVZvxE44RhwoHXQykghXx7ebW/Mj1ZdJIw=", + "owner": "echasnovski", + "repo": "mini.trailspace", + "rev": "3a328e62559c33014e422fb9ae97afc4208208b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.trailspace", + "type": "github" + } + }, + "plugin-mini-visits": { + "flake": false, + "locked": { + "lastModified": 1737036221, + "narHash": "sha256-Q+m1gZ5Obu6Zzo87Djt6VCX76ZjdOiLb0j771jP8uQE=", + "owner": "echasnovski", + "repo": "mini.visits", + "rev": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.visits", + "type": "github" + } + }, + "plugin-minimap-vim": { + "flake": false, + "locked": { + "lastModified": 1710689313, + "narHash": "sha256-GR8VAHla5HWry1TAZQv0Xp7iG256vIGeQcBGMxyt310=", + "owner": "wfxr", + "repo": "minimap.vim", + "rev": "395378137e6180762d5b963ca9ad5ac2db5d3283", + "type": "github" + }, + "original": { + "owner": "wfxr", + "repo": "minimap.vim", + "type": "github" + } + }, + "plugin-modes-nvim": { + "flake": false, + "locked": { + "lastModified": 1734414076, + "narHash": "sha256-ShIK8ROowT1yFHgSIVHUFnnQOEMr3YPIqw4ixzR8w8M=", + "owner": "mvllow", + "repo": "modes.nvim", + "rev": "c7a4b1b383606832aab150902719bd5eb5cdb2b0", + "type": "github" + }, + "original": { + "owner": "mvllow", + "repo": "modes.nvim", + "type": "github" + } + }, + "plugin-neo-tree-nvim": { + "flake": false, + "locked": { + "lastModified": 1735302061, + "narHash": "sha256-tZMneZsEbB5bgZgYq4ZWwK25B3vcnn80Q7diKcRoEv4=", + "owner": "nvim-neo-tree", + "repo": "neo-tree.nvim", + "rev": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c", + "type": "github" + }, + "original": { + "owner": "nvim-neo-tree", + "repo": "neo-tree.nvim", + "type": "github" + } + }, + "plugin-neocord": { + "flake": false, + "locked": { + "lastModified": 1733429637, + "narHash": "sha256-g/pq6hFo7duonIl1wWoxbJUTh/IRTH3hHEoQUdoiqKE=", + "owner": "IogaMaster", + "repo": "neocord", + "rev": "4d55d8dab2d5f2f272192add7a2c21982039c699", + "type": "github" + }, + "original": { + "owner": "IogaMaster", + "repo": "neocord", + "type": "github" + } + }, + "plugin-neodev-nvim": { + "flake": false, + "locked": { + "lastModified": 1720260306, + "narHash": "sha256-hOjzlo/IqmV8tYjGwfmcCPEmHYsWnEIwtHZdhpwA1kM=", + "owner": "folke", + "repo": "neodev.nvim", + "rev": "46aa467dca16cf3dfe27098042402066d2ae242d", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "neodev.nvim", + "type": "github" + } + }, + "plugin-neorg": { + "flake": false, + "locked": { + "lastModified": 1734188232, + "narHash": "sha256-xH87caxEebrWLwY/v3xyyOy6PTG/ZqX2OfCdwg/RqDY=", + "owner": "nvim-neorg", + "repo": "neorg", + "rev": "6b945909d84b5aeadc875f9b3f529ec44b9bc60f", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "neorg", + "type": "github" + } + }, + "plugin-neorg-telescope": { + "flake": false, + "locked": { + "lastModified": 1722358034, + "narHash": "sha256-ei4uUqpIQjGKzu5ryu0Hlmis9TS9FJsYnjt4J4QdWlw=", + "owner": "nvim-neorg", + "repo": "neorg-telescope", + "rev": "ddb2556644cae922699a239bbb0fe16e25b084b7", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "neorg-telescope", + "type": "github" + } + }, + "plugin-new-file-template-nvim": { + "flake": false, + "locked": { + "lastModified": 1721518222, + "narHash": "sha256-g0IjJrHRXw7U9goVLzVYUyHBSsDZGHMpi3YZPhg64zA=", + "owner": "otavioschwanck", + "repo": "new-file-template.nvim", + "rev": "6ac66669dbf2dc5cdee184a4fe76d22465ca67e8", + "type": "github" + }, + "original": { + "owner": "otavioschwanck", + "repo": "new-file-template.nvim", + "type": "github" + } + }, + "plugin-noice-nvim": { + "flake": false, + "locked": { + "lastModified": 1734026622, + "narHash": "sha256-OpwgNTGunmy6Y7D/k0T+DFK/WJ8MeVTGWwjiPTQlvEY=", + "owner": "folke", + "repo": "noice.nvim", + "rev": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "noice.nvim", + "type": "github" + } + }, + "plugin-none-ls": { + "flake": false, + "locked": { + "lastModified": 1708525772, + "narHash": "sha256-VCDUKiy9C3Bu9suf2bI6XSis1+j01oFC3GFPyQxi74c=", + "owner": "nvimtools", + "repo": "none-ls.nvim", + "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", + "type": "github" + }, + "original": { + "owner": "nvimtools", + "repo": "none-ls.nvim", + "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", + "type": "github" + } + }, + "plugin-nord": { + "flake": false, + "locked": { + "lastModified": 1737019140, + "narHash": "sha256-ZhDS7Y90DKp+jkUqcoQRf/zHy4DVgSDQXrnl3sBYJXs=", + "owner": "gbprod", + "repo": "nord.nvim", + "rev": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "nord.nvim", + "type": "github" + } + }, + "plugin-nui-nvim": { + "flake": false, + "locked": { + "lastModified": 1733856815, + "narHash": "sha256-6U7E/i5FuNXQy+sF4C5DVxuTPqNKD5wxUgFohpOjm9Q=", + "owner": "MunifTanjim", + "repo": "nui.nvim", + "rev": "53e907ffe5eedebdca1cd503b00aa8692068ca46", + "type": "github" + }, + "original": { + "owner": "MunifTanjim", + "repo": "nui.nvim", + "type": "github" + } + }, + "plugin-nvim-autopairs": { + "flake": false, + "locked": { + "lastModified": 1731803843, + "narHash": "sha256-LbaxiU3ienVBcMKrug3Coppc4R+MD2rjREw7rHQim1w=", + "owner": "windwp", + "repo": "nvim-autopairs", + "rev": "b464658e9b880f463b9f7e6ccddd93fb0013f559", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-autopairs", + "type": "github" + } + }, + "plugin-nvim-bufferline-lua": { + "flake": false, + "locked": { + "lastModified": 1732824069, + "narHash": "sha256-zqz2GMius0gLxtgxt12RmLUVQFVaWe+MQaGCfUGr6bI=", + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "rev": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "type": "github" + } + }, + "plugin-nvim-cmp": { + "flake": false, + "locked": { + "lastModified": 1734672427, + "narHash": "sha256-Z/Qy2ErbCa7dbjZVuJUkMmb4d24amNunNgRcbCGPfOg=", + "owner": "hrsh7th", + "repo": "nvim-cmp", + "rev": "b555203ce4bd7ff6192e759af3362f9d217e8c89", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "nvim-cmp", + "type": "github" + } + }, + "plugin-nvim-colorizer-lua": { + "flake": false, + "locked": { + "lastModified": 1738229011, + "narHash": "sha256-IEgZnIUeNXRKZ4eV1+KknluyKZj68HBWe1EW+LueuGA=", + "owner": "catgoose", + "repo": "nvim-colorizer.lua", + "rev": "9b5fe0450bfb2521c6cea29391e5ec571f129136", + "type": "github" + }, + "original": { + "owner": "catgoose", + "repo": "nvim-colorizer.lua", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-nvim-dap": { + "flake": false, + "locked": { + "lastModified": 1735568902, + "narHash": "sha256-5iaXim9bDvSAI6jUXgu2OEk/KivfAsMTRry+UTHs2Gk=", + "owner": "mfussenegger", + "repo": "nvim-dap", + "rev": "ffb077e65259f13be096ea6d603e3575a76b214a", + "type": "github" + }, + "original": { + "owner": "mfussenegger", + "repo": "nvim-dap", + "type": "github" + } + }, + "plugin-nvim-dap-go": { + "flake": false, + "locked": { + "lastModified": 1727922873, + "narHash": "sha256-wcGp5df1ER5T5oLVitWE02OywgJs3V4pazcGU5qVaUY=", + "owner": "leoluz", + "repo": "nvim-dap-go", + "rev": "6aa88167ea1224bcef578e8c7160fe8afbb44848", + "type": "github" + }, + "original": { + "owner": "leoluz", + "repo": "nvim-dap-go", + "type": "github" + } + }, + "plugin-nvim-dap-ui": { + "flake": false, + "locked": { + "lastModified": 1735324898, + "narHash": "sha256-psIBQpx3tV2UWm5hZTMPBANcXHPAX24dIuDq8Qcscxs=", + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "rev": "e94d98649dccb6a3884b66aabc2e07beb279e535", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "type": "github" + } + }, + "plugin-nvim-docs-view": { + "flake": false, + "locked": { + "lastModified": 1733658747, + "narHash": "sha256-b5aH8Tj+tMk0BjNCgdeCEeR26oQ9NCobj98P7IDgIPY=", + "owner": "amrbashir", + "repo": "nvim-docs-view", + "rev": "1b97f8f954d74c46061bf289b6cea9232484c12c", + "type": "github" + }, + "original": { + "owner": "amrbashir", + "repo": "nvim-docs-view", + "type": "github" + } + }, + "plugin-nvim-lightbulb": { + "flake": false, + "locked": { + "lastModified": 1734997673, + "narHash": "sha256-byvgRJvvt5rhiUVWdreY2jELXoPVld5EKQlOXwjNgWE=", + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "rev": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea", + "type": "github" + }, + "original": { + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "type": "github" + } + }, + "plugin-nvim-lspconfig": { + "flake": false, + "locked": { + "lastModified": 1735439232, + "narHash": "sha256-6a1HjpLYdZ+ZmWM1B0tv631A3EHHstPrjaV15UnVtoY=", + "owner": "neovim", + "repo": "nvim-lspconfig", + "rev": "8b15a1a597a59f4f5306fad9adfe99454feab743", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "nvim-lspconfig", + "type": "github" + } + }, + "plugin-nvim-metals": { + "flake": false, + "locked": { + "lastModified": 1735386491, + "narHash": "sha256-G9V7fX65uW4z7kiuiP8mLtEjLoTJ1mkltj51OlN5/oM=", + "owner": "scalameta", + "repo": "nvim-metals", + "rev": "e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c", + "type": "github" + }, + "original": { + "owner": "scalameta", + "repo": "nvim-metals", + "type": "github" + } + }, + "plugin-nvim-navbuddy": { + "flake": false, + "locked": { + "lastModified": 1716111817, + "narHash": "sha256-sZ1M27qNbLMHKR4Zu0NfJoBcQxJbhmW7Cx74Acirlww=", + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "rev": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "type": "github" + } + }, + "plugin-nvim-navic": { + "flake": false, + "locked": { + "lastModified": 1701345631, + "narHash": "sha256-0p5n/V8Jlj9XyxV/fuMwsbQ7oV5m9H2GqZZEA/njxCQ=", + "owner": "SmiteshP", + "repo": "nvim-navic", + "rev": "8649f694d3e76ee10c19255dece6411c29206a54", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navic", + "type": "github" + } + }, + "plugin-nvim-neoclip": { + "flake": false, + "locked": { + "lastModified": 1734898459, + "narHash": "sha256-RCMZi1DM9JFrXWQ5w2wOjFzpANkiukn+RvHB9swMtbk=", + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "rev": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f", + "type": "github" + }, + "original": { + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "type": "github" + } + }, + "plugin-nvim-nio": { + "flake": false, + "locked": { + "lastModified": 1720707425, + "narHash": "sha256-i6imNTb1xrfBlaeOyxyIwAZ/+o6ew9C4/z34a7/BgFg=", + "owner": "nvim-neotest", + "repo": "nvim-nio", + "rev": "a428f309119086dc78dd4b19306d2d67be884eee", + "type": "github" + }, + "original": { + "owner": "nvim-neotest", + "repo": "nvim-nio", + "type": "github" + } + }, + "plugin-nvim-notify": { + "flake": false, + "locked": { + "lastModified": 1735562588, + "narHash": "sha256-9jDpoLLto9WgTsV399WeE2XGrTJXWTYbcJ+zOFWldAA=", + "owner": "rcarriga", + "repo": "nvim-notify", + "rev": "c3797193536711b5d8983975791c4b11dc35ab3a", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-notify", + "type": "github" + } + }, + "plugin-nvim-scrollbar": { + "flake": false, + "locked": { + "lastModified": 1729162132, + "narHash": "sha256-/nB7eP2Rz/A9zMXrNEH4FReo6eZS0C/SEGvKhxV7AUA=", + "owner": "petertriho", + "repo": "nvim-scrollbar", + "rev": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49", + "type": "github" + }, + "original": { + "owner": "petertriho", + "repo": "nvim-scrollbar", + "type": "github" + } + }, + "plugin-nvim-session-manager": { + "flake": false, + "locked": { + "lastModified": 1728423652, + "narHash": "sha256-W9jtfVXHC8MQJwdbxakNqhd+xh/auQb3U09XKdN2Wzw=", + "owner": "Shatur", + "repo": "neovim-session-manager", + "rev": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c", + "type": "github" + }, + "original": { + "owner": "Shatur", + "repo": "neovim-session-manager", + "type": "github" + } + }, + "plugin-nvim-surround": { + "flake": false, + "locked": { + "lastModified": 1732818349, + "narHash": "sha256-sC+V86FEDfIapY4Qy0Ch2dTUpqe+C/xEUR/iSIEY6LA=", + "owner": "kylechui", + "repo": "nvim-surround", + "rev": "9f0cb495f25bff32c936062d85046fbda0c43517", + "type": "github" + }, + "original": { + "owner": "kylechui", + "repo": "nvim-surround", + "type": "github" + } + }, + "plugin-nvim-tree-lua": { + "flake": false, + "locked": { + "lastModified": 1734820548, + "narHash": "sha256-4PmP31vYPH9xw4AjV5rDSKvcvZGTnIaPfR4Bwc0lAiA=", + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "rev": "68fc4c20f5803444277022c681785c5edd11916d", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "type": "github" + } + }, + "plugin-nvim-treesitter-context": { + "flake": false, + "locked": { + "lastModified": 1734710732, + "narHash": "sha256-TIFMPKzD2ero1eK9aVfY1iKEvf/Sw8SL/9mk9omCQ3c=", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "rev": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0", + "type": "github" + }, + "original": { + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "type": "github" + } + }, + "plugin-nvim-ts-autotag": { + "flake": false, + "locked": { + "lastModified": 1733164313, + "narHash": "sha256-v2NTFBIzKTYizUPWB3uhpnTGVZWaelhE3MT5+BDA6Do=", + "owner": "windwp", + "repo": "nvim-ts-autotag", + "rev": "1cca23c9da708047922d3895a71032bc0449c52d", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-ts-autotag", + "type": "github" + } + }, + "plugin-nvim-ufo": { + "flake": false, + "locked": { + "lastModified": 1735147722, + "narHash": "sha256-etyfm4KpwjYN+kkotOMl0LgbQniILmqMqab4acMtTlw=", + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "rev": "32cb247b893a384f1888b9cd737264159ecf183c", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "type": "github" + } + }, + "plugin-nvim-web-devicons": { + "flake": false, + "locked": { + "lastModified": 1735569123, + "narHash": "sha256-h9rY6F+2sBlG9PFN34/0ZTkY66oCeCIPe/HEadM03K4=", + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "rev": "4adeeaa7a32d46cf3b5833341358c797304f950a", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "type": "github" + } + }, + "plugin-obsidian-nvim": { + "flake": false, + "locked": { + "lastModified": 1722536347, + "narHash": "sha256-mbq7fAPmlwOAbWlN3lGX9WGBKTV8cAPZx8pnRCyszJc=", + "owner": "epwalsh", + "repo": "obsidian.nvim", + "rev": "14e0427bef6c55da0d63f9a313fd9941be3a2479", + "type": "github" + }, + "original": { + "owner": "epwalsh", + "repo": "obsidian.nvim", + "type": "github" + } + }, + "plugin-omnisharp-extended": { + "flake": false, + "locked": { + "lastModified": 1732802864, + "narHash": "sha256-lA22ncMWHz2oVcZMPQGpLL3UjjXOXGxhtXR1LX5cX3A=", + "owner": "Hoffs", + "repo": "omnisharp-extended-lsp.nvim", + "rev": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d", + "type": "github" + }, + "original": { + "owner": "Hoffs", + "repo": "omnisharp-extended-lsp.nvim", + "type": "github" + } + }, + "plugin-onedark": { + "flake": false, + "locked": { + "lastModified": 1731171496, + "narHash": "sha256-NLHq9SUUo81m50NPQe8852uZbo4Mo4No10N3ptX43t0=", + "owner": "navarasu", + "repo": "onedark.nvim", + "rev": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", + "type": "github" + }, + "original": { + "owner": "navarasu", + "repo": "onedark.nvim", + "type": "github" + } + }, + "plugin-orgmode-nvim": { + "flake": false, + "locked": { + "lastModified": 1734770880, + "narHash": "sha256-E1YJeTay1tX2PgiXwV/DRgrlYHIGUe9/uTA+6ORIhBw=", + "owner": "nvim-orgmode", + "repo": "orgmode", + "rev": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0", + "type": "github" + }, + "original": { + "owner": "nvim-orgmode", + "repo": "orgmode", + "type": "github" + } + }, + "plugin-otter-nvim": { + "flake": false, + "locked": { + "lastModified": 1735130975, + "narHash": "sha256-NPBGcLi1lEmpGGbGs58Xzw1IriOyKTMQdwIdVFsbVDM=", + "owner": "jmbuhr", + "repo": "otter.nvim", + "rev": "e8c662e1aefa8b483cfba6e00729a39a363dcecc", + "type": "github" + }, + "original": { + "owner": "jmbuhr", + "repo": "otter.nvim", + "type": "github" + } + }, + "plugin-oxocarbon": { + "flake": false, + "locked": { + "lastModified": 1724853107, + "narHash": "sha256-Hi/nATEvZ4a6Yxc66KtuJqss6kQV19cmtIlhCw6alOI=", + "owner": "nyoom-engineering", + "repo": "oxocarbon.nvim", + "rev": "004777819ba294423b638a35a75c9f0c7be758ed", + "type": "github" + }, + "original": { + "owner": "nyoom-engineering", + "repo": "oxocarbon.nvim", + "type": "github" + } + }, + "plugin-pathlib-nvim": { + "flake": false, + "locked": { + "lastModified": 1724943804, + "narHash": "sha256-YhCJeNKlcjgg3q51UWFhuIEPzNueC8YTpeuPPJDndvw=", + "owner": "pysan3", + "repo": "pathlib.nvim", + "rev": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1", + "type": "github" + }, + "original": { + "owner": "pysan3", + "repo": "pathlib.nvim", + "type": "github" + } + }, + "plugin-plenary-nvim": { + "flake": false, + "locked": { + "lastModified": 1726602776, + "narHash": "sha256-bmmPekAvuBvLQmrnnX0n+FRBqfVxBsObhxIEkDGAla4=", + "owner": "nvim-lua", + "repo": "plenary.nvim", + "rev": "2d9b06177a975543726ce5c73fca176cedbffe9d", + "type": "github" + }, + "original": { + "owner": "nvim-lua", + "repo": "plenary.nvim", + "type": "github" + } + }, + "plugin-precognition-nvim": { + "flake": false, + "locked": { + "lastModified": 1732647805, + "narHash": "sha256-m3dKoKxCd/QODM+EL89c3RVOoZnuA4nrBG0KhPZ/o9Y=", + "owner": "tris203", + "repo": "precognition.nvim", + "rev": "531971e6d883e99b1572bf47294e22988d8fbec0", + "type": "github" + }, + "original": { + "owner": "tris203", + "repo": "precognition.nvim", + "type": "github" + } + }, + "plugin-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" + } + }, + "plugin-promise-async": { + "flake": false, + "locked": { + "lastModified": 1722813441, + "narHash": "sha256-9eM66brPjiFlY64vmBetRYrKnpDyN7+/URMm4GsGimA=", + "owner": "kevinhwang91", + "repo": "promise-async", + "rev": "119e8961014c9bfaf1487bf3c2a393d254f337e2", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "promise-async", + "type": "github" + } + }, + "plugin-rainbow-delimiters": { + "flake": false, + "locked": { + "lastModified": 1736686348, + "narHash": "sha256-zWHXYs3XdnoszqOFY3hA2L5mNn1a44OAeKv3lL3EMEw=", + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "rev": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", + "type": "github" + }, + "original": { + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "type": "github" + } + }, + "plugin-registers": { + "flake": false, + "locked": { + "lastModified": 1730794647, + "narHash": "sha256-M7uR3yXYUQ4I8Gt8P6k25q67UNwksRDPKGrS/FCqrt0=", + "owner": "tversteeg", + "repo": "registers.nvim", + "rev": "c217f8f369e0886776cda6c94eab839b30a8940d", + "type": "github" + }, + "original": { + "owner": "tversteeg", + "repo": "registers.nvim", + "type": "github" + } + }, + "plugin-render-markdown-nvim": { + "flake": false, + "locked": { + "lastModified": 1735525479, + "narHash": "sha256-ncFqBv0JITX3pTsLON+HctLUaKXhLRMBUrRWmI8KOSA=", + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "rev": "6fbd1491abc104409f119685de5353c35c97c005", + "type": "github" + }, + "original": { + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "type": "github" + } + }, + "plugin-rose-pine": { + "flake": false, + "locked": { + "lastModified": 1733845819, + "narHash": "sha256-ejh9UXQbLc8Ie6wF7zszzL1gaJzr16gcu0dUWqTo8AM=", + "owner": "rose-pine", + "repo": "neovim", + "rev": "91548dca53b36dbb9d36c10f114385f759731be1", + "type": "github" + }, + "original": { + "owner": "rose-pine", + "repo": "neovim", + "type": "github" + } + }, + "plugin-rtp-nvim": { + "flake": false, + "locked": { + "lastModified": 1724409589, + "narHash": "sha256-lmJbiD7I7MTEEpukESs67uAmLyn+p66hrUKLbEHp0Kw=", + "owner": "nvim-neorocks", + "repo": "rtp.nvim", + "rev": "494ddfc888bb466555d90ace731856de1320fe45", + "type": "github" + }, + "original": { + "owner": "nvim-neorocks", + "repo": "rtp.nvim", + "type": "github" + } + }, + "plugin-run-nvim": { + "flake": false, + "locked": { + "lastModified": 1735501787, + "narHash": "sha256-CFOyOARCLQiMOhFPeqz8n2ULyaaRxRZrOk0FCibjuIM=", + "owner": "diniamo", + "repo": "run.nvim", + "rev": "9015c9cece816ccf10a185b420f6e345fd990802", + "type": "github" + }, + "original": { + "owner": "diniamo", + "repo": "run.nvim", + "type": "github" + } + }, + "plugin-rustaceanvim": { + "flake": false, + "locked": { + "lastModified": 1738187731, + "narHash": "sha256-Z4aCPO4MR0Q2ZojT6YBGSa8fb7u5Nd+4Z/rekqhXqDY=", + "owner": "mrcjkb", + "repo": "rustaceanvim", + "rev": "4a2f2d2cc04f5b0aa0981f98bb7d002c898318ad", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "rustaceanvim", + "type": "github" + } + }, + "plugin-smartcolumn": { + "flake": false, + "locked": { + "lastModified": 1734696989, + "narHash": "sha256-6RodA5BQnL6tB3RCE5G2RiXqBvM3VP3HYZ+T3AxIF7Q=", + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "rev": "f14fbea6f86cd29df5042897ca9e3ba10ba4d27f", + "type": "github" + }, + "original": { + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "type": "github" + } + }, + "plugin-sqls-nvim": { + "flake": false, + "locked": { + "lastModified": 1733090837, + "narHash": "sha256-o5uD6shPkweuE+k/goBX42W3I2oojXVijfJC7L50sGU=", + "owner": "nanotee", + "repo": "sqls.nvim", + "rev": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472", + "type": "github" + }, + "original": { + "owner": "nanotee", + "repo": "sqls.nvim", + "type": "github" + } + }, + "plugin-tabular": { + "flake": false, + "locked": { + "lastModified": 1720022617, + "narHash": "sha256-qmDpdg3Tl3W4JSovRb4ODlrKMjRL5CaVI05YBn0Q0LI=", + "owner": "godlygeek", + "repo": "tabular", + "rev": "12437cd1b53488e24936ec4b091c9324cafee311", + "type": "github" + }, + "original": { + "owner": "godlygeek", + "repo": "tabular", + "type": "github" + } + }, + "plugin-telescope": { + "flake": false, + "locked": { + "lastModified": 1732884846, + "narHash": "sha256-npb61MZYAotz71Co5G1dUeIqWt7GVeqZNz0A2Yz2dy4=", + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "rev": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "type": "github" + } + }, + "plugin-tiny-devicons-auto-colors": { + "flake": false, + "locked": { + "lastModified": 1733445616, + "narHash": "sha256-klUZKvdYhwO3sq4Su4sBFDcNSAYXh53O72vg4+ZOrhI=", + "owner": "rachartier", + "repo": "tiny-devicons-auto-colors.nvim", + "rev": "c8f63933ee013c1e0a26091d58131e060546f01f", + "type": "github" + }, + "original": { + "owner": "rachartier", + "repo": "tiny-devicons-auto-colors.nvim", + "type": "github" + } + }, + "plugin-todo-comments": { + "flake": false, + "locked": { + "lastModified": 1726481242, + "narHash": "sha256-EH4Sy7qNkzOgA1INFzrtsRfD79TgMqSbKUdundyw22w=", + "owner": "folke", + "repo": "todo-comments.nvim", + "rev": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "todo-comments.nvim", + "type": "github" + } + }, + "plugin-toggleterm-nvim": { + "flake": false, + "locked": { + "lastModified": 1735340326, + "narHash": "sha256-oeNIb+QHa/9yGZz/2u9LYIdKluel0bcQkaIqOuQUkis=", + "owner": "akinsho", + "repo": "toggleterm.nvim", + "rev": "344fc1810292785b3d962ddac2de57669e1a7ff9", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "toggleterm.nvim", + "type": "github" + } + }, + "plugin-tokyonight": { + "flake": false, + "locked": { + "lastModified": 1734211493, + "narHash": "sha256-TJ/a6N6Cc1T0wdMxMopma1NtwL7rMYbZ6F0zFI1zaIA=", + "owner": "folke", + "repo": "tokyonight.nvim", + "rev": "45d22cf0e1b93476d3b6d362d720412b3d34465c", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "tokyonight.nvim", + "type": "github" + } + }, + "plugin-trouble": { + "flake": false, + "locked": { + "lastModified": 1732701472, + "narHash": "sha256-JhnERZfma2JHFEn/DElVmrSU5KxM2asx3SJ+86lCfoo=", + "owner": "folke", + "repo": "trouble.nvim", + "rev": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "trouble.nvim", + "type": "github" + } + }, + "plugin-ts-error-translator": { + "flake": false, + "locked": { + "lastModified": 1731721659, + "narHash": "sha256-fi68jJVNTL2WlTehcl5Q8tijAeu2usjIsWXjcuixkCM=", + "owner": "dmmulroy", + "repo": "ts-error-translator.nvim", + "rev": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4", + "type": "github" + }, + "original": { + "owner": "dmmulroy", + "repo": "ts-error-translator.nvim", + "type": "github" + } + }, + "plugin-typst-preview-nvim": { + "flake": false, + "locked": { + "lastModified": 1734839452, + "narHash": "sha256-d6Tv7xZRghYYDfABk/p2e9qTm4qnWHM+ejKDCcR0TfY=", + "owner": "chomosuke", + "repo": "typst-preview.nvim", + "rev": "c1100e8788baabe8ca8f8cd7fd63d3d479e49e36", + "type": "github" + }, + "original": { + "owner": "chomosuke", + "repo": "typst-preview.nvim", + "type": "github" + } + }, + "plugin-vim-dirtytalk": { + "flake": false, + "locked": { + "lastModified": 1713047519, + "narHash": "sha256-azU5jkv/fD/qDDyCU1bPNXOH6rmbDauG9jDNrtIXc0Y=", + "owner": "psliwka", + "repo": "vim-dirtytalk", + "rev": "aa57ba902b04341a04ff97214360f56856493583", + "type": "github" + }, + "original": { + "owner": "psliwka", + "repo": "vim-dirtytalk", + "type": "github" + } + }, + "plugin-vim-fugitive": { + "flake": false, + "locked": { + "lastModified": 1735457366, + "narHash": "sha256-45zsqKavWoclA67MC54bAel1nE8CLHtSdullHByiRS8=", + "owner": "tpope", + "repo": "vim-fugitive", + "rev": "174230d6a7f2df94705a7ffd8d5413e27ec10a80", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-fugitive", + "type": "github" + } + }, + "plugin-vim-illuminate": { + "flake": false, + "locked": { + "lastModified": 1715960194, + "narHash": "sha256-DdJzTHxoOv+vjFymETa2MgXpM/qDwvZjpoo1W8OOBj0=", + "owner": "RRethy", + "repo": "vim-illuminate", + "rev": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa", + "type": "github" + }, + "original": { + "owner": "RRethy", + "repo": "vim-illuminate", + "type": "github" + } + }, + "plugin-vim-markdown": { + "flake": false, + "locked": { + "lastModified": 1726813437, + "narHash": "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=", + "owner": "preservim", + "repo": "vim-markdown", + "rev": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51", + "type": "github" + }, + "original": { + "owner": "preservim", + "repo": "vim-markdown", + "type": "github" + } + }, + "plugin-vim-repeat": { + "flake": false, + "locked": { + "lastModified": 1720473942, + "narHash": "sha256-G/dmkq1KtSHIl+I5p3LfO6mGPS3eyLRbEEsuLbTpGlk=", + "owner": "tpope", + "repo": "vim-repeat", + "rev": "65846025c15494983dafe5e3b46c8f88ab2e9635", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-repeat", + "type": "github" + } + }, + "plugin-vim-startify": { + "flake": false, + "locked": { + "lastModified": 1695213983, + "narHash": "sha256-W5N/Dqxf9hSXEEJsrEkXInFwBXNBJe9Dzx9TVS12mPk=", + "owner": "mhinz", + "repo": "vim-startify", + "rev": "4e089dffdad46f3f5593f34362d530e8fe823dcf", + "type": "github" + }, + "original": { + "owner": "mhinz", + "repo": "vim-startify", + "type": "github" + } + }, + "plugin-which-key": { + "flake": false, + "locked": { + "lastModified": 1734253151, + "narHash": "sha256-f/+sYMDEguB5ZDiYiQAsDvdF/2cVcWnLBU+9qwigk4s=", + "owner": "folke", + "repo": "which-key.nvim", + "rev": "8ab96b38a2530eacba5be717f52e04601eb59326", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "which-key.nvim", + "type": "github" + } + }, + "plugin-yanky-nvim": { + "flake": false, + "locked": { + "lastModified": 1737126873, + "narHash": "sha256-Gt8kb6sZoNIM2SDWUPyAF5Tw99qMZl+ltUCfyMXgJsU=", + "owner": "gbprod", + "repo": "yanky.nvim", + "rev": "d2696b30e389dced94d5acab728f524a25f308d2", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "yanky.nvim", + "type": "github" + } + }, + "root": { + "inputs": { + "firefox-addons": "firefox-addons", + "home-manager": "home-manager", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs", + "nvf": "nvf", + "snowfall-lib": "snowfall-lib", + "unstable": "unstable" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nvf", + "nil", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731983527, + "narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "71287228d96e9568e1e70c6bbfa3f992d145947b", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "snowfall-lib": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736130495, + "narHash": "sha256-4i9nAJEZFv7vZMmrE0YG55I3Ggrtfo5/T07JEpEZ/RM=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "02d941739f98a09e81f3d2d9b3ab08918958beac", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "unstable": { + "locked": { + "lastModified": 1738410390, + "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..79f2233 --- /dev/null +++ b/flake.nix @@ -0,0 +1,56 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixos-hardware.url = "github:nixos/nixos-hardware"; + + home-manager = { + url = "github:nix-community/home-manager/release-24.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + snowfall-lib = { + url = "github:snowfallorg/lib"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + firefox-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nvf.url = "github:notashelf/nvf"; + }; + + outputs = + inputs: + let + lib = inputs.snowfall-lib.mkLib { + inherit inputs; + src = ./.; + + # Configure Snowfall Lib, all of these settings are optional. + snowfall = { + root = ./.; + namespace = "awesome-flake"; + meta = { + name = "awesome-flake"; + title = "Awesome Flake"; + }; + }; + }; + in + lib.mkFlake { + channels-config.allowUnfree = true; + home-manager.backupFileExtension = "hm-bk"; + systems.modules.nixos = with inputs; [ + home-manager.nixosModules.home-manager + nvf.nixosModules.default + ]; + + outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; }; + } + // { + self = inputs.self; + }; +} diff --git a/homes/x86_64-linux/philipp/default.nix b/homes/x86_64-linux/philipp/default.nix new file mode 100644 index 0000000..9540c63 --- /dev/null +++ b/homes/x86_64-linux/philipp/default.nix @@ -0,0 +1,20 @@ +{ + ... +}: +{ + awesome-flake = { + cli-apps = { + fish.enable = true; + home-manager.enable = true; + }; + + tools = { + git.enable = true; + }; + + apps = { + librewolf.enable = true; + kitty.enable = true; + }; + }; +} diff --git a/lib/module/default.nix b/lib/module/default.nix new file mode 100644 index 0000000..a55477d --- /dev/null +++ b/lib/module/default.nix @@ -0,0 +1,64 @@ +{ lib, ... }: + +with lib; +rec { + ## Create a NixOS module option. + ## + ## ```nix + ## lib.mkOpt nixpkgs.lib.types.str "My default" "Description of my option." + ## ``` + ## + #@ Type -> Any -> String + mkOpt = + type: default: description: + mkOption { inherit type default description; }; + + ## Create a NixOS module option without a description. + ## + ## ```nix + ## lib.mkOpt' nixpkgs.lib.types.str "My default" + ## ``` + ## + #@ Type -> Any -> String + mkOpt' = type: default: mkOpt type default null; + + ## Create a boolean NixOS module option. + ## + ## ```nix + ## lib.mkBoolOpt true "Description of my option." + ## ``` + ## + #@ Type -> Any -> String + mkBoolOpt = mkOpt types.bool; + + ## Create a boolean NixOS module option without a description. + ## + ## ```nix + ## lib.mkBoolOpt true + ## ``` + ## + #@ Type -> Any -> String + mkBoolOpt' = mkOpt' types.bool; + + enabled = { + ## Quickly enable an option. + ## + ## ```nix + ## services.nginx = enabled; + ## ``` + ## + #@ true + enable = true; + }; + + disabled = { + ## Quickly disable an option. + ## + ## ```nix + ## services.nginx = enabled; + ## ``` + ## + #@ false + enable = false; + }; +} diff --git a/modules/home/apps/kitty/default.nix b/modules/home/apps/kitty/default.nix new file mode 100644 index 0000000..d995eda --- /dev/null +++ b/modules/home/apps/kitty/default.nix @@ -0,0 +1,43 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.apps.kitty; + defaultSettings = { + confirm_os_window_close = 0; + mouse_hide_wait = "-1.0"; + dynamic_background_opacity = true; + editor = "nvim"; + term = "xterm-256color"; + adjust_line_height = 3; + copy_on_select = "clipboard"; + cursor_shape = "Beam"; + }; + defaultFont = { + name = "Hack Nerd Font Mono"; + package = pkgs.nerdfonts; + size = 12; + }; +in +{ + options.${namespace}.apps.kitty = with types; { + enable = mkBoolOpt false "Whether or not to enable kitty."; + settings = mkOpt attrs defaultSettings "Settings to apply to the profile."; + font = mkOpt attrs defaultFont "Customize default font settings."; + }; + + config = mkIf cfg.enable { + programs.kitty = { + enable = true; + themeFile = "Dracula"; + inherit (cfg) font settings; + }; + }; + +} diff --git a/modules/home/apps/librewolf/default.nix b/modules/home/apps/librewolf/default.nix new file mode 100644 index 0000000..918b769 --- /dev/null +++ b/modules/home/apps/librewolf/default.nix @@ -0,0 +1,87 @@ +{ + inputs, + config, + lib, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.apps.librewolf; + defaultSettings = { + "browser.startup.homepage" = "https://search.monapona.dev"; + "browser.startup.page" = 3; + "privacy.resistFingerprinting" = false; + "privacy.fingerprintingProtection" = true; + "privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC"; + "privacy.clearOnShutdown.history" = false; + "signon.rememberSignons" = true; + "signon.storeWhenAutocompleteOff" = true; + "sidebar.verticalTabs" = true; + }; + defaultExtensions = with inputs.firefox-addons.packages."x86_64-linux"; [ + bitwarden + redirector + return-youtube-dislikes + sponsorblock + ublock-origin + seventv + ]; + defaultSearch = { + privateDefault = "SearXNG"; + default = "SearXNG"; + engines = { + "SearXNG" = { + urls = [ { template = "https://search.monapona.dev/search?q={searchTerms}"; } ]; + iconUpdateURL = "https://search.monapona.dev/static/themes/simple/img/favicon.png"; + definedAliases = [ "@s" ]; + }; + + "My Nixos Packages" = { + urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + + "NixOS Wiki" = { + urls = [ { template = "https://wiki.nixos.org/index.php?search={searchTerms}"; } ]; + iconUpdateURL = "https://wiki.nixos.org/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@nw" ]; + }; + }; + }; +in +{ + options.${namespace}.apps.librewolf = with types; { + enable = mkBoolOpt false "Whether or not to enable Firefox."; + extraConfig = mkOpt str "" "Extra configuration for the user profile JS file."; + userChrome = mkOpt str "" "Extra configuration for the user chrome CSS file."; + settings = mkOpt attrs defaultSettings "Settings to apply to the profile."; + extensions = mkOpt (listOf package) defaultExtensions "Extra Librewolf extensions to install."; + search = mkOpt attrs defaultSearch "Extra search engines to define."; + }; + + config = mkIf cfg.enable { + programs.librewolf = { + enable = true; + package = pkgs.librewolf-wayland; + + profiles."philipp" = { + inherit (cfg) + extraConfig + userChrome + settings + extensions + search + ; + id = 0; + name = "Philipp"; + isDefault = true; + }; + }; + }; + +} diff --git a/modules/home/cli-apps/fish/default.nix b/modules/home/cli-apps/fish/default.nix new file mode 100644 index 0000000..58ac3ac --- /dev/null +++ b/modules/home/cli-apps/fish/default.nix @@ -0,0 +1,52 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + + cfg = config.${namespace}.cli-apps.fish; +in +{ + options.${namespace}.cli-apps.fish = { + enable = mkEnableOption "fish"; + }; + + config = mkIf cfg.enable { + programs.fish = { + enable = true; + shellAliases = { + hm-update = "home-manager switch --flake ~/Documents/nix-config/ -b bk &| nom"; + nix-update = "sudo sh -c 'nixos-rebuild --log-format internal-json -v switch --flake /home/philipp/Documents/nix-config/ |& nom --json'"; + cd = "z"; + }; + plugins = [ + { + name = "fzf"; + src = pkgs.fishPlugins.fzf.src; + } + { + name = "hydro"; + src = pkgs.fishPlugins.hydro.src; + } + { + name = "sponge"; + src = pkgs.fishPlugins.sponge.src; + } + { + name = "z"; + src = pkgs.fishPlugins.z.src; + } + ]; + }; + + programs.zoxide = { + enable = true; + enableFishIntegration = true; + }; + }; + +} diff --git a/modules/home/cli-apps/home-manager/default.nix b/modules/home/cli-apps/home-manager/default.nix new file mode 100644 index 0000000..241e454 --- /dev/null +++ b/modules/home/cli-apps/home-manager/default.nix @@ -0,0 +1,21 @@ +{ + lib, + config, + namespace, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + inherit (lib.${namespace}) enabled; + + cfg = config.${namespace}.cli-apps.home-manager; +in +{ + options.${namespace}.cli-apps.home-manager = { + enable = mkEnableOption "home-manager"; + }; + + config = mkIf cfg.enable { + programs.home-manager = enabled; + }; +} diff --git a/modules/home/home/default.nix b/modules/home/home/default.nix new file mode 100644 index 0000000..2ba31d0 --- /dev/null +++ b/modules/home/home/default.nix @@ -0,0 +1,9 @@ +{ + lib, + osConfig ? { }, + namespace, + ... +}: +{ + home.stateVersion = lib.mkDefault (osConfig.system.stateVersion or "24.11"); +} diff --git a/modules/home/tools/git/default.nix b/modules/home/tools/git/default.nix new file mode 100644 index 0000000..7b23492 --- /dev/null +++ b/modules/home/tools/git/default.nix @@ -0,0 +1,49 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +let + inherit (lib) types mkEnableOption mkIf; + inherit (lib.${namespace}) mkOpt enabled; + + cfg = config.${namespace}.tools.git; + user = config.${namespace}.user; +in +{ + options.${namespace}.tools.git = { + enable = mkEnableOption "Git"; + userName = mkOpt types.str "Philipp" "The name to configure git with."; + userEmail = mkOpt types.str "philipp@boehm.sh" "The email to configure git with."; + signingKey = mkOpt types.str "AA5E5A3C" "The key ID to sign commits with."; + signByDefault = mkOpt types.bool true "Whether to sign commits by default."; + }; + + config = mkIf cfg.enable { + programs.git = { + enable = true; + inherit (cfg) userName userEmail; + lfs = enabled; + signing = { + key = cfg.signingKey; + inherit (cfg) signByDefault; + }; + extraConfig = { + init = { + defaultBranch = "main"; + }; + pull = { + rebase = true; + }; + push = { + autoSetupRemote = true; + }; + core = { + whitespace = "trailing-space,space-before-tab"; + }; + }; + }; + }; +} diff --git a/modules/home/tools/neovim/default.nix b/modules/home/tools/neovim/default.nix new file mode 100644 index 0000000..f2a0307 --- /dev/null +++ b/modules/home/tools/neovim/default.nix @@ -0,0 +1,39 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + + cfg = config.${namespace}.tools.neovim; +in +{ + options.${namespace}.tools.neovim = { + enable = mkEnableOption "Neovim"; + }; + + config = mkIf cfg.enable { + home = { + packages = with pkgs; [ + less + plusultra.neovim + ]; + + sessionVariables = { + EDITOR = "nvim"; + }; + + shellAliases = { + vimdiff = "nvim -d"; + }; + }; + + xdg.configFile = { + "dashboard-nvim/.keep".text = ""; + }; + }; + +} diff --git a/modules/nixos/apps/steam/default.nix b/modules/nixos/apps/steam/default.nix new file mode 100644 index 0000000..815fc50 --- /dev/null +++ b/modules/nixos/apps/steam/default.nix @@ -0,0 +1,27 @@ +{ + options, + config, + lib, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.apps.steam; +in +{ + options.${namespace}.apps.steam = with types; { + enable = mkBoolOpt false "Whether or not to enable support for Steam."; + }; + + config = mkIf cfg.enable { + programs.steam.enable = true; + programs.steam.remotePlay.openFirewall = true; + + hardware.steam-hardware.enable = true; + + environment.systemPackages = with pkgs; [ steam ]; + }; +} diff --git a/modules/nixos/cli/neovim/default.nix b/modules/nixos/cli/neovim/default.nix new file mode 100644 index 0000000..6526785 --- /dev/null +++ b/modules/nixos/cli/neovim/default.nix @@ -0,0 +1,55 @@ +{ + options, + config, + lib, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.cli.neovim; +in +{ + options.${namespace}.cli.neovim = with types; { + enable = mkBoolOpt false "Whether or not to enable neovim."; + }; + + config = mkIf cfg.enable { + programs.nvf = { + enable = true; + settings = { + vim.viAlias = true; + vim.vimAlias = true; + vim.lsp.enable = true; + vim.theme.enable = true; + vim.theme.name = "tokyonight"; + vim.theme.style = "night"; + + vim.languages.nix.enable = true; + vim.statusline.lualine.enable = true; + vim.telescope.enable = true; + vim.autocomplete.nvim-cmp.enable = true; + vim.languages.enableLSP = true; + vim.languages.enableTreesitter = true; + vim.options.tabstop = 2; + vim.undoFile.enable = true; + vim.options.shiftwidth = 2; + vim.filetree.neo-tree = { + enable = true; + setupOpts = { + }; + }; + vim.keymaps = [ + { + key = ""; + mode = [ "n" ]; + action = "Neotree toggle"; + desc = "Toggles neo-tree"; + } + ]; + }; + }; + }; +} diff --git a/modules/nixos/desktop/plasma/default.nix b/modules/nixos/desktop/plasma/default.nix new file mode 100644 index 0000000..b811746 --- /dev/null +++ b/modules/nixos/desktop/plasma/default.nix @@ -0,0 +1,58 @@ +{ + options, + config, + lib, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.desktop.plasma; + + excludePackages = with pkgs.kdePackages; [ + konsole + elisa + krdp + ]; + + default-attrs = mapAttrs (key: mkDefault); + nested-default-attrs = mapAttrs (key: default-attrs); +in +{ + options.${namespace}.desktop.plasma = with types; { + enable = mkBoolOpt false "Whether or not to use Plasma as the desktop environment."; + extraExcludePackages = mkOpt (listOf package) [ ] "Extra packages to exclude"; + }; + + config = mkIf cfg.enable { + services.desktopManager.plasma6.enable = true; + services.displayManager = { + sddm = { + enable = true; + wayland.enable = true; + settings = { + Autologin = { + Session = "plasma.desktop"; + User = "philipp"; + }; + Theme = { + EnableAvatars = true; + }; + }; + }; + }; + + environment.plasma6.excludePackages = + with pkgs.kdePackages; + [ ] ++ excludePackages ++ cfg.extraExcludePackages; + + environment.systemPackages = with pkgs; [ + pinentry-qt + kdiskmark + kdePackages.networkmanager-qt + ]; + }; + +} diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix new file mode 100644 index 0000000..54da41b --- /dev/null +++ b/modules/nixos/hardware/audio/default.nix @@ -0,0 +1,88 @@ +{ + options, + config, + pkgs, + lib, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.hardware.audio; +in +{ + options.${namespace}.hardware.audio = with types; { + enable = mkBoolOpt false "Whether or not to enable audio support."; + extra-packages = mkOpt (listOf package) [ ] "Additional packages to install."; + }; + + config = mkIf cfg.enable { + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + + wireplumber.enable = true; + + }; + + hardware.pulseaudio.enable = mkForce false; + + environment.systemPackages = + with pkgs; + [ + pulsemixer + pavucontrol + ] + ++ cfg.extra-packages; + + services.pipewire.extraConfig.pipewire = { + "90-nullsink" = { + "context.object" = [ + { + factory = "adapter"; + args = { + "factory.name" = "support.null-audio-sink"; + "node.name" = "Null Sink"; + "media.class" = "Audio/Sink"; + "audio.position" = "[ FL FR ]"; + "monitor.channel-volumes" = "true"; + "monitor.passthrough" = "true"; + "adapter.auto-port-config" = { + "mode" = "dsp"; + "monitor" = "true"; + "position" = "preserve"; + }; + }; + } + ]; + }; + "90-loopback" = { + "context.modules" = [ + { + name = "libpipewire-module-loopback"; + args = { + "node.description" = "Scarlett 2i2 Loopback"; + "capture.props" = { + "node.name" = "Scarlett_2i2_Loopback"; + "media.class" = "Audio/Sink"; + "audio.position" = "[ FL FR ]"; + }; + "playback.props" = { + "node.name" = "playback.Scarlett_2i2_Loopback"; + "audio.position" = "[ AUX0 AUX1 ]"; + "target.object" = "alsa_output.usb-Focusrite_Scarlett_2i2_USB-00.pro-output-0"; + "stream.dont-reconnect" = "true"; + "node.dont-reconnect" = "false"; + "node.passive" = "true"; + }; + }; + } + ]; + }; + }; + }; + +} diff --git a/modules/nixos/services/btrfs/default.nix b/modules/nixos/services/btrfs/default.nix new file mode 100644 index 0000000..cbff6a3 --- /dev/null +++ b/modules/nixos/services/btrfs/default.nix @@ -0,0 +1,24 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.services.btrfs; +in +{ + options.${namespace}.services.btrfs = { + enable = mkBoolOpt true "BTRFS"; + }; + + config = mkIf cfg.enable { + services.btrfs.autoScrub.enable = true; + services.fstrim.enable = true; + + environment.systemPackages = with pkgs; [ btrfs-progs ]; + }; +} diff --git a/modules/nixos/services/caddy/default.nix b/modules/nixos/services/caddy/default.nix new file mode 100644 index 0000000..04926ba --- /dev/null +++ b/modules/nixos/services/caddy/default.nix @@ -0,0 +1,55 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.services.caddy; +in +{ + options.${namespace}.services.caddy = { + enable = mkEnableOption "Caddy"; + }; + + config = mkIf cfg.enable { + services.caddy = { + enable = true; + virtualHosts = { + ":1338" = { + extraConfig = '' + root * /var/lib/caddy/ente + file_server + ''; + }; + ":8686" = { + extraConfig = '' + root * /var/lib/caddy/cinny + file_server + + @index { + not path /index.html + not path /public/* + not path /assets/* + + not path /config.json + + not path /manifest.json + + not path /pdf.worker.min.js + not path /olm.wasm + + path /* + } + + rewrite /*/olm.wasm /olm.wasm + rewrite @index /index.html + ''; + }; + }; + }; + }; +} diff --git a/modules/nixos/services/invidious/default.nix b/modules/nixos/services/invidious/default.nix new file mode 100644 index 0000000..ee7041d --- /dev/null +++ b/modules/nixos/services/invidious/default.nix @@ -0,0 +1,30 @@ +{ + lib, + config, + pkgs, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.services.invidious; +in +{ + options.${namespace}.services.invidious = { + enable = mkEnableOption "Invidious"; + domain = mkOption { + type = types.string; + default = "localhost"; + description = "Domain to use for absolute URLs"; + }; + }; + + config = mkIf cfg.enable { + services.invidious = { + enable = true; + domain = cfg.domain; + extraSettingsFile = "/var/lib/invidious/settings.yml"; + }; + }; +} diff --git a/modules/nixos/system/fonts/default.nix b/modules/nixos/system/fonts/default.nix new file mode 100644 index 0000000..4322b06 --- /dev/null +++ b/modules/nixos/system/fonts/default.nix @@ -0,0 +1,77 @@ +{ + options, + config, + pkgs, + lib, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.system.fonts; +in +{ + options.${namespace}.system.fonts = with types; { + enable = mkBoolOpt false "Whether or not to manage fonts."; + emoji = mkBoolOpt false "Whether or not to enable emojis."; + fonts = mkOpt (listOf package) [ ] "Custom font packages to install."; + }; + + config = mkIf cfg.enable { + environment.variables = { + LOG_ICONS = "true"; + }; + + environment.systemPackages = with pkgs; [ font-manager ]; + + fonts = { + fontconfig = mkIf cfg.emoji { + enable = true; + localConf = '' + + + + + monospace + + emoji + + + + sans-serif + + emoji + + + + serif + + emoji + + + + ''; + defaultFonts = { + emoji = [ "Noto Color Emoji" ]; + monospace = [ "FreeMono" ]; + sansSerif = [ "FreeSans" ]; + serif = [ "FreeSerif" ]; + }; + }; + + packages = + with pkgs; + [ + twemoji-color-font + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-emoji + (nerdfonts.override { fonts = [ "Hack" ]; }) + ] + ++ cfg.fonts; + }; + }; + +} diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix new file mode 100644 index 0000000..f26e95c --- /dev/null +++ b/modules/nixos/user/default.nix @@ -0,0 +1,23 @@ +{ + options, + config, + pkgs, + lib, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.user; +in +{ + programs.fish = { + enable = true; + }; + + users.users.philipp = { + isNormalUser = true; + shell = pkgs.fish; + }; +} diff --git a/modules/nixos/virtualisation/podman/technitium/default.nix b/modules/nixos/virtualisation/podman/technitium/default.nix new file mode 100644 index 0000000..16105b5 --- /dev/null +++ b/modules/nixos/virtualisation/podman/technitium/default.nix @@ -0,0 +1,25 @@ +{ lib, config, pkgs, namespace, ... }: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.container.technitium; +in +{ + options.${namespace}.container.technitium = { + enable = mkEnableOption "Technitium"; + }; + + config = mkIf cfg.enable { + virtualisation.oci-containers.containers.technitium = { + image = "technitium/dns-server"; + hostname = "blarm-dns"; + ports = [ + "192.168.1.202:5380:5380" + "192.168.1.202:53:53" + "[fd00:192:168:1::202]:53:53" + "[fd00:192:168:1::202]:5380:5380" + ]; + volumes = [ "config:/etc/dns" ]; + }; + }; +} diff --git a/systems/aarch64-linux/blarm/default.nix b/systems/aarch64-linux/blarm/default.nix new file mode 100644 index 0000000..d87ceb1 --- /dev/null +++ b/systems/aarch64-linux/blarm/default.nix @@ -0,0 +1,57 @@ +{ pkgs, config, lib, modulesPath, inputs, namespace, ... }: +with lib; +with lib.${namespace}; +{ + imports = with inputs.nixos-hardware.nixosModules; [ + (modulesPath + "/installer/scan/not-detected.nix") + (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") + ]; + + # Use the extlinux boot loader. (NixOS wants to enable GRUB by default) + boot.loader.grub.enable = false; + # Enables the generation of /boot/extlinux/extlinux.conf + boot.loader.generic-extlinux-compatible.enable = true; + + networking.hostName = "blarm"; # Define your hostname. + networking.networkmanager.enable = true; + networking.interfaces.end0.ipv4.addresses = [ { address = "192.168.1.202"; prefixLength = 32; } ]; + networking.interfaces.end0.ipv6.addresses = [ + { address = "fd00:192:168:1::202"; prefixLength = 64; } + { address = "fd00:192:168:1::251"; prefixLength = 64; } + ]; + networking.firewall.enable = false; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + users.users.philipp = { + isNormalUser = true; + description = "Philipp Boehm"; + extraGroups = [ "wheel" "caddy" ]; + openssh.authorizedKeys.keys = + [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwUGxdwTgjc61VNh7QNfrrZwz5yHkJ6AGsRsgoDV3a4 philipp-mobile" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqbT8AdnS++ZoL7TYg2skQUvfWx29Iq+mEYv2Ok2QHb arbeit" + ]; + }; + + environment.systemPackages = with pkgs; [ + neovim + wget + ]; + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + awesome-flake.services.caddy.enable = true; + awesome-flake.container.technitium.enable = true; + + system.stateVersion = "24.11"; # Did you read the comment? + +} + diff --git a/systems/x86_64-linux/bodenheizung/default.nix b/systems/x86_64-linux/bodenheizung/default.nix new file mode 100644 index 0000000..d1e1bbc --- /dev/null +++ b/systems/x86_64-linux/bodenheizung/default.nix @@ -0,0 +1,77 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: +{ + imports = [ + ./hardware-configuration.nix + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.consoleMode = "max"; + boot.loader.efi.canTouchEfiVariables = true; + + nixpkgs.config.allowUnfree = true; + + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + networking.hostName = "bodenheizung"; + + snowfallorg.users.philipp = { + create = true; + admin = true; + home = { + enable = true; + }; + }; + + awesome-flake = { + cli = { + neovim.enable = true; + }; + apps = { + steam.enable = true; + }; + desktop.plasma.enable = true; + hardware.audio.enable = true; + services = { + btrfs.enable = true; + }; + system.fonts.enable = true; + system.fonts.emoji = true; + }; + + # Set your time zone + time.timeZone = "Europe/Berlin"; + + # Select internationalistation properties + i18n = { + defaultLocale = "en_US.UTF-8"; + supportedLocales = [ + "C.UTF-8/UTF-8" + "en_US.UTF-8/UTF-8" + "de_DE.UTF-8/UTF-8" + ]; + extraLocaleSettings = { + LANGUAGE = "en_US.UTF-8"; + LC_ALL = "en_US.UTF-8"; + }; + }; + + environment.etc.crypttab = { + mode = "0600"; + text = '' + ssd /dev/disk/by-uuid/44afe46a-4ca4-4ef2-a603-a47520eebff1 /root/.crypt-me + ''; + }; + + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "24.11"; +} diff --git a/systems/x86_64-linux/bodenheizung/hardware-configuration.nix b/systems/x86_64-linux/bodenheizung/hardware-configuration.nix new file mode 100644 index 0000000..1b1460c --- /dev/null +++ b/systems/x86_64-linux/bodenheizung/hardware-configuration.nix @@ -0,0 +1,88 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ + "nvme" + "xhci_pci" + "ahci" + "usb_storage" + "usbhid" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/1616e34a-a8c6-4e18-882c-d955b4f8ffeb"; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/24243112-bae6-4842-af26-4db18f8afc3f"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,subvol=root" ]; + }; + + fileSystems."/home" = { + device = "/dev/disk/by-uuid/24243112-bae6-4842-af26-4db18f8afc3f"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,subvol=home" ]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/24243112-bae6-4842-af26-4db18f8afc3f"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,subvol=nix" ]; + }; + + fileSystems."/var/log" = { + device = "/dev/disk/by-uuid/24243112-bae6-4842-af26-4db18f8afc3f"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,subvol=log" ]; + }; + + fileSystems."/persist" = { + device = "/dev/disk/by-uuid/24243112-bae6-4842-af26-4db18f8afc3f"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,subvol=persist" ]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/DF1D-1330"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + fileSystems."/data/ssd" = { + device = "/dev/mapper/ssd"; + fsType = "btrfs"; + options = [ "rw,relatime,ssd,space_cache=v2,nofail" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp34s0.useDHCP = lib.mkDefault true; + # networking.interfaces.eth0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp36s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}