diff --git a/.gitignore b/.gitignore index cd6f847..ee6025e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ /plugged/* /autoload/plug.vim.old /.envrc -/.direnv /localvim diff --git a/default.nix b/default.nix deleted file mode 100644 index f620865..0000000 --- a/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -(import - ( - let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in - fetchTarball { - url = lock.nodes.flake-compat.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; - sha256 = lock.nodes.flake-compat.locked.narHash; - } - ) - { src = ./.; } -).defaultNix diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 121b684..0000000 --- a/flake.lock +++ /dev/null @@ -1,76 +0,0 @@ -{ - "nodes": { - "flake-compat": { - "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-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1729097500, - "narHash": "sha256-NMxk91m62pA97pbHqYDNhTgzr24MzKf5D+ZCDlmHXmw=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "764efd34fe199a705d62d0738452076e8276dd98", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 270b3f2..0000000 --- a/flake.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/master"; - flake-utils.url = "github:numtide/flake-utils"; - flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"; - }; - - outputs = { self, nixpkgs, flake-utils, flake-compat }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in { - devShell = pkgs.mkShell { - buildInputs = with pkgs; [ - vim - neovim - vim-language-server - vim-vint - ]; - }; - } - ); -} diff --git a/plugged.vim b/plugged.vim index d03ef05..138bc07 100644 --- a/plugged.vim +++ b/plugged.vim @@ -18,9 +18,6 @@ Plug 'olivertaylor/vacme' Plug 'pbrisbin/vim-colors-off' Plug 'ikaros/smpl-vim' -" Detect dark/light mode -Plug 'vimpostor/vim-lumen' - " External tool integration Plug 'tpope/vim-bundler' " bundler + gem-ctags Plug 'tpope/vim-fugitive' " git diff --git a/shell.nix b/shell.nix index 942ce01..fc73348 100644 --- a/shell.nix +++ b/shell.nix @@ -1,10 +1,10 @@ -(import - ( - let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in - fetchTarball { - url = lock.nodes.flake-compat.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; - sha256 = lock.nodes.flake-compat.locked.narHash; - } - ) - { src = ./.; } -).shellNix +{ pkgs ? import(fetchTarball("https://github.com/NixOS/nixpkgs/archive/d51f8579f03a76718d643dd184ae964e6f0dd751.tar.gz")) {} }: + +pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + vim + neovim + vim-language-server + vim-vint + ]; +} diff --git a/vimrc b/vimrc index 6f161ee..fa2c5e3 100644 --- a/vimrc +++ b/vimrc @@ -17,21 +17,17 @@ let g:netrw_dirhistmax = 0 set clipboard^=unnamed " Terminal title -if has('macunix') && $TERM_PROGRAM ==# 'Apple_Terminal' +if has('macunix') && $TERM_PROGRAM == 'Apple_Terminal' set title set t_ts=]6; set t_fs= - if !exists('autocmd_terminal_title') + if !exists("autocmd_terminal_title") let autocmd_terminal_title = 1 - augroup TermTitle - autocmd BufEnter,BufRead * let &titlestring = "file://" . hostname() . expand("%:p") - augroup END + autocmd BufEnter,BufRead * let &titlestring = "file://" . hostname() . expand("%:p") endif else set title - augroup TermTitle - autocmd BufEnter,BufRead * let &titlestring = expand("%:p") - augroup END + autocmd BufEnter,BufRead * let &titlestring = expand("%:p") endif " Airline @@ -45,23 +41,23 @@ let g:airline_symbols.linenr = '' let g:airline_symbols.branch = '⎇' let g:airline_symbols.whitespace = '' -function! DetectMode() - if has('macunix') && $TERM_PROGRAM ==# 'Apple_Terminal' - let s:mode = system('defaults read -g AppleInterfaceStyle') - if v:shell_error - set background=light - else - set background=dark - endif - endif -endfunction +" Terminal behavior and appearance +if !has('gui_running') + set showtabline=1 "automatic tab bar + set mouse=n "mouse support + if has("mouse_sgr") + set ttymouse=sgr + end + "set background=light -function! ApplyMode() - " set theme - if &background ==# 'light' + if $SSH_CLIENT + colorscheme smpl + else + if &background == 'light' colorscheme nofrils-light else - colorscheme nofrils-dark + "colorscheme nofrils-dark + colorscheme nofrils-light endif "use terminal background @@ -76,29 +72,9 @@ function! ApplyMode() hi statement ctermbg=none hi LineNr ctermbg=none endif -endfunction - -" Terminal behavior and appearance -if !has('gui_running') - set showtabline=1 "automatic tab bar - set mouse=n "mouse support - if has('mouse_sgr') - set ttymouse=sgr - end - - if $SSH_CLIENT - colorscheme smpl - else - call DetectMode() - call ApplyMode() endif endif -augroup Lumen - autocmd User LumenLight call ApplyMode() - autocmd User LumenDark call ApplyMode() -augroup END - " Appearance tweaks hi VertSplit cterm=NONE gui=NONE set fillchars+=vert:│ @@ -110,7 +86,7 @@ let g:ale_virtualtext_cursor = 0 let g:ale_ruby_rubocop_executable = 'bundle' let g:ale_ruby_steep_executable = 'bundle' let g:ale_ruby_standardrb_executable = 'bundle' -let g:go_fmt_command = 'goimports' +let g:go_fmt_command = "goimports" "let g:ale_linters = {'ruby': ['standardrb']} "let g:ale_fixers = { 'python': ['black'], 'ruby': ['standardrb'] } "let g:ale_fix_on_save = 1 @@ -150,14 +126,14 @@ set hlsearch "highlight search matches set showmatch "highlight both matching parentheses " Swap and undo files -set directory=~/.vim/tmp/swap//,/var/tmp//,/tmp//,. +set dir=~/.vim/tmp/swap//,/var/tmp//,/tmp//,. "set undodir=~/.vim/tmp/undo//,. " Buffer management -set switchbuf=usetab "make :sb go to tabs too +set swb=usetab "make :sb go to tabs too " SuperTab options -let g:SuperTabDefaultCompletionType = 'context' +let g:SuperTabDefaultCompletionType = "context" " Complete options (disable preview scratch window) set completeopt=menu,menuone,longest " Limit popup menu height @@ -209,7 +185,7 @@ xmap ga (EasyAlign) nmap ga (EasyAlign) " organ -if ! exists('g:organ_loaded') +if ! exists("g:organ_loaded") let g:organ_config = {} let g:organ_config.speedkeys = 1 endif @@ -222,10 +198,10 @@ let g:EditorConfig_exclude_patterns = ['fugitive://.\*'] " Restore last known cursor position function! ResCur() - if &filetype ==# 'netrw' + if &filetype == 'netrw' return 0 endif - if line("'\"") <= line('$') + if line("'\"") <= line("$") normal! g`" return 1 endif @@ -236,7 +212,7 @@ if has('macunix') function! OpenURLUnderCursor() let s:uri = matchstr(getline('.'), '[a-z]*:\/\/[^ >,;()]*') let s:uri = shellescape(s:uri, 1) - if s:uri !=# '' + if s:uri != '' silent exec "!open '".s:uri."'" :redraw! endif @@ -245,12 +221,12 @@ if has('macunix') endif " Unfold at cursor position -if has('folding') +if has("folding") function! UnfoldCur() if !&foldenable return endif - let cl = line('.') + let cl = line(".") if cl <= 1 return endif @@ -258,7 +234,7 @@ if has('folding') let uf = foldlevel(cl - 1) let min = (cf > uf ? uf : cf) if min - execute 'normal!' min . 'zo' + execute "normal!" min . "zo" return 1 endif endfunction @@ -267,7 +243,7 @@ endif " Restore last known cursor position on open augroup resCur autocmd! - if has('folding') + if has("folding") autocmd BufWinEnter * if ResCur() | call UnfoldCur() | endif else autocmd BufWinEnter * call ResCur() @@ -293,7 +269,7 @@ endfunction function! ShellcheckSet(buffer) let l:shell = ShellcheckDetect(a:buffer) - if l:shell ==# 'bash' + if l:shell == 'bash' call setbufvar(a:buffer, 'is_bash', 1) else call setbufvar(a:buffer, 'is_bash', 0) @@ -334,7 +310,7 @@ endfunction map fs :call FormatSort() " Go tools path -let g:go_bin_path = expand('$HOME') . '/.local/libexec/go/bin' +let g:go_bin_path = expand('$HOME') . "/.local/libexec/go/bin" if expand('%:t') =~? 'rfc\d\+' || expand('%:t') =~? 'draft-.*-\d\{2,}' setfiletype rfc @@ -344,7 +320,7 @@ endif map s :mksession! " Restore session if Session.vim exists "function! RestoreSession() -" if argc() == 0 && filereadable('Session.vim') "vim called without arguments +" if argc() == 0 && filereadable("Session.vim") "vim called without arguments " "let answer = confirm('foo?', '&Yes\nNo', 1) " execute 'source Session.vim' " end @@ -355,9 +331,9 @@ map s :mksession! source $VIMRUNTIME/macros/matchit.vim function! UpdateTags() - execute ':silent !ctags -R .' - execute ':redraw!' - echohl StatusLine | echo 'tags updated' | echohl None + execute ":silent !ctags -R ." + execute ":redraw!" + echohl StatusLine | echo "tags updated" | echohl None endfunction nnoremap :call UpdateTags() @@ -375,7 +351,7 @@ function! LocalInit() if filereadable(s:local_config_file) if index(s:local_config_allowed, s:local_config_file) < 0 - echo 'local config file disallowed: ' . s:local_config_file + echo "local config file disallowed: " . s:local_config_file else call LocalLoad() endif