Update master
authorSiraaj Khandkar <siraaj@khandkar.net>
Wed, 7 Jan 2026 14:06:52 +0000 (09:06 -0500)
committerSiraaj Khandkar <siraaj@khandkar.net>
Wed, 7 Jan 2026 14:06:52 +0000 (09:06 -0500)
12 files changed:
home/.config/Code/User/settings.json
home/.config/mimeapps.list
home/.config/nvim/coc-settings.json
home/.config/nvim/init.vim
home/.mpdconf
home/.xbindkeysrc
home/.xlaunch.d/xbindkeys
home/.xlaunch.d/xscreensaver
home/bin/mpd_fav
home/bin/x
home/lib/login_functions.sh
home/lib/login_variables.sh

index baa2463..c950ce2 100644 (file)
@@ -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,
index 5084b98..b28b1ec 100644 (file)
@@ -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
index a1975df..ef69521 100644 (file)
@@ -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",
             "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,
index f46eaed..50e41c9 100644 (file)
@@ -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
index e1a4033..2cdd2c2 100644 (file)
@@ -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"
index a7b3db5..e03eb4c 100644 (file)
 # ------------------------
 # 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
 "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)"
 
 
 # File browser
-"pcmanfm"
+"pcmanfm 2>> ~/var/log/pcmanfm.log"
     Mod4 + f
 
 # Weather
index 35e895f..c54d22a 100755 (executable)
@@ -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
+)
index 9762d77..6f177bc 100755 (executable)
@@ -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
index f91983d..d035f45 100755 (executable)
@@ -1,3 +1,3 @@
 #! /bin/sh
 
-mpd_current_file >> "$HOME"/mpd_favs
+mpd_tag 'fav'
index 3961b85..cd6512b 100755 (executable)
@@ -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";
index 51da11b..53619ff 100644 (file)
@@ -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() {
index 00826c9..3c4efac 100644 (file)
@@ -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"
This page took 0.054036 seconds and 4 git commands to generate.