dotfiles files and stuff

misc: cleanup

* fix comment that got chopped up in a separate commit
* run formatter on nix/darwin.nix
* run nix formatter on nix/mksystem.nix and remove unused wsl param
* run formatter on nix/work.nix
* cleanup lsp bindings to match defaults and add/fix comments
* change <leader>f fzf-lua binding to avoid clobbering lsp default
* cleanup comments and some unused code in lsp config
* use mainline lualine-nvim package instead of custom revision

Changed files
+21 -74
nix
home-manager
nvim
config
plugins
+4 -3
nix/darwin.nix
··· 1 - { user }: { pkgs, ... }: { 1 + { user }: 2 + { pkgs, ... }: 3 + { 2 4 nix = { 3 5 # We install Nix using a separate installer so we don't want nix-darwin 4 6 # to manage it for us. This tells nix-darwin to just use whatever is running. ··· 31 33 32 34 programs.zsh = { 33 35 enable = true; 34 - shellInit = '' 35 - ''; 36 + shellInit = ''''; 36 37 }; 37 38 38 39 environment.systemPackages = with pkgs; [
+5 -45
nix/home-manager/nvim/config/lsp.lua
··· 6 6 }, 7 7 }) 8 8 9 + -- don't show 'E', 'H' etcs in the signcolumn; it's redunant with lualine's 9 10 -- diagnostics summary anyway 10 11 vim.opt.signcolumn = "no" 11 12 ··· 66 67 -- buf_set_keymap('n', '<C-k>', vim.lsp.buf.signature_help) 67 68 buf_set_keymap('n', '<C-s>', vim.lsp.buf.signature_help) 68 69 70 + -- grr by default 69 71 buf_set_keymap('n', '<leader>r', vim.lsp.buf.references) 72 + 70 73 buf_set_keymap('n', '<leader>wa', vim.lsp.buf.add_workspace_folder) 71 74 buf_set_keymap('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder) 72 75 buf_set_keymap('n', '<leader>wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end) 73 76 buf_set_keymap('n', '<leader>D', vim.lsp.buf.type_definition) 74 77 buf_set_keymap('n', '<leader>ca', vim.lsp.buf.code_action) 75 - buf_set_keymap('n', 'gr', vim.lsp.buf.references) 76 78 buf_set_keymap('n', '<leader>e', vim.diagnostic.open_float) 77 79 buf_set_keymap('n', '<leader>q', vim.diagnostic.setloclist) 78 80 -- buf_set_keymap('n', '<leader>ff', vim.lsp.buf.formatting) 81 + buf_set_keymap('n', '<leader>f', function() vim.lsp.buf.format({ async = true }) end) 79 82 buf_set_keymap('n', '<leader>ff', function() vim.lsp.buf.format({ async = true }) end) 80 83 81 84 buf_set_keymap("n", "<leader>rs", function() vim.lsp.stop_client(vim.lsp.get_clients()) end) 82 85 end 83 86 84 - -- https://github.com/golang/tools/blob/master/gopls/doc/vim.md#imports 87 + -- https://github.com/golang/tools/blob/master/gopls/doc/editor/vim.md#neovim-imports 85 88 -- https://github.com/golang/tools/blob/master/gopls/doc/features/transformation.md#source.organizeImports 86 89 local goimports = function(client, wait_ms) 87 90 local params = vim.lsp.util.make_range_params(0, client.offset_encoding) ··· 116 119 gopls = { 117 120 linksInHover = true, 118 121 completeFunctionCalls = true, 119 - usePlaceholders = true, 120 122 experimentalPostfixCompletions = true, 121 123 staticcheck = true, 122 124 }, 123 125 }, 124 - -- FIXME: yoinked from 125 - -- https://github.com/hrsh7th/nvim-cmp/wiki/Language-Server-Specific-Samples#golang-gopls 126 - -- i'm not sure if it's redundant with the usePlaceholders setting above? 127 - init_options = { 128 - usePlaceholders = true, 129 - }, 130 126 on_attach = (function(client, bufnr) 131 127 vim.api.nvim_create_autocmd("BufWritePre", { 132 128 pattern = "*.go", ··· 147 143 }) 148 144 vim.lsp.enable('gopls') 149 145 150 - -- vim.lsp.config('yamlls', { 151 - -- on_attach = on_attach, 152 - -- settings = { 153 - -- -- trace = { 154 - -- -- server = verbose, 155 - -- -- }, 156 - -- redhat = { 157 - -- telemetry = { 158 - -- enabled = false, 159 - -- }, 160 - -- }, 161 - -- yaml = { 162 - -- hover = true, 163 - -- completion = true, 164 - -- format = { 165 - -- enable = true, 166 - -- }, 167 - -- }, 168 - -- }, 169 - -- }) 170 - -- vim.lsp.enable('yamlls') 171 - 172 146 vim.lsp.config('lua_ls', { 173 147 on_attach = on_attach, 174 148 capablities = capablities, ··· 196 170 }) 197 171 vim.lsp.enable('lua_ls') 198 172 199 - -- https://github.com/oxalica/nil/blob/2f3ed6348bbf1440fcd1ab0411271497a0fbbfa4/dev/nvim-lsp.nix#L83 200 - nvim_lsp.nil_ls.setup { 201 - on_attach = on_attach, 202 - capablities = capablities, 203 - settings = { 204 - ['nil'] = { 205 - formatting = { 206 - command = { "nixpkgs-fmt" }, 207 - }, 208 - }, 209 - }, 210 - } 211 - 212 - -- local servers = { "rnix", "rust_analyzer", "tsserver", "golangcilsp" } 213 173 local servers = { 214 174 "bashls", 215 175 "eslint", "ts_ls",
+1 -1
nix/home-manager/nvim/config/plugins/fzf.lua
··· 19 19 20 20 -- pass search="" to avoid the prompt we'd normally get 21 21 vim.keymap.set('n', '<leader>g', function() fzf_lua.grep({ search = "" }) end, { silent = true }) 22 - vim.keymap.set('n', '<leader>f', fzf_lua.grep_cword, { silent = true }) 22 + vim.keymap.set('n', '<leader>h', fzf_lua.grep_cword, { silent = true }) 23 23 vim.keymap.set('n', '<leader>G', fzf_lua.live_grep, { silent = true }) 24 24 vim.keymap.set('n', ';', fzf_lua.files, { silent = true }) 25 25 vim.keymap.set('n', '<leader>t', fzf_lua.treesitter, { silent = true })
+1 -10
nix/home-manager/nvim/default.nix
··· 91 91 } 92 92 93 93 { 94 - plugin = pkgs.vimUtils.buildVimPlugin { 95 - pname = "lualine-nvim"; 96 - version = "fix-colors"; 97 - src = pkgs.fetchFromGitHub { 98 - owner = "nvim-lualine"; 99 - repo = "lualine.nvim"; 100 - rev = "1517caa8fff05e4b4999857319d3b0609a7f57fa"; 101 - sha256 = "sha256-DAYRf8JIty6W78JXBSyfnyCryUUYX+QrsHSAlcOk7Fc="; 102 - }; 103 - }; 94 + plugin = lualine-nvim; 104 95 type = "lua"; 105 96 config = builtins.readFile ./config/plugins/lualine.lua; 106 97 }
+9 -13
nix/mkSystem.nix
··· 2 2 { self, nixpkgs }: 3 3 4 4 name: 5 - { system 6 - , user 7 - , wsl ? false 5 + { 6 + system, 7 + user, 8 8 # optional hardware module 9 - , hardware ? { } 9 + hardware ? { }, 10 10 }: 11 11 12 12 let ··· 16 16 17 17 darwin = pkgs.lib.strings.hasSuffix "darwin" system; 18 18 19 - systemFunc = 20 - if darwin 21 - then self.inputs.darwin.lib.darwinSystem 22 - else nixpkgs.lib.nixosSystem; 19 + systemFunc = if darwin then self.inputs.darwin.lib.darwinSystem else nixpkgs.lib.nixosSystem; 23 20 home-manager = 24 - if darwin 25 - then self.inputs.home-manager.darwinModules 26 - else self.inputs.home-manager.nixosModules; 21 + if darwin then self.inputs.home-manager.darwinModules else self.inputs.home-manager.nixosModules; 27 22 28 23 overlays = [ 29 24 (self: super: { ··· 46 41 home-manager.verbose = true; 47 42 home-manager.backupFileExtension = "bak"; 48 43 home-manager.users.${user} = import ./home-manager/home.nix { 49 - inherit darwin wsl; 44 + inherit darwin; 50 45 }; 51 46 }; 52 47 53 - baseConfig = { pkgs, ... }: 48 + baseConfig = 49 + { pkgs, ... }: 54 50 { 55 51 # Auto upgrade nix package and the daemon service. 56 52 # services.nix-daemon.enable = true;
+1 -2
nix/work.nix
··· 88 88 programs.git.settings = { 89 89 user.email = "ehden@contrastsecurity.com"; 90 90 91 - url."git@github.com:Contrast-Security-Inc/".insteadOf = 92 - "https://github.com/Contrast-Security-Inc/"; 91 + url."git@github.com:Contrast-Security-Inc/".insteadOf = "https://github.com/Contrast-Security-Inc/"; 93 92 url."git@bitbucket.org:".insteadOf = "https://bitbucket.org/"; 94 93 }; 95 94