From b4a0448499b594dfe7f8bea3394d97acde3279e5 Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Wed, 7 Jan 2026 09:06:52 -0500 Subject: [PATCH] Update --- home/.config/Code/User/settings.json | 2 +- home/.config/mimeapps.list | 9 ++-- home/.config/nvim/coc-settings.json | 64 +++++++++++++++++++--------- home/.config/nvim/init.vim | 53 ++++++++++++++++------- home/.mpdconf | 2 +- home/.xbindkeysrc | 11 ++--- home/.xlaunch.d/xbindkeys | 11 ++++- home/.xlaunch.d/xscreensaver | 21 ++++++++- home/bin/mpd_fav | 2 +- home/bin/x | 2 +- home/lib/login_functions.sh | 7 +-- home/lib/login_variables.sh | 15 +++++-- 12 files changed, 141 insertions(+), 58 deletions(-) diff --git a/home/.config/Code/User/settings.json b/home/.config/Code/User/settings.json index baa2463..c950ce2 100644 --- a/home/.config/Code/User/settings.json +++ b/home/.config/Code/User/settings.json @@ -1,7 +1,7 @@ { "FSharp.useSdkScripts": true, "editor.fontFamily": "'Iosevka','Iosevka Fixed SS09 Extended', 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'", - "workbench.colorTheme": "Nord", + "workbench.colorTheme": "Zenburn", "vscode-neovim.neovimExecutablePaths.linux": "/usr/local/bin/nvim", "workbench.startupEditor": "newUntitledFile", "todo-tree.tree.showScanModeButton": false, diff --git a/home/.config/mimeapps.list b/home/.config/mimeapps.list index 5084b98..b28b1ec 100644 --- a/home/.config/mimeapps.list +++ b/home/.config/mimeapps.list @@ -1,7 +1,7 @@ [Added Associations] application/illustrator=gimp.desktop; application/octet-stream=gvim.desktop; -application/pdf=zathura-pdf-poppler.desktop;mupdf.desktop; +application/pdf=gvim.desktop;zathura-pdf-poppler.desktop;mupdf.desktop; application/x-extension-htm=chromium.desktop;userapp-Firefox-FY7R00.desktop; application/x-extension-html=chromium.desktop;userapp-Firefox-FY7R00.desktop; application/x-extension-shtml=chromium.desktop;userapp-Firefox-FY7R00.desktop; @@ -12,7 +12,7 @@ audio/vnd.audible.aax=vlc.desktop; audio/x-m4a=vlc.desktop;mpv.desktop; image/bmp=sxiv.desktop; image/gif=sxiv.desktop; -image/jpeg=sxiv.desktop;feh.desktop; +image/jpeg=eom.desktop;sxiv.desktop;feh.desktop; image/png=sxiv.desktop; image/tiff=sxiv.desktop; inode/symlink=caja.desktop; @@ -33,6 +33,8 @@ image/heif=eom.desktop;feh.desktop; application/xml=gvim.desktop; x-scheme-handler/tonsite=org.telegram.desktop.desktop; text/markdown=gvim.desktop; +application/vnd.ms-htmlhelp=org.kde.okular.desktop; +image/x-xcf=gimp.desktop; [Default Applications] application/illustrator=gimp.desktop @@ -53,7 +55,7 @@ audio/x-vorbis+ogg=mpv.desktop audio/x-wav=mpv.desktop image/bmp=eom.desktop image/gif=eom.desktop -image/jpeg=feh.desktop +image/jpeg=eom.desktop image/png=eom.desktop image/tiff=eom.desktop inode/directory=pcmanfm.desktop @@ -103,3 +105,4 @@ image/heif=feh.desktop application/xml=gvim.desktop x-scheme-handler/tonsite=org.telegram.desktop.desktop text/markdown=gvim.desktop +image/x-xcf=gimp.desktop diff --git a/home/.config/nvim/coc-settings.json b/home/.config/nvim/coc-settings.json index a1975df..ef69521 100644 --- a/home/.config/nvim/coc-settings.json +++ b/home/.config/nvim/coc-settings.json @@ -1,5 +1,6 @@ -// vim:ft=jsonc: +// vim:ft=json5 : softtabstop=4 : shiftwidth=4: { + // "coc.preferences.semanticTokensHighlights": false, // "coc.preferences.formatOnSaveFiletypes": ["sql"], // "formatter.sql": { // "command": "prettier", @@ -29,29 +30,52 @@ "command": "sql-language-server", "args": ["up", "--method", "node-ipc"], "filetypes": ["sql", "sqlite"] - } - }, - - "markdownlint.config": { - // Allow mixed usage of both styles of heading indicators. - // (i.e. leading hashes (###) for level 3+ after - // dashes (---) and equals (===) for levels 2 and 1, respectively). - // Ref: - // - https://github.com/fannheyward/coc-markdownlint - // - https://github.com/DavidAnson/markdownlint/blob/main/doc/md003.md - // - https://github.com/DavidAnson/markdownlint/blob/3561fc3f38b05b3c55f44e371c2cd9bda194598a/doc/md003.md - "MD003": { "style": "setext_with_atx" }, + }, - // Allow different list item markers (-, +, *) in unordered lists, as - // long as each level uses the same one. - // Ref: https://github.com/DavidAnson/markdownlint/blob/main/doc/md004.md - "MD004": { "style": "sublist" }, + // LaTex + "digestif": { + "command": "digestif", + "filetypes": ["tex", "plaintex", "context"] + }, + // "latex": { + // "command": "/home/xand/.cargo/bin/texlab", + // "filetypes": ["tex", "bib", "plaintex", "context"] + // }, - // Allow duplicate headings with different parents. - // Ref: https://github.com/DavidAnson/markdownlint/blob/main/doc/md024.md - "MD024": { "siblings_only": true } + "golang": { + "command": "gopls", + "rootPatterns": ["go.mod"], + "filetypes": ["go"] + }, + "prisma": { + "command": "prisma-language-server", + "args": ["--stdio"], + "filetypes": ["prisma"], + "rootPatterns": ["schema.prisma", "prisma/schema.prisma", ".git"], + "trace.server": "verbose" + } }, + // "markdownlint.config": { + // // Allow mixed usage of both styles of heading indicators. + // // (i.e. leading hashes (###) for level 3+ after + // // dashes (---) and equals (===) for levels 2 and 1, respectively). + // // Ref: + // // - https://github.com/fannheyward/coc-markdownlint + // // - https://github.com/DavidAnson/markdownlint/blob/main/doc/md003.md + // // - https://github.com/DavidAnson/markdownlint/blob/3561fc3f38b05b3c55f44e371c2cd9bda194598a/doc/md003.md + // "MD003": { "style": "setext_with_atx" }, + // + // // Allow different list item markers (-, +, *) in unordered lists, as + // // long as each level uses the same one. + // // Ref: https://github.com/DavidAnson/markdownlint/blob/main/doc/md004.md + // "MD004": { "style": "sublist" }, + // + // // Allow duplicate headings with different parents. + // // Ref: https://github.com/DavidAnson/markdownlint/blob/main/doc/md024.md + // "MD024": { "siblings_only": true } + // }, + // FIXME These rust-analyzer settings do not seem to work. Why? // Ref: https://github.com/fannheyward/coc-rust-analyzer // "rust-analyzer.inlayHints.typeHints.enable": false, diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim index f46eaed..50e41c9 100644 --- a/home/.config/nvim/init.vim +++ b/home/.config/nvim/init.vim @@ -11,17 +11,29 @@ call plug#begin() Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' +Plug 'prisma/vim-prisma' " Syntax for Prisma. The ORM thing used in Nosh repo. Plug 'z0mbix/vim-shfmt', { 'for': 'sh' } Plug 'dense-analysis/ale' " Syntastic's spiritual succesor Plug 'preservim/nerdtree' "Plug 'nvim-tree/nvim-web-devicons' " Needs patched fonts: https://www.nerdfonts.com/ -Plug 'phha/zenburn.nvim' +" Plug 'phha/zenburn.nvim' +Plug 'hexbloom/zenburn.nvim', {'branch': 'semantic-highlight-support'} +" Plug 'zenbones-theme/zenbones.nvim' Plug 'itchyny/lightline.vim' Plug 'numToStr/Comment.nvim' Plug 'rust-lang/rust.vim' -Plug 'neoclide/coc.nvim', {'branch': 'release'} +" Plug 'neoclide/coc.nvim', {'branch': 'release'} +" Plug 'neoclide/coc.nvim', {'commit': '1baa8dcb09ee427573aba665807e3f757659f98b'} +Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'npm ci'} " Plug 'neovim/nvim-lspconfig' +" BEGIN codecompanion +" https://codecompanion.olimorris.dev/installation.html +Plug 'nvim-lua/plenary.nvim', {'branch': 'master'} +Plug 'nvim-treesitter/nvim-treesitter' +Plug 'olimorris/codecompanion.nvim' +" END codecompanion + " Plug 'hrsh7th/cmp-nvim-lsp', {'branch': 'main'} " Plug 'hrsh7th/cmp-buffer', {'branch': 'main'} " Plug 'hrsh7th/cmp-path', {'branch': 'main'} @@ -33,7 +45,10 @@ Plug 'neoclide/coc.nvim', {'branch': 'release'} " Plug 'simrat39/rust-tools.nvim' -Plug 'simrat39/symbols-outline.nvim' +"" Uses deprecated calls and has been archived by the maintainer: +"" https://github.com/simrat39/symbols-outline.nvim +"" Also not really better than CocOutline. +" Plug 'simrat39/symbols-outline.nvim' " Typst stuff: Plug 'kaarmu/typst.vim' @@ -47,13 +62,16 @@ Plug 'kaarmu/typst.vim' call plug#end() " END Vim-Plug +" lua require("symbols-outline").setup() +"" luafile ~/.config/nvim/setup-symbols-outline.lua + lua require('Comment').setup() " luafile ~/.config/nvim/setup-rust-tools.lua "luafile ~/.config/nvim/setup-lsp-rust-jonhoo.lua source ~/.config/nvim/setup-coc.vim -lua require("symbols-outline").setup() -" luafile ~/.config/nvim/setup-symbols-outline.lua +" lua require('codecompanion').setup() +luafile ~/.config/nvim/setup-codecompanion.lua " NERDTree let NERDTreeShowLineNumbers=1 @@ -91,6 +109,7 @@ filetype plugin on set mouse=a " To scroll Coc tooltips. https://github.com/neoclide/coc.nvim/issues/1405 set spellfile=~/.vim/spell/en.utf-8.add set spelllang=en,ru,la +set nohidden " No hidden buffers, please. " lightline set laststatus=2 @@ -164,13 +183,14 @@ match ErrorMsg '\s\+$' " Trailing whitespace "============================================================================== " C -autocmd FileType c set noexpandtab | set shiftwidth=8 | set tabstop=8 | set softtabstop=8 +autocmd FileType c set noexpandtab | set shiftwidth=8 | set softtabstop=8 " TypeScript -autocmd FileType typescript set noexpandtab | set shiftwidth=8 | set tabstop=8 | set softtabstop=8 +" TODO Why did I ever want to not expand tabs for TS? +" autocmd FileType typescript set noexpandtab | set shiftwidth=8 | set softtabstop=8 " R -autocmd FileType r set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType r set softtabstop=2 | set shiftwidth=2 " Python autocmd FileType python set omnifunc=pythoncomplete#Complete @@ -180,14 +200,14 @@ autocmd FileType gitcommit set spell " Markdown "autocmd FileType markdown set spell -autocmd FileType markdown set expandtab | set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType markdown set expandtab | set softtabstop=2 | set shiftwidth=2 " HTML autocmd FileType html set spell " MediaWiki autocmd FileType mediawiki set spell -autocmd FileType mediawiki set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType mediawiki set set softtabstop=2 | set shiftwidth=2 " Tiger autocmd BufNewFile,BufRead *.tig set filetype=tiger @@ -198,16 +218,16 @@ autocmd BufNewFile,BufRead *.sig set filetype=sml " Mathematica autocmd BufNewFile,BufRead *.m set filetype=mma autocmd BufNewFile,BufRead *.mt set filetype=mma -autocmd FileType mma set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType mma set softtabstop=2 | set shiftwidth=2 " F# -autocmd FileType fsharp set tabstop=4 | set softtabstop=4 | set shiftwidth=4 +autocmd FileType fsharp set softtabstop=4 | set shiftwidth=4 " twtxt.txt autocmd BufNewFile,BufRead twtxt.txt set filetype=conf | set noexpandtab " Scheme -autocmd FileType scheme set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType scheme set softtabstop=2 | set shiftwidth=2 " Racket autocmd FileType racket setlocal equalprg=scmindent.rkt @@ -215,7 +235,10 @@ autocmd FileType racket setlocal equalprg=scmindent.rkt " Erlang "autocmd FileType erlang setlocal equalprg=erlfmt -autocmd FileType erlang set tabstop=4 | set softtabstop=4 | set shiftwidth=4 +autocmd FileType erlang set softtabstop=4 | set shiftwidth=4 + +" Django templates +autocmd FileType htmldjango set softtabstop=4 | set shiftwidth=4 | set expandtab " ----------------------------------------------------------------------------- " TypeScript @@ -232,4 +255,4 @@ let g:syntastic_enable_racket_racket_checker = 0 " ----------------------------------------------------------------------------- " OCaml " ----------------------------------------------------------------------------- -autocmd FileType ocaml set tabstop=2 | set softtabstop=2 | set shiftwidth=2 +autocmd FileType ocaml set softtabstop=2 | set shiftwidth=2 diff --git a/home/.mpdconf b/home/.mpdconf index e1a4033..2cdd2c2 100644 --- a/home/.mpdconf +++ b/home/.mpdconf @@ -1,5 +1,5 @@ # -music_directory "~/arc/aud" +music_directory "/mnt/arc/aud" playlist_directory "~/var/lib/mpd/playlists" db_file "~/var/lib/mpd/tag_cache" log_file "~/var/log/mpd/mpd.log" diff --git a/home/.xbindkeysrc b/home/.xbindkeysrc index a7b3db5..e03eb4c 100644 --- a/home/.xbindkeysrc +++ b/home/.xbindkeysrc @@ -113,12 +113,15 @@ # ------------------------ # Screenshot # ------------------------ -"scrot --freeze --select 'screen--%Y-%m-%d--%H-%M-%S.png' -e 'mv $f ~/arc/img/Screenshots/'" +"scrot --freeze --select 'screen--%Y-%m-%d--%H-%M-%S.png' -e 'mv $f /mnt/arc/img/screenshots/'" Print -"scrot --select 'screen--%Y-%m-%d--%H-%M-%S.png' -e 'mv $f ~/arc/img/Screenshots/'" +"scrot --select 'screen--%Y-%m-%d--%H-%M-%S.png' -e 'mv $f /mnt/arc/img/screenshots/'" Shift + Print +"scrot 'screen--%Y-%m-%d--%H-%M-%S.png' -e 'mv $f /mnt/arc/img/screenshots/'" + Mod4 + Print + # Screencast "st -c screencast -e ~/bin/screencast" Control + Print @@ -166,8 +169,6 @@ "cd ~/doc/drafts && gvim $(draft ~/doc/drafts/adhoc)" Mod4 + d -"cd ~/doc/notes/job-search-2024 && gvim README.md" - Mod4 + j "cd ~/doc/notes && notes_prepend && gvim -c NERDTreeFind notes.md" Mod4 + n + Shift "cd ~/doc/notes && gvim $(draft ~/doc/notes/adhoc)" @@ -181,7 +182,7 @@ # File browser -"pcmanfm" +"pcmanfm 2>> ~/var/log/pcmanfm.log" Mod4 + f # Weather diff --git a/home/.xlaunch.d/xbindkeys b/home/.xlaunch.d/xbindkeys index 35e895f..c54d22a 100755 --- a/home/.xlaunch.d/xbindkeys +++ b/home/.xlaunch.d/xbindkeys @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash set -e @@ -6,4 +6,11 @@ set -e # 1. not using killall; # 2. using "command" (or "cmd") instead of "comm". ps -eo pid,command | awk '$2 ~ "^xbindkeys" {print $1}' | xargs -I% kill % -xbindkeys -n #-v +# xbindkeys -n -v +xbindkeys -n \ +2> >( + while read -r line + do + notify-send -u low 'xbindkeys' "$line" + done +) diff --git a/home/.xlaunch.d/xscreensaver b/home/.xlaunch.d/xscreensaver index 9762d77..6f177bc 100755 --- a/home/.xlaunch.d/xscreensaver +++ b/home/.xlaunch.d/xscreensaver @@ -1,9 +1,26 @@ -#! /bin/sh +#! /bin/bash set -e +debug() { + local -r fmt=$1 + local -a arg=("${@:2}") + local -r str=$(printf "$fmt" $arg) + + printf '[debug] %s\n' "$str" +} + +subject='screensaver launch' # XXX mate-settings-daemon, on which we rely on for hidpi settings, starts # mate-screensaver and interferes with our start. -pkill mate-screensave || true +debug 'Starting killing loop' +while ! pkill mate-screensave +do + debug 'Failed to kill' + notify-send -u low "$subject" 'Failed to kill mate-screensaver' + sleep 1 +done +debug 'Killed. Starting new.' +notify-send -u low "$subject" 'Killed mate-screensaver. Starting xscreensaver' xscreensaver diff --git a/home/bin/mpd_fav b/home/bin/mpd_fav index f91983d..d035f45 100755 --- a/home/bin/mpd_fav +++ b/home/bin/mpd_fav @@ -1,3 +1,3 @@ #! /bin/sh -mpd_current_file >> "$HOME"/mpd_favs +mpd_tag 'fav' diff --git a/home/bin/x b/home/bin/x index 3961b85..cd6512b 100755 --- a/home/bin/x +++ b/home/bin/x @@ -4,7 +4,7 @@ set -e; README='README.md' -name=$(echo "$@" | sed 's/\s\+/-/g'); +name=$(echo "$@" | sed -E 's/[[:space:]]+/-/g'); timestamp=$(date +'%F--%H-%M-%S'); directory="$HOME/x/$timestamp--$name"; mkdir -p "$directory"; diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index 51da11b..53619ff 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -16,7 +16,7 @@ emoji() { } links() { - local -r file="$HOME"/arc/doc/links/"$(date +%F)" + local -r file="$DIR_ARCHIVE"/doc/links/"$(date +%F)" case "$1" in '') "$EDITOR" "$file";; @@ -27,7 +27,7 @@ links() { links_aggregate_md() { printf 'Daily Links\n' printf '%s\n' "$(bar 78 '=')" - find ~/arc/doc/links -maxdepth 1 -mindepth 1 -type f \ + find "$DIR_ARCHIVE"/doc/links -maxdepth 1 -mindepth 1 -type f \ | sort -r \ | while read -r file_path; do printf '\n' @@ -339,7 +339,8 @@ hump() { ## search howtos ## howto : unit -> string howto() { - cat "$(find ~/arc/doc/HOWTOs -mindepth 1 -maxdepth 1 | sort | fzf)" + local -r file=$(find "$DIR_ARCHIVE"/doc/HOWTOs -mindepth 1 -maxdepth 1 | sort | fzf) + cat "$file" } _yt() { diff --git a/home/lib/login_variables.sh b/home/lib/login_variables.sh index 00826c9..3c4efac 100644 --- a/home/lib/login_variables.sh +++ b/home/lib/login_variables.sh @@ -2,16 +2,17 @@ export EDITOR=nvim export VISUAL=$EDITOR ### DIRs ### -export DIR_GITHUB="${HOME}/arc/sw/src/repos/remote/github.com" -export DIR_AUDIO="${HOME}/arc/aud" -export DIR_VIDEO="${HOME}/arc/vid" +export DIR_ARCHIVE="/mnt/arc" +export DIR_GITHUB="${DIR_ARCHIVE}/sw/src/repos/remote/github.com" +export DIR_AUDIO="${DIR_ARCHIVE}/aud" +export DIR_VIDEO="${DIR_ARCHIVE}/vid" export DIR_YOUTUBE_VIDEO="${DIR_VIDEO}/web/youtube.com" export DIR_YOUTUBE_AUDIO="${DIR_AUDIO}/youtube.com" export DIR_NOTES="$HOME/doc/notes" export DIR_LOG="$HOME/var/log" export DIR_LOG_MPD="$DIR_LOG/mpd" export DIR_NQ="$HOME/var/run/nq" -export DIR_WALLPAPERS="$HOME/arc/img/Wallpapers" +export DIR_WALLPAPERS="${DIR_ARCHIVE}/img/Wallpapers" export DIR_TODO="$HOME/doc/TODO" # ensure all DIRs exist: @@ -78,5 +79,11 @@ export PATH=/opt/DataGrip/bin:"$PATH" # JetBrains Toolbox export PATH="$PATH":"$HOME"/.local/share/JetBrains/Toolbox/scripts +# Alloy +export PATH=/opt/alloy/bin:"$PATH" + +# Windsurf +export PATH=/opt/Windsurf/bin:"$PATH" + # personal export PATH=$HOME/bin:$HOME/.local/bin:/snap/bin:/sbin:/usr/sbin:"$PATH" -- 2.20.1