From 76504a2fd5467c9e812ee7c8db7eb1d350160fd1 Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Josh)" Date: Wed, 24 Jul 2024 13:43:57 -0500 Subject: [PATCH] update and use flakes for everything because I broke it with random changes from nixpkgs and I dont like that --- README.md | 2 +- flake.lock | 732 ++++++++++++++++++++++++++++++++++++++- flake.nix | 243 ++++++++++--- init.lua | 17 +- lua/plugins/whichkey.lua | 57 ++- 5 files changed, 958 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index d3a10f5..3beae20 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ FUTURE - similar to est-nvim/rest.nvim but support streaming etc and show command output - Execute selected command and open output into a buffer/popup window? cx - generate command, like scratch open a popup of things that can be generated. UUID/other stuff? -- +- - Checkout cargo-bloat, cargo-cache, cargo-outdated - memcache sccache - For scratches, just make an input box for custom extension rather than predefined list - freaking learn to use surround more often diff --git a/flake.lock b/flake.lock index bcc5e82..be71331 100644 --- a/flake.lock +++ b/flake.lock @@ -34,14 +34,126 @@ "type": "github" } }, + "nvim_plugin-Almo7aya/openingh.nvim": { + "flake": false, + "locked": { + "lastModified": 1710100117, + "narHash": "sha256-xGQdEO8Fjh4Tmv5WnYJFqaitH0wZnLlbYstwqsO0Oeg=", + "owner": "Almo7aya", + "repo": "openingh.nvim", + "rev": "613c18967d42202f3e2a9ac788caf62a402e7c1a", + "type": "github" + }, + "original": { + "owner": "Almo7aya", + "repo": "openingh.nvim", + "type": "github" + } + }, + "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": { + "flake": false, + "locked": { + "lastModified": 1720590399, + "narHash": "sha256-sdyctYNbgU5VKoWhGSNFIdphSCN/yplwM/qQw6NnFrs=", + "owner": "JoosepAlviste", + "repo": "nvim-ts-context-commentstring", + "rev": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62", + "type": "github" + }, + "original": { + "owner": "JoosepAlviste", + "repo": "nvim-ts-context-commentstring", + "type": "github" + } + }, + "nvim_plugin-L3MON4D3/LuaSnip": { + "flake": false, + "locked": { + "lastModified": 1719606247, + "narHash": "sha256-zjefbPMiKxwYsBzE75jQRVNFMDSnCq1hKe1cBBqMRWg=", + "owner": "L3MON4D3", + "repo": "LuaSnip", + "rev": "ce0a05ab4e2839e1c48d072c5236cce846a387bc", + "type": "github" + }, + "original": { + "owner": "L3MON4D3", + "repo": "LuaSnip", + "type": "github" + } + }, + "nvim_plugin-MunifTanjim/nui.nvim": { + "flake": false, + "locked": { + "lastModified": 1719375254, + "narHash": "sha256-o2iNktcWxL0oCtCkbARMiWnTlZA8QWQHy2qeOanBlO4=", + "owner": "MunifTanjim", + "repo": "nui.nvim", + "rev": "61574ce6e60c815b0a0c4b5655b8486ba58089a1", + "type": "github" + }, + "original": { + "owner": "MunifTanjim", + "repo": "nui.nvim", + "type": "github" + } + }, + "nvim_plugin-RRethy/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" + } + }, + "nvim_plugin-Saecki/crates.nvim": { + "flake": false, + "locked": { + "lastModified": 1721830021, + "narHash": "sha256-OTAJCbRrtwNU8qafhYAx2vB6XwnHqxtY0HNYT+xbEJA=", + "owner": "Saecki", + "repo": "crates.nvim", + "rev": "1643400e4b55542ab371ac294c0f733d9d4f9e66", + "type": "github" + }, + "original": { + "owner": "Saecki", + "repo": "crates.nvim", + "type": "github" + } + }, + "nvim_plugin-catppuccin/nvim": { + "flake": false, + "locked": { + "lastModified": 1721776144, + "narHash": "sha256-OESRAC5jqTrZZWuAyvd9+0AbSaGlyWLvt1zPnL9gl8o=", + "owner": "catppuccin", + "repo": "nvim", + "rev": "07f1ee861394c163d1f1d3e1926eb309e0c81027", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nvim", + "type": "github" + } + }, "nvim_plugin-chrisgrieser/nvim-early-retirement": { "flake": false, "locked": { - "lastModified": 1706108060, - "narHash": "sha256-5lpGqHg0jrLawr2A8mNwADHG62A92By6ZpZeqzd2uUs=", + "lastModified": 1720530138, + "narHash": "sha256-1mEPWKrveIeXD+5dsKHovc5W/uNqrASKT7uIBbLclz4=", "owner": "chrisgrieser", "repo": "nvim-early-retirement", - "rev": "8d83da8a5e5dd29e35a291fcb1c47290df9b7699", + "rev": "3a10e211dd7d8e14bf4357292ad73e2e0162f7ff", "type": "github" }, "original": { @@ -50,14 +162,126 @@ "type": "github" } }, + "nvim_plugin-folke/lazy.nvim": { + "flake": false, + "locked": { + "lastModified": 1721799529, + "narHash": "sha256-H9gU8+85Lup8pjkXwiJM/2yLE8BAHZGhA6M4Sa1jJIs=", + "owner": "folke", + "repo": "lazy.nvim", + "rev": "4496b4cad69a862199bb3ad452d3c4988bb925a1", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "lazy.nvim", + "type": "github" + } + }, + "nvim_plugin-folke/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" + } + }, + "nvim_plugin-folke/which-key.nvim": { + "flake": false, + "locked": { + "lastModified": 1721839767, + "narHash": "sha256-5Xx+YG5rsbzTstjGjPh8GjobJMwWHF2ZFwM/nI9dNN4=", + "owner": "folke", + "repo": "which-key.nvim", + "rev": "058486e5b001f11ef48f180dd57ae3088f5bb6dc", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "which-key.nvim", + "type": "github" + } + }, + "nvim_plugin-hrsh7th/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" + } + }, + "nvim_plugin-hrsh7th/cmp-nvim-lsp": { + "flake": false, + "locked": { + "lastModified": 1715931395, + "narHash": "sha256-CT1+Z4XJBVsl/RqvJeGmyitD6x7So0ylXvvef5jh7I8=", + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "rev": "39e2eda76828d88b773cc27a3f61d2ad782c922d", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "type": "github" + } + }, + "nvim_plugin-hrsh7th/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" + } + }, + "nvim_plugin-hrsh7th/nvim-cmp": { + "flake": false, + "locked": { + "lastModified": 1721093634, + "narHash": "sha256-jc4fQBaAuL4XhHljVU3sdaEyQCnHbI+gwNOTnGHk0qM=", + "owner": "hrsh7th", + "repo": "nvim-cmp", + "rev": "d818fd0624205b34e14888358037fb6f5dc51234", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "nvim-cmp", + "type": "github" + } + }, "nvim_plugin-j-hui/fidget.nvim": { "flake": false, "locked": { - "lastModified": 1712242924, - "narHash": "sha256-fZhK5opGXRRryhNpdaEPLpBq4tTibZREelXmasMLHzw=", + "lastModified": 1720885602, + "narHash": "sha256-fjxdRN08BMU7jTWdhdzh8kW18ZURS9SJCwnTxuz6aFE=", "owner": "j-hui", "repo": "fidget.nvim", - "rev": "1ba38e4cbb24683973e00c2e36f53ae64da38ef5", + "rev": "d855eed8a06531a7e8fd0684889b2943f373c469", "type": "github" }, "original": { @@ -66,14 +290,174 @@ "type": "github" } }, + "nvim_plugin-johmsalas/text-case.nvim": { + "flake": false, + "locked": { + "lastModified": 1721115205, + "narHash": "sha256-gmyuRjX7V+Z2KFkl1tBiqpfrKrDoAoJlwSa3TYwnJ5Y=", + "owner": "johmsalas", + "repo": "text-case.nvim", + "rev": "13daf28a829e6d0646904c94214cb289bb0c6f34", + "type": "github" + }, + "original": { + "owner": "johmsalas", + "repo": "text-case.nvim", + "type": "github" + } + }, + "nvim_plugin-lewis6991/gitsigns.nvim": { + "flake": false, + "locked": { + "lastModified": 1721808430, + "narHash": "sha256-e0UUuYY91irenABbR3IGoFcpI+ubKLR+6E3oO88ohI8=", + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "rev": "b29cb58126663569f6f34401fab513c2375e95d3", + "type": "github" + }, + "original": { + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "type": "github" + } + }, + "nvim_plugin-lnc3l0t/glow.nvim": { + "flake": false, + "locked": { + "lastModified": 1693233815, + "narHash": "sha256-vdlwkIK2EkFviJmSiOqPWvc15xqJ9F2gHCC4ObJ5Qjk=", + "owner": "lnc3l0t", + "repo": "glow.nvim", + "rev": "5b38fb7b6e806cac62707a4aba8c10c5f14d5bb5", + "type": "github" + }, + "original": { + "owner": "lnc3l0t", + "repo": "glow.nvim", + "type": "github" + } + }, + "nvim_plugin-lukas-reineke/indent-blankline.nvim": { + "flake": false, + "locked": { + "lastModified": 1719545832, + "narHash": "sha256-PSsXBB2KOFPJJ1O8fpTvsVe2A0/wU6Ae9dN/UemraZM=", + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "rev": "65e20ab94a26d0e14acac5049b8641336819dfc7", + "type": "github" + }, + "original": { + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "type": "github" + } + }, + "nvim_plugin-lvimuser/lsp-inlayhints.nvim": { + "flake": false, + "locked": { + "lastModified": 1686236485, + "narHash": "sha256-06CiJ+xeMO4+OJkckcslqwloJyt2gwg514JuxV6KOfQ=", + "owner": "lvimuser", + "repo": "lsp-inlayhints.nvim", + "rev": "d981f65c9ae0b6062176f0accb9c151daeda6f16", + "type": "github" + }, + "original": { + "owner": "lvimuser", + "repo": "lsp-inlayhints.nvim", + "type": "github" + } + }, + "nvim_plugin-mbbill/undotree": { + "flake": false, + "locked": { + "lastModified": 1713305700, + "narHash": "sha256-UIroW89ALMRdxSkNGU2VPeuXJxR+25wJ+AakRcjwx/s=", + "owner": "mbbill", + "repo": "undotree", + "rev": "56c684a805fe948936cda0d1b19505b84ad7e065", + "type": "github" + }, + "original": { + "owner": "mbbill", + "repo": "undotree", + "type": "github" + } + }, + "nvim_plugin-mfussenegger/nvim-lint": { + "flake": false, + "locked": { + "lastModified": 1719415114, + "narHash": "sha256-a9Mfoi1NzQ3b1w1VUqqJZddyCZYyacRnc128t5X3Wb0=", + "owner": "mfussenegger", + "repo": "nvim-lint", + "rev": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0", + "type": "github" + }, + "original": { + "owner": "mfussenegger", + "repo": "nvim-lint", + "type": "github" + } + }, + "nvim_plugin-neovim/nvim-lspconfig": { + "flake": false, + "locked": { + "lastModified": 1721799422, + "narHash": "sha256-F9MwIobPb3mPxZaLUCr4n8MV1qAypqUhdHp8ESlmTqY=", + "owner": "neovim", + "repo": "nvim-lspconfig", + "rev": "3cceca5a79b66d735cbacbf05fa0bce5f8b716ca", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "nvim-lspconfig", + "type": "github" + } + }, + "nvim_plugin-nvim-lua/plenary.nvim": { + "flake": false, + "locked": { + "lastModified": 1716230027, + "narHash": "sha256-5Jf2mWFVDofXBcXLbMa417mqlEPWLA+cQIZH/vNEV1g=", + "owner": "nvim-lua", + "repo": "plenary.nvim", + "rev": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683", + "type": "github" + }, + "original": { + "owner": "nvim-lua", + "repo": "plenary.nvim", + "type": "github" + } + }, + "nvim_plugin-nvim-lualine/lualine.nvim": { + "flake": false, + "locked": { + "lastModified": 1721024646, + "narHash": "sha256-uNDRynWs7fXDDzDFKvE31oDetv3aabiJfr/r/84z9Sg=", + "owner": "nvim-lualine", + "repo": "lualine.nvim", + "rev": "544dd1583f9bb27b393f598475c89809c4d5e86b", + "type": "github" + }, + "original": { + "owner": "nvim-lualine", + "repo": "lualine.nvim", + "type": "github" + } + }, "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { "flake": false, "locked": { - "lastModified": 1713833296, - "narHash": "sha256-P6WR6AohLALn4aU4vPnoBO7QDoRcfcAj51E0K1ldtwU=", + "lastModified": 1721585551, + "narHash": "sha256-bPsKJ1xHGlYGdVTOYR851cOraUCHjpsIZ6g9FZjWspA=", "owner": "nvim-telescope", "repo": "telescope-file-browser.nvim", - "rev": "4d5fd21bae12ee6e9a79232e1c377f43c419d0c5", + "rev": "8574946bf6d0d820d7f600f3db808f5900a2ae23", "type": "github" }, "original": { @@ -82,12 +466,342 @@ "type": "github" } }, + "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim": { + "flake": false, + "locked": { + "lastModified": 1719928246, + "narHash": "sha256-GEhPf1f0jkEuDlHNuxVko0ChvuF/zoQroLNUlk8N5EA=", + "owner": "nvim-telescope", + "repo": "telescope-fzf-native.nvim", + "rev": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope-fzf-native.nvim", + "type": "github" + } + }, + "nvim_plugin-nvim-telescope/telescope-ui-select.nvim": { + "flake": false, + "locked": { + "lastModified": 1701723223, + "narHash": "sha256-YRhNmmG4gx9Ht8JwjQfbTjJyTHEuZmtP6lqnhOsk8bE=", + "owner": "nvim-telescope", + "repo": "telescope-ui-select.nvim", + "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope-ui-select.nvim", + "type": "github" + } + }, + "nvim_plugin-nvim-telescope/telescope.nvim": { + "flake": false, + "locked": { + "lastModified": 1721791320, + "narHash": "sha256-aGwF0I4bpo5imff4I7cW8qvO97uY3+7vu/LbAENdMkc=", + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "rev": "bc4e7e450397970ab741d0f489e370ec4ce4d57c", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "type": "github" + } + }, + "nvim_plugin-nvim-tree/nvim-tree.lua": { + "flake": false, + "locked": { + "lastModified": 1721542362, + "narHash": "sha256-n/zFNRCH3hwaV1iFcVUkuVRZtaxJSY4tQNrtNWCmxis=", + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "rev": "4e396b26244444c911b73e9f2f40ae0115351fd1", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "type": "github" + } + }, + "nvim_plugin-nvim-tree/nvim-web-devicons": { + "flake": false, + "locked": { + "lastModified": 1721447625, + "narHash": "sha256-sa4Jlj0mn1xs3sI1VOeqLmPvigeNTZY44vBfxkinBc8=", + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "rev": "e612de3d3a41a6b7be47f51e956dddabcbf419d9", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "type": "github" + } + }, + "nvim_plugin-preservim/nerdcommenter": { + "flake": false, + "locked": { + "lastModified": 1715596621, + "narHash": "sha256-Iwf12KKadqkkevaLYcRUStfRZ2kt5qCtXmzG6XDMT2Y=", + "owner": "preservim", + "repo": "nerdcommenter", + "rev": "7bb1f72e802a80e37bdda5f6906c69b5a93de1eb", + "type": "github" + }, + "original": { + "owner": "preservim", + "repo": "nerdcommenter", + "type": "github" + } + }, + "nvim_plugin-rafamadriz/friendly-snippets": { + "flake": false, + "locked": { + "lastModified": 1721003887, + "narHash": "sha256-kwGyfXZ+jZ3PIniESUGBltBm2fRXV5ArNhSo+zosdco=", + "owner": "rafamadriz", + "repo": "friendly-snippets", + "rev": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4", + "type": "github" + }, + "original": { + "owner": "rafamadriz", + "repo": "friendly-snippets", + "type": "github" + } + }, + "nvim_plugin-rcarriga/nvim-notify": { + "flake": false, + "locked": { + "lastModified": 1715959703, + "narHash": "sha256-wxyHwL/uFdp6w32CVHgSOWkzRrIRuFvWh+J2401RAAA=", + "owner": "rcarriga", + "repo": "nvim-notify", + "rev": "d333b6f167900f6d9d42a59005d82919830626bf", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-notify", + "type": "github" + } + }, + "nvim_plugin-rmagatti/auto-session": { + "flake": false, + "locked": { + "lastModified": 1721062586, + "narHash": "sha256-0jHWGBCEXhdYAPF7wgoRzca11bYWVMHwPE2NhcB5/g4=", + "owner": "rmagatti", + "repo": "auto-session", + "rev": "08c279882d4117a3e6ade1a014f7cf4af7c34fec", + "type": "github" + }, + "original": { + "owner": "rmagatti", + "repo": "auto-session", + "type": "github" + } + }, + "nvim_plugin-saadparwaiz1/cmp_luasnip": { + "flake": false, + "locked": { + "lastModified": 1696878902, + "narHash": "sha256-nUJJl2zyK/oSwz5RzI9j3gf9zpDfCImCYbPbVsyXgz8=", + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "rev": "05a9ab28b53f71d1aece421ef32fee2cb857a843", + "type": "github" + }, + "original": { + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "type": "github" + } + }, + "nvim_plugin-sindrets/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" + } + }, + "nvim_plugin-stevearc/conform.nvim": { + "flake": false, + "locked": { + "lastModified": 1721753314, + "narHash": "sha256-cHwrtGbq4cWo50Snhkmk/lBA45lFHLa98XGgV8QKfDU=", + "owner": "stevearc", + "repo": "conform.nvim", + "rev": "25d48271e3d4404ba017cb92a37d3a681c1ad149", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "conform.nvim", + "type": "github" + } + }, + "nvim_plugin-tpope/vim-sleuth": { + "flake": false, + "locked": { + "lastModified": 1673378030, + "narHash": "sha256-ClltfSVuoNoq5EiWRVBsGz1mrr7FbafGDdgsavLgFVE=", + "owner": "tpope", + "repo": "vim-sleuth", + "rev": "1cc4557420f215d02c4d2645a748a816c220e99b", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-sleuth", + "type": "github" + } + }, + "nvim_plugin-tpope/vim-surround": { + "flake": false, + "locked": { + "lastModified": 1666730476, + "narHash": "sha256-DZE5tkmnT+lAvx/RQHaDEgEJXRKsy56KJY919xiH1lE=", + "owner": "tpope", + "repo": "vim-surround", + "rev": "3d188ed2113431cf8dac77be61b842acb64433d9", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-surround", + "type": "github" + } + }, + "nvim_plugin-uga-rosa/ccc.nvim": { + "flake": false, + "locked": { + "lastModified": 1719122026, + "narHash": "sha256-65pFlYixJeGbSvk2q29u9w0QXwjobeIqY3m8tjkzIQE=", + "owner": "uga-rosa", + "repo": "ccc.nvim", + "rev": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4", + "type": "github" + }, + "original": { + "owner": "uga-rosa", + "repo": "ccc.nvim", + "type": "github" + } + }, + "nvim_plugin-windwp/nvim-ts-autotag": { + "flake": false, + "locked": { + "lastModified": 1721769383, + "narHash": "sha256-V6uJG/tUL1lFc+yOKzL+AmdG3QqLllk/uYogxwxiaXQ=", + "owner": "windwp", + "repo": "nvim-ts-autotag", + "rev": "dc5e1687ab76ee02e0f11c5ce137f530b36e98b3", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-ts-autotag", + "type": "github" + } + }, + "nvim_plugin-zbirenbaum/copilot-cmp": { + "flake": false, + "locked": { + "lastModified": 1718601710, + "narHash": "sha256-8w9go2SBkI+BrXNadWM8ZxDDfrAnZZJx6RbVHAK4+Pg=", + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "rev": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "type": "github" + } + }, + "nvim_plugin-zbirenbaum/copilot.lua": { + "flake": false, + "locked": { + "lastModified": 1718412968, + "narHash": "sha256-HC1QZlqEg+RBz/8kjLadafc06UoMAjhh0UO/BWQGMY8=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "86537b286f18783f8b67bccd78a4ef4345679625", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, "root": { "inputs": { "nixpkgs": "nixpkgs", + "nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim", + "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring", + "nvim_plugin-L3MON4D3/LuaSnip": "nvim_plugin-L3MON4D3/LuaSnip", + "nvim_plugin-MunifTanjim/nui.nvim": "nvim_plugin-MunifTanjim/nui.nvim", + "nvim_plugin-RRethy/vim-illuminate": "nvim_plugin-RRethy/vim-illuminate", + "nvim_plugin-Saecki/crates.nvim": "nvim_plugin-Saecki/crates.nvim", + "nvim_plugin-catppuccin/nvim": "nvim_plugin-catppuccin/nvim", "nvim_plugin-chrisgrieser/nvim-early-retirement": "nvim_plugin-chrisgrieser/nvim-early-retirement", + "nvim_plugin-folke/lazy.nvim": "nvim_plugin-folke/lazy.nvim", + "nvim_plugin-folke/neodev.nvim": "nvim_plugin-folke/neodev.nvim", + "nvim_plugin-folke/which-key.nvim": "nvim_plugin-folke/which-key.nvim", + "nvim_plugin-hrsh7th/cmp-buffer": "nvim_plugin-hrsh7th/cmp-buffer", + "nvim_plugin-hrsh7th/cmp-nvim-lsp": "nvim_plugin-hrsh7th/cmp-nvim-lsp", + "nvim_plugin-hrsh7th/cmp-path": "nvim_plugin-hrsh7th/cmp-path", + "nvim_plugin-hrsh7th/nvim-cmp": "nvim_plugin-hrsh7th/nvim-cmp", "nvim_plugin-j-hui/fidget.nvim": "nvim_plugin-j-hui/fidget.nvim", + "nvim_plugin-johmsalas/text-case.nvim": "nvim_plugin-johmsalas/text-case.nvim", + "nvim_plugin-lewis6991/gitsigns.nvim": "nvim_plugin-lewis6991/gitsigns.nvim", + "nvim_plugin-lnc3l0t/glow.nvim": "nvim_plugin-lnc3l0t/glow.nvim", + "nvim_plugin-lukas-reineke/indent-blankline.nvim": "nvim_plugin-lukas-reineke/indent-blankline.nvim", + "nvim_plugin-lvimuser/lsp-inlayhints.nvim": "nvim_plugin-lvimuser/lsp-inlayhints.nvim", + "nvim_plugin-mbbill/undotree": "nvim_plugin-mbbill/undotree", + "nvim_plugin-mfussenegger/nvim-lint": "nvim_plugin-mfussenegger/nvim-lint", + "nvim_plugin-neovim/nvim-lspconfig": "nvim_plugin-neovim/nvim-lspconfig", + "nvim_plugin-nvim-lua/plenary.nvim": "nvim_plugin-nvim-lua/plenary.nvim", + "nvim_plugin-nvim-lualine/lualine.nvim": "nvim_plugin-nvim-lualine/lualine.nvim", "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": "nvim_plugin-nvim-telescope/telescope-file-browser.nvim", + "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim": "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim", + "nvim_plugin-nvim-telescope/telescope-ui-select.nvim": "nvim_plugin-nvim-telescope/telescope-ui-select.nvim", + "nvim_plugin-nvim-telescope/telescope.nvim": "nvim_plugin-nvim-telescope/telescope.nvim", + "nvim_plugin-nvim-tree/nvim-tree.lua": "nvim_plugin-nvim-tree/nvim-tree.lua", + "nvim_plugin-nvim-tree/nvim-web-devicons": "nvim_plugin-nvim-tree/nvim-web-devicons", + "nvim_plugin-preservim/nerdcommenter": "nvim_plugin-preservim/nerdcommenter", + "nvim_plugin-rafamadriz/friendly-snippets": "nvim_plugin-rafamadriz/friendly-snippets", + "nvim_plugin-rcarriga/nvim-notify": "nvim_plugin-rcarriga/nvim-notify", + "nvim_plugin-rmagatti/auto-session": "nvim_plugin-rmagatti/auto-session", + "nvim_plugin-saadparwaiz1/cmp_luasnip": "nvim_plugin-saadparwaiz1/cmp_luasnip", + "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", + "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", + "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", + "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", + "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", + "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", + "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", + "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", "rust-overlay": "rust-overlay" } }, diff --git a/flake.nix b/flake.nix index 197d259..5966e42 100644 --- a/flake.nix +++ b/flake.nix @@ -10,21 +10,208 @@ }; # Names should always be `nvim_plugin-[lazy plugin name]` - # Only need to add plugins as flake inputs if they are: - # - Missing in nixpkgs - # - We want to pin a specific version diverging from nixpkgs channel + "nvim_plugin-folke/lazy.nvim" = { + # plugin manager and loader for fast bootup + url = "github:folke/lazy.nvim"; + flake = false; + }; + "nvim_plugin-catppuccin/nvim" = { + # color scheme + url = "github:catppuccin/nvim"; + flake = false; + }; + "nvim_plugin-nvim-tree/nvim-web-devicons" = { + url = "github:nvim-tree/nvim-web-devicons"; + flake = false; + }; + + # "nvim_plugin-nvim-treesitter/nvim-treesitter" NOTE: done using nix pkgs since it is packaged with all grammars + "nvim_plugin-nvim-lua/plenary.nvim" = { + # utils used by many plugins + url = "github:nvim-lua/plenary.nvim"; + flake = false; + }; + "nvim_plugin-MunifTanjim/nui.nvim" = { + # component library util + url = "github:MunifTanjim/nui.nvim"; + flake = false; + }; + + "nvim_plugin-rmagatti/auto-session" = { + # Restore sessions + url = "github:rmagatti/auto-session"; + flake = false; + }; "nvim_plugin-chrisgrieser/nvim-early-retirement" = { + # Close buffers in background if unused url = "github:chrisgrieser/nvim-early-retirement"; flake = false; }; - "nvim_plugin-j-hui/fidget.nvim" = { - url = "github:j-hui/fidget.nvim"; + "nvim_plugin-rcarriga/nvim-notify" = { + url = "github:rcarriga/nvim-notify"; + flake = false; + }; + "nvim_plugin-nvim-lualine/lualine.nvim" = { + url = "github:nvim-lualine/lualine.nvim"; + flake = false; + }; + "nvim_plugin-folke/which-key.nvim" = { + url = "github:folke/which-key.nvim"; + flake = false; + }; + + "nvim_plugin-nvim-telescope/telescope.nvim" = { + # popup search menu + url = "github:nvim-telescope/telescope.nvim"; + flake = false; + }; + "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim" = { + # fzf integration for telescope + url = "github:nvim-telescope/telescope-fzf-native.nvim"; + flake = false; + }; + "nvim_plugin-nvim-telescope/telescope-ui-select.nvim" = { + # telescope used for selections in ui + url = "github:nvim-telescope/telescope-ui-select.nvim"; flake = false; }; "nvim_plugin-nvim-telescope/telescope-file-browser.nvim" = { + # telescope based file browser url = "github:nvim-telescope/telescope-file-browser.nvim"; flake = false; }; + + "nvim_plugin-nvim-tree/nvim-tree.lua" = { + # tree based file browser + url = "github:nvim-tree/nvim-tree.lua"; + flake = false; + }; + + "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring" = { + url = "github:JoosepAlviste/nvim-ts-context-commentstring"; + flake = false; + }; + "nvim_plugin-preservim/nerdcommenter" = { + url = "github:preservim/nerdcommenter"; + flake = false; + }; + "nvim_plugin-windwp/nvim-ts-autotag" = { + url = "github:windwp/nvim-ts-autotag"; + flake = false; + }; + + "nvim_plugin-uga-rosa/ccc.nvim" = { + url = "github:uga-rosa/ccc.nvim"; + flake = false; + }; + "nvim_plugin-lewis6991/gitsigns.nvim" = { + url = "github:lewis6991/gitsigns.nvim"; + flake = false; + }; + "nvim_plugin-sindrets/diffview.nvim" = { + url = "github:sindrets/diffview.nvim"; + flake = false; + }; + "nvim_plugin-RRethy/vim-illuminate" = { + url = "github:RRethy/vim-illuminate"; + flake = false; + }; + "nvim_plugin-lukas-reineke/indent-blankline.nvim" = { + url = "github:lukas-reineke/indent-blankline.nvim"; + flake = false; + }; + "nvim_plugin-lnc3l0t/glow.nvim" = { + url = "github:lnc3l0t/glow.nvim"; + flake = false; + }; + "nvim_plugin-Almo7aya/openingh.nvim" = { + url = "github:Almo7aya/openingh.nvim"; + flake = false; + }; + "nvim_plugin-tpope/vim-surround" = { + url = "github:tpope/vim-surround"; + flake = false; + }; + "nvim_plugin-johmsalas/text-case.nvim" = { + url = "github:johmsalas/text-case.nvim"; + flake = false; + }; + "nvim_plugin-mbbill/undotree" = { + url = "github:mbbill/undotree"; + flake = false; + }; + "nvim_plugin-tpope/vim-sleuth" = { + url = "github:tpope/vim-sleuth"; + flake = false; + }; + + "nvim_plugin-mfussenegger/nvim-lint" = { + url = "github:mfussenegger/nvim-lint"; + flake = false; + }; + "nvim_plugin-stevearc/conform.nvim" = { + url = "github:stevearc/conform.nvim"; + flake = false; + }; + + "nvim_plugin-j-hui/fidget.nvim" = { + # TODO move near lsp + # LSP loading status messages + url = "github:j-hui/fidget.nvim"; + flake = false; + }; + "nvim_plugin-neovim/nvim-lspconfig" = { + url = "github:neovim/nvim-lspconfig"; + flake = false; + }; + "nvim_plugin-hrsh7th/nvim-cmp" = { + url = "github:hrsh7th/nvim-cmp"; + flake = false; + }; + "nvim_plugin-L3MON4D3/LuaSnip" = { + url = "github:L3MON4D3/LuaSnip"; + flake = false; + }; + "nvim_plugin-saadparwaiz1/cmp_luasnip" = { + url = "github:saadparwaiz1/cmp_luasnip"; + flake = false; + }; + "nvim_plugin-hrsh7th/cmp-nvim-lsp" = { + url = "github:hrsh7th/cmp-nvim-lsp"; + flake = false; + }; + "nvim_plugin-hrsh7th/cmp-path" = { + url = "github:hrsh7th/cmp-path"; + flake = false; + }; + "nvim_plugin-hrsh7th/cmp-buffer" = { + url = "github:hrsh7th/cmp-buffer"; + flake = false; + }; + "nvim_plugin-zbirenbaum/copilot-cmp" = { + url = "github:zbirenbaum/copilot-cmp"; + flake = false; + }; + "nvim_plugin-zbirenbaum/copilot.lua" = { + url = "github:zbirenbaum/copilot.lua"; + flake = false; + }; + "nvim_plugin-folke/neodev.nvim" = { + url = "github:folke/neodev.nvim"; + flake = false; + }; + "nvim_plugin-Saecki/crates.nvim" = { + url = "github:Saecki/crates.nvim"; + flake = false; + }; + "nvim_plugin-lvimuser/lsp-inlayhints.nvim" = { + url = "github:lvimuser/lsp-inlayhints.nvim"; + flake = false; + }; + "nvim_plugin-rafamadriz/friendly-snippets" = { + url = "github:rafamadriz/friendly-snippets"; + flake = false; + }; }; outputs = { self, nixpkgs, ... }@inputs: @@ -56,53 +243,11 @@ overlays = [ (import inputs.rust-overlay) ]; pkgs = import nixpkgs { inherit system overlays; }; - # Plugins provided in nixpkgs, match the naming scheme above for keys - lazyPath = pkgs.vimPlugins.lazy-nvim; + lazyPath = inputs."nvim_plugin-folke/lazy.nvim"; nixPkgsPlugins = with pkgs.vimPlugins; { - "nvim_plugin-folke/lazy.nvim" = lazyPath; "nvim_plugin-nvim-treesitter/nvim-treesitter" = nvim-treesitter.withAllGrammars; - "nvim_plugin-nvim-lua/plenary.nvim" = plenary-nvim; - "nvim_plugin-catppuccin/nvim" = catppuccin-nvim; - "nvim_plugin-MunifTanjim/nui.nvim" = nui-nvim; - "nvim_plugin-rcarriga/nvim-notify" = nvim-notify; - "nvim_plugin-nvim-lualine/lualine.nvim" = lualine-nvim; - "nvim_plugin-folke/which-key.nvim" = which-key-nvim; - "nvim_plugin-nvim-telescope/telescope.nvim" = telescope-nvim; - "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim" = telescope-fzf-native-nvim; - "nvim_plugin-nvim-telescope/telescope-ui-select.nvim" = telescope-ui-select-nvim; - "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring" = nvim-ts-context-commentstring; - "nvim_plugin-preservim/nerdcommenter" = nerdcommenter; - "nvim_plugin-windwp/nvim-ts-autotag" = nvim-ts-autotag; - "nvim_plugin-rmagatti/auto-session" = auto-session; - "nvim_plugin-nvim-tree/nvim-web-devicons" = nvim-web-devicons; - "nvim_plugin-nvim-tree/nvim-tree.lua" = nvim-tree-lua; - "nvim_plugin-uga-rosa/ccc.nvim" = ccc-nvim; - "nvim_plugin-lewis6991/gitsigns.nvim" = gitsigns-nvim; - "nvim_plugin-sindrets/diffview.nvim" = diffview-nvim; - "nvim_plugin-RRethy/vim-illuminate" = vim-illuminate; - "nvim_plugin-lukas-reineke/indent-blankline.nvim" = indent-blankline-nvim; - "nvim_plugin-lnc3l0t/glow.nvim" = glow-nvim; - "nvim_plugin-Almo7aya/openingh.nvim" = openingh-nvim; - "nvim_plugin-tpope/vim-surround" = vim-surround; - "nvim_plugin-johmsalas/text-case.nvim" = text-case-nvim; - "nvim_plugin-mbbill/undotree" = undotree; - "nvim_plugin-tpope/vim-sleuth" = vim-sleuth; - "nvim_plugin-mfussenegger/nvim-lint" = nvim-lint; - "nvim_plugin-stevearc/conform.nvim" = conform-nvim; - "nvim_plugin-neovim/nvim-lspconfig" = nvim-lspconfig; - "nvim_plugin-hrsh7th/nvim-cmp" = nvim-cmp; - "nvim_plugin-L3MON4D3/LuaSnip" = luasnip; - "nvim_plugin-saadparwaiz1/cmp_luasnip" = cmp_luasnip; - "nvim_plugin-hrsh7th/cmp-nvim-lsp" = cmp-nvim-lsp; - "nvim_plugin-hrsh7th/cmp-path" = cmp-path; - "nvim_plugin-hrsh7th/cmp-buffer" = cmp-buffer; - "nvim_plugin-zbirenbaum/copilot-cmp" = copilot-cmp; - "nvim_plugin-zbirenbaum/copilot.lua" = copilot-lua; - "nvim_plugin-folke/neodev.nvim" = neodev-nvim; - "nvim_plugin-Saecki/crates.nvim" = crates-nvim; - "nvim_plugin-lvimuser/lsp-inlayhints.nvim" = lsp-inlayhints-nvim; - "nvim_plugin-rafamadriz/friendly-snippets" = friendly-snippets; }; + # This will be how we put any nix related stuff into our lua config luaNixGlobal = "NIX=" diff --git a/init.lua b/init.lua index 1ce9a03..103aee4 100644 --- a/init.lua +++ b/init.lua @@ -14,6 +14,8 @@ U = require("util") -- NOTE global U[til] require("options") require("keymaps") +-- print("IS NIX " .. tostring(NIX ~= nil)); + -- When using nix, it will set lazy via LAZY env variable. local lazypath = vim.env.LAZY or (vim.fn.stdpath("data") .. "/lazy/lazy.nvim") if not vim.loop.fs_stat(lazypath) then @@ -58,10 +60,11 @@ local function getSpec() local nixName = "nvim_plugin-" .. p[1] if not NIX.pluginPaths[nixName] then error("Plugin is missing in the nix store, ensure it is in the nix flake inputs: " .. p[1]) + return nil end p.dir = NIX.pluginPaths[nixName] p.name = p.name or p[1] - p.url = "not_used_in_nix" + p.url = nil p.pin = true if p.dependencies then p.dependencies = ensure_table(p.dependencies) @@ -77,22 +80,28 @@ local function getSpec() for _, file in ipairs(vim.fn.readdir(plugins_path, [[v:val =~ '\.lua$']])) do local plugin = string.sub(file, 0, -5) local converted = convertPluginToNixStore(require("plugins." .. plugin)) - table.insert(plugins, converted) + if converted ~= nil then + table.insert(plugins, converted) + end end return plugins else return { { import = "plugins" } } end end + +local s = getSpec() +-- vim.print(s) require("lazy").setup({ - spec = getSpec(), + spec = s, change_detection = { enabled = false, }, - + checker = { enabled = false }, defaults = { lazy = true, }, + rocks = { enabled = false }, }) vim.cmd("colorscheme catppuccin") diff --git a/lua/plugins/whichkey.lua b/lua/plugins/whichkey.lua index 4277601..d109b0e 100644 --- a/lua/plugins/whichkey.lua +++ b/lua/plugins/whichkey.lua @@ -1,32 +1,29 @@ return { - "folke/which-key.nvim", - event = "VeryLazy", - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 250 - end, - opts = { - window = { - border = "single", - winblend = 10, - }, - }, - config = function(_, opts) - local wk = require("which-key") - wk.setup(opts) - wk.register({ - ["b"] = { name = "Buffers", mode = { "n", "x", "v" } }, - ["t"] = { name = "Tabs", mode = { "n", "x", "v" } }, - [","] = { name = "Miscellaneous Tools", mode = { "n", "x", "v" } }, - -- ["c"] = { name = "Copilot" }, - ["f"] = { name = "Find [Telescope]", mode = { "n", "x", "v" } }, - -- ["fs"] = { name = "Find in Scratches [Telescope]" }, - ["g"] = { name = "Git", mode = { "n", "x", "v" } }, - ["l"] = { name = "LSP", mode = { "n", "x", "v" } }, - ["lf"] = { name = "LSP Find", mode = { "n", "x", "v" } }, - -- ["Q"] = { name = "+Q Quit and remove session" }, - -- ["s"] = { name = "Scratch Files" }, - -- ["x"] = { name = "Generative AI, Ollama" }, - }) - end, + "folke/which-key.nvim", + event = "VeryLazy", + init = function() + vim.o.timeout = true + vim.o.timeoutlen = 250 + end, + opts = { + preset = "helix", + win = { + wo = { + winblend = 8, + }, + }, + spec = { + { + mode = { "n", "v", "x" }, + { ",", group = "Miscellaneous Tools" }, + { "b", group = "Buffers" }, + { "f", group = "Find [Telescope]" }, + { "g", group = "Git" }, + { "l", group = "LSP" }, + { "lf", group = "LSP Find" }, + { "t", group = "Tabs" }, + }, + }, + }, + config = true, }