diff --git a/bootstrap/packages_stable.tsv b/bootstrap/packages_stable.tsv index c449b4a..07c8f23 100644 --- a/bootstrap/packages_stable.tsv +++ b/bootstrap/packages_stable.tsv @@ -203,7 +203,7 @@ offpunk-git Fork of the command-line Gemini client AV-98 with added offline capa oh-my-zsh-git A community-driven framework for managing your zsh configuration. Includes 180+ optional plugins and over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community A os-prober Utility to detect other OSes on a set of drives R pacman-contrib Contributed scripts and tools for pacman systems R -papis Papis is a powerful and highly extensible command-line based document and bibliography manager. P whoosh,papis-zotero,papis-scihub,git+https://git.martyoeh.me/Marty/papis-extract.git,git+https://github.com/supersambo/papis-tui +papis Papis is a powerful and highly extensible command-line based document and bibliography manager. P whoosh,papis-zotero,papis-scihub,git+https://git.martyoeh.me/Marty/papis-extract.git,git+https://github.com/supersambo/papis-tui,pybtex-apa-style,git+https://git.martyoeh.me/Marty/papis-bbt-formatter.git parallel A shell tool for executing jobs in parallel R parsec-bin Remotely connect to a gaming pc for a low latency remote computing experience A paru-bin Feature packed AUR helper A diff --git a/desktop/.config/kanshi/config b/desktop/.config/kanshi/config index 111d1a2..0aaded9 100644 --- a/desktop/.config/kanshi/config +++ b/desktop/.config/kanshi/config @@ -12,6 +12,20 @@ profile docked { exec notify-send "💻 Display changed" "Applying docked Goldstar profile" } +profile dockedall { + output "LG Electronics W2442 0x000075FD" position 1920,0 + output "LG Electronics W2442 0x000075E1" position 0,0 + output eDP-1 enable position 960,1080 + exec notify-send "💻 Display changed" "Applying docked 3-screen profile" +} + +profile portable { + output "LG Electronics W2442 0x000075FD" disable + output "LG Electronics W2442 0x000075E1" disable + output eDP-1 enable position 0,0 + exec notify-send "💻 Display changed" "Applying portable profile" +} + profile portable { output eDP-1 enable position 0,0 exec notify-send "💻 Display changed" "Applying portable profile" diff --git a/multimedia/.config/beets/config.yaml b/multimedia/.config/beets/config.yaml index 9dee535..03b417d 100644 --- a/multimedia/.config/beets/config.yaml +++ b/multimedia/.config/beets/config.yaml @@ -60,7 +60,6 @@ match: rec_gap_thresh: 0.25 plugins: - - acousticbrainz - bandcamp - chroma - deezer diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 21b6c68..bf409e1 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -12,6 +12,7 @@ "cmp-digraphs": { "branch": "master", "commit": "5efc1f0078d7c5f3ea1c8e3aad04da3fd6e081a9" }, "cmp-latex-symbols": { "branch": "main", "commit": "165fb66afdbd016eaa1570e41672c4c557b57124" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-pandoc-references": { "branch": "master", "commit": "2c808dff631a783ddd2c554c4c6033907589baf6" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, @@ -23,7 +24,6 @@ "completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "dressing.nvim": { "branch": "master", "commit": "c0b67f3e2950adc07b555d3e73e38275b4a585ce" }, - "easyread.nvim": { "branch": "main", "commit": "0b07e315a4cd7d700c4a794bdddbec79fdc2628b" }, "fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" }, "friendly-snippets": { "branch": "main", "commit": "377d45475b49e37460a902d6d569d2093d4037d0" }, "fwatch.nvim": { "branch": "main", "commit": "a691f7349dc66285cd75a1a698dd28bca45f2bf8" }, @@ -34,7 +34,6 @@ "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" }, "lsp-setup.nvim": { "branch": "main", "commit": "64542fb0da06414cdfaa0c5236b743679bb7ba7f" }, - "lsp_signature.nvim": { "branch": "master", "commit": "4665921ff8e30601c7c1328625b3abc1427a6143" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "magma-nvim-goose": { "branch": "main", "commit": "9a626aab63361d027541d023707f82e28d7f872c" }, "markdown-preview.nvim": { "branch": "master", "commit": "9becceee5740b7db6914da87358a183ad11b2049" }, diff --git a/nvim/.config/nvim/lua/plugins/config/cmp.lua b/nvim/.config/nvim/lua/plugins/config/cmp.lua index bf1ac57..ccb80af 100644 --- a/nvim/.config/nvim/lua/plugins/config/cmp.lua +++ b/nvim/.config/nvim/lua/plugins/config/cmp.lua @@ -43,6 +43,7 @@ cmp.setup({ }, sources = { { name = "nvim_lsp" }, + { name = "nvim_lsp_signature_help" }, { name = "otter" }, { name = "luasnip", keyword_length = 2 }, { name = "pandoc_references" }, diff --git a/nvim/.config/nvim/lua/plugins/config/lsp.lua b/nvim/.config/nvim/lua/plugins/config/lsp.lua index 294b615..b2d611d 100644 --- a/nvim/.config/nvim/lua/plugins/config/lsp.lua +++ b/nvim/.config/nvim/lua/plugins/config/lsp.lua @@ -29,7 +29,9 @@ local servers = { }, }, }, - marksman = {}, + marksman = { + filetypes = { "markdown", "quarto" }, + }, pyright = {}, ruff_lsp = {}, serve_d = {}, diff --git a/nvim/.config/nvim/lua/plugins/git.lua b/nvim/.config/nvim/lua/plugins/git.lua index 21e7deb..3c52bad 100644 --- a/nvim/.config/nvim/lua/plugins/git.lua +++ b/nvim/.config/nvim/lua/plugins/git.lua @@ -11,8 +11,8 @@ return { vim.keymap.set("n", "hO", "(git-conflict-theirs)", { desc = "Conflict use theirs" }) vim.keymap.set("n", "hm", "(git-conflict-both)", { desc = "Conflict use both" }) vim.keymap.set("n", "hM", "(git-conflict-none)", { desc = "Conflict use none" }) - vim.keymap.set("n", "[x", "(git-conflict-prev-conflict)", { desc = "Prev git conflict" }) - vim.keymap.set("n", "]x", "(git-conflict-next-conflict)", { desc = "Next git conflict" }) + vim.keymap.set("n", "[H", "(git-conflict-prev-conflict)", { desc = "Prev git conflict" }) + vim.keymap.set("n", "]H", "(git-conflict-next-conflict)", { desc = "Next git conflict" }) end, lazy = false, -- TODO needs to be force refreshed in lazy loaded mode unfortunately }, diff --git a/nvim/.config/nvim/lua/plugins/ide.lua b/nvim/.config/nvim/lua/plugins/ide.lua index 32c9a69..1fe0a9e 100644 --- a/nvim/.config/nvim/lua/plugins/ide.lua +++ b/nvim/.config/nvim/lua/plugins/ide.lua @@ -13,8 +13,6 @@ return { backends = { "treesitter", "lsp", "markdown", "man" }, }, }, - -- show a signature whenever editing a function or similar - { "ray-x/lsp_signature.nvim", config = true, event = "VeryLazy" }, { "junnplus/lsp-setup.nvim", dependencies = { @@ -66,6 +64,7 @@ return { "hrsh7th/cmp-calc", "hrsh7th/cmp-cmdline", "hrsh7th/cmp-nvim-lua", + "hrsh7th/cmp-nvim-lsp-signature-help", "dmitmel/cmp-digraphs", "jc-doyle/cmp-pandoc-references", "kdheepak/cmp-latex-symbols", diff --git a/nvim/.config/nvim/lua/plugins/prose.lua b/nvim/.config/nvim/lua/plugins/prose.lua index 4e44578..695a6c1 100644 --- a/nvim/.config/nvim/lua/plugins/prose.lua +++ b/nvim/.config/nvim/lua/plugins/prose.lua @@ -6,13 +6,6 @@ return { { "folke/zen-mode.nvim", config = true, event = "VeryLazy" }, -- provide even distraction free-er writing (lowlight paragraphs) { "folke/twilight.nvim", event = "VeryLazy" }, - -- enable 'speed-reading' mode (bionic reading) - { - "JellyApple102/easyread.nvim", - config = true, - ft = writing_ft, - cmd = "EasyreadToggle", - }, { "andrewferrier/wrapping.nvim", config = function() @@ -26,8 +19,8 @@ return { { "lukas-reineke/headlines.nvim", dependencies = "nvim-treesitter/nvim-treesitter", - config = true, - ft = writing_ft, + config = true, + ft = writing_ft, }, -- generate an auto-updating html preview for md files { diff --git a/nvim/.config/nvim/spell/de.utf-8.add b/nvim/.config/nvim/spell/de.utf-8.add new file mode 100644 index 0000000..fb8fe37 --- /dev/null +++ b/nvim/.config/nvim/spell/de.utf-8.add @@ -0,0 +1 @@ +Mitgliedern diff --git a/nvim/.config/nvim/spell/en.utf-8.add b/nvim/.config/nvim/spell/en.utf-8.add index 5d507bf..f5605bc 100644 --- a/nvim/.config/nvim/spell/en.utf-8.add +++ b/nvim/.config/nvim/spell/en.utf-8.add @@ -185,3 +185,4 @@ GitLab Gitea caramelization Maillard +individualities diff --git a/qutebrowser/.config/qutebrowser/redirects.py b/qutebrowser/.config/qutebrowser/redirects.py index 635f658..42ee797 100644 --- a/qutebrowser/.config/qutebrowser/redirects.py +++ b/qutebrowser/.config/qutebrowser/redirects.py @@ -180,8 +180,6 @@ redirects = { "wiki-en": { "source": ["en.wikipedia.org"], "target": [ - "wiki.adminforge.de", - "wiki.froth.zone", "wiki.slipfox.xyz", "wikiless.funami.tech", "wikiless.org", diff --git a/sh/.config/sh/xdg b/sh/.config/sh/xdg index 45407b5..38bbd99 100644 --- a/sh/.config/sh/xdg +++ b/sh/.config/sh/xdg @@ -35,7 +35,7 @@ export XDG_VIDEOS_DIR="$HOME/videos" test "$XDG_PROJECTS_DIR" || export XDG_PROJECTS_DIR="$HOME/projects" test "$XDG_BIN_HOME" || export XDG_BIN_HOME="$HOME/.local/bin" # anything on BIN_HOME should be executable form anywhere -export PATH="$PATH:$XDG_BIN_HOME" +export PATH="$XDG_BIN_HOME:$PATH" ## Applications that can be set through environment variables export ANDROID_HOME="$XDG_DATA_HOME/android" diff --git a/writing/.config/papis/config b/writing/.config/papis/config index 7318dec..319d124 100644 --- a/writing/.config/papis/config +++ b/writing/.config/papis/config @@ -1,12 +1,17 @@ [settings] -#opentool = zathura -#picktool = fzf -default-library = master +default-library = main +formater = bbt +local-config-file = .papis.config + +# opentool = zathura +picktool = papis-tui +mark-opener = zathura -P {mark[value]} file-browser = vifm -ref-format = {doc[author_list][0][family]}{doc[year]} # edit info.yaml as new papers are added add-edit = True +# ref-format = {doc[author_list][0][family]}{doc[year]} +ref-format = bbt add-folder-name = {doc[author_list][0][family]}-{doc[title]} add-file-name = {doc[author_list][0][family]}{doc[year]} header-format-file = ~/.config/papis/headerformat @@ -20,14 +25,15 @@ default-query-string = * notes-name = notes.md notes-template = {doc[author_list][0][family]}{doc[year]}--{doc[title]} -mark-opener = zathura -P {mark[value]} - [tui] editmore = vi -[master] +[main] dir = ~/documents/library +[emgs] +dir = ~/documents/library/emgs + [academia] dir = ~/documents/library/academia @@ -39,3 +45,8 @@ dir = ~/documents/library/cs [ee] dir = ~/documents/library/ee + +[plugins.bbt-formatter] +full-year = True +title-words = 2 +title-chars = 20 diff --git a/writing/.config/papis/papistui.yaml b/writing/.config/papis/papistui.yaml index 2570a70..da07300 100644 --- a/writing/.config/papis/papistui.yaml +++ b/writing/.config/papis/papistui.yaml @@ -1,14 +1,25 @@ +# current issues/requests +# - [ ] call arbitrary shell command +# - [ ] non-blocking opening of files +# - [ ] distinguish in config between aliases for multiline/table +# - [ ] update view after more operations +# - if I call an 'update' command (e.g. set new tag or read status), it will not update in list until 'edit' command invoked and rebuilding the list +# - two selection additions: +# - [ ] select all in view +# - [ ] limit view to currently selected +# base: vimflavour: nvim documentlist: defaultstyle: multiline - marked-icon: "" + marked-icon: "󰁔" multilinestyle: rows: - - "{doc.alias('type')} {doc['ref']} {doc.forfile('')}" + # TODO: show if already note attached; have info window display note content? + - "{' ' if 'priority' not in doc or doc['priority'] > 3 else '󱝇 ' if doc['priority'] <= 1 else '󱝇 '}{doc.alias('type')} {doc['ref']} {doc.alias('readstatus')} {' 󰘓 ' if doc['notes'] else ''}" - "{doc.html_escape['title']}" - "{doc.html_escape['author']}" - - "{doc.foreach('tags', '({})', split = ', ', sep = ' ')}" + - "{doc.foreach('tags', '({})', split = ', ', sep = ' ')}" tablestyle: separator: " " headerstyle: "underline|bold" @@ -16,30 +27,59 @@ documentlist: cursorrowstyle: "black_white|bold" columns: - { - header: " #", - content: "{doc.alias('type')} {str(len(doc.get_files()) if len(doc.get_files()) > 0 else '')}", - width: 3, + header: "󱝇", + content: "{'' if 'priority' not in doc or doc['priority'] > 3 else '󰝥' if doc['priority'] <= 1 else '󰝦'}", + width: 1, } - - { header: "Reference", content: "@{doc['ref']}", width: 15 } + - { + header: "󰑇", + content: "{'󰗠' if doc['readstatus'] == 'read' else '󰗡' if doc['readstatus'] == 'skimmed' else ' '}", + width: 1, + } + - { + header: "", + content: "{'󰎚' if doc['notes'] else '󰎛' if doc['note'] else ' '}", + width: 1, + } + - { + header: "󰉺", + content: "{doc.alias('type')}", + width: 1, + } + - { header: "Authors", content: "{doc['author']}", width: 25 } - { header: "Year", content: "{str(doc['year'])}", width: 4 } - - { header: "Authors", content: "{doc['author']}", width: 20 } - - { header: "Title", content: "{doc['title']}", width: 200 } + - { header: "Title", content: "{doc['title']}", width: 125 } + - { header: "Reference", content: "{doc['ref']}", width: 15 } + - { + header: "󰘓", + content: "{str(len(doc.get_files()) if len(doc.get_files()) > 0 else '')}", + width: 1, + } + - { header: "Tags", content: "{doc['tags'] if isinstance(doc['tags'], str) else doc.foreach('tags', '{}', sep=', ')}", width: 35 } aliases: type: { article: "", book: "", + inbook: "", incollection: "󰪧", - inbook: '', - software: "", + software: "󰅩", presentation: "󰐨", thesis: "", - _default_: "", + techreport: "󰁰", + _default_: "", } + readstatus: + { + read: "󰗠", + skimmed: "󰗡" + } + keymappings: q: quit "?": help - S: toggle_style + T: toggle_style + S: cmd "sort " /: search_mode : scroll_down : scroll_up @@ -51,29 +91,96 @@ keymappings: k: scroll_up o: open -r "pdf$" O: open -d - r: view_reset - R: reload - e: edit - n: papis edit -n papis_id:{doc['papis_id']} + b: browse + B: browse -k doi + R: view_reset + : reload + e: + - edit + - edit info + n: + - papis edit -n papis_id:{doc['papis_id']} + - edit notes + "'n": + - search "notes:.+" + - limit to entries with notes + "'u": + - search "readstatus:read OR readstatus:skimmed" + - limit to read entries + "'r": + - search "NOT readstatus:read AND NOT readstatus:skimmed" + - limit to unread entries " ": mark_selected mm: mark_selected M: mark_down + J: mark_down mu: unmark_all mv: mark_view - t: cmd "tag " + ",t": cmd "tag " + ",r": + - papis update -s readstatus read papis_id:{doc['papis_id']} + - set readstatus read + ",k": + - papis update -s readstatus skimmed papis_id:{doc['papis_id']} + - set readstatus skimmed + ",u": + - papis update -s readstatus "" papis_id:{doc['papis_id']} + - set readstatus unread + ",ph": + - papis update -s priority 1 papis_id:{doc['papis_id']} + - set priority high + ",pm": + - papis update -s priority 2 read papis_id:{doc['papis_id']} + - set priority medium + ",pl": + - papis update -s priority 3 read papis_id:{doc['papis_id']} + - set priority low i: - info_toggle - "Toggle info window" I: - info_cycle - "Cycle info windows" + : info_scroll_up + : info_scroll_down + # all require 'clip' script to be available on PATH + yy: + - copy_to_clipboard "[@{doc['ref']}]" + - yank pandoc-styled reference + ss: + - vim_send "[@{doc['ref']}]" + - send vim pandoc-styled reference + yl: + - copy_to_clipboard "\\cite\{{doc['ref']}\}" + - yank latex-styled reference + sl: + - vim_send "\\cite\{{doc['ref']}\}" + - send vim latex-styled reference + yr: + - copy_to_clipboard "{format_reference(doc,style='apa')}" + - yank apa-styled reference + sr: + - vim_send "{format_reference(doc,style='apa')}" + - send vim apa-styled reference + yt: + - copy_to_clipboard "{doc['title']}" + - yank title + yu: + - copy_to_clipboard "{doc['url']}" + - yank url + yd: + - copy_to_clipboard "{doc['doi']}" + - yank doi # TODO look into https://github.com/supersambo/papis-tui vim-send mappings infowindow: default_on: False views: + doc: + content: "author: {doc['author'].strip()}\n title: {doc['title'].strip()}\n tags:{doc['tags'] if isinstance(doc['tags'], str) else doc.foreach('tags', '{}', sep=', ')}" + height: 8 apa: - content: "{format_reference(doc)}" + content: "{format_reference(doc,style='apa')}" abstract: content: "{doc['abstract']}" linewrap: True @@ -81,7 +188,7 @@ infowindow: commandline: search: - keyword_aliases: {a: 'author:', t: 'title:', y: 'year:', k: 'tags:'} + keyword_aliases: { a: "author:", t: "title:", y: "year:", k: "tags:" } statusbar: left: @@ -92,4 +199,3 @@ statusbar: search: " {info['mode_upper']} " right: default: "{info['sortkeys']} {info['idx']} < {info['marked']} < {info['view']} < {info['items']} " -