diff options
27 files changed, 386 insertions, 678 deletions
@@ -1,6 +1,3 @@ ```bash stow -v -t ~ nix nixpkgs - -# If you want my neovim config, then also # -stow -v -t ~ nvim ``` diff --git a/nixpkgs/.config/nixpkgs/common/bg.sh b/nixpkgs/.config/nixpkgs/common/bg.sh index 9bcefa6..036d2da 100755 --- a/nixpkgs/.config/nixpkgs/common/bg.sh +++ b/nixpkgs/.config/nixpkgs/common/bg.sh @@ -1,12 +1,23 @@ #!/bin/sh +pkill wbg || echo "No wbg process was running." + WALLPAPERS_HOME=${1:-$HOME/pics/wallpapers} # Get a random image file from the dir. RAND_BG=$(find "$WALLPAPERS_HOME" -type f -name "*.jpeg" -o -name "*.jpg" -o -name "*.png" | shuf | head -n1) -# Set the image file as the background. -(command -v wbg > /dev/null || (echo "wbg is not installed." && exit 1) && \ - # else - notify-send "Set background." && wbg "${RAND_BG}" -) +# Store the chosen bg +cp -a ${RAND_BG} /tmp/bg + +WBG_PATH="$(command -v wbg || echo $HOME/.nix-profile/bin/wbg)" +echo "WBG is $WBG_PATH" + +if [[ ! -f "$WBG_PATH" ]]; then + ehco "WBG is not installed. Exiting." + exit 1 +else + # Set the image file as the background. + notify-send "Setting background." + "${WBG_PATH}" "${RAND_BG}" & +fi diff --git a/nixpkgs/.config/nixpkgs/common/dwl_4/config.h b/nixpkgs/.config/nixpkgs/common/dwl_4/config.h index d5107e2..b0ef901 100644 --- a/nixpkgs/.config/nixpkgs/common/dwl_4/config.h +++ b/nixpkgs/.config/nixpkgs/common/dwl_4/config.h @@ -115,12 +115,12 @@ static const char *volup[] = { "amixer", "set", "Master", "10%+", NULL }; static const char *brightdown[] = { "light", "-U", "10", NULL }; static const char *brightup[] = { "light", "-A", "10", NULL }; static const char *hibernatecmd[] = { "systemctl", "hibernate", NULL }; -static const char *lockcmd[] = { "waylock", NULL }; +static const char *lockcmd[] = { "swaylock", "-i", "/tmp/bg", NULL }; static const char scrotcmd[] = "slurp | \ grim -g - - | \ - wl-copy && \ + wl-copy --type image && \ notify-send 'Copied selection to clipboard!' && \ - wl-paste > $HOME/pics/$(date +'%Y-%m-%d-%H%M%S_grim.png')"; + wl-paste --type image > $HOME/pics/$(date +'%Y-%m-%d-%H%M%S_grim.png')"; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ @@ -155,6 +155,7 @@ static const Key keys[] = { { 0, XKB_KEY_XF86MonBrightnessDown, spawn, {.v = brightdown} }, { 0, XKB_KEY_XF86MonBrightnessUp, spawn, {.v = brightup} }, { 0, XKB_KEY_Print, spawn, SHCMD(scrotcmd) }, + { 0, XKB_KEY_F1, spawn, SHCMD(scrotcmd) }, { MODKEY, XKB_KEY_Delete, spawn, {.v = lockcmd} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Delete, spawn, {.v = hibernatecmd} }, TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0), diff --git a/nixpkgs/.config/nixpkgs/common/nvim/init.vim b/nixpkgs/.config/nixpkgs/common/nvim/init.vim new file mode 100644 index 0000000..d733e83 --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/init.vim @@ -0,0 +1,39 @@ +nnoremap <SPACE> <Nop> +let mapleader = " " +colorscheme tokyonight-moon +set number relativenumber + +" Keymaps +" save +nmap <Leader>, :w<cr> +" exit to normal mode +inoremap jk <Esc> +" Toggle line chars view +noremap <Leader>l :set list!<CR> + +" Telescope Keymaps +map <Leader><Space> :Telescope find_files<CR> +map <Leader>/ :Telescope live_grep<CR> +map <Leader>g :Telescope git_files<CR> +map <Leader>: :Telescope command_history<CR> + +" Indent blocks in visual mode. +vnoremap K xkP`[V`] +vnoremap J xp`[V`] +vnoremap L >gv +vnoremap H <gv + +" Move beteween splits +map <C-j> <C-W>j +map <C-k> <C-W>k +map <C-h> <C-W>h +map <C-l> <C-W>l + +" Start n³ in the current buffers directory +let g:nnn#action = { + \ '<c-t>': 'tab split', + \ '<c-s>': 'split', + \ '<c-v>': 'vsplit' } +nnoremap <Leader>n :NnnPicker %:p:h<CR> + +autocmd BufRead,BufNewFile *.yaml set filetype=yaml.ansible diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua new file mode 100644 index 0000000..425b8cf --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua @@ -0,0 +1,5 @@ +vim.opt.listchars:append "eol:ā“" + +require("indent_blankline").setup { + show_end_of_line = true, +} diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua new file mode 100644 index 0000000..c0aeeef --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua @@ -0,0 +1 @@ +require('leap').add_default_mappings() diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua new file mode 100644 index 0000000..5fc6857 --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua @@ -0,0 +1,145 @@ +local servers = {'ansiblels', 'dockerls', 'pylsp', 'bashls', 'jsonls'} +require('nvim-autopairs').setup({ + disable_filetype = { "TelescopePrompt" , "vim" }, +}) +require("mason").setup() +require("mason-lspconfig").setup { + ensure_installed = servers +} +require("neoconf").setup() + +local cmp = require('cmp') +local cmp_nvim_lsp = require('cmp_nvim_lsp') +local cmp_autopairs = require('nvim-autopairs.completion.cmp') +local luasnip = require('luasnip') +local lspconfig = require('lspconfig') + +local capabilities = cmp_nvim_lsp.default_capabilities() + +local opts = { noremap=true, silent=true } +--vim.keymap.set('n', '<space>le', vim.diagnostic.open_float, opts) +vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) +vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) +--vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) +vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", opts) +vim.keymap.set("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", opts) +vim.keymap.set("n", "<leader>xe", "<cmd>TroubleToggle document_diagnostics<cr>", opts) +vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", opts) +vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", opts) +vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", opts) + +local on_attach = function(client, bufnr) + -- Mappings. + local bufopts = { noremap=true, silent=true, buffer=bufnr } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) + vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts) + vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts) + vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts) + vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) + vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts) +end + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete(), + ['<C-e>'] = cmp.mapping.abort(), + ['<CR>'] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = true + }), + ['<Tab>'] = 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' }), + ['<S-Tab>'] = 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 = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + }, { + { name = 'buffer' }, + }) +}) + +cmp.event:on( + 'confirm_done', + cmp_autopairs.on_confirm_done() +) + +local settings = { + pylsp = { + pylsp = { + plugins = { + autopep8 = { enabled = false }, + flake8 = { enabled = false }, + pycodestyle = { enabled = false }, + pydocstyle = { enabled = false }, + pyflakes = { enabled = false }, + yapf = { enabled = false }, + pylint = { enabled = false }, + black = { enabled = false }, + } + } + }, + bashls = {}, + ansiblels = { + ansible = { + ansible = { + useFullyQualifiedCollectionNames = false + }, + python = { + activationScript = "~/.venv/ansible/bin/activate" + + }, + completion = { + provideRedirectModules = true, + provideModuleOptionAliases = true + }, + validation = { + enabled = true, + lint = { + enabled = true, + arguments = "-c ansible-lint.yaml" + } + } + } + } +} + +for _,lsp in ipairs(servers) do + lspconfig[lsp].setup{ + on_attach = on_attach, + capabilities = capabilities, + settings = settings[lsp], + } +end + +require("luasnip.loaders.from_vscode").lazy_load() diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua new file mode 100644 index 0000000..90e6db2 --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua @@ -0,0 +1 @@ +require('lualine').setup() diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua new file mode 100644 index 0000000..97ef563 --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua @@ -0,0 +1,16 @@ +local telescope = require('telescope') +local actions = require('telescope.actions') + +local trouble = require("trouble.providers.telescope") + +telescope.setup { + defaults = { + file_ignore_patterns = { "^.git/" }, + mappings = { + i = { ["<c-t>"] = trouble.open_with_trouble }, + n = { ["<c-t>"] = trouble.open_with_trouble }, + }, + }, +} + +telescope.load_extension('fzf') diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua new file mode 100644 index 0000000..cf7a27b --- /dev/null +++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua @@ -0,0 +1,3 @@ +require('trouble').setup { + use_diagnostic_signs = true +} diff --git a/nixpkgs/.config/nixpkgs/common/start.sh b/nixpkgs/.config/nixpkgs/common/start.sh index 3dd6cf0..9bf656e 100755 --- a/nixpkgs/.config/nixpkgs/common/start.sh +++ b/nixpkgs/.config/nixpkgs/common/start.sh @@ -14,5 +14,7 @@ sleep 1 exec mako & +sleep 1 + # set bg exec ./bg.sh & diff --git a/nixpkgs/.config/nixpkgs/flake.lock b/nixpkgs/.config/nixpkgs/flake.lock index 93e170d..e1301b2 100644 --- a/nixpkgs/.config/nixpkgs/flake.lock +++ b/nixpkgs/.config/nixpkgs/flake.lock @@ -4,15 +4,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1678019241, - "narHash": "sha256-ntj0u3guaIu9dT8aZ3HtnEVhIsibtM7EaG/2VteKaTw=", + "lastModified": 1682072616, + "narHash": "sha256-sR5RL3LACGuq5oePcAoJ/e1S3vitKQQSNACMYmqIE1E=", "owner": "nix-community", "repo": "home-manager", - "rev": "e314f6cf211e480ab8fa101a017e593a9bb9f21b", + "rev": "47d6c3f65234230d37f1cf7d3d6b5575ec80fe0c", "type": "github" }, "original": { @@ -23,11 +22,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1678095239, - "narHash": "sha256-4F6jovFJcwh6OkMsY94ZrHdrvVqZi1FX5pYv6V9LIQw=", + "lastModified": 1680876084, + "narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f6610997b0fc5ea5f9e142c348fca27497efe1c7", + "rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2", "type": "github" }, "original": { @@ -39,11 +38,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677932085, - "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", + "lastModified": 1681920287, + "narHash": "sha256-+/d6XQQfhhXVfqfLROJoqj3TuG38CAeoT6jO1g9r1k0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", + "rev": "645bc49f34fa8eff95479f0345ff57e55b53437e", "type": "github" }, "original": { @@ -59,21 +58,6 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs" } - }, - "utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix b/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix index 53c4819..abc71e5 100644 --- a/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix +++ b/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix @@ -23,6 +23,12 @@ search = "nix search nixpkgs $@"; conf = "ranger ~/.config/nixpkgs/common/"; up = "home-manager switch"; + k9s = "docker run --rm -it -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s"; + b = "ssh kdamani@burne.sat"; + auto = "ssh kepler@auto.sat"; + dns = "ssh administrator@ctrlf-dns"; + pyans = "source ~/.venv/ansible/bin/activate"; + pykep36 = "source ~/.venv/kepler36/bin/activate"; }; zplug = { enable = true; @@ -32,13 +38,23 @@ ]; }; }; - programs.tmux = { + programs.tmux = { enable = true; clock24 = true; shell = "${pkgs.zsh}/bin/zsh"; prefix = "C-a"; terminal = "screen-256color"; keyMode = "vi"; + plugins = with pkgs; [ + tmuxPlugins.sensible + { + plugin = tmuxPlugins.resurrect; + extraConfig = "set -g @resurrect-strategy-nvim 'session'"; + } + tmuxPlugins.pain-control + tmuxPlugins.yank + ]; + sensibleOnTop = true; }; programs.git = { enable = true; @@ -48,45 +64,90 @@ lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; }; }; + programs.neovim = { + enable = true; + withPython3 = false; + withRuby = true; + withNodeJs = true; + vimdiffAlias = true; + plugins = with pkgs.vimPlugins; [ + tokyonight-nvim + nvim-treesitter.withAllGrammars + nvim-autopairs + nvim-cmp + nvim-web-devicons + nnn-vim + luasnip + cmp_luasnip + cmp-nvim-lsp + friendly-snippets + { + plugin = indent-blankline-nvim-lua; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/indent-blankline.lua); + } + { + plugin = lualine-nvim; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/lualine.lua); + } + { + plugin = trouble-nvim; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/trouble.lua); + } + { + plugin = telescope-nvim; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/telescope.lua); + } + telescope-fzf-native-nvim + { + plugin = leap-nvim; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/leap.lua); + } + mason-nvim + mason-lspconfig-nvim + neoconf-nvim + { + plugin = nvim-lspconfig; + type = "lua"; + config = builtins.readFile(../../common/nvim/plugins/lspconfig.lua); + } + ]; + extraConfig = builtins.readFile ../../common/nvim/init.vim; + }; home.stateVersion = "22.11"; - home.packages = [ + home.packages = with pkgs; [ # Window environment - (pkgs.dwl.override { - # trying to supply config.home.homeDirectory here leads to "impure" usage. - # so disabling it for now - # conf = (builtins.readFile "${config.home.homeDirectory}/.config/dwl/config.h"); - conf = ../../common/dwl_4/config.h; - }) pkgs.somebar pkgs.foot - pkgs.wofi pkgs.wl-clipboard pkgs.wf-recorder pkgs.grim pkgs.slurp - pkgs.polkit - pkgs.light pkgs.wbg # Text Editors - pkgs.neovim + #pkgs.neovim # Browsers pkgs.firefox pkgs.brave # File Managers pkgs.ranger - pkgs.pcmanfm - pkgs.gvfs + pkgs.nnn # Fonts pkgs.noto-fonts - #pkgs.nerdfonts + pkgs.nerdfonts pkgs.hack-font # Notifications pkgs.mako pkgs.libnotify # Image viewer pkgs.imv + pkgs.sxiv # Video player pkgs.mpv # Pdf Viewer @@ -95,7 +156,11 @@ pkgs.acpi # Other stuff pkgs.entr - pkgs.clang + pkgs.gcc + #stdenv.cc.cc.lib + #pkgs.libstdcxx5 + #llvmPackages_6.libstdcxxClang + #pkgs.clang pkgs.gnumake pkgs.neofetch pkgs.trash-cli @@ -106,7 +171,14 @@ pkgs.unzip pkgs.nodejs pkgs.cargo - + pkgs.wget + pkgs.lazygit + #pkgs.tree-sitter + # Work stuff + pkgs.mattermost-desktop + pkgs.signal-desktop + pkgs.wev + pkgs.sshpass ]; fonts.fontconfig.enable = true; @@ -117,6 +189,61 @@ enableSshSupport = true; }; + systemd.user.services = { + nextcloud-sync = { + Unit = { + Description = "Auto sync Nextcloud"; + After = "network-online.target"; + }; + Service = { + Type = "simple"; + EnvironmentFile = "${config.home.homeDirectory}/.nextcloud.env"; + ExecStart = '' + ${pkgs.nextcloud-client}/bin/nextcloudcmd \ + -h --non-interactive \ + --user "''${NEXTCLOUD_USER}" \ + --password "''${NEXTCLOUD_PASSWORD}" \ + ''${NEXTCLOUD_DIR} \ + ''${NEXTCLOUD_URL} + ''; + TimeoutStopSec = "180"; + KillMode = "process"; + KillSignal = "SIGINT"; + }; + Install.WantedBy = ["multi-user.target"]; + }; + bg-wallpaper = { + Unit = { + Description = "Auto refresh wallpaper"; + After = "network-online.target"; + }; + Service = { + Type = "simple"; + ExecStart = "${config.home.homeDirectory}/bg.sh"; + TimeoutStopSec = "10"; + KillMode = "process"; + KillSignal = "SIGKILL"; + }; + Install.WantedBy = ["multi-user.target"]; + }; + }; + systemd.user.timers = { + nextcloud-sync = { + Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 10 minutes"; + Timer.OnUnitActiveSec = "10min"; + Install.WantedBy = ["multi-user.target" "timers.target"]; + }; + }; + systemd.user.timers = { + bg-wallpaper = { + Unit.Description = "Automatic update of wallpaper"; + Timer.OnUnitActiveSec = "10min"; + Install.WantedBy = ["multi-user.target" "timers.target"]; + }; + }; + systemd.user.startServices = true; + + # Source app specific configs home.file."bg.sh".source = ../../common/bg.sh; home.file."start.sh".source = ../../common/start.sh; diff --git a/nvim/.config/nvim/.gitignore b/nvim/.config/nvim/.gitignore deleted file mode 100644 index cc5457a..0000000 --- a/nvim/.config/nvim/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -tt.* -.tests -doc/tags -debug -.repro -foo.* -*.log -data diff --git a/nvim/.config/nvim/.neoconf.json b/nvim/.config/nvim/.neoconf.json deleted file mode 100644 index 7c48087..0000000 --- a/nvim/.config/nvim/.neoconf.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "neodev": { - "library": { - "enabled": true, - "plugins": true - } - }, - "neoconf": { - "plugins": { - "lua_ls": { - "enabled": true - } - } - } -} diff --git a/nvim/.config/nvim/LICENSE b/nvim/.config/nvim/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/nvim/.config/nvim/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/nvim/.config/nvim/README.md b/nvim/.config/nvim/README.md deleted file mode 100644 index 185280b..0000000 --- a/nvim/.config/nvim/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# š¤ LazyVim - -A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). -Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua deleted file mode 100644 index 2514f9e..0000000 --- a/nvim/.config/nvim/init.lua +++ /dev/null @@ -1,2 +0,0 @@ --- bootstrap lazy.nvim, LazyVim and your plugins -require("config.lazy") diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json deleted file mode 100644 index 61ea705..0000000 --- a/nvim/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" }, - "LuaSnip": { "branch": "master", "commit": "bc8ec05022743d3f08bda7a76c6bb5e9a9024581" }, - "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, - "bufferline.nvim": { "branch": "main", "commit": "ef4fdc5cea3473801dce89b5fdfe633380c80c65" }, - "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, - "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, - "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, - "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, - "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" }, - "mason.nvim": { "branch": "main", "commit": "489f22baed01c28e4b5ee163d36063f0db71346e" }, - "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, - "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, - "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, - "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, - "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, - "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" }, - "neoconf.nvim": { "branch": "main", "commit": "6aaeb48336b369d7ed8ef243bfd0d76ec79362cd" }, - "neodev.nvim": { "branch": "main", "commit": "864b35006d3de24c60e44b566de8018f919b13e6" }, - "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, - "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, - "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, - "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, - "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" }, - "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, - "nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" }, - "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, - "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, - "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, - "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, - "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, - "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, - "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, - "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "6580cf539c33a212f4f5542068a3b4dd2b3ad834" }, - "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" } -}
\ No newline at end of file diff --git a/nvim/.config/nvim/lua/config/autocmds.lua b/nvim/.config/nvim/lua/config/autocmds.lua deleted file mode 100644 index 27e9e06..0000000 --- a/nvim/.config/nvim/lua/config/autocmds.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Autocmds are automatically loaded on the VeryLazy event --- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua --- Add any additional autocmds here diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua deleted file mode 100644 index 2c134f7..0000000 --- a/nvim/.config/nvim/lua/config/keymaps.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Keymaps are automatically loaded on the VeryLazy event --- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua --- Add any additional keymaps here diff --git a/nvim/.config/nvim/lua/config/lazy.lua b/nvim/.config/nvim/lua/config/lazy.lua deleted file mode 100644 index 891b190..0000000 --- a/nvim/.config/nvim/lua/config/lazy.lua +++ /dev/null @@ -1,46 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - -- bootstrap lazy.nvim - -- stylua: ignore - vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) -end -vim.opt.rtp:prepend(vim.env.LAZY or lazypath) - -require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- import/override with your plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - }, - install = { colorscheme = { "tokyonight", "habamax" } }, - checker = { enabled = true }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, -}) diff --git a/nvim/.config/nvim/lua/config/options.lua b/nvim/.config/nvim/lua/config/options.lua deleted file mode 100644 index 3ea1454..0000000 --- a/nvim/.config/nvim/lua/config/options.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Options are automatically loaded before lazy.nvim startup --- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua --- Add any additional options here diff --git a/nvim/.config/nvim/lua/plugins/example.lua b/nvim/.config/nvim/lua/plugins/example.lua deleted file mode 100644 index 39f342f..0000000 --- a/nvim/.config/nvim/lua/plugins/example.lua +++ /dev/null @@ -1,267 +0,0 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - --- every spec file under config.plugins will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { - -- add gruvbox - { "ellisonleao/gruvbox.nvim" }, - - -- Configure LazyVim to load gruvbox - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - }, - - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- disable trouble - { "folke/trouble.nvim", enabled = false }, - - -- add symbols-outline - { - "simrat39/symbols-outline.nvim", - cmd = "SymbolsOutline", - keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, - config = true, - }, - - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) - end, - }, - - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "<leader>fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add telescope-fzf-native - { - "telescope.nvim", - dependencies = { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - config = function() - require("telescope").load_extension("fzf") - end, - }, - }, - - -- add pyright to lspconfig - { - "neovim/nvim-lspconfig", - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig - pyright = {}, - }, - }, - }, - - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "help", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - -- add tsx and treesitter - vim.list_extend(opts.ensure_installed, { - "tsx", - "typescript", - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "š") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - - -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - - -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, - - -- Use <tab> for completion and snippets (supertab) - -- first: disable default <tab> and <s-tab> behavior in LuaSnip - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, - -- then: setup supertab in cmp - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", - }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - local luasnip = require("luasnip") - local cmp = require("cmp") - - opts.mapping = vim.tbl_extend("force", opts.mapping, { - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- they way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = 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" }), - }) - end, - }, -} diff --git a/nvim/.config/nvim/spell/en.utf-8.add b/nvim/.config/nvim/spell/en.utf-8.add deleted file mode 100644 index 888c537..0000000 --- a/nvim/.config/nvim/spell/en.utf-8.add +++ /dev/null @@ -1,17 +0,0 @@ -NixOS -FOMO -Ansible -wifi -Manjaro -unixporn -TTY -config -hostname -Init -hostnames -configs -init -dwl -nixpkgs -iso -Xorg diff --git a/nvim/.config/nvim/spell/en.utf-8.add.spl b/nvim/.config/nvim/spell/en.utf-8.add.spl Binary files differdeleted file mode 100644 index 22c9bc7..0000000 --- a/nvim/.config/nvim/spell/en.utf-8.add.spl +++ /dev/null diff --git a/nvim/.config/nvim/stylua.toml b/nvim/.config/nvim/stylua.toml deleted file mode 100644 index 5d6c50d..0000000 --- a/nvim/.config/nvim/stylua.toml +++ /dev/null @@ -1,3 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 -column_width = 120
\ No newline at end of file |
