From 96e676112c5d223a7a81c65f8ed9ed4265af9d57 Mon Sep 17 00:00:00 2001 From: jasmine Date: Sun, 4 Aug 2024 22:21:23 +0800 Subject: [PATCH] :'( --- flake.lock | 385 +++++++++++++++++- flake.nix | 1 + home-manager/sajenim/features/cli/default.nix | 1 + home-manager/sajenim/features/cli/nvim.nix | 7 + .../sajenim/features/nvim/config/init.lua | 31 -- .../nvim/config/lua/configs/options.lua | 17 - .../nvim/config/lua/plugins/coding.lua | 207 ---------- .../nvim/config/lua/plugins/colorscheme.lua | 21 - .../nvim/config/lua/plugins/editor.lua | 97 ----- .../features/nvim/config/lua/plugins/ui.lua | 86 ---- .../sajenim/features/nvim/default.nix | 29 -- home-manager/sajenim/global/default.nix | 1 - 12 files changed, 374 insertions(+), 509 deletions(-) create mode 100644 home-manager/sajenim/features/cli/nvim.nix delete mode 100644 home-manager/sajenim/features/nvim/config/init.lua delete mode 100644 home-manager/sajenim/features/nvim/config/lua/configs/options.lua delete mode 100644 home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua delete mode 100644 home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua delete mode 100644 home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua delete mode 100644 home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua delete mode 100644 home-manager/sajenim/features/nvim/default.nix diff --git a/flake.lock b/flake.lock index 4a8f21b..58fe0d6 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1718371084, - "narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=", + "lastModified": 1722339003, + "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=", "owner": "ryantm", "repo": "agenix", - "rev": "3a56735779db467538fb2e577eda28a9daacaca6", + "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7", "type": "github" }, "original": { @@ -31,11 +31,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1720397980, - "narHash": "sha256-vI92Y+f4iTDsoy+xg0n0I/bIY1xatvZ807spIgTjTc0=", + "lastModified": 1722597419, + "narHash": "sha256-YbMzll0Dh2ln/TryDP+S3IGm8nRHkzcSQIubI4ZEOAw=", "owner": "oddlama", "repo": "agenix-rekey", - "rev": "c071067f7d972552f5170cf8665643ed0ec19a6d", + "rev": "126b4a5133eb361cbf5bf90e44c71b6f830845ec", "type": "github" }, "original": { @@ -52,11 +52,11 @@ ] }, "locked": { - "lastModified": 1717702314, - "narHash": "sha256-C0UwatW9w+wHCNedn6iWHbM3AxADZ2XK49sZfs4aUlM=", + "lastModified": 1720978971, + "narHash": "sha256-AtDyr1FjqoveFqgu9ebQHSzxu0tMgF2ejWBfiN4NKS4=", "ref": "refs/heads/main", - "rev": "824048e7503820d508f25d44ebe2570263a20d79", - "revCount": 11, + "rev": "79461e2bc663aed53dcadc2a40c181aad97cee8e", + "revCount": 14, "type": "git", "url": "https://codeberg.org/kampka/nix-flake-crowdsec.git" }, @@ -109,6 +109,28 @@ "type": "github" } }, + "devshell_2": { + "inputs": { + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", + "owner": "numtide", + "repo": "devshell", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -141,6 +163,60 @@ "type": "github" } }, + "flake-compat_3": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_3" @@ -194,6 +270,57 @@ "type": "github" } }, + "flake-utils_4": { + "inputs": { + "systems": "systems_6" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "nixvim-config", + "nixvim", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -216,6 +343,29 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "nixvim-config", + "nixvim", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -258,6 +408,28 @@ "type": "github" } }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722407237, + "narHash": "sha256-wcpVHUc2nBSSgOM7UJSpcRbyus4duREF31xlzHV5T+A=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "58cef3796271aaeabaed98884d4abaab5d9d162d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1719091691, @@ -273,6 +445,28 @@ "type": "github" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722082646, + "narHash": "sha256-od8dBWVP/ngg0cuoyEl/w9D+TCNDj6Kh4tr151Aax7w=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "0413754b3cdb879ba14f6e96915e5fdf06c6aab6", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix-minecraft": { "inputs": { "flake-compat": "flake-compat_2", @@ -280,11 +474,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1720402492, - "narHash": "sha256-yNR1XyrETihSjQqV8cKsXPkAc1B5LcFdWe2fFc5ehP8=", + "lastModified": 1722562463, + "narHash": "sha256-LctuHlTmJPqQna/3F10v4eNE8/KYh2bu0naEwalJ73o=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "9332af58a21aba1c5a7fe6a76d6ab48ac68339dc", + "rev": "6c5e8f138e4ba944f423850148651e00589dde73", "type": "github" }, "original": { @@ -309,6 +503,18 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1685801374, @@ -327,11 +533,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1722630782, + "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "d04953086551086b44b6f3c6b7eeb26294f207da", "type": "github" }, "original": { @@ -359,11 +565,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1720244366, - "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", + "lastModified": 1722651103, + "narHash": "sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj+FLI0KfybBeDU0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", + "rev": "a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51", "type": "github" }, "original": { @@ -373,6 +579,107 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1722630782, + "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d04953086551086b44b6f3c6b7eeb26294f207da", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1722185531, + "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "devshell": "devshell_2", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", + "home-manager": "home-manager_3", + "nix-darwin": "nix-darwin", + "nixpkgs": "nixpkgs_5", + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1722531900, + "narHash": "sha256-COtoy+Y/j2QLX818mRI7BweRJOltf0bndxbps/eoH0s=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "7c39d77b9f1fbcbd8f2a575c4f2948dd54efc5c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nixvim-config": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_4", + "nixvim": "nixvim" + }, + "locked": { + "lastModified": 1722777823, + "narHash": "sha256-3WtxsFjAYar8FOnFJinM6nE9itD3hqJ9erARfSB1WpQ=", + "ref": "refs/heads/master", + "rev": "46b72f24f9c64432a1c25e4010512458ce4f400f", + "revCount": 3, + "type": "git", + "url": "https://git.sajenim.dev/jasmine/nvim.nix.git" + }, + "original": { + "type": "git", + "url": "https://git.sajenim.dev/jasmine/nvim.nix.git" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722144272, + "narHash": "sha256-olZbfaEdd+zNPuuyYcYGaRzymA9rOmth8yXOlVm+LUs=", + "owner": "NuschtOS", + "repo": "search", + "rev": "16565307c267ec219c2b5d3494ba66df08e7d403", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -410,7 +717,8 @@ "impermanence": "impermanence", "nix-minecraft": "nix-minecraft", "nixpkgs": "nixpkgs_3", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-unstable": "nixpkgs-unstable", + "nixvim-config": "nixvim-config" } }, "systems": { @@ -487,6 +795,43 @@ "repo": "default", "type": "github" } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixvim-config", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722330636, + "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 60c78f9..78ce785 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,7 @@ # Add any other flake you might need. nix-minecraft.url = "github:Infinidoge/nix-minecraft"; + nixvim-config.url = "git+https://git.sajenim.dev/jasmine/nvim.nix.git"; }; outputs = { self, nixpkgs, home-manager, ... }@inputs: diff --git a/home-manager/sajenim/features/cli/default.nix b/home-manager/sajenim/features/cli/default.nix index 81c64bb..a829357 100644 --- a/home-manager/sajenim/features/cli/default.nix +++ b/home-manager/sajenim/features/cli/default.nix @@ -3,6 +3,7 @@ { imports = [ ./git.nix + # ./nvim.nix ./zsh.nix ]; diff --git a/home-manager/sajenim/features/cli/nvim.nix b/home-manager/sajenim/features/cli/nvim.nix new file mode 100644 index 0000000..4f8f3d2 --- /dev/null +++ b/home-manager/sajenim/features/cli/nvim.nix @@ -0,0 +1,7 @@ +{ inputs, system, ... }: + +{ + # Install our nixvim configuration for neovim. + home.packages = [ inputs.nixvim-config.packages.${system}.default ]; +} + diff --git a/home-manager/sajenim/features/nvim/config/init.lua b/home-manager/sajenim/features/nvim/config/init.lua deleted file mode 100644 index 3918bb8..0000000 --- a/home-manager/sajenim/features/nvim/config/init.lua +++ /dev/null @@ -1,31 +0,0 @@ --- --- Bootstrap lazy.nvim --- - -local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' -if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - 'git', - 'clone', - '--filter=blob:none', - 'https://github.com/folke/lazy.nvim.git', - '--branch=stable', -- latest stable release - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - - --- --- Load our configurations --- - -require('configs.options') - - --- --- Load our plugin specs --- - -require('lazy').setup('plugins') - diff --git a/home-manager/sajenim/features/nvim/config/lua/configs/options.lua b/home-manager/sajenim/features/nvim/config/lua/configs/options.lua deleted file mode 100644 index 4e498c6..0000000 --- a/home-manager/sajenim/features/nvim/config/lua/configs/options.lua +++ /dev/null @@ -1,17 +0,0 @@ --- Keybinds -vim.g.mapleader = ' ' - --- General -vim.opt.number = true -vim.opt.showmode = false -vim.opt.swapfile = false -vim.opt.clipboard = 'unnamedplus' - --- Tabs & spaces -vim.opt.tabstop = 2 -vim.opt.softtabstop = 2 -vim.opt.shiftwidth = 2 -vim.opt.expandtab = true -vim.opt.autoindent = true -vim.opt.copyindent = true - diff --git a/home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua deleted file mode 100644 index 11f9348..0000000 --- a/home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua +++ /dev/null @@ -1,207 +0,0 @@ -return { - -- - -- Ollama Workflows - -- - { - 'nomnivore/ollama.nvim', - dependencies = { - 'nvim-lua/plenary.nvim', - 'stevearc/dressing.nvim', - }, - - -- All the user commands added by the plugin - cmd = { "Ollama", "OllamaModel", "OllamaServe", "OllamaServeStop" }, - - keys = { - -- Sample keybind for prompt menu. Note that the is important for selections to work properly. - { - "oo", - ":lua require('ollama').prompt()", - desc = "ollama prompt", - mode = { "n", "v" }, - }, - - -- Sample keybind for direct prompting. Note that the is important for selections to work properly. - { - "oG", - ":lua require('ollama').prompt('Generate_Code')", - desc = "ollama Generate Code", - mode = { "n", "v" }, - }, - }, - - ---@type Ollama.Config - opts = { - model = "llama3:8b", - } - }, - - -- - -- LSP Configuration - -- - - { - 'neovim/nvim-lspconfig', - event = { 'BufReadPost', 'BufNewFile' }, - dependencies = { - 'hrsh7th/nvim-cmp', -- Autocompletion plugin - 'hrsh7th/cmp-nvim-lsp', -- LSP source for nvim-cmp - 'saadparwaiz1/cmp_luasnip', -- Snippets source for nvim-cmp - 'L3MON4D3/LuaSnip', -- Snippets plugin - }, - config = function () - -- - -- Setup language servers. - -- - - local lspconfig = require('lspconfig') - - -- Lua - lspconfig.lua_ls.setup { - on_init = function(client) - local path = client.workspace_folders[1].name - if not vim.loop.fs_stat(path..'/.luarc.json') and not vim.loop.fs_stat(path..'/.luarc.jsonc') then - client.config.settings = vim.tbl_deep_extend('force', client.config.settings, { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using - -- (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT' - }, - -- Make the server aware of Neovim runtime files - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME - -- "${3rd}/luv/library" - -- "${3rd}/busted/library", - } - -- or pull in all of 'runtimepath'. NOTE: this is a lot slower - -- library = vim.api.nvim_get_runtime_file("", true) - } - } - }) - - client.notify("workspace/didChangeConfiguration", { settings = client.config.settings }) - end - return true - end - } - - -- Haskell - lspconfig.hls.setup{ - filetypes = { 'haskell', 'lhaskell', 'cabal' }, - } - - -- Nix - lspconfig.nil_ls.setup{} - - -- C - lspconfig.clangd.setup{} - - -- YAML - lspconfig.yamlls.setup{} - - -- - -- Global mappings - -- - - -- See `:help vim.diagnostic.*` for documentation on any of the below functions - vim.keymap.set('n', 'e', vim.diagnostic.open_float) - vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) - vim.keymap.set('n', ']d', vim.diagnostic.goto_next) - vim.keymap.set('n', 'q', vim.diagnostic.setloclist) - - -- Use LspAttach autocommand to only map the following keys - -- after the language server attaches to the current buffer - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('UserLspConfig', {}), - callback = function(ev) - -- Buffer local mappings. - -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = { buffer = ev.buf } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, opts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) - vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, opts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) - vim.keymap.set('n', 'f', function() - vim.lsp.buf.format { async = true } - end, opts) - end, - }) - - - -- - -- Autocompletion - -- - - -- Add additional capabilities supported by nvim-cmp - local capabilities = require("cmp_nvim_lsp").default_capabilities() - - -- Enable some language servers with the additional completion capabilities offered by nvim-cmp - local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver' } - for _, lsp in ipairs(servers) do - lspconfig[lsp].setup { - -- on_attach = my_custom_on_attach, - capabilities = capabilities, - } - end - - -- luasnip setup - local luasnip = require 'luasnip' - - -- nvim-cmp setup - local cmp = require 'cmp' - cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), -- Up - [''] = cmp.mapping.scroll_docs(4), -- Down - -- C-b (back) C-f (forward) for snippet placeholder navigation. - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }, - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { 'i', 's' }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { 'i', 's' }), - }), - sources = { - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - }, - } - end - }, -} - diff --git a/home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua deleted file mode 100644 index ef5101d..0000000 --- a/home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,21 +0,0 @@ -return { - -- - -- Modified version of gruvbox - -- - - { - 'sainnhe/gruvbox-material', - lazy = false, - priority = 1000, - config = function() - vim.o.termguicolors = true - vim.o.background = 'dark' - - vim.g.gruvbox_material_background = 'hard' - vim.g.gruvbox_material_better_performance = 1 - - vim.cmd([[colorscheme gruvbox-material]]) - end, - }, -} - diff --git a/home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua deleted file mode 100644 index 71cdc68..0000000 --- a/home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua +++ /dev/null @@ -1,97 +0,0 @@ -return { - -- - -- Treesitter - -- - - { - 'nvim-treesitter/nvim-treesitter', - build = ":TSUpdate", - config = function() - local configs = require('nvim-treesitter.configs') - - configs.setup({ - auto_install = true, - highlight = { enable = true }, - indent = { enable = true }, - }) - end - }, - - - -- - -- Fuzzy Finder - -- - - { - 'nvim-telescope/telescope.nvim', - tag = '0.1.3', - dependencies = { - 'nvim-lua/plenary.nvim', - 'nvim-tree/nvim-web-devicons', - }, - keys = { - { 'ff', 'Telescope find_files', desc = 'Find Files' }, - { 'fg', 'Telescope live_grep' , desc = 'Live Grep' }, - { 'fb', 'Telescope buffers' , desc = 'Buffers' }, - { 'fh', 'Telescope help_tags' , desc = 'Help Tags' }, - }, - config = function() - require('telescope').setup() - end - }, - - - -- - -- Commenting - -- - - { - 'numToStr/Comment.nvim', - config = function() - require('Comment').setup() - end - }, - - - -- - -- Git Commands - -- - - { - 'kdheepak/lazygit.nvim', - dependencies = { - 'nvim-lua/plenary.nvim' - }, - keys = { - { 'gg', 'LazyGit', desc = 'LazyGit' }, - } - }, - - - -- - -- Display Keybindings - -- - - { - 'folke/which-key.nvim', - event = 'VeryLazy', - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 300 - end, - opts = { }, - }, - - -- - -- Delete Buffers - -- - { - 'famiu/bufdelete.nvim', - cmd = { 'Bdelete', 'Bwipeout' }, - keys = { - { 'bd', 'Bdelete', desc = 'Buffer Delete' }, - { 'bw', 'Bwipeout', desc = 'Buffer Wipeout' }, - }, - }, -} - diff --git a/home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua deleted file mode 100644 index 48f3ba0..0000000 --- a/home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua +++ /dev/null @@ -1,86 +0,0 @@ -return { - -- - -- File explorer - -- - - { - 'nvim-neo-tree/neo-tree.nvim', - dependencies = { - 'nvim-lua/plenary.nvim', - 'nvim-tree/nvim-web-devicons', - 'MunifTanjim/nui.nvim', - }, - keys = { - { '\\', 'Neotree reveal', desc = 'Neotree' }, - }, - }, - - - -- - -- Statusline - -- - - { - 'nvim-lualine/lualine.nvim', - event = 'VeryLazy', - dependencies = { - 'nvim-tree/nvim-web-devicons', - }, - - config = function() - -- Define a function to check that ollama is installed and working - local function get_condition() - return package.loaded["ollama"] and require("ollama").status ~= nil - end - - - -- Define a function to check the status and return the corresponding icon - local function get_status_icon() - local status = require("ollama").status() - - if status == "IDLE" then - return "OLLAMA IDLE" - elseif status == "WORKING" then - return "OLLAMA BUSY" - end - end - - require('lualine').setup { - options = { - icons_enabled = true, - theme = 'gruvbox-material', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, - globalstatus = true, - extensions = { - 'neotree' - }, - }, - tabline = { - lualine_a = {'buffers'}, - }; - sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = { { 'filename', path = 1 } }, - lualine_x = { get_status_icon, get_condition, 'encoding', 'fileformat', 'filetype' }, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - } - end, - }, - - - -- - -- Git decorations - -- - - { - 'lewis6991/gitsigns.nvim', - config = function() - require('gitsigns').setup() - end - }, -} - diff --git a/home-manager/sajenim/features/nvim/default.nix b/home-manager/sajenim/features/nvim/default.nix deleted file mode 100644 index aef7f51..0000000 --- a/home-manager/sajenim/features/nvim/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ pkgs, ... }: - -{ - programs.neovim = { - enable = true; - #package = pkgs.neovim-nightly; - defaultEditor = true; - extraPackages = with pkgs; [ - # Required for nvim-treesitter - gcc - # Required for telescope.nvim - fd - ripgrep - # Required for markdown-preview.nvim - nodejs - yarn - # Language server packages - nil - haskell-language-server - lua-language-server - clang-tools - yaml-language-server - ]; - }; - - home.persistence."/persist/home/sajenim".directories = [ ".local/share/nvim" ]; - - xdg.configFile.nvim = { source = ./config; recursive = true; }; -} diff --git a/home-manager/sajenim/global/default.nix b/home-manager/sajenim/global/default.nix index a7ebc89..0d75824 100644 --- a/home-manager/sajenim/global/default.nix +++ b/home-manager/sajenim/global/default.nix @@ -2,7 +2,6 @@ imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ../features/cli - ../features/nvim ]; nixpkgs = {