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..8e674b4 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,15 @@ 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/.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. @@ -36,28 +40,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 +75,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/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' 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}" 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/lua/core/mappings.lua b/nvim/.config/nvim/lua/core/mappings.lua index 0d655b9..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 @@ -189,13 +187,16 @@ 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" }) +-- 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" }) 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) 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, .. { 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 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" 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 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