diff --git a/hosts/fili/services/forgejo.nix b/hosts/fili/services/forgejo.nix index 7bb631d..550d386 100644 --- a/hosts/fili/services/forgejo.nix +++ b/hosts/fili/services/forgejo.nix @@ -153,6 +153,7 @@ # flakes.deploy.defaultPackage."x86_64-linux" lix openssh + mosh ]; }; }; diff --git a/programs/nvim/config.lua b/programs/nvim/config.lua index d2e686d..749e528 100644 --- a/programs/nvim/config.lua +++ b/programs/nvim/config.lua @@ -12,7 +12,7 @@ vim.filetype.add({ local keymap = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } local builtin = require('telescope.builtin') - + -- comment local esc = vim.api.nvim_replace_termcodes( '', true, false, true @@ -26,28 +26,16 @@ vim.keymap.set("x", "", function() api.toggle.linewise(vim.fn.visualmode()) end, { remap = true }) - +vim.cmd([[ + inoremap FloatermToggle + nnoremap FloatermToggle + tnoremap FloatermToggle +]]) vim.keymap.set('n', 'gr', (function() builtin.lsp_references({}) end), {}) vim.keymap.set('n', 'gd', (function() builtin.lsp_definitions({}) end), {}) vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({}) end), {}) vim.keymap.set('n', 'gi', (function() builtin.lsp_implementations({}) end), {}) --- vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {}) - - - --- local function close_floating() --- for _, win in ipairs(vim.api.nvim_list_wins()) do --- local config = vim.api.nvim_win_get_config(win) --- if config.relative ~= "" then --- vim.api.nvim_win_close(win, false) --- end --- end --- end --- --- vim.keymap.set("n", "", close_floating, { desc = "Close floats, clear highlights" }) - -local builtin = require('telescope.builtin') vim.keymap.set("n", "x", require("telescope.builtin").resume, { noremap = true, @@ -55,11 +43,35 @@ vim.keymap.set("n", "x", require("telescope.builtin").resume, { desc = "Resume", }) +require("telescope").setup { + extensions = { + file_browser = { + hijack_netrw = true, + }, + }, +} +require("telescope").load_extension "file_browser" + -- local gitsigns = require('gitsigns') -- vim.keymap.set('n', 'gr', gitsigns.reset_hunk) -- vim.keymap.set('n', 'gd', gitsigns.diffthis) -- vim.keymap.set({'o', 'x'}, 'ig', ':Gitsigns select_hunk') +-- leap +leap = require('leap') +vim.keymap.set({'n', 'x', 'o'}, 's', '(leap)') +vim.keymap.set({'n', 'x', 'o'}, 'S', function() + require('leap.treesitter').select { + opts = require('leap.user').with_traversal_keys('S', 's') + } +end) +leap.opts.preview = function(ch0, ch1, ch2) + return not ( + ch1:match('%s') + or (ch0:match('%a') and ch1:match('%a') and ch2:match('%a')) + ) +end +leap.opts.labels = '' -- better search vim.cmd([[ @@ -94,12 +106,6 @@ vim.cmd([[ nnoremap g* g*zz ]]) -vim.cmd([[ - inoremap FloatermToggle - nnoremap FloatermToggle - tnoremap FloatermToggle -]]) - vim.cmd([[ let g:suda_smart_edit = 1 filetype plugin indent on @@ -112,10 +118,11 @@ vim.g.VM_mouse_mappings = 1 vim.g.VM_reselect_first = 1 vim.g.VM_notify_previously_selected = 1 vim.g.VM_theme = "iceblue" --- vim.g.VM_maps["Undo"] = 'u' --- vim.g.VM_maps["Redo"] = '' - +vim.cmd([[ + command Cdc cd %:p:h + command Ddr cd %:h | cd `git rev-parse --show-toplevel` +]]) -- workaround for rust-analyzer server cancelled request for _, method in ipairs { 'textDocument/diagnostic', 'workspace/diagnostic' } do diff --git a/programs/nvim/default.nix b/programs/nvim/default.nix index 4fabc34..b8c6151 100644 --- a/programs/nvim/default.nix +++ b/programs/nvim/default.nix @@ -127,25 +127,6 @@ inputs@{ machine, ... }: } '' - # local lspconfig = require 'lspconfig' - # local configs = require 'lspconfig.configs' - # if not configs.foo_lsp then - # configs.noteslsp = { - # default_config = { - # -- cmd = {'${pkgs.custom.noteslsp}/bin/noteslsp'}, - # cmd = {'./noteslsp/target/debug/noteslsp'}, - # filetypes = {'markdown'}, - # root_dir = function(fname) - # return lspconfig.util.find_git_ancestor(fname) - # end, - # settings = {} - # , - # }, - # } - # end - # - # lspconfig.noteslsp.setup{} - # '' + (builtins.readFile ./config.lua); extraConfigLuaPost = '' diff --git a/programs/nvim/keys.nix b/programs/nvim/keys.nix index 4322b43..fd9ac3f 100644 --- a/programs/nvim/keys.nix +++ b/programs/nvim/keys.nix @@ -71,7 +71,7 @@ in # action = "lua require('spectre').open_file_search({select_word=true})"; # } - # (map "n" "t" "Neotree toggle") + (map "n" "t" "Telescope file_browser") # tab for indent/dedent (map "n" "" ">>_") diff --git a/programs/nvim/plugins.nix b/programs/nvim/plugins.nix index 74a5338..1a7429c 100644 --- a/programs/nvim/plugins.nix +++ b/programs/nvim/plugins.nix @@ -14,6 +14,15 @@ let hash = "sha256-mddnBvIrekHh60Ix6qIYAnv10Mu40LamGI47EXk9wSo="; }; }; + telescope-file-browser = pkgs.vimUtils.buildVimPlugin { + name = "telescope-file-browser.nvim"; + src = pkgs.fetchFromGitHub { + owner = "nvim-telescope"; + repo = "telescope-file-browser.nvim"; + rev = "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e"; + hash = "sha256-FlJ7w5Ywwq03E0oYdnFJFb+MMUMQMa+5QhDMy2O9tGQ="; + }; + }; in { programs.nixvim = { @@ -160,7 +169,6 @@ in }; rainbow-delimiters.enable = true; - vim-surround.enable = true; lsp-format.enable = true; fugitive.enable = true; lspkind.enable = true; @@ -610,9 +618,9 @@ in }; }; - # leap = { - # enable = true; - # }; + leap = { + enable = true; + }; wilder = { enable = true; @@ -722,6 +730,8 @@ in opener = "edit"; width = 0.8; height = 0.8; + + autoinsert = true; }; }; telescope = { @@ -791,6 +801,7 @@ in vim-suda render-markdown + telescope-file-browser vim-astro nvim-web-devicons vim-visual-multi diff --git a/programs/ssh.nix b/programs/ssh.nix index 3192892..fca7d4c 100644 --- a/programs/ssh.nix +++ b/programs/ssh.nix @@ -5,7 +5,6 @@ inputs@{ machine, ... }: inherit inputs; requirements = [ "cli" ]; home-config = _: { - programs.mosh.enable = true; programs.ssh = { enable = true; enableDefaultConfig = false;