From a316eeead2ec0fe2895adf5a001b0f43f0468185 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 3 Oct 2023 16:00:36 +0200 Subject: [PATCH 01/11] repo: Remove leftover stow setup Removed stow-related files, switched dotlink to use dotter instead of stow. --- .assets/.stow-local-ignore | 1 - .dotter/global.toml | 29 ++++++++++--------- .githooks/.stow-local-ignore | 1 - .stowrc | 5 ---- README.md | 21 +++++++------- bootstrap/.stow-local-ignore | 8 ----- bootstrap/{.config/sh/alias.d => }/dotlink.sh | 5 ++-- bootstrap/packages_stable.tsv | 1 - install.sh | 2 +- 9 files changed, 30 insertions(+), 43 deletions(-) delete mode 100644 .assets/.stow-local-ignore delete mode 100644 .githooks/.stow-local-ignore delete mode 100644 .stowrc delete mode 100644 bootstrap/.stow-local-ignore rename bootstrap/{.config/sh/alias.d => }/dotlink.sh (85%) diff --git a/.assets/.stow-local-ignore b/.assets/.stow-local-ignore deleted file mode 100644 index 96787ae..0000000 --- a/.assets/.stow-local-ignore +++ /dev/null @@ -1 +0,0 @@ -^/.* # everything diff --git a/.dotter/global.toml b/.dotter/global.toml index 2a07138..5424ccf 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -4,14 +4,17 @@ # a development environment based on git and nvim. [base] -depends = ["shell", "git", "nvim", "scripts", "ssh", "terminal"] +depends = ["shell", "git", "nvim", "scripts", "ssh", "terminal", "bootstrap"] + +[bootstrap.files] +"bootstrap/dotlink.sh" = "~/.config/sh/alias.d/dotlink.sh" [shell.files] -"sh/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"sh/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } sh = "~" [git.files] -"git/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"git/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } git = "~" [nvim.files] @@ -20,14 +23,14 @@ git = "~" nvim = "~" [scripts.files] -"scripts/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"scripts/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } scripts = "~" [ssh.files] ssh = "~" [terminal.files] -"terminal/.config/vifm" = { target = "~/.config/vifm", type = "symbolic" } +"terminal/.config/vifm" = "~/.config/vifm" terminal = "~" # LINUX: A linux machine, with systemd enabled, auto-mounting set up and a nice productivity suite. @@ -36,28 +39,28 @@ terminal = "~" depends = ["base", "disks", "pass", "office", "services", "social", "writing"] [disks.files] -"disks/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"disks/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } disks = "~" [pass.files] -"pass/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } -"pass/.local/share/pass-pick/assets/rofi-menu.gif" = { target = "~/nowhere", type = "symbolic", if = "false" } +"pass/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } +"pass/.local/share/pass-pick/assets/rofi-menu.gif" = { target = "~/NOWHERE", type = "symbolic", if = "false" } pass = "~" [office.files] -"office/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"office/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "office/.config/glow/email.json" = { target = "~/.config/glow/email.json", type = "symbolic" } office = "~" [services.files] -"services/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"services/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } services = "~" [social.files] social = "~" [writing.files] -"writing/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"writing/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "writing/.config/papis/papistui.yaml" = { target = "~/.config/papis/papistui.yaml", type = "symbolic" } "writing/.config/sioyek/prefs_user.config" = { target = "~/.config/sioyek/prefs_user.config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } writing = "~" @@ -71,11 +74,11 @@ depends = ["linux", "desktop", "multimedia", "qutebrowser"] "desktop/.config/flavours/templates" = { target = "~/.config/flavours/templates", type = "symbolic" } "desktop/.config/waybar/config" = { target = "~/.config/waybar/config", type = "symbolic" } "desktop/.config/mako/config" = { target = "~/.config/mako/config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } -"desktop/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"desktop/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } desktop = "~" [multimedia.files] -"multimedia/README.md" = { target = "~/README.md", type = "symbolic", if = "false" } +"multimedia/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "multimedia/.config/mpv/scripts" = { target = "~/.config/mpv/scripts", type = "symbolic" } "multimedia/.config/ncmpcpp/config" = { target = "~/.config/ncmpcpp/config", type = "symbolic" } "multimedia/.config/mpv/fonts/uosc_icons.otf" = { target = "~/.config/mpv/fonts/uosc_icons.otf", type = "symbolic" } diff --git a/.githooks/.stow-local-ignore b/.githooks/.stow-local-ignore deleted file mode 100644 index 96787ae..0000000 --- a/.githooks/.stow-local-ignore +++ /dev/null @@ -1 +0,0 @@ -^/.* # everything diff --git a/.stowrc b/.stowrc deleted file mode 100644 index e310a31..0000000 --- a/.stowrc +++ /dev/null @@ -1,5 +0,0 @@ ---target=~ ---ignore='^.gitlab-ci.yml$' ---ignore='^.stowrc$' ---ignore='^.githooks$' ---ignore='^README.md$' diff --git a/README.md b/README.md index c5de3a4..3d97a7e 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,25 @@ # `~/🌹` -Note that the below screenshots still show the X configuration from [v0.1](https://gitlab.com/marty-oehme/dotfiles/-/tags/v0.1) which is very old by now. +Note that the below screenshots still show the X configuration from [v0.1](https://gitlab.com/marty-oehme/dotfiles/-/tags/v0.1) which is *very* old by now. The current dotfiles are geared toward wayland for which the setup looks similar but not identical to the previews below. ## What's in these dotfiles -* [x] vim configuration for simple programming tasks (especially go/typescript/python/bash) and prose +* [x] wayland setup using `riverwm` with quick access to many overlays and picking tools for styles, downloads, browsing history, passwords and more +* [x] vim configuration for simple programming tasks (especially python/bash/lua) and prose (markdown/quarto/latex) * [x] academic workflow tools, to allow quick citation, pdf compilation, and preview -* [x] simple, efficient waybar with package update notification, and spotify (mpris) integration -* [x] tmux session management through `tm` and `tl` tools -* [x] tmux fuzzy-searching of terminal sessions to switch to with hot-key (``) in addition to normal session switching +* [x] simple, efficient waybar with package update notification and mpris integration * [x] system-wide color management (terminals, vim, qutebrowser, polybar, xresources) through [`flavours`](https://github.com/Misterio77/flavours) application using [base16](http://chriskempson.com/projects/base16/) themes * [x] quick theme switching by activating `flavours` and fuzzy-searching themes with hot-key (default `=+S`) -* [x] many vim color-schemes with quick light/dark switching (`F8`) and individual theme switch (`+F8`) * [x] quick directory jumping using `z`, with `fzf` integration * [x] `fzf`-like integrations for bibtex citation, vim buffer management, most recently used switching, shell command history, and more +* [x] password management with `pass` and picking it with automatic typing into any window [![Styler recoloring demo](https://gitlab.com/marty-oehme/dotfiles/-/wikis/uploads/bde87deda694590a2e08e21552e11309/styler.webp)](https://gitlab.com/marty-oehme/dotfiles/-/wikis/uploads/90894e53eff378db4d7f9f49e7a69fab/styler.mp4) ## Quick-Start -The dotfiles use `GNU stow` to link themselves in the home directory. You can clone this repository anywhere (though I have mine in `~/.dotfiles` as it seemed most logical for me). +The dotfiles use `dotter` to link themselves in the home directory. You can clone this repository anywhere (though I have mine in `~/.dotfiles` as it seemed most logical for me). I would recommend doing an initial `git clone --recursive` for this repository, since it contains git [submodules](https://nering.dev/2016/git-submodules-vs-subtrees/), which will then automatically get pulled in as well. Of course, you can do it non-recursively and then just pull those modules selectively which you actually want. @@ -29,7 +28,7 @@ Once in the repository directory, when you then run `./install.sh` it will insta I would mostly recommend this on fresh machines or a test machine first - it *will* link my personal dotfiles and, if you allow it, *will* install quite a few packages. By default it will ask your consent for some steps -- use `./install.sh -f` to force yes to everything. -The dotfile installation procedure is based on `stow`, it will *not overwrite* anything already in the home directory (though you can force it to if you really want, using `stow --override='.*'` -- I do not recommend this). +The dotfile installation procedure is based on `dotter`, it will generally *not overwrite* anything already in the home directory, but of course be observant when doing ptentially destructive operations. > **NOTE** > The same non-destructive installation procedure does *not* apply to the package installation and system setting file linking, where it can potentially overwrite or remove existing files. @@ -38,7 +37,7 @@ After all files are linked and you open a new shell session, the `dotlink` alias [^1]: This alias only works when the dotfiles are cloned into `~/.dotfiles`, mirroring my setup. This is due to a hard-coded cd into this directory. - If your dotfiles lie in another directory and you want to use the dotlink alias, simply change the corresponding line in `bootstrap/.config/sh/alias.d/dotlink.sh`] + If your dotfiles lie in another directory and you want to use the dotlink alias, simply change the corresponding line in `bootstrap/.config/sh/alias.d/dotlink.sh` Both automatic installation paths are presumably somewhat brittle. In any case, I would suggest to manually look through the files for things you want instead of copying and activating everything. Dotfiles are too personal to be standardized like that. @@ -60,7 +59,7 @@ Enjoy! * [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager * [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser * [`pass`](pass/README.md) - Password management suite -* [`bibtex`](bibtex/README.md) - LateX/BibteX/pandoc plaintext writing & reference suite +* [`bibtex`] - LateX/BibteX/pandoc plaintext writing & reference suite * [`git`](git/README.md) - distributed version control system. * [`office`](office/README.md) - office/productivity software for writing e-mail and setting appointments @@ -72,7 +71,7 @@ Enjoy! * Whereas `sh` module scripts are requirements for other scripts, `.local/bin` in the `scripts` module contains most executable user scripts. Most of these have been migrated to other corresponding modules (e.g. if a script exclusively targets git functionality, it will live there), some useful --- or left-over --- stand-alone scripts remain however. * `.local/share/pandoc` contains configuration for academic latex writing (pandoc, really) and is of interest if you want to use this functionality. * `.xinitrc` is used for x initialization and program startup. At some point, some of the consistently running applications may be moved to systemd/runit as supervised services. -* Generally, top-level directories starting with a . are only meaningful for the *repository* not for the functionality of the machine that these dotfiles are deployed on. That means `.gitlab-ci.yml`, `.assets/`, `.stowrc` and similar files and directories will not show up in the final deployment in any home directory. Perhaps they should be called dotdot-files since they're the dotfiles for my dotfiles. 🙂 (Also, '[dotfiles](https://en.wikipedia.org/wiki/Semantic_satiation)'.) +* Generally, top-level directories starting with a . are only meaningful for the *repository* not for the functionality of the machine that these dotfiles are deployed on. That means `.gitlab-ci.yml`, `.assets/`, `.gitignore` and similar files and directories will not show up in the final deployment in any home directory. Perhaps they should be called dotdot-files since they're the dotfiles for my dotfiles. 🙂 (Also, '[dotfiles](https://en.wikipedia.org/wiki/Semantic_satiation)'.) [^shreq]: I may remove this requirement in the future to make modules more self-contained. However, relying on some base utility scripts makes it easier to avoid duplicating such functionality for each individual script in other modules. diff --git a/bootstrap/.stow-local-ignore b/bootstrap/.stow-local-ignore deleted file mode 100644 index 140842b..0000000 --- a/bootstrap/.stow-local-ignore +++ /dev/null @@ -1,8 +0,0 @@ -# TODO find a more generic way to express 'ignore any non-folder files' - -^/install_packages.sh -^/update_package_list.sh -^/packages.*.tsv -^/Dockerfile -^/README.md -^/system-packages diff --git a/bootstrap/.config/sh/alias.d/dotlink.sh b/bootstrap/dotlink.sh similarity index 85% rename from bootstrap/.config/sh/alias.d/dotlink.sh rename to bootstrap/dotlink.sh index a8fb1eb..9cf3d69 100644 --- a/bootstrap/.config/sh/alias.d/dotlink.sh +++ b/bootstrap/dotlink.sh @@ -9,6 +9,7 @@ # # to customize this to your own needs, change the `push folder` to the # location of your dotfiles (stow) repository + alias dotlink="pushd ~/.dotfiles;\ - stow -R */ 2> >(grep -v 'Absolute/relative mismatch between Stow dir' 1>&2) ;\ - popd" + dotter deploy;\ + popd" diff --git a/bootstrap/packages_stable.tsv b/bootstrap/packages_stable.tsv index 89aac74..665ae96 100644 --- a/bootstrap/packages_stable.tsv +++ b/bootstrap/packages_stable.tsv @@ -278,7 +278,6 @@ snap-pac Pacman hooks that use snapper to create pre/post btrfs snapshots like o speedtest-cli Command line interface for testing internet bandwidth using speedtest.net R sshfs FUSE client based on the SSH File Transfer Protocol R steam Valve's digital software delivery system R -stow Manage installation of multiple softwares in the same directory tree R sudo Give certain users the ability to run some commands as root R surfraw Shell Users' Revolutionary Front Rage Against the Web R swaybg Wallpaper tool for Wayland compositors R diff --git a/install.sh b/install.sh index 966d12d..46211ae 100755 --- a/install.sh +++ b/install.sh @@ -7,7 +7,7 @@ # # Will first install yay, then all my used packages (read from bootstrap/packages.txt) # -# Finally, symlinks all dotfiles into their correct locations using stow +# Finally, symlinks all dotfiles into their correct locations using dotter bootstrap_dir="${DOT_BOOTSTRAP_DIR:-./bootstrap}" unattended_install="${DOT_UNATTENDED_INSTALL:-false}" From 1040c82bea5bc2b36416708e697d649ee816f452 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:07:29 +0200 Subject: [PATCH 02/11] dotter: Fix wrongly templated file --- .dotter/global.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.dotter/global.toml b/.dotter/global.toml index 5424ccf..8e674b4 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -31,6 +31,7 @@ ssh = "~" [terminal.files] "terminal/.config/vifm" = "~/.config/vifm" +"terminal/.config/vifm/vifmrc" = { target = "~/.config/vifm/vifmrc", type = "symbolic" } terminal = "~" # LINUX: A linux machine, with systemd enabled, auto-mounting set up and a nice productivity suite. From 0acfe2d5d0e9b971dd3b6b46ab35d184327a225c Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:09:48 +0200 Subject: [PATCH 03/11] git: Add word-wise diff as quick alias Since I often use git for prose and textual writing, wordwise diffs make a lot of sense to have quick access to. This commit sets up a git-internal alias `git diffword` as well as an even shorter `gdd` (diff) and `gdds` (diff staged) which mimic the other diff aliases `gd`/`gds` already existing. --- git/.config/git/config | 1 + git/.config/sh/alias.d/git.sh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/git/.config/git/config b/git/.config/git/config index e8d9579..8f56266 100644 --- a/git/.config/git/config +++ b/git/.config/git/config @@ -22,6 +22,7 @@ last = "diff HEAD~ HEAD" pushall = "!git remote | xargs -I R git push R" # push to all connected remotes fetchall = "!git remote | xargs -I R git fetch R" # fetch from all connected remotes + diffword = "!git diff --word-diff=color --word-diff-regex='[0-9A-Za-z_]+'" # word-wise diff, good for prose [commit] gpgsign = true # sign commits as me verbose = true # Always show diff when preparing commit message diff --git a/git/.config/sh/alias.d/git.sh b/git/.config/sh/alias.d/git.sh index 372b1ec..ad465f6 100644 --- a/git/.config/sh/alias.d/git.sh +++ b/git/.config/sh/alias.d/git.sh @@ -32,7 +32,9 @@ fi alias gco='git checkout' alias gd='git diff' +alias gdd='git diffword' alias gds='git diff --staged' +alias gdds='git diffword --staged' alias gi='git ignore' From 29ff9db62b095ccda890b43291d36a79474cce3e Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:19:20 +0200 Subject: [PATCH 04/11] nvim: Pin base16 plug to last working version HACK base16 plugin changed something in its internal application of highlights so that not all highlights get correctly applied when my nvim setup boots up. Have to investigate. --- nvim/.config/nvim/lua/plugins/core.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/.config/nvim/lua/plugins/core.lua b/nvim/.config/nvim/lua/plugins/core.lua index fb76d5a..8bac49c 100644 --- a/nvim/.config/nvim/lua/plugins/core.lua +++ b/nvim/.config/nvim/lua/plugins/core.lua @@ -41,6 +41,7 @@ return { lazy = false, priority = 1000, dependencies = { "rktjmp/fwatch.nvim" }, + commit = "96e3089", -- pin it to last commit before regression change }, -- try to avoid putting files in util buffers, e.g. filetree, aerial, undotree, .. { From 681e35b92c378a50e557d702c5ffae8923b5c812 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:20:00 +0200 Subject: [PATCH 05/11] nvim: Add markdownlint diagnostics to md, quarto Added markdownlint. Will be used by default on markdown and quarto filetypes. --- nvim/.config/nvim/lua/plugins/config/lsp.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nvim/.config/nvim/lua/plugins/config/lsp.lua b/nvim/.config/nvim/lua/plugins/config/lsp.lua index 93d7b4a..b537c7f 100644 --- a/nvim/.config/nvim/lua/plugins/config/lsp.lua +++ b/nvim/.config/nvim/lua/plugins/config/lsp.lua @@ -159,7 +159,7 @@ end local null_ls = require("null-ls") null_ls.setup({}) require("mason-null-ls").setup({ - ensure_installed = { "black", "prettier", "shfmt", "eslint-lsp", "stylua", "jq", "vale" }, + ensure_installed = { "black", "prettier", "shfmt", "eslint-lsp", "stylua", "jq", "vale", "markdownlint" }, automatic_installation = false, handlers = { shfmt = function(_, _) @@ -182,6 +182,11 @@ require("mason-null-ls").setup({ extra_filetypes = { "astro" }, })) end, + markdownlint = function(_, _) + null_ls.register(null_ls.builtins.diagnostics.markdownlint.with({ + extra_filetypes = { "quarto" }, + })) + end, vale = function(_, _) null_ls.register(null_ls.builtins.diagnostics.vale.with({ condition = function(utils) From 0a686ab647b6fe85a2680a4cc59fdc1b75bbbf1f Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:22:11 +0200 Subject: [PATCH 06/11] nvim: Add mapping to enable British spell check Updated mappings to enable spell checking slightly: ZZ enables all languages (german, us, gb) ZE only US spellcheck, ZB GB spelling and ZD German spelling. --- nvim/.config/nvim/lua/core/mappings.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nvim/.config/nvim/lua/core/mappings.lua b/nvim/.config/nvim/lua/core/mappings.lua index 0d655b9..111cd0d 100644 --- a/nvim/.config/nvim/lua/core/mappings.lua +++ b/nvim/.config/nvim/lua/core/mappings.lua @@ -189,9 +189,10 @@ map("n", "F", ":FormatWriteLock") -- Move to the prev/next spelling error with [S ]S -- Move to the prev/next spelling error or suggestion with [s ]s prefix({ ["Z"] = { name = "+Spelling" } }) -map("n", "ZZ", ":setlocal spell! spelllang=en_us,de_de", { desc = "Toggle spellcheck" }) -map("n", "ZE", ":setlocal spell! spelllang=en_us", { desc = "Toggle EN spellcheck" }) -map("n", "ZG", ":setlocal spell! spelllang=de_de", { desc = "Toggle DE spellcheck" }) +map("n", "ZZ", ":setlocal spell! spelllang=en_us,en_uk,de_de", { desc = "Toggle spellcheck" }) +map("n", "ZE", ":setlocal spell! spelllang=en_us", { desc = "Toggle EN_US spellcheck" }) +map("n", "ZB", ":setlocal spell! spelllang=en_gb", { desc = "Toggle EN_GB spellcheck" }) +map("n", "ZD", ":setlocal spell! spelllang=de_de", { desc = "Toggle DE_DE spellcheck" }) -- undo last spelling mistake from insert and normal mode map("i", "", "u[s1z=`]au") map("n", "z", "ms[s1z=`s", { desc = "Fix last spell error" }) From 117b692daee374970ac4c5a6b8bc6eb4d631dc62 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:23:58 +0200 Subject: [PATCH 07/11] nvim: Map zenmode to global show/hide toggle group Mapped de-/activating zen mode to sz which means it belongs to the '+s' group of mappings which generally activate or deactivate showing something in nvim. Previously belonged to vz which rather is a group changing something about nvim configuration itself. --- nvim/.config/nvim/lua/core/mappings.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvim/.config/nvim/lua/core/mappings.lua b/nvim/.config/nvim/lua/core/mappings.lua index 111cd0d..7fa0ba6 100644 --- a/nvim/.config/nvim/lua/core/mappings.lua +++ b/nvim/.config/nvim/lua/core/mappings.lua @@ -138,8 +138,6 @@ map( ) map("n", "vl", ":Lazy", { desc = "Lazy" }) map("n", "vm", ":Mason", { desc = "Mason" }) --- Set vim to distraction free prose mode with F11 -map("n", "vz", ":ZenMode", { silent = true }) -- PLUGIN: Telescope GLOBAL FUZZY FINDING -- buffers and files in current workdir @@ -197,6 +195,8 @@ map("n", "ZD", ":setlocal spell! spelllang=de_de", { desc = "To map("i", "", "u[s1z=`]au") map("n", "z", "ms[s1z=`s", { desc = "Fix last spell error" }) +-- Set vim to distraction free prose mode +map("n", "sz", ":ZenMode", { silent = true }) -- PLUGIN: mini.nvim prefix({ ["s"] = { name = "+show" } }) map("n", "sm", ":lua MiniMap.toggle()", { silent = true, desc = "toggle minimap" }) From 558b0fa4793cf7ee7b3d79512f48a3b6c15a9774 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:25:57 +0200 Subject: [PATCH 08/11] sh: Enable FRX options for less by default Since we generally want color in our less output, and no paging if there is only one page we can should be able to enable these regardless of situation. --- sh/.config/sh/env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sh/.config/sh/env b/sh/.config/sh/env index f333088..5cdc638 100644 --- a/sh/.config/sh/env +++ b/sh/.config/sh/env @@ -33,7 +33,7 @@ else fi export BROWSER="qutebrowser" export TERMINAL="wezterm" -export PAGER="less" +export PAGER="less -FRX" export FILEREADER="sioyek" export FILEMANAGER="vifm" From 378541df7ef7765b35a47990728df156b0d01673 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:27:13 +0200 Subject: [PATCH 09/11] sioyek: Add mappings for page/highlight movement Added hjkl mappings to scroll within pages. Added movement between highlights with `]h/[h`, although I am not sure it works in both directions with these mappings. --- writing/.config/sioyek/keys_user.config | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/writing/.config/sioyek/keys_user.config b/writing/.config/sioyek/keys_user.config index a13cfc7..5f78e20 100644 --- a/writing/.config/sioyek/keys_user.config +++ b/writing/.config/sioyek/keys_user.config @@ -1,4 +1,7 @@ noop +noop q +close_window q + open_document_embedded o toggle_custom_color @@ -11,8 +14,12 @@ screen_down previous_page next_page -next_state L -prev_state H +next_state { +prev_state } +move_down j +move_up k +move_left l +move_right h fit_to_page_width S fit_to_page_width_smart s @@ -23,8 +30,12 @@ embed_annotations toggle_statusbar -keyboard_select;add_highlight_with_current_type V - regex_search / copy y rotate_clockwise R + +keyboard_select;add_highlight_with_current_type V +add_highlight H + +goto_prev_highlight [h +goto_next_highlight ]h From 5f0f7f22ef4d270b41f17bada3b3c477ebeb10d6 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:28:04 +0200 Subject: [PATCH 10/11] sioyek: Always open new windows Do not open multiple pdf files in the same window, but open a new window for each file opened (there is no way to display multiple open pdf files side-by-side otherwise). --- writing/.config/sioyek/prefs_user.config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/writing/.config/sioyek/prefs_user.config b/writing/.config/sioyek/prefs_user.config index b022574..1cfb23c 100644 --- a/writing/.config/sioyek/prefs_user.config +++ b/writing/.config/sioyek/prefs_user.config @@ -3,5 +3,11 @@ # END FLAVOURS super_fast_search 1 + +should_launch_new_instance 1 # seems to not be working? +should_launch_new_window 1 +should_load_tutorial_when_no_other_file 0 +check_for_updates_on_startup 0 + startup_commands toggle_custom_color From 8be40f5630bf6c4434dc809fb705c07446ce5661 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 5 Oct 2023 18:28:15 +0200 Subject: [PATCH 11/11] nvim: Update plugins --- nvim/.config/nvim/lazy-lock.json | 18 +++++++++--------- nvim/.config/nvim/spell/en.utf-8.add | 2 ++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 94c8955..db53586 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -26,20 +26,20 @@ "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "dressing.nvim": { "branch": "master", "commit": "59fe7ef1aeeed499b983614fcfff89206bf0d5ce" }, "fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" }, - "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, + "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, "fwatch.nvim": { "branch": "main", "commit": "a691f7349dc66285cd75a1a698dd28bca45f2bf8" }, "git-conflict.nvim": { "branch": "main", "commit": "4e0191c9a0ae05d7fbdcdc7f15cd358f56d23bfb" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "jupyter-kernel.nvim": { "branch": "main", "commit": "5b409598033884a3d819e2a3bcd1fe340bc8d783" }, - "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, + "lazy.nvim": { "branch": "main", "commit": "28a80136b5253a8de6dea87f335919ac9f67116d" }, "lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" }, "lsp-setup.nvim": { "branch": "main", "commit": "7276e54faf4af909b6ea171975fd4179ebe65cec" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "magma-nvim-goose": { "branch": "main", "commit": "9a626aab63361d027541d023707f82e28d7f872c" }, "markdown-preview.nvim": { "branch": "master", "commit": "9becceee5740b7db6914da87358a183ad11b2049" }, "markmap.nvim": { "branch": "main", "commit": "3befc2a54c2448a16c30c1c7762aab263f22946a" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f014db32437aa61c86fc0ef1067cd2bc6a37205c" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "81e30dd629de24cbb26d08073ee938ab40006695" }, "mason-null-ls.nvim": { "branch": "main", "commit": "ae0c5fa57468ac65617f1bf821ba0c3a1e251f0c" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "mdeval.nvim": { "branch": "master", "commit": "2654caf8ecaad702b50199d18e39cff23d81e0ba" }, @@ -52,16 +52,16 @@ "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-coverage": { "branch": "main", "commit": "4634dfb00961a86948518c7e6f85737c24364308" }, - "nvim-lspconfig": { "branch": "master", "commit": "bfdf2e91e7297a54bcc09d3e092a12bff69a1cf4" }, + "nvim-lspconfig": { "branch": "master", "commit": "361a2878a41f23452457eec12a807ff59bc75882" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-surround": { "branch": "main", "commit": "0d6882635817a2677749a330127d12ac30a4f3c8" }, "nvim-toggleterm.lua": { "branch": "main", "commit": "faee9d60428afc7857e0927fdc18daa6c409fa64" }, - "nvim-tree.lua": { "branch": "master", "commit": "ce3495bd4c9a7d8e8a64fac9cc3c252dac19a994" }, + "nvim-tree.lua": { "branch": "master", "commit": "7dcda5d3b6d2fce7b7baa471b7ad6525383e27bb" }, "nvim-treesitter": { "branch": "master", "commit": "63260da18bf273c76b8e2ea0db84eb901cab49ce" }, - "nvim-treesitter-context": { "branch": "master", "commit": "6795de086ef713383e06b53faa534a597436159a" }, - "nvim-treesitter-textsubjects": { "branch": "master", "commit": "df75fcec548014f158cda6498ac38c4622c221e1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "bc19b78e9c705d67be98d56e9fab96470af45f33" }, + "nvim-treesitter-textsubjects": { "branch": "master", "commit": "48b3bf54e32f23e2299c59ff76fa3b0599565b39" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, "nvim-ts-rainbow2": { "branch": "master", "commit": "b3120cd5ae9ca524af9cb602f41e12e301fa985f" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, "otter.nvim": { "branch": "main", "commit": "2752dd199d73342f13a1bd599a99822505e2803f" }, @@ -87,5 +87,5 @@ "wrapping.nvim": { "branch": "master", "commit": "5e87f1424c86c50d3bc205830aa56ed1cad45467" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" }, "zettelkasten.nvim": { "branch": "main", "commit": "0e77624689b470410f5355b613d45219c9350264" }, - "zk-nvim": { "branch": "main", "commit": "797618aa07f58ceba6f79fb6e777e8e45c51e1ce" } + "zk-nvim": { "branch": "main", "commit": "e9e5e21dbeacd0e753728c7ea45b7a7582d9080a" } } \ No newline at end of file diff --git a/nvim/.config/nvim/spell/en.utf-8.add b/nvim/.config/nvim/spell/en.utf-8.add index a30a8f1..1cd1715 100644 --- a/nvim/.config/nvim/spell/en.utf-8.add +++ b/nvim/.config/nvim/spell/en.utf-8.add @@ -190,3 +190,5 @@ vaccilation SSCM GSCM multicriteria +ILO +Palma