summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornic <ra@afu.re>2025-05-17 14:28:16 -0400
committernic <ra@afu.re>2025-05-17 14:28:16 -0400
commitba77fe79478b16615741389786d0209f524e52fd (patch)
treea84c926543d140d16fc49eaebd84cdf2e0e4f0e0
parentbea9c142d337163f963b7e000db6738510a52991 (diff)
Nvim config rewrite in Lua
-rw-r--r--.config/nvim/init.lua111
-rw-r--r--.config/nvim/init.vim101
-rw-r--r--.config/wget/wgetrc1
3 files changed, 112 insertions, 101 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100644
index 0000000..e02a957
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1,111 @@
+vim.g.mapleader = ","
+
+-- Auto-install vim-plug if not present
+local install_path = vim.fn.stdpath('config')..'/autoload/plug.vim'
+if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
+ print("Downloading junegunn/vim-plug to manage plugins...")
+ vim.fn.system({
+ 'curl', '-fLo', install_path, '--create-dirs',
+ 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
+ })
+ vim.cmd('autocmd VimEnter * PlugInstall')
+end
+
+-- Plugin declarations in pure Lua
+local Plug = vim.fn['plug#']
+vim.call('plug#begin', vim.fn.stdpath('config')..'/plugged')
+Plug('bling/vim-airline')
+Plug('ap/vim-css-color')
+Plug('vimwiki/vimwiki')
+Plug('michal-h21/vimwiki-sync')
+vim.call('plug#end')
+
+-- General settings
+vim.opt.title = true
+vim.opt.mouse = "a"
+vim.opt.clipboard:append("unnamedplus")
+vim.opt.showmode = false
+vim.opt.ruler = false
+vim.opt.laststatus = 0
+vim.opt.showcmd = false
+vim.opt.scrolloff = 7
+vim.opt.swapfile = false
+vim.opt.backup = false
+
+vim.cmd('colorscheme bloomberg')
+--vim.cmd('hi Normal ctermbg=NONE')
+--vim.cmd('hi NonText ctermbg=NONE')
+
+-- Basics
+vim.keymap.set('n', 'c', '"_c')
+vim.cmd('filetype plugin on')
+vim.cmd('syntax on')
+vim.opt.encoding = "utf-8"
+vim.opt.number = true
+vim.opt.relativenumber = true
+-- Enable autocmpletion:
+vim.opt.wildmode = "longest,list,full"
+-- Disable automatic commenting on new line
+vim.opt.formatoptions:remove({'c', 'r', 'o'})
+-- Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
+vim.opt.splitbelow = true
+vim.opt.splitright = true
+
+-- Autocommands
+-- Automatically deletes all trailing whitespace and newlines at end of file on save & reset cursor position.
+vim.api.nvim_create_augroup('Format', {clear = true})
+vim.api.nvim_create_autocmd('BufWritePre', {
+ group = 'Format',
+ pattern = '*',
+ callback = function()
+ local pos = vim.fn.getpos('.')
+ vim.cmd([[silent! keeppatterns %s/\s\+$//e]])
+ vim.cmd([[silent! keeppatterns %s/\n\+\%$//e]])
+ local fname = vim.fn.expand('%')
+ if fname:match('%.c$') or fname:match('%.h$') then
+ vim.cmd([[silent! keeppatterns %s/\%$/\r/e]])
+ end
+ if fname:match('neomutt') then
+ vim.cmd([[silent! keeppatterns %s/^--$/-- /e]])
+ end
+ vim.fn.cursor(pos[2], pos[3])
+ end
+})
+-- When shortcut files are updated, renew configs with new material:
+vim.api.nvim_create_autocmd("BufWritePost", { pattern = { "bm-files", "bm-dirs" }, command = "!shortcuts" })
+-- Run xrdb whenever Xdefaults or Xresources are updated.
+vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = { "Xresources", "Xdefaults", "xresources", "xdefaults" }, command = "set filetype=xdefaults" })
+vim.api.nvim_create_autocmd("BufWritePost", { pattern = { "Xresources", "Xdefaults", "xresources", "xdefaults" }, command = "!xrdb %" })
+
+-- Vimwiki configuration
+vim.g.vimwiki_ext2syntax = {['.Rmd'] = 'markdown', ['.rmd'] = 'markdown', ['.md'] = 'markdown', ['.markdown'] = 'markdown', ['.mdown'] = 'markdown'}
+
+vim.g.vimwiki_list = {
+ {path = '~/.local/share/vimwiki', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/Finance', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/Finance/Fundamentals', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/Finance/Research', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/Finance/Research/Tickers', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/cs', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/cs/Gentoo', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/vimwiki/arcana', syntax = 'markdown', ext = '.md'},
+ {path = '~/.local/share/Cuisine', syntax = 'markdown', ext = '.md'}
+}
+
+vim.g.vimwiki_sync_commit_message = 'Auto from nzxt - %c'
+
+vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = { "/tmp/calcurse*", "~/.calcurse/notes/*" }, command = "set filetype=markdown" })
+vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = { "*.ms", "*.me", "*.mom", "*.man" }, command = "set filetype=groff" })
+vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = "*.tex", command = "set filetype=tex" })
+-- Runs a script that cleans out tex build files whenever I close out of a .tex file.
+vim.api.nvim_create_autocmd("VimLeave", { pattern = "*.tex", command = "!texclear %" })
+-- Save file as sudo on files that require root permission
+vim.cmd([[cabbrev w!! execute 'silent! write !sudo tee % >/dev/null' \| edit!]])
+
+-- Bindings
+-- Spell-check set to <leader>o, 'o' for 'orthography'
+vim.keymap.set("n", "<leader>o", ":setlocal spell! spelllang=en_us<CR>", { desc = "Toggle spell-check (en_us)" })
+-- Compile document, be it groff/LaTeX/markdown/etc.
+vim.keymap.set("n", "<leader>c", ':w! | !compiler "%"<CR>', { desc = "Compile document, be it groff/LaTeX/markdown/etc." })
+-- Open corresponding .pdf/.html or preview
+vim.keymap.set("n", "<leader>p", ':!opout "%"<CR><CR>', { desc = "Open PDF/HTML/preview for current file" })
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
deleted file mode 100644
index ed6d1ba..0000000
--- a/.config/nvim/init.vim
+++ /dev/null
@@ -1,101 +0,0 @@
-let mapleader =","
-
-if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
- echo "Downloading junegunn/vim-plug to manage plugins..."
- silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
- silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
- autocmd VimEnter * PlugInstall
-endif
-
-call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
-Plug 'bling/vim-airline'
-Plug 'vimwiki/vimwiki'
-Plug 'junegunn/goyo.vim'
-Plug 'ap/vim-css-color'
-Plug 'tomasr/molokai'
-Plug 'michal-h21/vim-zettel'
-Plug 'michal-h21/vimwiki-sync'
-call plug#end()
-
-set title
-set go=a
-set mouse=a
-"set nohlsearch
-set clipboard+=unnamedplus
-set noshowmode
-set noruler
-set laststatus=0
-set noshowcmd
-set scrolloff=7
-set noswapfile
-set nobackup
-
-colorscheme bloomberg
-" make it so colorscheme respect xcompmgr
-hi Normal ctermbg=NONE
-hi NonText ctermbg=NONE
-
-
-" Some basics:
- nnoremap c "_c
- set nocompatible
- filetype plugin on
- syntax on
- set encoding=utf-8
- set number relativenumber
-" Enable autocompletion:
- set wildmode=longest,list,full
-" Disables automatic commenting on newline:
- autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
-" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
- set splitbelow splitright
-" Automatically deletes all trailing whitespace and newlines at end of file on save & reset cursor position.
- autocmd BufWritePre * let currPos = getpos(".")
- autocmd BufWritePre * %s/\s\+$//e
- autocmd BufWritePre * %s/\n\+\%$//e
- autocmd BufWritePre *.[ch] %s/\%$/\r/e " add trailing newline for ANSI C standard
- autocmd BufWritePre *neomutt* %s/^--$/-- /e " dash-dash-space signature delimiter in emails
- autocmd BufWritePre * cal cursor(currPos[1], currPos[2])
-" When shortcut files are updated, renew configs with new material:
- autocmd BufWritePost bm-files,bm-dirs !shortcuts
-" Run xrdb whenever Xdefaults or Xresources are updated.
- autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
- autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
-" Ensure files are read the way I want
- let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
-" Each path becomes its own wiki
- let g:vimwiki_list = [
- \{'path': '~/.local/share/vimwiki', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Finance', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Finance/Fundamentals', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Finance/Research', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Finance/Research/Tickers', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Technology', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/Technology/Gentoo', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/vimwiki/👁️', 'syntax': 'markdown', 'ext': '.md'},
- \{'path': '~/.local/share/Cuisine', 'syntax': 'markdown', 'ext': '.md'}]
-
- let g:vimwiki_sync_commit_message = 'Auto from nzxt - %c'
-
- autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
- autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
- autocmd BufRead,BufNewFile *.tex set filetype=tex
-" Runs a script that cleans out tex build files whenever I close out of a .tex file.
- autocmd VimLeave *.tex !texclear %
-" Save file as sudo on files that require root permission
- cabbrev w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
-
- " Bindings
-" Spell-check set to <leader>o, 'o' for 'orthography':
- map <leader>o :setlocal spell! spelllang=en_us<CR>
-" Compile document, be it groff/LaTeX/markdown/etc.
- map <leader>c :w! \| !compiler "<c-r>%"<CR>
-" Open corresponding .pdf/.html or preview
- map <leader>p :!opout <c-r>%<CR><CR>
-" Goyo plugin makes text more readable when writing prose:
- map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
-" Enable Goyo by default for mutt writing
- "autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
- "autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
- "autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
- "autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
diff --git a/.config/wget/wgetrc b/.config/wget/wgetrc
new file mode 100644
index 0000000..4fd7999
--- /dev/null
+++ b/.config/wget/wgetrc
@@ -0,0 +1 @@
+hsts-file=~/.cache/wget-hsts