Compare commits

..

937 Commits

Author SHA1 Message Date
318524004b Lock flake 2025-10-15 21:05:53 +02:00
799348ff91 Add minimal readme to my neovim configuration 2025-10-15 21:03:55 +02:00
52bf665774 Remove neovim lazy load related config 2025-10-15 20:50:58 +02:00
4f011cf8ef Fall back to 'paq.nvim' only when not on 'nixCats' 2025-10-15 20:38:39 +02:00
1b57185b72 Add 'nixCatsUtils' from 'nixCats' 2025-10-15 20:15:43 +02:00
a3437b04e8 Source kitty configuration in home manager 2025-10-15 19:45:01 +02:00
59e4821b4c Add 'nixCats' neovim flake to NixOS flake 2025-10-14 22:59:24 +02:00
9a4c8df398 Add neovim packages to 'nixCats' flake 2025-10-14 22:03:49 +02:00
7c36539033 Add minimal 'nixCats' flake template 2025-10-13 21:59:58 +02:00
b25fc9a2b8 Source relevant '.bashrc.d/*' files in NixOS home manager 2025-10-05 19:56:38 +02:00
7bbd0dd8a8 Simplify NixOS fzf configuration 2025-10-05 19:56:38 +02:00
07e4669bb8 Update disko virtual machine configuration 2025-10-05 19:56:38 +02:00
203665a051 Migrate 'dots/.bashrc' fzf config to NixOS home manager 2025-10-05 19:56:38 +02:00
431fa046be Add packages from 'dots/.bin/setup' 2025-10-05 19:56:38 +02:00
83464117ae Move packages into host's 'home.nix' 2025-10-05 19:56:38 +02:00
c8cf7aa5ca Refactor 2025-10-05 19:56:38 +02:00
0ad84eed45 Move home manager config into host's 'home.nix' 2025-10-05 19:56:38 +02:00
811388006f Format nix files using 'nixfmt' 2025-10-05 19:56:38 +02:00
fc7e346f1e Ignore 'nixos-efi-vars.fd' (output from building vm) 2025-10-05 13:39:16 +02:00
0da72e9513 Update NixOS readme 2025-10-05 13:39:16 +02:00
749bd75992 Use disko 'single-disk-ext4' template for vm host 2025-10-05 13:39:16 +02:00
54b228381d Add 'kitty' package 2025-10-05 12:31:24 +02:00
ee62f092e5 Update readme 2025-10-05 12:31:24 +02:00
6007760092 Add 'networking.hostId' (required for ZFS) 2025-10-05 12:31:24 +02:00
f8fddbba14 Fix ZFS issue with virtual disks (https://discourse.nixos.org/t/zfs-with-disko-faluire-to-import-zfs-pool/61988/3) 2025-10-05 12:31:24 +02:00
f824649f85 Fix inputrc path 2025-10-05 12:31:24 +02:00
c4fe75a1b9 Set up disko zfs encrypted root for 'vm' host 2025-10-05 12:31:24 +02:00
bfa17953a8 Use an easy (though insecure) initial password (for testing) 2025-10-04 21:25:32 +02:00
c36b202d4e Modularize NixOS 'vm' configuration 2025-10-04 21:25:11 +02:00
ca8cfd7deb Use 'systemd-boot' bootloader instead of GRUB 2025-10-04 20:52:07 +02:00
b69140605c Update NixOS networking configuration 2025-10-04 20:52:07 +02:00
70363bdc48 Fix SSH daemon not starting 2025-10-04 20:17:05 +02:00
f8169a8438 Source 'dots/.inputrc' 2025-10-04 19:07:02 +02:00
85f81e61e2 Switch from gnome to XMonad (config from dots) 2025-10-04 19:06:01 +02:00
8a0e1758de Link NixOS repo in dotfiles repository 2025-10-04 18:33:55 +02:00
626bdc79bf Add 'dots/' from commit 'f64b634dd8fbb2c8a2898c3b9d0acc9452e4d966'
git-subtree-dir: dots
git-subtree-mainline: 2ad98cde17
git-subtree-split: f64b634dd8
2025-10-04 18:28:04 +02:00
f64b634dd8 Remove absolute path from github credential helper 2025-10-04 18:03:55 +02:00
a4bcea8834 Define nixGL with wrapper 2025-10-03 23:42:39 +02:00
ec1a76dff1 Remove redundant vim JS/TS plugins (as migrated to nvim) 2025-10-03 23:42:39 +02:00
6c2c452fac Extend 'ftdetect.lua' for tsconfig and dotenv files 2025-10-03 23:42:39 +02:00
6ed4de0b11 Migrate vim vscode jsonc filetype detection to nvim 2025-10-03 23:42:39 +02:00
58df131415 Remove 'tpope/vim-commentary' and use nvim commenting (see ':h commenting') 2025-10-03 23:42:39 +02:00
46e7625928 Modularize nix packages into 'packages.nix' 2025-10-03 23:42:39 +02:00
fe5ebec536 Set up nix with home manager (only work host for now) 2025-10-03 23:42:39 +02:00
20914d33c7 Replace 'alacritty' with 'kitty' 2025-10-03 23:42:19 +02:00
060f6a2f83 Add kitty configuration 2025-10-03 23:33:16 +02:00
e36012e0d6 Update tmux themes to be more consistent 2025-10-03 23:30:48 +02:00
f4a17dc0c8 Add zenwritten tmux themes (from zenwritten.nvim) 2025-10-03 23:19:49 +02:00
2f29d940f2 Add zenwritten kitty themes (from zenwritten.nvim) 2025-10-03 23:19:27 +02:00
4bdbfa0c0d Add 'ip' bash aliases 2025-07-12 18:14:26 +02:00
ee49296d41 Clean bash aliases (remove unused) 2025-07-12 18:14:01 +02:00
e35cf075bf Extract JavaScript aliases to '~/.bash_aliases/js' 2025-07-12 18:10:50 +02:00
05ee0bf5f1 Add 'sshconfig' host snippet 2025-06-28 14:02:05 +02:00
46543f4eb8 Add taskwarrior 'sync.example' 2025-06-28 13:54:33 +02:00
058dc4107c Replace 'gitblame.nvim' with 'gitsigns.nvim' 2025-06-28 13:46:57 +02:00
b8953fc74a Add ripgrep pcakage to 'setup' script (dependency for nvim) 2025-06-27 19:34:20 +02:00
b64d22e114 Remove 'whoamip' script 2025-06-27 19:33:55 +02:00
0a50cd90b3 Hide prettier errors 2025-06-27 19:31:33 +02:00
4dbeaccf51 Use 'stop_after_first' for prettier in 'conform.nvim' 2025-06-27 19:29:59 +02:00
df7d2aca6b Support 'helm' yaml files 2025-06-27 19:28:36 +02:00
6b350ab1dd Automate selecting jira tickets in 'git-cb' script 2025-06-20 15:11:25 +02:00
b53f1ee586 Add 'git-cb' script 2025-06-20 15:03:58 +02:00
bd4133d5e5 Source jira aliases if installed 2025-06-20 13:58:29 +02:00
78e6695782 Add global yamllint config 2025-06-19 11:46:12 +02:00
33542630d5 Add alacritty zenwritten themes 2025-06-16 21:16:22 +02:00
7c44c1cd4e Configure tridactyl search bindings 2025-06-06 20:40:08 +02:00
bc62524451 Add 'tridactylrc' 2025-06-06 20:25:35 +02:00
e70f6f6a5f Remove 'nvm' from bashrc (using 'mise' now) 2025-06-06 19:54:24 +02:00
55306b1d6f Add commented out nvim options 2025-06-05 20:23:39 +02:00
b5b48016ef Improve 'save-passwddb' script 2025-06-05 20:14:47 +02:00
6760db72c5 Fix and simplify 'nvm' setup 2025-05-27 23:20:23 +02:00
28f6655e2e Add 'xclip' package to '~/.bin/setup' 2025-05-27 21:29:38 +02:00
09288ce752 Migrate 'unblevable/quick-scope' to nvim 'jinh0/eyeliner' 2025-05-15 18:22:08 +02:00
5afe069edf Fix 'image.nvim' plugin warnings 2025-05-15 18:09:50 +02:00
22e23ba416 Migrate pandoc 'AnkiDeck' function to neovim 2025-05-15 18:09:50 +02:00
5b08b04332 Migrate 'fzf.vim' to neovim 'fzf-lua' 2025-05-15 18:09:37 +02:00
90725931a7 Remove telescope and dressing 2025-05-15 16:30:21 +02:00
9e3b784168 Modularize ssh config 2025-05-15 10:28:58 +02:00
1bb976d442 Set up neovim AI plugins (for test run) 2025-05-10 22:56:19 +02:00
37a05500bf refactor: use explicit executable check for zk command 2025-05-09 22:22:01 +02:00
e8962144e5 fix: improve zk command check and error handling 2025-05-09 22:21:15 +02:00
ae2a439c14 chore: update zk setup script prompts and execution 2025-05-09 22:21:08 +02:00
2c7f44ce16 feat: add prompt to run zk after setup 2025-05-09 22:16:27 +02:00
b58ff906e9 feat: add setup script for zettelkasten 2025-05-09 22:16:19 +02:00
8046bd1868 Add diagnostic config 2025-05-05 23:07:27 +02:00
800ae0cbde Add 'stylua' config 2025-05-05 23:06:22 +02:00
8f2787f439 Add/migrate some basic lua snippets 2025-05-05 23:06:00 +02:00
a76fd5cd62 Use smarter newline mapping for json filetype 2025-05-05 23:02:46 +02:00
e660a92443 Add neovim plugins (+configuration) 2025-05-05 22:51:56 +02:00
958883c21c Add nvim 'fzf-lua' plugin 2025-05-05 22:51:56 +02:00
fd11b48fa9 Set up nvim package manager 2025-05-05 22:51:56 +02:00
66714ab532 Add neovim keymaps 2025-05-05 22:51:55 +02:00
7fb822dbff Highlight nvim yanks 2025-05-01 17:01:30 +02:00
5e5d88a92a Detect '.lintstagedrc' filetype (json) 2025-05-01 17:01:01 +02:00
f6e525cf53 Add neovim keymaps 2025-05-01 16:59:35 +02:00
e5fe794c41 Move vim config to 'vim' module 2025-05-01 16:58:23 +02:00
d576a3f8e7 Add 'shellcheck=bash' and editor hints to bash config/aliases 2025-03-01 12:05:26 +01:00
7149917762 Switch terminal to kitty 2025-02-16 16:15:03 +01:00
5d2cb51aee Move XMonad calculator command to '.bin/calc' 2025-02-16 16:13:00 +01:00
c88c54b9ca Remove spawn zettelkasten XMonad keybinding 2025-02-16 16:08:51 +01:00
e36b04aaa7 Track tmux hooks fallback config 2025-02-06 09:28:09 +01:00
8adb4a2add Use 'local' for function arguments 2025-02-06 00:15:12 +01:00
4e928c2306 Extend automatic dotfiles setup 2025-02-05 23:18:10 +01:00
87bfdb5ba2 Add packages to setup 2025-02-05 23:17:55 +01:00
21208c1afa Update readme 2025-02-05 20:42:33 +01:00
80e381f62d Update tmux config 2025-02-05 20:34:13 +01:00
0307be8d2c Add 'gnome-setup' to 'setup' 2025-02-05 20:32:09 +01:00
a574645fa0 Update dotfiles setup 2025-02-05 20:11:42 +01:00
d463bd7432 Add worktree config alias 2025-02-05 19:48:28 +01:00
3f685d0753 Update Github CLI config 2025-02-05 19:48:11 +01:00
3e71764fd8 Configure alacritty window settings 2025-02-05 17:31:44 +01:00
3f5a4427c0 Clear gnome pinned apps on setup 2025-02-05 01:22:50 +01:00
e525ea0274 Add 'setup-gnome' script 2025-02-05 01:11:50 +01:00
a83d0fd28f Update 'setup' script 2025-02-05 00:31:41 +01:00
f858f7374b Add 'sb-wg' script 2025-01-28 19:25:56 +01:00
733b37de30 Remove redundant 'taskd' environment variables 2025-01-15 17:20:36 +01:00
b8694ba1c4 Remove wacom keybindings 2025-01-11 22:30:36 +01:00
999921b86b Map 'F10 to xrandr --auto 2025-01-11 22:30:08 +01:00
650e6fc247 Update gitignore 2025-01-11 15:52:40 +01:00
d20283c8f7 Improve '.bash_history' config 2025-01-11 15:48:24 +01:00
e385015238 Update alacritty config 2025-01-11 15:41:21 +01:00
82b780951d Split alacritty config 2025-01-11 15:34:53 +01:00
4ca7557e98 Use 'nvimdiff' as mergetool 2025-01-06 17:15:03 +01:00
454b80aa4e Remove autorandr config 2025-01-02 21:35:23 +01:00
e9ad41f94f Remove sketch (or wacom) scripts 2025-01-02 21:33:44 +01:00
d4ba22670a Refactor 'fzf-book' 2025-01-02 21:14:07 +01:00
7e10a1c39d Add pnpm config 2025-01-02 21:08:12 +01:00
5805c9093f Make 'ag' respect gitignore 2025-01-02 21:07:20 +01:00
ec0e06a805 Add git rebase aliases 2025-01-02 21:05:31 +01:00
b5365da6ca Remove default snippet comments 2025-01-02 21:01:31 +01:00
15f1227522 Source '~/.bash_completions' if it exists 2024-12-28 13:29:03 +01:00
1f192f94fa Use '.' instead of 'source' 2024-12-28 13:28:43 +01:00
04d44eb8dd Remove 'coc.nvim' plugin 2024-12-25 16:47:57 +01:00
849c7e97fa Use single key for interactive staging (git) 2024-12-25 16:47:57 +01:00
83437bd724 Update alacritty config 2024-12-23 21:11:53 +01:00
9e7524ce5e Migrate alacritty to toml 2024-12-23 20:51:32 +01:00
8d69407d71 Update xmonad statusbar(s) 2024-12-23 00:02:20 +01:00
2590f238df Update XMonad imports 2024-12-22 23:58:23 +01:00
6c8b99d375 Remove nix profile from path 2024-12-22 23:50:04 +01:00
1cdd9ecb81 Modify taskwarrior default report 2024-12-22 20:06:21 +01:00
7540945509 Extract taskwarrior aliases to own file 2024-12-22 20:06:00 +01:00
6d3ab7e6b9 Add taskwarrior 'z-arch' host config 2024-12-22 19:51:39 +01:00
3824bd663c Update taskwarrior config 2024-12-22 19:50:15 +01:00
f4b69ffd0a Remove ipython profile 2024-12-15 21:24:24 +01:00
799dd32950 Add codi shell wrapper 2024-12-15 13:39:39 +01:00
adc550b2ed Save X session errors 2024-12-14 17:55:03 +01:00
64b0958236 Only set 'SSH_AUTH_SOCK' out of ssh session 2024-12-14 17:51:45 +01:00
ae567ecb58 Source bash prompt 2024-12-14 17:39:29 +01:00
db5ca355b1 Add fold for aliases 2024-12-14 17:39:02 +01:00
3307434f30 Ignore shell check SC1091,SC1090 2024-12-14 17:14:24 +01:00
69d5463960 Add 'git commit --ammend' alias 2024-12-14 16:35:58 +01:00
8b893257af Add signing key to git config 2024-12-14 16:35:06 +01:00
a758946e82 Add npm and yarn checks 2024-12-14 16:34:07 +01:00
d9603c543c Update git aliases 2024-12-14 15:57:23 +01:00
e29e6e808c Disable git commit gpgsign 2024-12-14 15:51:50 +01:00
6b444e90e2 Add git worktree alias 2024-12-14 15:51:16 +01:00
171d56150d Migrate 'dmenu-trans' to rofi 2024-12-12 19:24:39 +01:00
fc08e2046b Add 'taskdeps' script 2024-12-07 20:31:53 +01:00
41c7740c0c Remove unused systemd user services 2024-10-08 20:37:57 +02:00
1dd6ac51ae Update wiki.vim config 2024-10-08 20:36:56 +02:00
2444cba1cb Update 'pandocCiteKey' syntax highlighting 2024-10-08 20:35:51 +02:00
02eab915e7 Fix 'GetContext' 2024-10-08 20:35:12 +02:00
e3517c8dc0 Allow remap for split mappings 2024-10-08 20:34:46 +02:00
06c90adb7c Add 'AnkiDeck' function 2024-10-08 20:34:26 +02:00
93a76e7940 Remove 'vim-obsession' plugin 2024-10-08 20:33:37 +02:00
d2ac9d3822 Update wiki file types 2024-10-08 20:30:38 +02:00
14b69eb0f8 Update quickscope.vim config 2024-10-08 20:29:05 +02:00
ce21e48fd7 Remove 'copilot.nvim' 2024-10-08 20:22:31 +02:00
e1f55bed1a Reorganize bash config 2024-09-29 11:41:29 +02:00
393e2c5db5 Move host-specific configuration 2024-09-29 11:38:47 +02:00
6cf696e1f6 Update bash editor configuration 2024-09-29 11:36:20 +02:00
78fafd18ee Update NeoVim VSCode mappings 2024-09-23 20:36:20 +02:00
ea4bb90bab Add neovim vscode config 2024-09-22 18:36:31 +02:00
620a5863a3 Organize vimrc 2024-09-22 16:27:17 +02:00
227944b184 Clean vimrc 2024-09-22 16:03:50 +02:00
8ed805dacf Fix guibg error 2024-09-22 14:13:51 +02:00
21e5d0ac86 Separate config into '.vim/plugins/' 2024-09-22 11:54:49 +00:00
0ce01efd46 Update colorscheme config 2024-09-22 11:54:49 +00:00
5a29b672a2 Add rofi keybindings to XMonad 2024-09-22 11:54:49 +00:00
2f4ed6cc51 Update password backup scripts 2024-09-22 11:54:49 +00:00
a6a85d1ea5 Update 'save-passwddb script'
Update `save-passwddb` script to use Proton drive instead of Google
drive. Also fixes an issue with too many files being included.
2024-09-22 11:54:49 +00:00
58478b9b15 Delete .vim/snips/.snippets 2024-09-22 11:41:30 +00:00
0fe4662551 Update taskwarrior sync setup 2024-09-13 14:17:00 +02:00
ed44636981 Use regex for filename basename snippet 2024-09-02 19:17:50 +02:00
72629f5b98 Update 'layoutHook' 2024-03-30 16:59:35 +01:00
e771a09fbe Add 'swallowEventHook' 2024-03-30 16:50:15 +01:00
b6ba9ab4ea Remove ShowWName stuff 2024-03-30 16:27:19 +01:00
09812befdc Add folds for hooks 2024-03-30 16:26:32 +01:00
f98b19f0b1 Add 'myHandleEventHook' 2024-03-30 16:21:22 +01:00
d2bf1ed9bd Add 'myModMask' 2024-03-30 16:17:43 +01:00
3795d10197 Organize imports 2024-03-30 16:15:35 +01:00
b0df672009 Fix deprecated 'dynamicPropertyChange' 2024-03-30 16:00:54 +01:00
42df25d5cc Update '.bash_profile' 2024-01-30 21:51:18 +01:00
ac066bb076 Add '1px border <color>' snippets 2024-01-30 21:48:10 +01:00
01842d8f1e Use polybar config 2024-01-30 15:54:02 +01:00
4b74af8b99 Update readme 2024-01-28 21:21:44 +01:00
28d1e36003 Update 'fzf-book' script 2024-01-28 21:21:33 +01:00
4708739c66 Update anki scripts 2024-01-28 21:20:49 +01:00
bb54ec3629 Remove 'prep-duration' argument 2024-01-28 21:20:21 +01:00
e9017047cd Update 'clear' argument 2024-01-28 21:20:05 +01:00
6aefd6bd92 Update pomo directory 2024-01-28 21:19:21 +01:00
71d8b33123 Update drive directory 2024-01-28 21:17:59 +01:00
93f223c1ec Update 'tmux-workspace' script 2024-01-28 20:34:43 +01:00
3d1fe7b173 Fix shellcheck warning 2024-01-28 20:33:29 +01:00
bab4c612f3 Remove 'get-displays' 2024-01-28 20:32:17 +01:00
16c87b6b4c Use rofi launcher 2024-01-28 20:27:45 +01:00
892ab35612 Update key bindings 2024-01-28 20:26:46 +01:00
958de4e03c Add 'zk' script 2024-01-26 12:27:41 +01:00
fade05a394 Update user-dirs 2024-01-26 12:19:17 +01:00
e11085ca91 Add section link snippet 2024-01-09 12:45:49 +01:00
4e625a45fa Update .gitignore 2024-01-03 19:39:59 +01:00
2793ac2349 Update 'shiftAndView' 2024-01-03 19:39:15 +01:00
2e29cb8292 Snap floating windows on drop 2024-01-03 18:58:31 +01:00
5e5c5464d3 Add quarto plugin 2024-01-02 21:35:56 +01:00
f52a222230 Extract 'wiki.vim' config 2023-12-30 13:30:48 +01:00
3801186f8b Extract 'md-img-paste.vim' config 2023-12-30 13:27:22 +01:00
e5a61705ee Update shebang snippets 2023-12-30 01:46:22 +01:00
d57cff1227 Update pandoc config 2023-12-21 22:41:32 +01:00
5b51c48ece Update fzf config 2023-12-21 22:40:04 +01:00
1ccfb2b8fe Update eslint & prettier config 2023-12-18 14:06:59 +01:00
0092d0793f Extract 'commentary' config 2023-12-18 14:03:51 +01:00
480d1d8434 Extract (& update) 'copilot' config 2023-12-18 14:03:08 +01:00
6190162e49 Extract 'sandwich' config 2023-12-18 14:01:24 +01:00
1c8afd0690 Move silver_searcher config 2023-12-18 13:57:05 +01:00
d6d23f913b Improve zettelkasten preview 2023-12-18 13:54:07 +01:00
24aeb3ffe3 Extract 'utils' config 2023-12-18 13:50:23 +01:00
1b62acfc80 Extract 'fold' config 2023-12-18 13:47:46 +01:00
ad20848d86 Extract 'netrw' config 2023-12-18 13:45:53 +01:00
8e468a30b8 Hack statusbar color theme update 2023-12-15 16:13:06 +01:00
08fb963ea7 Add polybar example config 2023-12-13 16:06:39 +01:00
371a373431 Untrack xournalpp config 2023-12-11 23:44:40 +01:00
12cf0754b6 Untrack blender config 2023-12-11 22:50:19 +01:00
07c99da684 Sign commits using gpg 2023-12-10 10:52:57 +01:00
7d10e4fda4 Move alacritty config to $XDG_CONFIG_HOME 2023-12-10 10:39:18 +01:00
9e71502574 Use example file for spotify config 2023-12-10 10:33:37 +01:00
4c5607d1ed Use nvimpager as pager 2023-12-10 01:08:12 +01:00
8c7cca7f62 Bind 'copy' to 'y' 2023-12-10 01:07:39 +01:00
df120d9fbb Fix clearing timer 2023-12-09 21:29:04 +01:00
07eec68706 Refactor 'pomo' script 2023-12-09 21:19:41 +01:00
41568b9bc6 Add module docstring 2023-12-09 20:48:54 +01:00
54f887f7d4 Save all KeePassXC databases 2023-12-09 20:39:04 +01:00
9297830bcf Replace 'init.vim' by 'init.lua' 2023-12-09 17:49:35 +01:00
d93fb7fb2a Export 'GOPATH' 2023-12-09 17:49:35 +01:00
37eeb40184 Use '<C-a>' for tmux prefix 2023-12-09 17:49:35 +01:00
4f0106ca03 Keep inputrc in default location (fix) 2023-12-09 17:49:35 +01:00
fcb1469297 Update screen temperature script 2023-11-21 13:57:28 +01:00
9ab374f38e Fix delete shortcut 2023-11-18 17:50:01 +01:00
hektor
6e091db8fa Update README.md 2023-11-18 17:43:15 +01:00
5a7df6bcd2 Use polybar 2023-11-18 17:35:16 +01:00
4849b64ea5 Add 'copy window to all workspaces' shortcuts 2023-11-18 17:26:46 +01:00
48681cfd4d Add basic ssh host backup script 2023-10-21 17:11:53 +02:00
0485edf197 Add 'fzf-ssh' script 2023-10-21 16:52:37 +02:00
0f8704bbb5 Use screen-temperature script 2023-09-12 12:45:01 +02:00
e8cad0a7a5 Fix shellcheck warnings 2023-08-30 17:03:37 +02:00
ea0ec29bce Update tmux path for config reload 2023-08-30 17:03:37 +02:00
3aa1900aa2 Update mpv config 2023-08-30 17:03:37 +02:00
378cd0c389 Update firefox config 2023-08-30 17:03:37 +02:00
734896b483 Update autorandr config 2023-08-30 17:03:37 +02:00
538b613185 Untrack atom config 2023-08-30 17:03:37 +02:00
47b036b046 Move inputrc to 'XDG_CONFIG_HOME' 2023-08-30 17:03:37 +02:00
741ef20266 Reopen zettelkasten to latest zettel 2023-08-30 17:03:37 +02:00
4f42ed7790 Remove 'sb-portfolio' 2023-08-30 17:03:37 +02:00
83f7ab9407 Add num_to_review 2023-08-30 17:03:37 +02:00
3bdbf82d37 Generalize 'sb-anki' to other taskbars 2023-08-30 17:03:37 +02:00
40236a9461 Update pomodoro script for xmobar 2023-08-30 17:03:37 +02:00
e95270dd80 Remove terminal launcher 2023-08-30 17:03:37 +02:00
95ef4cb016 Update 'fzf-book' script 2023-08-30 17:03:37 +02:00
19225b8920 Update 'documentation' 2023-08-30 17:03:37 +02:00
09abdbc57d Generalize 'sb-tasks' to other taskbars 2023-08-30 17:03:37 +02:00
12b1ad09f8 Trust bluetooth devices before connecting 2023-08-30 17:03:37 +02:00
ac3e2317f8 Update pandoc snippets 2023-08-30 01:15:29 +02:00
aaebf727d2 Comply with ISO 639-2/T 2023-08-17 12:36:18 +02:00
f867d5a969 Remove redundant micromamba config 2023-08-05 18:09:40 +02:00
5d15dcb287 Update bash aliases 2023-08-05 18:08:48 +02:00
17b1f076fa Add micromamba configuration 2023-08-02 17:12:37 +02:00
04d5e68961 Source private bashrc config 2023-08-02 17:09:16 +02:00
239d31a0a4 Add host-specific bashrc config 2023-08-02 17:06:28 +02:00
e042fdb10d Set editor to nvim 2023-08-02 16:58:55 +02:00
04196c3d3a Update '.bash_profile' 2023-08-02 16:58:08 +02:00
7460ab69e9 Simplify dual boot aliases 2023-08-02 16:54:35 +02:00
d45c8e7581 Make dual boot aliases host-specific 2023-08-02 16:50:58 +02:00
fadf35956c Source private bash aliases 2023-08-02 16:42:46 +02:00
061760a323 Make brightness alias host-specific 2023-08-02 16:40:27 +02:00
aabcc42279 Update gitignore 2023-08-02 16:35:16 +02:00
ccd8cd3ebe Update '.inputrc' 2023-08-02 16:33:25 +02:00
ff541ae8a9 Remove screen layout script (using autorandr) 2023-07-25 16:56:05 +02:00
d98ad07799 Update backup script 2023-07-12 20:52:51 +02:00
2e75dcd0bf Remove unused scripts 2023-06-12 00:30:09 +02:00
b0f5153229 Rename 'backup-home' to 'save-home' 2023-06-12 00:28:07 +02:00
57b6a468b1 Detect if password database is not present 2023-06-12 00:26:40 +02:00
1df3dd3042 Detect if password database is not present 2023-06-12 00:26:06 +02:00
5b4d9ec52b Detect if password database is not present 2023-06-12 00:25:20 +02:00
22fd72501d Track downloads path 2023-06-11 23:45:57 +02:00
ea6bc056a6 Track screenshot folder structure 2023-06-11 23:42:05 +02:00
acf2c0ae6e Update flameshot config 2023-06-11 23:39:31 +02:00
e1da112f78 Update (& move) coc.nvim config 2023-06-08 19:33:32 +02:00
165f3153dd Add XDG dir config 2023-06-08 19:33:32 +02:00
6263b601dc Add IPython config 2023-06-08 19:33:32 +02:00
4bd4bfe836 Fix workspace keybindings (screen off by one) 2023-06-08 18:49:05 +02:00
a1ae3dace9 Make date more informative 2023-06-04 15:21:59 +02:00
9636ca59fc Add SWNConfig 2023-06-04 15:21:33 +02:00
5a0b4ef2b8 Refactor 2023-06-04 15:20:52 +02:00
b60c8514b7 Update keybindings 2023-06-04 15:20:14 +02:00
bac32dfe10 Shift to workspace based on window name 2023-06-04 15:17:37 +02:00
14c80c96df Fix folds 2023-06-04 15:00:30 +02:00
31f45fdff8 Adapt layout to screen width 2023-06-04 14:49:51 +02:00
9da2a4c443 Update manageHook 2023-06-04 14:48:23 +02:00
9fcd70f47a Use named layouts 2023-06-02 22:22:42 +02:00
00defddeb7 Update statusbars for multiple screens 2023-06-02 22:21:03 +02:00
ca9e1b493b Add fold markers 2023-06-02 22:12:39 +02:00
edfe524ae2 Separate workspaces for separate screens 2023-05-22 18:26:17 +02:00
579af889fe Add readme 2023-05-21 19:52:13 +02:00
d0a84d7128 Untrack suckless tools 2023-05-21 19:47:49 +02:00
7254630c49 Update bash aliases 2023-05-21 19:38:42 +02:00
cdcaea7033 Dedicate folder for bash aliases 2023-05-21 19:35:20 +02:00
94fc0d8cdb Update bash aliases 2023-05-21 19:17:14 +02:00
3f588cabbc Add alias aliases 2023-05-21 19:16:51 +02:00
d80e8c1882 Update gh config 2023-05-21 19:14:47 +02:00
53fce1484f Bind <F8> to KeePassXC 2023-05-21 18:31:30 +02:00
0c3b73a13d Start albert from Xmonad 2023-05-21 18:31:30 +02:00
f2dcf1e0e5 Adjust window border width 2023-05-21 18:31:30 +02:00
d37404af0c Update manageHook 2023-05-21 18:31:30 +02:00
24952a74fd Update gitconfig 2023-05-21 18:31:30 +02:00
832620344f Add filename snippets for all filetypes 2023-05-20 21:13:25 +02:00
671c8e5575 Track (empty) .build directory 2023-05-20 12:16:00 +02:00
9cffe29fc7 Add shebang snippets 2023-05-20 10:30:45 +02:00
644114263d Add filename snippet 2023-05-19 19:39:18 +02:00
9ba5d6b192 Add codeblock snippets 2023-05-19 19:38:51 +02:00
fe5cd9f00d Add math mode snippets 2023-05-19 19:37:57 +02:00
bdb1444d01 Add math mode snippets 2023-05-19 19:35:07 +02:00
fba5adce5d Add tikzpicture snippet 2023-05-19 19:30:44 +02:00
37b61e4f07 Update xmobar scripts 2023-05-19 19:24:25 +02:00
a262f10268 Update '.resticexclude' 2023-05-19 18:59:03 +02:00
4aef6038ab Fix taskwarrior sync hook 2023-05-19 18:26:26 +02:00
e074d94e5f Update xbindkeys config 2023-05-19 17:28:16 +02:00
a79654571d Move xbindkeys config 2023-05-19 17:27:12 +02:00
bd08512516 Extract workspaces 2023-05-15 14:36:12 +02:00
90b9744d1c Update backup script 2023-05-15 14:06:39 +02:00
c43927140c Update bash aliases 2023-05-15 14:00:41 +02:00
df1540a182 Update path alias 2023-05-15 13:59:40 +02:00
71cb7ba0f2 Update anki deck script 2023-05-15 13:47:59 +02:00
ad0c4e684c Update XDG environment variables 2023-05-15 13:45:55 +02:00
39cf1a1529 Update cloze snippets 2023-05-15 13:43:37 +02:00
e1e520d365 Detect snippet math contexts 2023-05-15 13:41:06 +02:00
04ac5a609d Add pandoc html comment snippets 2023-05-15 13:38:13 +02:00
557959af9a Add micromamba alias 2023-05-15 13:37:29 +02:00
27aef5502d Update zk preview 2023-05-15 13:36:57 +02:00
765c6d907f Remove 'vim-markdown-composer' 2023-05-15 13:35:36 +02:00
eea103fff3 Update gitconfig 2023-05-12 21:08:31 +02:00
5b801ed608 Move comment highlighting to 'after/syntax' 2023-05-12 14:32:57 +02:00
77f58140a1 Merge branch 'master' of github.com:hektor/dots 2023-05-07 16:47:50 +02:00
be4ddc5a89 Update taskwarrior config 2023-05-05 20:31:42 +02:00
4eac165cb3 Update git config 2023-05-04 23:58:11 +02:00
82b6187cd6 Update xmonad config 2023-05-04 23:57:30 +02:00
a68cb91717 Update xmobar 2023-05-04 23:56:20 +02:00
75e78e97ed Add command for listing anki decks 2023-05-04 02:54:51 +02:00
fed7d836c3 Update npmrc 2023-05-01 15:56:35 +02:00
510fbf9ae8 Remove conda configuration 2023-05-01 15:55:07 +02:00
ed1045c2dc Use '.git' directory for dots 2023-05-01 15:35:18 +02:00
ead293ba46 Rename wiki to zk (zettelkasten) 2023-05-01 15:34:27 +02:00
5fd5686fd4 Untrack wiki files 2023-05-01 15:27:25 +02:00
8ce25ec22d Add zathura shortcuts 2023-05-01 15:16:22 +02:00
a70f933a3b Update wiki files 2023-05-01 15:13:20 +02:00
ffad2c3148 Update default applications 2023-04-30 18:25:06 +02:00
15267c6873 Update picom config 2023-04-30 18:24:15 +02:00
1eca37bd99 Update solaar config 2023-04-30 18:22:40 +02:00
3935cc4acc Update resticexclude 2023-04-30 18:22:06 +02:00
7213196244 Replace 'gitgutter' with 'coc-git' 2023-04-30 18:21:01 +02:00
a0937ca1f7 Remove conda config 2023-04-30 18:19:39 +02:00
ea84a25c47 Add example dotenv 2023-04-30 18:17:54 +02:00
0c8cc4f59c Remove submodule 2023-04-30 18:17:39 +02:00
0d1c569247 Move newsboat config 2023-04-29 19:06:46 +02:00
8d406a16c7 Update (pandoc) wiki config 2023-04-29 18:54:51 +02:00
e23ba43c46 Detect '.pl' files as prolog (instead of perl) 2023-04-29 17:50:30 +02:00
bf4780639c Conceal prolog operators 2023-04-29 17:48:11 +02:00
8dd31453b7 Update pandoc syntax 2023-04-29 17:47:53 +02:00
32545b5cb0 Auto cd into wiki 2023-04-29 17:45:05 +02:00
ef1643b0e9 Add 'sketch' script 2023-04-24 14:03:55 +02:00
8ed099ea91 Merge branch 'master' of github.com:hektor/dots 2023-04-24 13:40:28 +02:00
6f21f40c24 Use light theme 2023-04-24 13:39:06 +02:00
fbe6a409d5 Add xournal config 2023-04-24 13:34:27 +02:00
0cbab089bd Improve taskwarrior sync setup 2023-04-14 17:34:14 +02:00
f615055adb Update JS & TS config 2023-04-07 22:58:07 +02:00
488c8781ea Improve intellisense 2023-04-07 22:57:41 +02:00
581bf4cdff Update coc eslint & prettier config 2023-04-07 22:56:10 +02:00
d409ffb704 Improve R5RS S-expression sends 2023-04-07 22:53:27 +02:00
935c9f17cd Improve config reloading 2023-04-07 22:51:31 +02:00
934420d20a Update plugin config 2023-04-07 22:51:17 +02:00
0d5804a6ac Update mappings 2023-04-07 22:48:21 +02:00
ba34edd8ae Clean up functions 2023-04-07 22:47:48 +02:00
3b6f5d1315 Update fold config 2023-04-07 22:45:42 +02:00
6b236fee98 Update general config 2023-04-07 22:42:56 +02:00
fd3e34596a Update markdown (wiki) config 2023-04-07 22:21:22 +02:00
9de9ba4b49 Add 'better BibTeX' config 2023-03-21 23:21:49 +01:00
15f73d7e40 Update '.bashrc' 2023-03-12 13:18:14 +01:00
a7f58cfde9 Update '.bashrc' 2023-03-12 13:15:43 +01:00
0b7b0900af Merge branch 'master' of github.com:hektor/dots 2023-03-12 13:12:36 +01:00
74285bcabb Update bash aliases to nvim 2023-03-12 13:10:50 +01:00
e4fbda03b4 Configure coc bibtex 2023-03-12 13:09:45 +01:00
e6836424a8 Update fzf setup 2023-02-26 22:59:09 +00:00
0d68784dcc Merge 2023-02-26 22:56:09 +00:00
28a6f41585 Add os-specific fzf setup 2023-02-26 22:38:43 +00:00
f2c3f16a63 Handle 'non selections' 2022-12-02 13:27:32 +01:00
54b27b95b6 Add pacman scripts 2022-12-02 13:23:13 +01:00
9918dffc8a Add vim scripts 2022-12-02 13:22:21 +01:00
30443ccf9c Add xrandr helper scripts 2022-12-02 13:21:10 +01:00
3113852985 Merge branch 'master' of github.com:hektor/dots 2022-12-01 16:40:48 +01:00
6d3e472300 Detect & handle alternative boot managers 2022-12-01 16:38:19 +01:00
19e9241ac8 Update 'xmonad' config 2022-12-01 16:21:19 +01:00
01a3f64612 Update 'xmobar' config 2022-12-01 16:18:44 +01:00
671e9ed919 Update 'xmobar' config 2022-12-01 16:16:44 +01:00
75f5df5aed Update 'nvim' aliases 2022-12-01 16:13:46 +01:00
c48c6bdc7e Set up 'sandwich' plugin 2022-12-01 14:01:41 +01:00
9fc83c8ec7 Update 'coc' configuration 2022-12-01 13:57:54 +01:00
904fa53db0 Set up 'quick-scope' plugin 2022-12-01 13:54:13 +01:00
bd22e1ee57 Set up copilot 2022-12-01 13:51:29 +01:00
53dc02b4ca Update wiki plugin configuration 2022-11-27 23:24:25 +01:00
7bcb9066e7 Update wiki plugins 2022-11-27 23:12:07 +01:00
7eb0b110c6 Add nvim init.vim 2022-11-24 17:12:56 +01:00
c029b03198 Update alacritty colors 2022-11-24 15:24:29 +01:00
248451749a Update zathura config 2022-11-24 15:24:09 +01:00
98d4a7aa5d Merge branch 'master' of github.com:hektor/dots 2022-11-24 15:18:23 +01:00
85289c069f Add conda config 2022-11-24 15:16:31 +01:00
65c83c735b Add feh config 2022-11-18 14:42:34 +01:00
hektor
43f8be510e Update README.md 2022-11-17 22:26:57 +01:00
ef2ec77ac2 Swap layout images 2022-11-17 22:22:55 +01:00
b18f58c9c0 Update keyboard readme 2022-11-17 22:20:47 +01:00
25b6a66f06 Update layout 2022-11-17 22:16:52 +01:00
d1635ffd31 Update script to create script 2022-10-27 03:29:24 +02:00
a8c4805542 Add pacman helper script 2022-10-27 03:19:46 +02:00
0e69eb27bc Add script to add script 2022-10-27 03:18:56 +02:00
64d92013c1 Update pomodoro script 2022-10-25 21:30:00 +02:00
cac2e1a74e Update fzf scripts 2022-10-25 21:29:26 +02:00
23f6d6f1b4 Remove alarm script 2022-10-25 21:23:37 +02:00
3b65d5b69f Update cam script 2022-10-25 21:22:52 +02:00
6d33571083 Update removed keybindings 2022-10-25 21:17:06 +02:00
a719ec43b4 Update launcher 2022-10-25 21:16:21 +02:00
49d99bb759 Remove custom startupHook 2022-10-25 21:15:38 +02:00
e133985624 Update 'manageHook' 2022-10-25 21:15:15 +02:00
01e5b41bad Update layouts 2022-10-25 21:14:38 +02:00
31eb8d11ea Remove screen corner actions 2022-10-25 21:13:04 +02:00
7708fd74be Update xmobar configuration 2022-10-25 21:11:18 +02:00
ebbe1581e9 Organize xmonad imports 2022-10-25 21:09:32 +02:00
33e32fe515 Add nvm initialization 2022-10-25 20:57:14 +02:00
25348f79c1 Add nix package manager to path 2022-10-25 20:56:54 +02:00
7c073bb9e6 Add 'XDG_CONFIG_HOME' environment variable 2022-10-25 20:56:27 +02:00
759ee34f3b Improve fzf initialization 2022-10-25 20:56:01 +02:00
184f4fe0fc Update bash prompt 2022-10-25 20:54:33 +02:00
9856b53ef9 Add folds (markers) 2022-10-25 20:54:01 +02:00
b355d5a802 Add conda config 2022-10-24 18:13:56 +02:00
e502d0e66a Add flameshot config 2022-10-23 13:49:45 +02:00
3ba86b0303 Create fzf terminal launcher 2022-09-25 15:33:36 +02:00
c167030f09 Add layout keybindings 2022-09-24 16:18:46 +02:00
db4714086d Extend manageHook 2022-09-24 16:18:24 +02:00
668b4c7e27 Add magnifier keybindings 2022-09-24 16:18:01 +02:00
ba751e369f Hide borders for single windows 2022-09-24 16:17:14 +02:00
09a84cae23 Update anki cloze commands 2022-09-24 12:31:16 +02:00
632d135ccd Adjust pandoc syntax highlighting 2022-09-24 12:30:37 +02:00
28c110cd48 Update environment variables 2022-09-24 12:29:42 +02:00
09bcf2bac2 Update zathura config 2022-09-24 12:29:14 +02:00
e2aa7aaefb Update ssh key agent service 2022-09-24 12:28:50 +02:00
4733aef8d3 Update replace w/ '.html' filter 2022-09-24 12:28:05 +02:00
869eb017c4 Use 's' for subs 2022-09-24 12:25:46 +02:00
08092da5b2 Update mpv config 2022-09-24 12:25:34 +02:00
7c30f08072 Add custom osc 2022-09-24 12:25:22 +02:00
1bd6634180 Add keepass config 2022-09-24 12:21:46 +02:00
09ae83df18 Use unicode symbols for coc diagnostics 2022-09-24 11:30:02 +02:00
644169cf5a Update eslint prettier config 2022-09-24 11:29:07 +02:00
8f8a17733f Set up languageservers 2022-09-24 11:28:19 +02:00
8c555f9572 Update pandoc snippets 2022-09-24 11:26:42 +02:00
bfe331dfb9 Update resticexclude 2022-09-24 11:25:53 +02:00
830f64030e Remove color from date 2022-09-24 11:16:11 +02:00
cab1a08cc2 Update xinitrc 2022-09-24 11:15:56 +02:00
42f7b5e837 Adjust colorscheme 2022-09-24 11:15:33 +02:00
aef2880b8f Reduce number of workspaces 2022-09-24 11:15:13 +02:00
227597c4b1 Update xmobar configuration 2022-09-24 01:07:16 +02:00
8ffc997f99 Update xmonad configuration 2022-09-24 01:07:06 +02:00
7fd7f2d50d Update xinitrc 2022-09-23 00:47:20 +02:00
342caa641b Add xmonad configuration 2022-09-23 00:46:34 +02:00
c29ce57628 Update fzf book script 2022-09-22 20:46:42 +02:00
e9b0a6acd2 Refactor fzf fontnames script 2022-09-22 20:42:26 +02:00
8951c2e56b Update fzf book script 2022-09-22 20:42:04 +02:00
2ddd2ab219 Remove 2022-09-22 14:06:53 +02:00
902e1e1275 Update README 2022-09-22 14:05:59 +02:00
0c53b703f1 Add 'fzf' fontnames script 2022-09-22 13:53:21 +02:00
9a2145e2d1 Move atom config 2022-08-27 11:06:51 +02:00
4407e35765 Add firefox config setup script 2022-08-27 10:41:45 +02:00
2c1e4303ab Add firefox config 2022-08-27 10:27:27 +02:00
d48b4997c7 Remove old R5RS REPL support 2022-08-21 11:07:52 +02:00
0212c6e8d4 Add pandoc configuration 2022-08-21 10:57:03 +02:00
c1b034529d Add R5RS REPL mappings 2022-08-21 10:56:08 +02:00
e2f75347a1 Ignore cloze starts 2022-08-20 10:47:35 +02:00
b8070fbb8f Allow multidigit numbers 2022-08-20 10:41:20 +02:00
e0a71363b4 Extend sandwich for cloze notes 2022-08-20 10:40:06 +02:00
c4d2fa498c Render whitespace 2022-08-18 13:47:32 +02:00
d3cf2a4907 Allow extra characters 2022-08-16 15:23:59 +02:00
e547d0c01e Add cloze helpers 2022-08-16 15:23:18 +02:00
79fdb93a63 Extend pandoc-syntax 2022-08-16 10:48:45 +02:00
b2234aa463 Add lua filter for 'tikz' diagrams 2022-06-12 00:28:01 +02:00
4fbdacb859 Update pomodoro script (repeats) 2022-05-20 00:37:29 +02:00
6ec53feabc Update ncspot config 2022-05-16 20:58:52 +02:00
c5623458e8 Update 'resticexclude' 2022-05-16 11:50:05 +02:00
e06e00bd20 Update statusbar scripts 2022-05-16 11:39:33 +02:00
6639ec989a Increase editor font size 2022-05-16 11:39:14 +02:00
b31a2581b2 Update dwm shortcuts 2022-05-16 11:26:13 +02:00
97304834bc Add backup script 2022-05-16 11:22:12 +02:00
33fc3047fd Add 'rclone.conf' example 2022-05-16 11:21:34 +02:00
79a0496f5b Update 'gitconfig' 2022-05-16 00:26:56 +02:00
beb7eba90e Update pandoc filters 2022-05-15 14:35:22 +02:00
08667c1d6c Wait for 'xsetwacom' to find tablet 2022-05-14 15:45:42 +02:00
1a79bfe43d Add atom package list 2022-05-13 12:06:00 +02:00
37ef60107f Use instead of ./ (GNU linker) 2022-05-12 09:32:07 +02:00
6abdd0e8a7 Rearrange 2022-05-12 09:08:10 +02:00
be66a10a0a Move 'Block' struct to header file 2022-05-12 09:07:35 +02:00
c0fe3f2337 Add 'pipewire-pulse' config 2022-05-11 16:00:01 +02:00
f554791668 Rename pipeable notify-send 2022-05-11 14:24:20 +02:00
57ee1bf2fb Remove redundant brave wrapper 2022-05-11 14:19:29 +02:00
99c9e249e5 Remove redundant script (because PipeWire) 2022-05-11 14:18:24 +02:00
474f071cb9 Add 'fzf' bluetooth wrapper script 2022-05-11 14:01:06 +02:00
befa4239a5 Rename 'fzf' wrapper scripts 2022-05-11 14:00:08 +02:00
c2c7995ab5 Add 'fzf' wrapper scripts 2022-05-11 13:55:36 +02:00
1c6f0776e1 Automate KeepassXC database backup 2022-05-11 13:45:34 +02:00
5957aa3ed4 Update statusbar 2022-05-11 13:26:31 +02:00
a6876bb54e Add description 2022-05-11 12:34:22 +02:00
b4050ee797 Enforce some Anki discipline 2022-05-11 12:31:24 +02:00
41c0481191 Disable finger touch by default 2022-05-11 12:27:48 +02:00
331f04f73f Colorize battery statusbar script 2022-05-11 12:27:21 +02:00
77065ebe39 Drop localhost 2022-05-11 12:25:43 +02:00
3280f9f89b Add description 2022-05-11 12:25:20 +02:00
2e353fe4a8 Add pandoc snippets 2022-05-11 12:08:01 +02:00
daed5c79c5 Add 'LaTeX' snippets 2022-05-11 12:04:03 +02:00
c66ba56332 Add 'GLSL' snippets 2022-05-11 12:02:42 +02:00
8494ebb03c Update README 2022-05-11 11:59:14 +02:00
13869571b5 Add vortex core layout 2022-05-11 11:57:04 +02:00
f9ec2f327c Add 'geoclue' systemd user service 2022-05-11 11:31:20 +02:00
b7aa2e8294 Add 'ssh-agent' systemd user service 2022-05-11 11:23:10 +02:00
2d5b7eed82 Add 'wacom' systemd user service 2022-05-11 11:22:59 +02:00
7ca492c053 Add tmux systemd user service 2022-05-11 11:22:43 +02:00
8ef636b986 Run xbindkeys on startup 2022-05-11 01:19:26 +02:00
2594397c92 Add Jupyter directory environment variable 2022-05-11 01:17:33 +02:00
c3840e1edc Update 'fzf' configuration 2022-05-11 01:16:28 +02:00
89f2087c8b Update comments 2022-05-11 01:15:26 +02:00
cc6504f993 Add R5RS REPL support 2022-05-11 01:13:54 +02:00
baa699d31d Add 'coc-clangd' extension 2022-05-11 01:03:16 +02:00
c8f4f34f50 Add 'JSONC' support 2022-05-11 01:02:08 +02:00
14cb3ebde6 Remove slimv plugin 2022-05-11 00:57:52 +02:00
7f7b6ee45c Add 'Man' command 2022-05-11 00:56:39 +02:00
4859fdb5a9 Update vim functions 2022-05-11 00:56:13 +02:00
dd49fb4806 Remove slimv configuration 2022-05-11 00:50:43 +02:00
89a5fcbebf Update pandoc Makefile 2022-05-11 00:45:53 +02:00
fce3115e80 Map wacom key for screenshots 2022-05-11 00:44:26 +02:00
7a50e8911e Update bash aliases 2022-05-11 00:43:33 +02:00
8d91701fd0 Limit spotify cache 2022-05-11 00:23:22 +02:00
2a6437a212 Add pomodoro python script 2022-05-04 15:41:07 +02:00
df9bee20a2 Add statusbar colors 2022-04-30 18:57:28 +02:00
69ad8cd996 Add script to convert JSON to YAML 2022-02-06 16:22:14 +01:00
3dbd014b33 Make redshift gene 2022-02-03 17:50:51 +01:00
f6e5e982c6 Set fixed cursor size 2022-02-03 17:50:11 +01:00
afba1dbfac Remove custom gtk styling 2022-01-27 11:12:53 +01:00
5e171b1bb7 Drop mpv's screenshot keybindings 2022-01-27 11:10:31 +01:00
9f6dbca9b7 Remove color support setting 2022-01-27 11:08:26 +01:00
654be89d00 Add wacom mappings 2022-01-27 11:08:01 +01:00
a7853fdfb4 Add fzf completion trigger 2022-01-27 11:06:32 +01:00
65106d0c95 Add wiki alias 2022-01-27 11:05:36 +01:00
ed40b186c9 Update 'set-wacom-draw-area' script 2022-01-27 11:04:52 +01:00
6ebc4adccb Add 'gh' config 2022-01-26 11:59:34 +01:00
7e5c51d531 Rename bash alias file 2022-01-18 13:17:26 +01:00
946066c9d4 Move X11 config 2022-01-07 03:14:30 +01:00
6b78636e1a Move X11 config 2022-01-07 03:14:05 +01:00
8cb5ed0cee Move tmux config 2022-01-07 02:51:02 +01:00
e8fc0133f4 Add tmux 'workspace' setup script 2021-12-31 16:19:17 +01:00
ab7be0cc19 Add README.md 2021-12-31 16:17:58 +01:00
766c63824c Update dmenu scripts 2021-12-31 16:07:38 +01:00
749fd7b3ac Add dmenu bluetooth menu 2021-12-31 16:04:23 +01:00
0c0a7e6672 Open devdocs offline 2021-12-31 16:03:46 +01:00
4c42f09f96 List connected bluetooth audio devices 2021-12-31 16:02:58 +01:00
7da5acc4d3 Add battery level script 2021-12-31 16:01:55 +01:00
54cc883f83 Add webcam script 2021-12-31 16:01:19 +01:00
7ef59d6b09 Rename wiki helper 2021-12-31 15:59:34 +01:00
38297b3d39 Add jack bluetooth audio script 2021-12-31 15:56:43 +01:00
da4e51e979 Add alarm script (wip) 2021-12-31 15:55:37 +01:00
e5208f0eba Add a setup (wip) 2021-12-31 15:55:07 +01:00
7fa1ab5aac Update dunst config 2021-12-31 15:49:52 +01:00
60a2371f07 Add readme 2021-12-31 15:49:18 +01:00
83a9e15c9c Update atom config 2021-12-31 15:47:04 +01:00
90fce747c0 Update alacritty config 2021-12-31 15:43:45 +01:00
54cc2af949 Update coc config 2021-12-31 15:43:27 +01:00
ce6041c9b8 Remove brave flags file 2021-12-31 15:42:26 +01:00
ab7fe1a319 Replace 'brave-launcher' script 2021-12-31 15:41:19 +01:00
98e15f8412 Quote variable 2021-12-31 12:48:10 +01:00
8a97378bd4 Update zathura config 2021-12-31 12:47:19 +01:00
f064e747fd Place all images in 'img' folder 2021-12-31 12:45:29 +01:00
d02ff6c973 Update inputrc 2021-12-31 12:45:04 +01:00
8a0758571d Minimise bash history 2021-12-31 12:44:28 +01:00
97c19190a9 Update bash aliases 2021-12-31 12:43:40 +01:00
5cd6530419 Update .npmrc 2021-12-31 12:38:19 +01:00
dd76fc23f7 Remove local '.gitignore's 2021-12-21 00:47:34 +01:00
ae5e22d3a5 Update '.gitignore' 2021-12-21 00:45:53 +01:00
392297f508 Add general script for creating markdown index files 2021-12-05 12:59:22 +01:00
b85e56a3b3 Fix title linebreak 2021-12-04 17:48:36 +01:00
0a491b554c Add wiki script 2021-12-04 17:44:36 +01:00
a511810052 Update tmux config 2021-11-28 17:53:17 +01:00
26a83a8ae8 Add pandoc '<br/>' filter 2021-11-28 17:51:29 +01:00
b07e7a7daa Update dwmblocks 2021-11-28 17:47:17 +01:00
42d7f53ac8 Update vim color scheme 2021-11-28 17:46:18 +01:00
cc1ee83f20 Update vimwiki directory 2021-11-28 17:46:02 +01:00
8789e41a94 Remove unused scripts 2021-11-28 17:44:25 +01:00
13c6a3568c Remove newsboat urls 2021-11-28 17:42:46 +01:00
45193f0f85 Update wacom draw area script 2021-11-28 17:42:21 +01:00
48ee2ca7fd Use compositor 2021-11-28 17:40:18 +01:00
a7c2b9da6f Automatically start redshift 2021-11-28 17:40:04 +01:00
8c82d5334d Automatically start X 2021-11-28 17:39:26 +01:00
eab043862e Move taskrc to config directory 2021-11-28 17:37:41 +01:00
2fd0c5479a Add script to remove './' in markdown links 2021-09-28 19:38:29 +02:00
fdf721c2b6 Add script to count json objects 2021-09-28 16:22:21 +02:00
07fbefb40e Update gitconfig 2021-09-17 14:27:51 +02:00
577bb10fdc Add 'restore --staged' alias 2021-09-17 14:21:03 +02:00
20d6a92930 Remove unused aliases 2021-09-17 14:20:10 +02:00
ab35820b2f Adjust git colors 2021-09-17 14:13:37 +02:00
e1a7513d76 Rename command for listing aliases 2021-09-17 13:58:42 +02:00
1ff2ae51aa Add 'log' config 2021-09-17 13:54:43 +02:00
ea63636ad1 Add alacritty config 2021-08-31 14:34:35 +02:00
4681b3d3d1 Update tag names 2021-08-31 14:33:56 +02:00
2a3dd96c50 Update ncspot color scheme 2021-08-31 14:33:02 +02:00
90eb486e57 Update .xinitrc 2021-08-31 14:30:17 +02:00
249efa7942 Add 'XDG_SESSION_TYPE' 2021-08-31 14:28:30 +02:00
defbf9bbf7 Update nvm loading 2021-08-31 14:28:09 +02:00
ac3c187818 Update 'ls' aliases 2021-08-31 14:25:24 +02:00
b73af8076d Add fzf colors 2021-08-31 14:23:54 +02:00
cef617928a Update coc settings 2021-08-31 14:23:13 +02:00
92aeb5d195 Update vim markdown & latex 2021-08-31 14:22:15 +02:00
497261b48b Update fzf plug setup 2021-08-31 14:19:18 +02:00
e592675a68 Open html version of current file in browser 2021-08-31 14:17:26 +02:00
ed2383c0ee Add function to toggle conceal 2021-08-31 14:15:23 +02:00
c6f6d7304c Enable autoread 2021-08-31 14:14:50 +02:00
53fddd1195 Adjust conceal settings 2021-08-31 14:14:25 +02:00
e572c5e0c8 Remove tmux aliases 2021-08-27 17:20:26 +02:00
aac242aca1 Adjust split separator colors 2021-08-23 21:34:43 +02:00
0f70ae28c4 Render ellipsis for nesting > 2 2021-08-23 17:13:38 +02:00
54266a5d59 Update wiki styling 2021-08-23 17:10:04 +02:00
f3f4fd1ef7 Update wiki Makefile 2021-08-23 17:08:52 +02:00
df74dc85af Update tmux config 2021-08-23 17:06:33 +02:00
Hektor Misplon
0dea47f81f Add 'lua filters' license 2021-05-24 11:33:05 +02:00
Hektor Misplon
30c15faaaf Remove lilypond html file 2021-05-23 15:24:39 +02:00
Hektor Misplon
ce2b54d9eb Add pandoc style file 2021-05-23 15:16:10 +02:00
Hektor Misplon
9e8d5422e7 Add wiki pandoc files (Makefile+filters) 2021-05-23 15:12:59 +02:00
Hektor Misplon
ea671c0be9 Add taskwarrior config 2021-05-19 11:55:44 +02:00
Hektor Misplon
5224246374 Add keyboard & headphone control bindings for ncspot 2021-05-17 14:10:31 +02:00
Hektor Misplon
46bc785e0a Customize color scheme 2021-05-05 22:05:40 +02:00
Hektor Misplon
3578e6af0d Update svelte snippets 2021-05-05 15:20:10 +02:00
Hektor Misplon
dea76213ff Replace color theme with 'yin-yang' colorscheme 2021-05-05 15:18:48 +02:00
Hektor Misplon
7b471c3ad5 Update zathura config 2021-05-05 15:17:06 +02:00
Hektor Misplon
8e1a68eefd Remove picom 2021-04-25 00:26:33 +02:00
Hektor Misplon
c207d16410 Pipe to xorg clipboard 2021-04-25 00:24:50 +02:00
Hektor Misplon
ffb424d220 Fix typo: bangshee->shebang 2021-04-25 00:18:45 +02:00
9a5d295009 Add 'scheme' conceals 2021-04-11 19:16:51 +02:00
d7839912be Add 'scheme' snippets 2021-04-11 19:14:30 +02:00
7d85a170a1 Add 'shebang' snippet 2021-04-11 19:13:52 +02:00
2ee5bf3184 Move 'svelte'-specific snippet 2021-04-11 19:13:21 +02:00
19380e20e9 Add 'svelte' snippets 2021-04-11 19:10:12 +02:00
2f865d174a Add 'css' snippets 2021-04-11 19:08:53 +02:00
27937b86af Add npm config 2021-04-04 21:24:45 +02:00
a01b8e883f Add JSON.stringify snippets 2021-03-28 10:40:58 +02:00
fc095d371c Use simpler bash prompt 2021-03-28 10:39:14 +02:00
f8f15baa4a Fix inline comments for keymaps 2021-03-28 10:37:23 +02:00
5b0a9b629b Remove unused settings 2021-03-10 18:06:32 +01:00
d10aa2e6d4 Update general vim settings 2021-03-10 18:06:07 +01:00
491f87e78c Muck out my vim config 2021-03-10 17:48:56 +01:00
78f42d5c70 Add autorandr 'docked with lid closed' preset 2021-03-03 17:57:21 +01:00
1093e2f027 Migrate st to version 8.4 2021-02-21 17:53:56 +01:00
fc0c03da7c Add ligature support 2021-02-21 17:52:46 +01:00
a3321c680c Apply scrollback patch 2021-02-21 17:44:15 +01:00
404defffdd Use vim-ish keybindings for scrollback 2021-02-21 17:42:38 +01:00
cb78fe1726 Remove config.def.h 2021-02-21 17:29:10 +01:00
015b0f4ab2 Upgrade st to 8.4 2021-02-21 17:22:18 +01:00
ed63a55488 Start xournalpp in floating mode 2021-02-21 15:28:55 +01:00
f33d20a35c Replace wacom-flip script with autorandr hook scripts 2021-02-20 16:15:18 +01:00
324dac29b4 Document wacom drawing area script 2021-02-20 16:11:47 +01:00
f8d8fd8291 Add vertical wacom drawing area script 2021-02-20 16:05:13 +01:00
3b1995f86f Tweak dwm color 2021-02-20 15:58:28 +01:00
11d61c7e96 Use named tag workflow 2021-02-20 15:57:01 +01:00
cef012fae9 Add autorandr config 2021-02-20 15:55:13 +01:00
7de30ddd9d Remove slstatus 2021-02-20 15:53:53 +01:00
e18e602b38 Remove redundant styling 2021-02-20 15:53:03 +01:00
8781a919ca Simplify git logs 2021-02-20 15:52:08 +01:00
14e44362d0 Adjust mouse sensitivity 2021-02-16 21:18:58 +01:00
1dd443f2e7 Update default applications 2021-02-16 21:18:37 +01:00
4690481623 Adjust dunst config 2021-02-16 21:17:10 +01:00
36d22ca86a Adjust navigation aliases 2021-02-16 21:15:23 +01:00
adecf2360d Adjust zathura colors 2021-02-16 21:13:59 +01:00
aa8acb7e61 Adjust zathura to best fit 2021-02-16 21:12:44 +01:00
99f38b7fcb Adjust terminal zoom keybindings 2021-02-16 21:10:32 +01:00
19b3c2b275 Use dwmblocks instead of slstatus 2021-02-16 21:08:44 +01:00
c038f58c48 Add dwm blocks 2021-02-16 21:08:10 +01:00
4081813b58 Use 'main' as default branch 2021-02-16 21:01:30 +01:00
aa7ec91357 Update email address 2021-02-16 21:01:05 +01:00
7c337c5066 Add blender theme 2021-02-16 20:59:00 +01:00
Hektor Misplon
54e0790a8a Run dmenu-run-history from dwm 2021-02-08 17:51:56 +01:00
Hektor Misplon
0037dd5840 Update default applications 2021-02-08 17:49:17 +01:00
Hektor Misplon
8fc9e34679 Add basic vim update script 2021-01-16 11:28:57 +01:00
Hektor Misplon
6147c0758a Add tiny script to notify from stdin 2021-01-09 14:32:30 +01:00
Hektor Misplon
c6b0ddc99b Add dmenu script for quick translating 2021-01-09 14:30:55 +01:00
Hektor Misplon
57d94676c4 Show all ip addresses without argument 2021-01-09 14:28:36 +01:00
Hektor Misplon
9484168207 Make cmdline readable 2021-01-09 01:05:44 +01:00
Hektor Misplon
0fb9450587 Conform dmenu border to dwm's 2021-01-08 22:32:50 +01:00
Hektor Misplon
ade1bdb3bd Make full width dmenu respect border width 2021-01-08 22:31:09 +01:00
Hektor Misplon
e84aeb901f Decrease dmenu 'size' 2021-01-08 22:28:32 +01:00
Hektor Misplon
afbb55170d Set default dmenu prompt 2021-01-08 22:26:53 +01:00
Hektor Misplon
5373c3a012 Use dmenu on bottom of screen 2021-01-08 22:23:32 +01:00
Hektor Misplon
5c2e79787f Adjust coloring 2020-12-20 15:41:35 +01:00
Hektor Misplon
52e2bba176 Adjust coloring 2020-12-20 15:41:21 +01:00
Hektor Misplon
7884543c52 Use hex shorthands 2020-12-20 15:41:10 +01:00
Hektor Misplon
94f9c061ac Update wacom script 2020-12-20 15:40:38 +01:00
Hektor Misplon
4d8b1187b9 Remove redundant css 2020-12-20 15:39:17 +01:00
Hektor Misplon
c24acb5f2e Add brightness control keybindings 2020-12-20 15:38:10 +01:00
Hektor Misplon
fa06db8b30 Remove hardtime plugin 2020-12-20 15:37:36 +01:00
Hektor Misplon
483135907c Use tmux style splits 2020-12-20 15:37:22 +01:00
Hektor Misplon
4bf2f4cde1 Add script to flip wacom controls 2020-12-17 13:32:02 +01:00
Hektor Misplon
942ea2825d Adjust ncspot colors 2020-12-12 14:18:34 +01:00
Hektor Misplon
9bac65e554 Remove 5 tags 2020-12-11 10:08:25 +01:00
Hektor Misplon
bc3f7c863a Only show border for active window 2020-12-11 10:07:58 +01:00
Hektor Misplon
76488e6072 Adjust default gap 2020-12-11 10:07:02 +01:00
Hektor Misplon
8505dc0694 Specify iosevka font 2020-12-11 10:06:35 +01:00
Hektor Misplon
b7745a21f8 Add keybindings 2020-12-11 10:05:49 +01:00
Hektor Misplon
2082bc2ea7 Clean bashrc 2020-12-10 19:40:55 +01:00
Hektor Misplon
1eb975686a Clean bashrc 2020-12-10 19:38:24 +01:00
Hektor Misplon
6ece16b2b1 Remove redundant file 2020-12-10 19:30:30 +01:00
Hektor Misplon
65d3bd2f83 Update commenter plugin config 2020-12-10 19:29:31 +01:00
Hektor Misplon
2f8df9de1e Add basic sct 'night time' wrapper 2020-12-10 18:37:27 +01:00
Hektor Misplon
f503c0ee72 Ignore object files 2020-12-10 15:21:02 +01:00
Hektor Misplon
72bb33136b Untrack object files & binarie 2020-12-10 15:19:51 +01:00
Hektor Misplon
cfaccb63ea Remove redundant statusbar items 2020-12-10 15:14:36 +01:00
Hektor Misplon
bc2e88a42c Use 1 second interval for statusbar 2020-12-10 15:14:06 +01:00
Hektor Misplon
6d9a7cab80 Add default applications 2020-12-10 15:13:05 +01:00
Hektor Misplon
6fbf72cc44 Fix indentation 2020-12-10 15:09:09 +01:00
Hektor Misplon
674d985479 Remove redundant file 2020-12-10 15:08:39 +01:00
Hektor Misplon
7e659cb293 Specify iosevka font 2020-12-10 15:06:53 +01:00
Hektor Misplon
53ce7d1222 Show tabs & trailing whitespaces 2020-12-10 15:04:57 +01:00
Hektor Misplon
7737f1c76c Replace nerdcommenter with vim-commentary 2020-12-10 15:04:23 +01:00
Hektor Misplon
d47e6c8b2a Use <nowait> for 'jj' mapped to escape 2020-12-10 15:03:54 +01:00
Hektor Misplon
45b134f81d Remove trailing whitespace 2020-12-10 15:03:05 +01:00
Hektor Misplon
52b056ee9d Adjust split bindings 2020-12-10 15:01:49 +01:00
Hektor Misplon
a38bca749e Use smaller timeout length 2020-12-10 14:59:15 +01:00
Hektor Misplon
9062ff38b3 Remove redundant vim settings 2020-12-10 14:57:19 +01:00
Hektor Misplon
7602ba703e Add function to get amount of tasks 2020-12-10 14:41:42 +01:00
Hektor Misplon
e700cd7889 Add startup applications 2020-12-10 14:34:54 +01:00
Hektor Misplon
1a4ab2c442 Use oneliner conditionals 2020-12-10 14:32:33 +01:00
Hektor Misplon
6e59747be7 Remove sclang config 2020-12-10 14:30:05 +01:00
Hektor Misplon
cb099d6db2 Remove redundant script 2020-12-10 14:27:34 +01:00
Hektor Misplon
6a39b3c3ed Use verbose flag for 'mv' and 'cp' 2020-12-10 14:26:33 +01:00
Hektor Misplon
1e6db5385a Add mpv controls 2020-12-10 14:24:53 +01:00
Hektor Misplon
a866c81b4d Add readline config 2020-12-09 23:42:22 +01:00
Hektor Misplon
041e4545ea Add aliases 2020-12-03 12:00:52 +01:00
Hektor Misplon
7d7e87379c Add gtk styling 2020-12-01 18:07:02 +01:00
Hektor Misplon
fa295336fe Hide top and bottom info 2020-11-22 00:39:47 +01:00
Hektor Misplon
a4fba3cd80 Adjust SuperDirt startup 2020-11-22 00:38:52 +01:00
Hektor Misplon
bb5c88ae81 Add keyboard layout 2020-11-21 17:38:20 +01:00
Hektor Misplon
ec4c7475d5 Add newsboat config 2020-11-21 02:13:20 +01:00
Hektor Misplon
6489cb8948 Track slstatus source files 2020-11-15 19:15:09 +01:00
Hektor Misplon
fa3d7bfaeb Update solaar config 2020-11-13 23:25:28 +01:00
Hektor Misplon
3a32d917b5 Adjust zathura selection colo 2020-11-13 23:25:00 +01:00
Hektor Misplon
811363f3a6 Fix shellcheck warnings 2020-11-13 23:22:53 +01:00
Hektor Misplon
b9d0500d4a Use high quality profile for mpv 2020-11-11 15:58:59 +01:00
Hektor Misplon
6621312f3f Update autostart 2020-11-10 17:14:52 +01:00
Hektor Misplon
d30870ae35 Adjust dunst location & style 2020-11-10 17:12:51 +01:00
Hektor Misplon
aa2206861c Add R5RS tmux script 2020-11-10 17:12:04 +01:00
Hektor Misplon
9107a5ca4a Add r5rs tmux (vim with repl) script 2020-11-02 18:10:08 +01:00
Hektor Misplon
ecc4e5b42f Rename r5rs to r5rs-repl 2020-11-02 18:09:18 +01:00
Hektor Misplon
ac079c48b3 Set slime tmux defaults 2020-11-02 18:06:59 +01:00
Hektor Misplon
9c5c991e83 Update gitconfig 2020-11-02 11:56:00 +01:00
Hektor Misplon
7443bb87d8 Add default options for fzf 2020-11-02 11:55:21 +01:00
Hektor Misplon
9fc59695d6 Add alias for R5RS repl 2020-11-02 11:54:51 +01:00
Hektor Misplon
f612897fb8 Setup vimtex with zathura 2020-11-02 11:54:10 +01:00
Hektor Misplon
72120e0ce8 Set up vim-slime for tmux 2020-11-02 11:53:18 +01:00
Hektor Misplon
abffd23bf9 Update vim config 2020-11-02 11:50:14 +01:00
Hektor Misplon
c4338c0b35 Add cleanup script 2020-11-01 15:58:45 +01:00
Hektor Misplon
6215fb974b Print pdf title from metadata 2020-11-01 15:57:59 +01:00
Hektor Misplon
b47a96a763 Use consistent shebangs 2020-11-01 15:57:10 +01:00
Hektor Misplon
7abc0840ab Replace screen layout scripts with menu 2020-11-01 15:53:41 +01:00
Hektor Misplon
41b7dd38f1 Add gtk+ settings 2020-11-01 15:42:01 +01:00
Hektor Misplon
6f9eb64a24 Add default application config 2020-11-01 15:35:15 +01:00
Hektor Misplon
9696d14d1c Remove binaries 2020-11-01 15:21:15 +01:00
Hektor Misplon
dde6f2f2f3 Adjust zathura config 2020-11-01 15:18:45 +01:00
Hektor Misplon
ef9a140fd6 Adjust zathura color scheme 2020-11-01 15:18:15 +01:00
Hektor Misplon
3e2dfe0322 Update solaar config 2020-11-01 15:16:55 +01:00
Hektor Misplon
c7a6fc34ff Remove sselp 2020-11-01 15:15:51 +01:00
Hektor Misplon
fe0a4a4f2f Adjust color scheme 2020-11-01 15:14:40 +01:00
Hektor Misplon
b451d165ac Adjust dunst colors 2020-11-01 15:12:42 +01:00
Hektor Misplon
2151c20dfc Use fzf keybindings 2020-11-01 15:12:15 +01:00
Hektor Misplon
d2b5a930ac Update bash config 2020-10-30 16:49:22 +01:00
Hektor Misplon
fc56152e80 Add aliases 2020-10-18 16:12:08 +02:00
Hektor Misplon
2b17e4bfc3 Update
whoamip
script
2020-10-18 16:09:16 +02:00
Hektor Misplon
14804af5dc Update color scheme 2020-10-06 18:02:03 +02:00
Hektor Misplon
b378919b1b Cache git credentials 2020-09-20 11:44:41 +02:00
Hektor Misplon
89d02f8fc4 Organize vim config 2020-09-19 22:07:29 +02:00
Hektor Misplon
287eef47a0 Get vim-svelte plugin from 'main' branch 2020-09-19 20:15:01 +02:00
Hektor Misplon
00875b06da Add vim-sandwich plugin 2020-09-19 20:14:11 +02:00
Hektor Misplon
895c518797 Update zathura config 2020-09-19 12:13:30 +02:00
Hektor Misplon
70471bf9dc Set atom editor font 2020-09-17 10:31:01 +02:00
Hektor Misplon
f2738b209d Use white cursor 2020-09-11 21:03:29 +02:00
Hektor Misplon
400c33c5fd Update atom config 2020-09-11 21:03:16 +02:00
Hektor Misplon
bcf5cb2d3b Resize splits 2020-09-11 21:02:21 +02:00
Hektor Misplon
7e59879095 Use printf instead of echo 2020-09-11 20:20:04 +02:00
Hektor Misplon
c80dcfaa97 Use strong quotes 2020-09-11 20:16:57 +02:00
Hektor Misplon
eaaa680071 Fix naked dollar sign 2020-09-11 20:16:35 +02:00
Hektor Misplon
6bfce1a6b9 Show charging status dynamically 2020-09-06 18:15:51 +02:00
Hektor Misplon
0e74499d16 Always open keypassxc on tag 9 2020-09-06 18:14:56 +02:00
Hektor Misplon
30af1155cc Add brave flags config 2020-09-06 00:19:21 +02:00
Hektor Misplon
f0767b4618 Add scripts 2020-09-06 00:18:31 +02:00
Hektor Misplon
52920558e5 Clean 2020-09-06 00:10:10 +02:00
Hektor Misplon
19344656c0 Add snippets 2020-09-06 00:09:25 +02:00
Hektor Misplon
17a31498c2 Add snippets directory 2020-09-06 00:09:16 +02:00
Hektor Misplon
57ae025225 Add coc-snippets 2020-09-05 23:19:23 +02:00
Hektor Misplon
532a328b15 Show number for cursor line 2020-09-05 15:08:34 +02:00
Hektor Misplon
cbe63b4c82 Merge branch 'master' of https://github.com/hektormisplon/dotfiles into master 2020-09-05 15:06:56 +02:00
Hektor Misplon
1191c29c16 Adjust zoom keybindings 2020-09-05 15:05:21 +02:00
Hektor Misplon
08476bc74d Adjust zoom keybindings 2020-09-05 14:59:09 +02:00
Hektor Misplon
015a77d69c Add colors 2020-09-05 14:52:28 +02:00
Hektor Misplon
842bb7fd0e Add atom hydra config 2020-08-28 10:03:45 +02:00
Hektor Misplon
bd598a8097 Colorize ip output 2020-08-18 18:22:50 +02:00
Hektor Misplon
0e079862b7 Increase history size 2020-08-18 18:20:58 +02:00
Hektor Misplon
bb6d3837e5 Update vimrc 2020-08-06 16:36:57 +02:00
Hektor Misplon
4ee03665c0 Adjust keybinding 2020-08-01 20:12:16 +02:00
Hektor Misplon
e1ee2c7df0 Adjust keybinding 2020-08-01 20:11:54 +02:00
Hektor Misplon
83a5a84cd8 Adjust colors 2020-07-28 20:32:11 +02:00
Hektor Misplon
53fbc57937 Adjust colors 2020-07-28 20:30:39 +02:00
Hektor Misplon
282ade689c Add subcommands 2020-07-03 17:55:45 +02:00
Hektor Misplon
77ebb9b9b9 Add reverse tethering command 2020-07-03 16:47:12 +02:00
Hektor Misplon
dc8e6e2ef4 Add svelte coc support 2020-07-02 15:51:01 +02:00
Hektor Misplon
d23b0267cd Add vscode config 2020-05-20 19:15:33 +00:00
Hektor Misplon
2695e64224 Add terminal keybinding 2020-05-20 19:14:07 +00:00
Hektor Misplon
3c5f08e6bb Disable javascript suggestion actions 2020-05-20 19:13:46 +00:00
Hektor Misplon
85cf630772 Adjust dmenu colors 2020-05-20 19:13:08 +00:00
Hektor Misplon
8e1a7b609e Autostart cadence 2020-05-13 22:38:59 +00:00
Hektor Misplon
36452de564 Configure svelte 2020-05-13 17:10:30 +00:00
Hektor Misplon
fbad53561b Adjust dwm colors 2020-05-13 17:09:15 +00:00
Hektor Misplon
b5aaba0b3e Update vim config 2020-05-13 17:08:38 +00:00
Hektor Misplon
3d78f2365d Add whoamip script to get ip 2020-05-13 17:07:44 +00:00
Hektor Misplon
29eb7e6b1b Check bat alias from script 2020-05-13 17:06:19 +00:00
Hektor Misplon
913d20e162 Lazyload nvm when used 2020-05-13 17:05:27 +00:00
Hektor Misplon
669a23b552 Configure fuzzy finder 2020-05-08 17:54:20 +00:00
Hektor Misplon
f8df9804df Adjust dunstrf 2020-05-08 17:00:52 +00:00
Hektor Misplon
3b9eb42c90 Add dunstrc 2020-05-08 16:58:13 +00:00
Hektor Misplon
2170ed92ea Match zathura to theme 2020-05-08 16:21:12 +00:00
Hektor Misplon
834088247b Remove PATH environment variable 2020-05-08 16:11:30 +00:00
Hektor Misplon
0a4b18f6ad Make scripts globally available 2020-05-08 16:08:53 +00:00
Hektor Misplon
5b47edb01b Add keybindings 2020-05-08 15:16:18 +00:00
Hektor Misplon
bd84e769f8 Add tidalcycles tmux startup script 2020-05-08 15:15:22 +00:00
Hektor Misplon
7c97aff7ce Start window numbers at 0 2020-05-08 14:17:15 +00:00
Hektor Misplon
16fd8d7a05 Adjust color scheme 2020-05-08 14:16:11 +00:00
Hektor Misplon
99fbf9413d Update vim config 2020-05-08 14:11:55 +00:00
Hektor Misplon
58e770a6d6 Update tmux conf 2020-05-08 00:22:49 +00:00
Hektor Misplon
7175943f46 Add default editor 2020-05-08 00:20:56 +00:00
Hektor Misplon
05d222ce88 Modify newterm command to shift-<cr> 2020-05-07 22:13:16 +00:00
Hektor Misplon
87a7b708ee Remove extra backup configs 2020-05-07 22:11:08 +00:00
Hektor Misplon
a6ed1c1f94 Convert to subfolder 2020-05-07 22:07:40 +00:00
Hektor Misplon
8793a6dd5c Add dwm error logging 2020-05-07 21:28:19 +00:00
Hektor Misplon
d95409eceb Increase font size 2020-05-07 21:26:43 +00:00
Hektor Misplon
18647900aa Add border 2020-05-07 21:21:44 +00:00
Hektor Misplon
a37700ee0e Add center patch 2020-05-07 21:10:33 +00:00
Hektor Misplon
261c14dd73 Add dmenu 2020-05-07 20:07:33 +00:00
Hektor Misplon
156c150e84 Add gitignore 2020-05-07 20:07:07 +00:00
Hektor Misplon
c0a77cf124 Update dmenu 2020-05-07 19:59:51 +00:00
Hektor Misplon
2ee3b5cd5c Adjust dmenu colors 2020-05-07 19:49:28 +00:00
Hektor Misplon
653824cfbf Remove bloat 2020-05-07 19:30:24 +00:00
Hektor Misplon
4cd919762e Update .gitignore 2020-05-07 19:29:15 +00:00
Hektor Misplon
7df62a07a7 Update gitignore 2020-05-07 19:25:28 +00:00
Hektor Misplon
58ceb6f09e Upgrade to st-8.3 2020-05-07 18:13:56 +00:00
Hektor Misplon
67b01c94b8 Add prompt icons 2020-05-07 18:12:19 +00:00
Hektor Misplon
4f7e452a8c Patch ligatures 2020-05-07 15:51:18 +00:00
Hektor Misplon
8a7e02d45d Make vim & tmux more consistent 2020-05-07 14:11:54 +00:00
Hektor Misplon
b83b08b6b0 Add tmux aliases 2020-05-07 14:08:53 +00:00
Hektor Misplon
9a1a4dd25d Add tmux config 2020-05-07 12:31:57 +00:00
Hektor Misplon
3df9f87899 Update vimrc 2020-05-07 12:18:36 +00:00
Hektor Misplon
89fc15a0fb Add vim-style keybindings 2020-05-07 01:39:04 +00:00
Hektor Misplon
df9f2ac36e Add software configs 2020-05-07 00:58:55 +00:00
Hektor Misplon
86955a700d Add xinitrc 2020-05-07 00:53:16 +00:00
Hektor Misplon
6f1490b6ea Convert to subfolder 2020-05-07 00:50:57 +00:00
Hektor Misplon
395e15ebe0 Update gitignore 2020-05-07 00:48:12 +00:00
Hektor Misplon
162c36d7c1 Add dwm as subfolder 2020-05-07 00:43:33 +00:00
Hektor Misplon
700f2012f0 Add suckless config 2020-05-07 00:26:42 +00:00
Hektor Misplon
3d28a719f1 Add coc settings 2020-05-07 00:23:37 +00:00
Hektor Misplon
0aaa47da1e Remove bloat 2020-05-07 00:22:35 +00:00
Hektor Misplon
924906a13f Update vim config 2020-05-07 00:11:41 +00:00
Hektor Misplon
2b26946eda Update bash config 2020-05-07 00:10:20 +00:00
Hektor Misplon
507653ddaf Add aliases 2020-05-07 00:09:35 +00:00
Hektor Misplon
632e4e3ef1 Update coc config 2020-05-07 00:06:53 +00:00
Hektor Misplon
020975d9e2 Update gitignore 2020-05-07 00:05:47 +00:00
Hektor Misplon
25145f1088 Apply pertag patch 2020-04-15 13:11:41 +00:00
Hektor Misplon
0e09197f09 Update vim config 2020-04-15 13:10:46 +00:00
Hektor Misplon
aa11fa196b Add aliases 2020-04-15 11:29:03 +00:00
Hektor Misplon
cce661642e Update vim plugins 2020-04-15 11:27:40 +00:00
Hektor Misplon
b0641436e5 Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-04-09 15:08:51 +00:00
Hektor Misplon
d40abb39b2 Add battery details script 2020-04-09 15:08:28 +00:00
Hektor Misplon
3350f51bd6 Modify prompt 2020-04-08 19:22:00 +00:00
Hektor Misplon
32785830ee Make ls render vertically by default 2020-04-08 19:21:32 +00:00
Hektor Misplon
24c8c90aea Update suckless config 2020-04-08 19:20:42 +00:00
Hektor Misplon
ed0c3e9b5f Add dwm patches 2020-04-08 17:53:41 +00:00
Hektor Misplon
bb725bacff Update bash config 2020-04-08 17:52:42 +00:00
Hektor Misplon
e703689e06 Update README.md 2020-04-08 17:44:17 +00:00
Hektor Misplon
0f62c9e70f Add screenshot 2020-04-08 17:43:01 +00:00
Hektor Misplon
24746a6e13 Update coc extensions 2020-04-07 20:49:50 +00:00
Hektor Misplon
291296510b Add coc config 2020-04-07 20:42:16 +00:00
Hektor Misplon
d6d5c63fa6 Update gitignore 2020-04-07 20:25:12 +00:00
Hektor Misplon
0ba4b9bd52 Add bash config w/ aliases 2020-04-07 20:24:30 +00:00
Hektor Misplon
8efea7b12e Adjust typematic delay & rate 2020-03-19 13:30:26 +00:00
Hektor Misplon
6b70bbbe11 Update .vimrc 2020-03-19 13:28:07 +00:00
Hektor Misplon
b9a51abfa6 Add coc-emmet 2020-02-19 09:26:20 +00:00
Hektor Misplon
1f47f9070f Add aliases & color settings 2020-02-18 19:16:16 +00:00
Hektor Misplon
cb8190907b Add temp files 2020-02-18 19:15:16 +00:00
Hektor Misplon
1adea34281 Add global gitconfig & gitignore 2020-02-18 18:47:43 +00:00
Hektor Misplon
02ddec417e Fix permissions 2020-02-18 18:12:58 +00:00
Hektor Misplon
dbfc6e98e5 Add shebang & commenting 2020-02-18 18:08:47 +00:00
Hektor Misplon
a38c7e7379 Add centered master layout 2020-02-18 15:57:59 +00:00
Hektor Misplon
ca92caaaf3 Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-02-18 14:16:34 +00:00
Hektor Misplon
0f74d83e33 Autstart X at login 2020-02-18 14:16:20 +00:00
Hektor Misplon
6f2c3306ac Add monitor helper 2020-02-17 22:08:02 +00:00
Hektor Misplon
b4da1ded4c Update README.md 2020-02-17 21:12:00 +00:00
Hektor Misplon
cbf6876f7b Update README.md 2020-02-17 21:11:46 +00:00
Hektor Misplon
0c9664eaaa Add xorg dualhead config 2020-02-17 20:33:28 +00:00
Hektor Misplon
18adadc60a Add X startup config 2020-02-17 20:25:20 +00:00
Hektor Misplon
a98c0e08ca Update coc config 2020-02-17 16:51:53 +00:00
Hektor Misplon
f1ff883096 Update vim config 2020-02-17 16:51:37 +00:00
Hektor Misplon
f048c146c5 Config prettier eslint integration 2020-02-17 16:29:40 +00:00
Hektor Misplon
c666fd7b0a Add vim-js plugin 2020-02-17 16:06:16 +00:00
Hektor Misplon
fc48847ecb Update vim config 2020-02-17 16:05:51 +00:00
Hektor Misplon
2000dcea1c Configure eslint & prettier 2020-02-17 16:04:51 +00:00
Hektor Misplon
6399a35aba Remove vim-prettier plugin 2020-02-17 16:03:40 +00:00
Hektor Misplon
9d81aa1479 Update coc.nvim 2020-02-17 16:02:34 +00:00
Hektor Misplon
5c5824f10b Configure prettier 2020-02-16 12:37:24 +00:00
Hektor Misplon
813d76e9de Add prettier 2020-02-16 12:22:47 +00:00
Hektor Misplon
2cb2f7e631 Add shortcuts 2020-02-16 12:15:17 +00:00
Hektor Misplon
a31375a756 Update vim settings 2020-02-16 11:41:12 +00:00
Hektor Misplon
2ad7258d03 Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-02-16 09:27:56 +00:00
Hektor Misplon
90315ab61e Convert submodules to directories 2020-02-16 09:27:34 +00:00
Hektor Misplon
06a838e723 Update README.md 2020-02-16 08:19:32 +00:00
Hektor Misplon
56d1a37906 Create README.md 2020-02-16 08:16:47 +00:00
260 changed files with 2775 additions and 6779 deletions

6
.gitignore vendored
View File

@@ -1,12 +1,6 @@
#
.claude/
home/hosts/work/packages.local.nix
# ---> Nix
# Ignore build outputs from performing a nix-build or `nix build` command
result
result-*
nixos-efi-vars.fd
/.pre-commit-config.yaml

View File

@@ -1,27 +1,15 @@
# NixOS flake
# nixos
## hosts
## Set up virtual machine ([`disko`](https://github.com/nix-community/disko/blob/master/docs/interactive-vm.md))
### NixOS
```
nixos-rebuild switch --flake .#<hostname>
```
### home manager
```
home-manager switch --flake .#work
```
### virtual machines
1. Build the virtual machine
```
nix build -L '.#nixosConfigurations.vm.config.system.build.vmWithDisko'
./result/bin/disko-vm
```
## docs
2. Run the virtual machine
* [deploy using colmena](./deploy/README.md)
* [SD installer images](./images/README.md)
```
./result/bin/disko-vm
```

View File

@@ -1,9 +0,0 @@
# `colmena` deployments
* tags: `local`, `cloud`
* deployments can be made from `astyanax` and `andromache` hosts
## References
- [docs: `colmena`](https://colmena.cli.rs/)
- [repo: `colmena`](https://github.com/zhaofengli/colmena)

View File

@@ -1,32 +0,0 @@
{
self,
inputs,
}:
let
mkNode = hostname: tags: {
imports = [ ../hosts/${hostname} ];
deployment = {
targetHost = self.nixosConfigurations.${hostname}.config.ssh.publicHostname;
targetUser = self.nixosConfigurations.${hostname}.config.ssh.username;
buildOnTarget = builtins.any (t: t != "local") tags;
inherit tags;
};
};
in
inputs.colmena.lib.makeHive {
meta = {
nixpkgs = import inputs.nixpkgs {
localSystem = "x86_64-linux";
};
nodeNixpkgs = builtins.mapAttrs (_: v: v.pkgs) self.nixosConfigurations;
nodeSpecialArgs = builtins.mapAttrs (_: v: v._module.specialArgs or { }) self.nixosConfigurations;
};
astyanax = mkNode "astyanax" [ "local" ];
andromache = mkNode "andromache" [ "local" ];
vm = mkNode "vm" [ "local" ];
hecuba = mkNode "hecuba" [ "cloud" ];
eetion = mkNode "eetion" [ "arm" ];
}

View File

@@ -34,12 +34,9 @@ alias fzfpac="pacman -Slq | fzf -m --preview 'pacman -Si {1}' | xargs -ro sudo p
alias path='echo -e ${PATH//:/\\n}' # Pretty print path variables
# Programs
alias h="history"
alias o="xdg-open"
alias v="nvim"
alias vf="fzf --bind 'enter:become(nvim {})'"
alias g='git'
alias k="kubectl"
alias t=' task'
alias tsh='tasksh'
alias z='zathura --fork'

4
dots/.bash_aliases/jira Normal file
View File

@@ -0,0 +1,4 @@
# shellcheck shell=bash
# vim: set ft=bash :
alias jira-me='jira issue list -a$(jira me)'

View File

@@ -15,6 +15,7 @@
[ -f "$HOME/.bash_aliases/hosts/$HOSTNAME" ] && . "$HOME/.bash_aliases/hosts/$HOSTNAME"
[ -f "$HOME/.bash_aliases/private" ] && . "$HOME/.bash_aliases/private"
[ -f "$HOME/.bash_aliases/lang-js" ] && . "$HOME/.bash_aliases/lang-js"
command -v jira >/dev/null && [ -f "$HOME/.bash_aliases/jira" ] && . "$HOME/.bash_aliases/jira"
# Completions {{{
[ -d "$HOME/.bash_completions" ] && for file in "$HOME/.bash_completions"/*; do
@@ -103,6 +104,13 @@ if [[ -z "${SSH_CONNECTION}" ]]; then
fi
# }}}
# pnpm
export PNPM_HOME="/home/h/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
# Codi
# Usage: codi [filetype] [filename]

View File

@@ -4,3 +4,16 @@
# Set NeoVim as default editor
export EDITOR=nvim
export SUDO_EDITOR="$EDITOR"
declare -A -r EDITOR_CONFIGS=(
["nvim"]="$HOME/.config/nvim/init.lua"
["vim"]="$HOME/.vimrc"
)
edit_editor_config() {
for editor in "${!EDITOR_CONFIGS[@]}"; do
if [ "$EDITOR" = "$editor" ]; then
$EDITOR "${EDITOR_CONFIGS[$editor]}"
fi
done
}

View File

@@ -1,6 +1,6 @@
# Scripts
Mostly tiny helper scripts \& experiments, some more useful than others.
Mostly tiny helper scripts & experiments, some more useful than others.
## Setup

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env bash
# back up a file by copying it to a new file with a .bak extension
# reference: https://askubuntu.com/questions/962489/is-there-any-way-to-create-backup-copy-of-a-file-without-type-its-name-twice
usage() {
echo "Usage: bak [-t|--timestamp] <file to back up>"
exit 1
}
timestamp=false
while [[ $# -gt 0 ]]; do
case $1 in
-t|--timestamp)
timestamp=true
shift
;;
*)
break
;;
esac
done
[ $# -eq 1 ] || usage
if $timestamp; then
date="$(date +%Y-%m-%d_%H-%M-%S)"
cp -vpn "$1"{,."$date".bak}
else
cp -vpn "$1"{,.bak}
fi

10
dots/.bin/dmenu-bluetooth Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
options="Mouse\nHeadphones"
selected="$(echo -e "$options" | dmenu -i)"
case "$selected" in
"Mouse") toggle-bt-device E4:19:21:56:C8:70;;
"Headphones") toggle-bt-device 38:18:4C:D4:74:42;;
esac

13
dots/.bin/dmenu-read Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Open pdf by title
# Note: does not handle incorrect metadata
dir=/home/h/doc/books
ag -g ".pdf$" $dir \
| xargs -n1 -d '\n' pdfinfo 2> /dev/null \
| grep "Title: " \
| awk '{for (i=2; i<NF; i++) printf $i " "; printf $NF; printf "\n"}' \
| grep -v "Title:"\
| dmenu -i -p "Read:"

12
dots/.bin/dmenu-spot Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
options="Play\nPause\nNext\nPrevious"
selected=$(echo -e "$options" | dmenu -i)
case "$selected" in
"Play") playerctl --player=ncspot play;;
"Pause") playerctl --player=ncspot pause;;
"Next") playerctl --player=ncspot next;;
"Previous") playerctl --player=ncspot previous;;
esac

View File

@@ -1,110 +1,25 @@
#!/usr/bin/env bash
set -euo pipefail
readonly ALLOWED_MAIN_BRANCHES=("main" "master" "develop")
readonly BRANCH_TYPES=(
"feat For new features"
types=(
"feature For new features"
"bugfix For bug fixes"
"hotfix For urgent fixes"
"fix For fixes"
"release For preparing releases"
"chore For non-code tasks"
)
error() {
echo "Error: $1" >&2
exit 1
}
selected=$(printf '%s\n' "${types[@]}" | fzf --prompt="Select branch type: ") || exit 1
type=${selected%% *}
warn() {
echo "Warning: $1" >&2
}
echo "Fetching Jira tickets..."
jira_data=$(jira issue list --assignee=hektor.misplon@rightcrowd.com --order-by=priority --plain --no-headers 2>/dev/null)
check_dependencies() {
local missing=()
for cmd in git fzf; do
if ! command -v "$cmd" &> /dev/null; then
missing+=("$cmd")
fi
done
if [[ ${#missing[@]} -gt 0 ]]; then
error "Missing required commands: ${missing[*]}"
fi
}
check_git_repo() {
if ! git rev-parse --git-dir &> /dev/null; then
error "Not in a git repository"
fi
}
check_current_branch() {
local current_branch
current_branch=$(git branch --show-current)
local is_main_branch=false
for branch in "${ALLOWED_MAIN_BRANCHES[@]}"; do
if [[ "$current_branch" == "$branch" ]]; then
is_main_branch=true
break
fi
done
if [[ "$is_main_branch" == false ]]; then
warn "Not branching from a main branch (current: $current_branch)"
read -rp "Continue anyway? [y/N] " response
if [[ ! "$response" =~ ^[Yy]$ ]]; then
exit 0
fi
fi
}
get_user_email() {
local email
email=$(git config --get user.email 2>/dev/null)
if [[ -z "$email" ]]; then
error "Git user email not configured. Run: git config user.email 'your@email.com'"
fi
echo "$email"
}
select_branch_type() {
local selected
selected=$(printf '%s\n' "${BRANCH_TYPES[@]}" | \
fzf --prompt="Select branch type: " \
--height=40% \
--border \
--info=inline) || error "Branch type selection cancelled"
echo "${selected%% *}"
}
select_jira_ticket() {
local email=$1
if ! command -v jira &> /dev/null; then
warn "Jira CLI not found. Proceeding without ticket ID."
return 0
fi
echo "Fetching Jira tickets for $email..." >&2
local jira_data
jira_data=$(jira issue list --assignee="$email" --order-by=priority --plain --no-headers 2>/dev/null) || {
warn "Could not fetch Jira tickets. Proceeding without ticket ID."
return 0
}
if [[ -z "$jira_data" ]]; then
warn "No Jira tickets found. Proceeding without ticket ID."
return 0
fi
echo "$jira_data" >&2
echo "" >&2
local formatted_tickets
if [[ $? -ne 0 || -z "$jira_data" ]]; then
echo "Warning: Could not fetch Jira tickets or no tickets found."
echo "Proceeding without ticket ID..."
ticket_id=""
else
# Create formatted list for fzf: "TICKET-123 - Issue description"
formatted_tickets=$(echo "$jira_data" | awk '{
ticket_id = $2
$1 = $2 = ""
@@ -117,105 +32,59 @@ select_jira_ticket() {
}')
if [[ -z "$formatted_tickets" ]]; then
warn "No tickets to display. Proceeding without ticket ID."
return 0
fi
local selected_ticket
echo "No tickets found. Proceeding without ticket ID..."
ticket_id=""
else
# Let user select a ticket or skip
echo ""
selected_ticket=$(echo -e "SKIP - Create branch without ticket ID\n$formatted_tickets" | \
fzf --prompt="Select Jira ticket (or skip): " \
--height=40% \
--border \
--info=inline) || error "Ticket selection cancelled"
fzf --prompt="Select Jira ticket (or skip): " --height=40%) || exit 1
if [[ "$selected_ticket" != "SKIP"* ]]; then
echo "${selected_ticket%% -*}"
if [[ "$selected_ticket" == "SKIP"* ]]; then
ticket_id=""
else
ticket_id=${selected_ticket%% -*}
fi
fi
fi
}
get_branch_description() {
local ticket_id=$1
local editor="${EDITOR:-vi}"
local tmpfile
editor="${EDITOR:-vi}"
tmpfile=$(mktemp)
trap "rm -f '$tmpfile'" EXIT
if [[ -n "$ticket_id" ]]; then
cat > "$tmpfile" << EOF
# Selected ticket: $ticket_id
# Enter your branch description below in kebab-case (e.g., my-description):
# Enter your branch description below in kebab case (e.g. \`my-description\`):
# The ticket ID will be automatically included in the branch name.
# Lines starting with # will be ignored.
EOF
else
cat > "$tmpfile" << 'EOF'
# Enter your branch description below in kebab-case (e.g., my-description):
# Lines starting with # will be ignored.
# Enter your branch description below in kebab case (e.g. `my-description`):
EOF
fi
"$editor" "$tmpfile" < /dev/tty > /dev/tty
"$editor" "$tmpfile"
local desc
desc=$(grep -v '^#' "$tmpfile" | tr -d '\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
echo "$desc"
}
validate_description() {
local desc=$1
rm "$tmpfile"
if [[ -z "$desc" ]]; then
error "No description provided"
echo "No description provided."
exit 1
fi
if [[ ! "$desc" =~ ^[a-z0-9]+(-[a-z0-9]+)*$ ]]; then
error "Invalid branch description format.\nUse lowercase letters, numbers, and hyphens only.\nNo trailing or consecutive hyphens allowed.\nExample: my-feature-description"
echo "Invalid branch description format."
echo "Use lowercase letters, numbers, and hyphens only."
echo "No trailing or consecutive hyphens allowed."
exit 1
fi
}
create_branch() {
local type=$1
local ticket_id=$2
local desc=$3
local branch
if [[ -n "$ticket_id" ]]; then
branch="$type/$ticket_id-$desc"
else
branch="$type/$desc"
fi
if git show-ref --verify --quiet "refs/heads/$branch"; then
error "Branch '$branch' already exists"
fi
echo ""
echo "Creating branch: $branch"
git checkout -b "$branch"
}
main() {
check_dependencies
check_git_repo
check_current_branch
local email
email=$(get_user_email)
local type
type=$(select_branch_type)
echo "About to call select_jira_ticket" >&2
local ticket_id=""
ticket_id=$(select_jira_ticket "$email")
local desc
desc=$(get_branch_description "$ticket_id")
validate_description "$desc"
create_branch "$type" "$ticket_id" "$desc"
}
main "$@"

View File

@@ -8,23 +8,17 @@ Pomodoro timer
- Notification on break finish
"""
import atexit
import os
import atexit
from argparse import ArgumentParser
from time import sleep
from plyer import notification
POMO_PATH = os.path.join(
os.getenv("XDG_DATA_HOME", os.path.expanduser("~/.local/share")), "pomo"
)
@atexit.register
def clear():
if os.path.exists(POMO_PATH):
os.remove(POMO_PATH)
if os.path.exists('/home/h/.local/share/pomo'):
os.remove('/home/h/.local/share/pomo')
def format_mins_secs(mins, secs):
return f"{mins:02d}:{secs:02d}"
@@ -36,21 +30,24 @@ def make_countdown():
mins = duration // 60
secs = duration % 60
time_str = format_mins_secs(mins, secs)
os.system(f'echo -n "{time_str}" > {POMO_PATH}')
os.system(f'echo -n "{time_str}" > /home/h/.local/share/pomo')
sleep(1)
duration -= 1
return countdown
def main(args):
prep_duration = args.prep_duration * 60
work_duration = args.work_duration * 60
break_duration = args.break_duration * 60
repeats = args.repeats
prep_countdown = make_countdown()
work_countdown = make_countdown()
break_countdown = make_countdown()
prep_countdown(prep_duration)
while repeats != 0:
notification.notify(title="Get started")
work_countdown(work_duration)
@@ -64,23 +61,21 @@ def main(args):
def handle_signal(signal, frame):
# Wait for clear to finish
clear()
print("Exiting")
print('Exiting')
exit(0)
if __name__ == "__main__":
if __name__ == '__main__':
parser = ArgumentParser()
parser.add_argument(
"-w", "--work-duration", type=int, help="Session duration", default=25
)
parser.add_argument(
"-b", "--break-duration", type=int, help="Break duration", default=5
)
parser.add_argument(
"-r", "--repeats", type=int, help="Numer of sessions", default=1
)
parser.add_argument("-c", "--clear", action="store_true", help="Clear timer")
parser.add_argument('-w', '--work-duration', type=int,
help='Session duration', default=25)
parser.add_argument('-b', '--break-duration', type=int,
help='Break duration', default=5)
parser.add_argument('-r', '--repeats', type=int,
help='Numer of sessions', default=1)
parser.add_argument('-c', '--clear', action='store_true',
help='Clear timer')
args = parser.parse_args()

View File

@@ -2,8 +2,8 @@
session="r5rs"
tmux attach-session -t "$session" || tmux new-session -s "$session" \; \
tmux attach-session -t $session || tmux new-session -s $session \; \
split-window -h -t $session \; \
send-keys -t 1 "nvim -c \"set ft=scheme\"" C-m \; \
send-keys -t 2 "plt-r5rs --no-prim" C-m \; \
select-pane -t 1
send-keys -t 0 "vim" C-m \; \
send-keys -t 1 "plt-r5rs --no-prim" C-m \; \
select-pane -t 0

25
dots/.bin/save-home Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Back up my $HOME folder to OneDrive using `restic`.
#
# Adds extra flags needed for using `rclone` with sharepoint WebDav I.e. add
# `--ignore-size --ignore-checksum --update` to the default `rclone.args`.
#
# Select directory in repo using -r rclone:<repo>:<directory>
#
# Runs `backup` command on $HOME and ignore what is listed in `.resticexclude`
#
# ```/etc/restic-env
# export B2_ACCOUNT_ID=
# export B2_ACCOUNT_KEY=
# ```
#
# `restic -r b2:desktop-arch init`
source /etc/restic-env
restic -r "$RESTIC_REPOSITORY:$HOSTNAME" backup \
--tag "hektor" \
--one-file-system \
--files-from="$HOME/.resticinclude" \
--exclude-file="$HOME/.resticexclude" \
--verbose=3

View File

@@ -1,3 +1,3 @@
#!/usr/bin/env bash
[ -f "/home/h/.local/share/pomo" ] && cat /home/h/.local/share/pomo || echo ""
[ -f "/tmp/pomo" ] && cat /tmp/pomo || echo ""

View File

@@ -1,12 +1,12 @@
#!/usr/bin/env python
import subprocess
import sys
import subprocess
DEFAULT_TEMPERATURE = 3500
try:
with open("/tmp/temperature", "r") as temp_file:
with open('/tmp/temperature', 'r') as temp_file:
current_temperature = int(temp_file.read())
except FileNotFoundError:
current_temperature = DEFAULT_TEMPERATURE
@@ -16,8 +16,7 @@ if len(sys.argv) == 1:
print(current_temperature)
sys.exit(0)
elif len(sys.argv) != 2:
print(
"""
print("""
Usage:
screen-temperature
@@ -28,8 +27,7 @@ Usage:
screen-temperature <+|-><temperature>
increase or decrease screen temperature by <temperature>
"""
)
""")
sys.exit(1)
temperature_change = sys.argv[1]
@@ -43,10 +41,11 @@ else:
try:
subprocess.run(["redshift", "-O", str(new_temperature), "-P"], check=True)
with open("/tmp/temperature", "w") as temp_file:
temp_file.write(str(new_temperature) + "\n")
with open('/tmp/temperature', 'w') as temp_file:
temp_file.write(str(new_temperature) + '\n')
# Send notification
subprocess.run(["notify-send", str(new_temperature) + "K"])
subprocess.run(
["notify-send", str(new_temperature) + "K"])
except subprocess.CalledProcessError:
print("Error: could not set screen temperature.")
sys.exit(1)

37
dots/.bin/setup-gnome Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
gsettings set org.gnome.desktop.background primary-color "#555555"
gsettings set org.gnome.desktop.wm.preferences workspace-names "['sh', 'www', 'dev', 'info', 'etc']"
gsettings set org.gnome.desktop.wm.keybindings close "['<Shift><Super>Delete']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>j']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Super>k']"
gsettings set org.gnome.shell.keybindings toggle-application-view "['<Super>p']"
gsettings set org.gnome.mutter center-new-windows true
gsettings set org.gnome.shell.keybindings toggle-quick-settings []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>a']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>s']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>d']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>f']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>g']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['<Super><Shift>a']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['<Super><Shift>s']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['<Super><Shift>d']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['<Super><Shift>f']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['<Super><Shift>g']"
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name "Kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command "kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding "<Shift><Super>Return"
gsettings set org.gnome.shell.keybindings screenshot "['Print']"
gsettings set org.gnome.desktop.wm.preferences num-workspaces "5"
gsettings set org.gnome.mutter dynamic-workspaces "false"
gsettings set org.gnome.shell.extensions.window-list display-all-workspaces "true"
gsettings set org.gnome.shell.app-switcher current-workspace-only "true"
gsettings set org.gnome.login-screen logo ''
gsettings set org.gnome.shell favorite-apps "['firefox-developer-edition.desktop']"

5
dots/.bin/update-vim Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Tiny Vim update helper
nvim +PlugUpgrade +PlugUpdate +CocUpdate

View File

@@ -1,9 +1,7 @@
#!/usr/bin/env bash
current_zettel_path="$ZK_PATH/$(cat "$ZK_PATH/current-zettel.txt")"
if [ "$TERM_PROGRAM" = tmux ]; then
cd "$ZK_PATH" && $EDITOR "$current_zettel_path"
cd ~/.zk && $EDITOR "$(cat ~/.zk/current-zettel.txt)"
else
echo 'Not in tmux'
echo 'Choose an option:'
@@ -20,12 +18,12 @@ else
else
# Create session with a window named 'zk' and start nvim
tmux new-session -s zk -n zk -d
tmux send-keys -t zk:zk "cd $ZK_PATH && $EDITOR $current_zettel_path" Enter
tmux send-keys -t zk:zk "cd ~/.zk && $EDITOR \"\$(cat ~/.zk/current-zettel.txt)\"" Enter
tmux attach -t zk
fi
;;
2)
cd "$ZK_PATH" && $EDITOR "$current_zettel_path"
cd ~/.zk && $EDITOR "$(cat ~/.zk/current-zettel.txt)"
;;
*)
echo 'Not opening Zettelkasten'

5
dots/.config/firefox/setup Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
for i in ~/.mozilla/firefox/*.*default*
do ln -s "$XDG_CONFIG_HOME"/firefox/user.js "$i/user.js"
done

View File

@@ -0,0 +1,15 @@
/*
* Note: has to be symlinked to profile directories for your
* firefox release
*
* E.g.
*
* ```sh
* ln -s user.js ~/.mozilla/firefox/*.default-release/user.js
* ```
* Or check out the `setup` script
*
*/
// Set default download directory
user_pref("browser.download.dir", "/home/h/dl");

48
dots/.config/home-manager/flake.lock generated Normal file
View File

@@ -0,0 +1,48 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1756991914,
"narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b08f8737776f10920c330657bee8b95834b7a70f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View File

@@ -0,0 +1,30 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl.url = "github:nix-community/nixGL";
};
outputs = { nixpkgs, home-manager, nixgl, ... }:
let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ nixgl.overlay ];
config.allowUnfree = true;
};
in {
homeConfigurations = {
work = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit nixgl;
};
modules = [ ./hosts/work ];
};
};
};
}

View File

@@ -0,0 +1,17 @@
{ pkgs, config, nixgl, ... }:
{
nixGL = {
packages = nixgl.packages;
defaultWrapper = "mesa";
};
home.username = "hektor";
home.homeDirectory = "/home/hektor";
home.stateVersion = "25.05";
home.packages = import ./packages.nix {
inherit pkgs;
inherit config;
};
}

View File

@@ -0,0 +1,3 @@
{ pkgs, config, ... }:
with pkgs; [ ]

View File

@@ -1,166 +1,27 @@
#: Fonts {{{
# Fonts
font_family Iosevka Term SS08
bold_font auto
italic_font auto
bold_italic_font auto
font_size 12.0
disable_ligatures never
# }}}
#: Cursor {{{
font_size 24.0
# Cursor
cursor_shape block
cursor_blink_interval 0
shell_integration no-cursor
#: }}}
#: Scrollback {{{
scrollback_lines 8192
scrollbar scrolled
scrollback_pager_history_size 1024
#: }}}
#: Mouse {{{
mouse_hide_wait 0.0
paste_actions quote-urls-at-prompt,confirm
#: }}}
#: Performance tuning {{{
# Performance tuning
repaint_delay 8
input_delay 2
#: }}}
# Transparency
#: Terminal bell {{{
# dynamic_background_opacity yes
# background_opacity 0.0
enable_audio_bell yes
window_alert_on_bell yes
enable_audio_bell no
#: }}}
# Scrollback
#: Window layout {{{
scrollback_lines 16384
scrollback_pager nvimpager
remember_window_size no
remember_window_position no
enabled_layouts *
hide_window_decorations yes
#: }}}
#: Tab bar {{{
tab_bar_edge bottom
tab_bar_style powerline
tab_bar_min_tabs 1
tab_powerline_style slanted
tab_activity_symbol !
tab_title_template "{index}{fmt.fg.red}{bell_symbol}{fmt.fg.tab}{activity_symbol}:{tab.last_focused_progress_percent}{title}"
#: }}}
#: Advanced {{{
notify_on_cmd_finish unfocused
#: }}}
#: OS specific tweaks {{{
linux_display_server auto
wayland_enable_ime no
#: }}}
#: Keyboard shortcuts {{{
kitty_mod ctrl+shift
map kitty_mod+c copy_to_clipboard
map kitty_mod+v paste_from_clipboard
map cmd+v
# map kitty_mod+o pass_selection_to_program
# map kitty_mod+o pass_selection_to_program firefox
# map kitty_mod+y new_window less @selection
map kitty_mod+z scroll_to_prompt -1
map kitty_mod+x scroll_to_prompt 1
map kitty_mod+h show_scrollback
# map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
#:: For more details on piping screen and buffer contents to external
#:: programs, see launch <https://sw.kovidgoyal.net/kitty/launch/>.
# map kitty_mod+g show_last_command_output
# map kitty_mod+enter launch --cwd=current
# map cmd+enter
# map ctrl+n launch --location=neighbor
# map ctrl+f launch --location=first
map kitty_mod+n
map cmd+n
map kitty_mod+w
map shift+cmd+d
map kitty_mod+]
map kitty_mod+[
map kitty_mod+f
map kitty_mod+b
map kitty_mod+`
map kitty_mod+r
map cmd+r
map kitty_mod+1
map cmd+1
map kitty_mod+2
map cmd+2
map kitty_mod+3
map cmd+3
map kitty_mod+4
map cmd+4
map kitty_mod+5
map cmd+5
map kitty_mod+6
map cmd+6
map kitty_mod+7
map cmd+7
map kitty_mod+8
map cmd+8
map kitty_mod+9
map cmd+9
map kitty_mod+0
map f1 goto_tab 1
map f2 goto_tab 2
map f3 goto_tab 3
map f4 goto_tab 4
map f5 goto_tab 5
map f6 goto_tab 6
map f7 goto_tab 7
map f8 goto_tab 8
# map kitty_mod+c new_tab # FIXME: conflict with 'copy'
map cmd+t
map kitty_mod+q
map cmd+w
map kitty_mod+.
map kitty_mod+,
map kitty_mod+alt+t
map shift+cmd+i
map kitty_mod+f1
map kitty_mod+f11
map ctrl+cmd+f
map kitty_mod+f10
map opt+cmd+s
map kitty_mod+u kitten unicode_input
map ctrl+cmd+space
map kitty_mod+/ kitty_shell window
map kitty_mod+f5
map kitty_mod+r load_config_file
map shift+cmd+/
map cmd+h
map opt+cmd+
map cmd+m
map cmd+q
#: }}}
include ./nvim.conf
include ./themes/zenwritten_light.conf

View File

@@ -1,8 +0,0 @@
allow_remote_control socket-only
listen_on unix:/tmp/kitty
shell_integration enabled
action_alias kitty_scrollback_nvim kitten ~/.local/share/nvim/site/pack/paqs/start/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py
map kitty_mod+h kitty_scrollback_nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output

View File

@@ -0,0 +1,49 @@
# This file is auto-generated by shipwright.nvim
# vim:ft=kitty
## name: zenwritten_dark
## author: Michael Chris Lopez
## license: MIT
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenwritten_dark.conf
## blurb: A zenbones variant with zero hue and saturation.
foreground #BBBBBB
background #191919
selection_foreground #BBBBBB
selection_background #404040
# Cursor colors
cursor #C9C9C9
cursor_text_color #191919
# URL underline color when hovering with mouse
# kitty window border colors
# OS Window titlebar colors
# Tab bar colors
active_tab_foreground #BBBBBB
active_tab_background #65435E
inactive_tab_foreground #BBBBBB
inactive_tab_background #303030
# Colors for marks (marked text in the terminal)
# The basic 16 colors
# black
color0 #191919
color8 #3D3839
# red
color1 #DE6E7C
color9 #E8838F
# green
color2 #819B69
color10 #8BAE68
# yellow
color3 #B77E64
color11 #D68C67
# blue
color4 #6099C0
color12 #61ABDA
# magenta
color5 #B279A7
color13 #CF86C1
# cyan
color6 #66A5AD
color14 #65B8C1
# white
color7 #BBBBBB
color15 #8E8E8E
# You can set the remaining 240 colors as color16 to color255.

View File

@@ -0,0 +1,49 @@
# This file is auto-generated by shipwright.nvim
# vim:ft=kitty
## name: zenwritten_light
## author: Michael Chris Lopez
## license: MIT
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenwritten_light.conf
## blurb: A zenbones variant with zero hue and saturation.
foreground #353535
background #EEEEEE
selection_foreground #353535
selection_background #D7D7D7
# Cursor colors
cursor #353535
cursor_text_color #EEEEEE
# URL underline color when hovering with mouse
# kitty window border colors
# OS Window titlebar colors
# Tab bar colors
active_tab_foreground #353535
active_tab_background #DEB9D6
inactive_tab_foreground #353535
inactive_tab_background #CFCFCF
# Colors for marks (marked text in the terminal)
# The basic 16 colors
# black
color0 #EEEEEE
color8 #C6C3C3
# red
color1 #A8334C
color9 #94253E
# green
color2 #4F6C31
color10 #3F5A22
# yellow
color3 #944927
color11 #803D1C
# blue
color4 #286486
color12 #1D5573
# magenta
color5 #88507D
color13 #7B3B70
# cyan
color6 #3B8992
color14 #2B747C
# white
color7 #353535
color15 #5C5C5C
# You can set the remaining 240 colors as color16 to color255.

View File

@@ -1,6 +1,5 @@
default_keybindings = false
flip_status_indicators = true
library_tabs = ["tracks", "albums", "artists", "playlists", "browse"] # remove podcasts tab
[keybindings]
"Enter" = "play"
@@ -25,10 +24,11 @@ library_tabs = ["tracks", "albums", "artists", "playlists", "browse"] # remove p
"c" = "clear"
"=" = "volup 1"
"-" = "voldown 1"
"/" = "focus search"
"Q" = "focus queue"
"L" = "focus library"
"1" = "focus queue"
"2" = "focus search"
"3" = "focus library"
"4" = "focus cover"
"2" = "focus library"
"h" = "move left 1"
"j" = "move down 1"
"k" = "move up 1"
@@ -41,5 +41,26 @@ library_tabs = ["tracks", "albums", "artists", "playlists", "browse"] # remove p
"Y" = "share selected"
"U" = "update"
[theme]
primary="#aaaaaa"
secondary="#555555"
background="1a1a1a"
title="#cccccc"
title_secondary="#aaaaaa"
playing="#ffffff"
playing_bg="1a1a1a"
playing_selected="#ffffff"
highlight="#cccccc"
highlight_bg="#333333"
error="#ffffff"
error_bg="#333333"
statusbar="#cccccc"
statusbar_bg="#1a1a1a"
statusbar_progress="#cccccc"
statusbar_progress_bg="#1a1a1a"
cmdline="#cccccc"
cmdline_bg="#1a1a1a"
search_match="#ffffff"
backend="pipe"
notify="false"

View File

@@ -0,0 +1,3 @@
username = 'hektor.misplon@gmail.com'
auth_type = 0
auth_data = 'KDEzMzc9PXRydTMpPzo='

View File

@@ -3,4 +3,4 @@
My neovim configuration. Available as a Nix flake [^nixcats]. When installing manually,
`paq.nvim` is used as a fallback plugin manager.
[^nixcats]: Based on [this nixCats `example` template](https://github.com/BirdeeHub/nixCats-nvim/tree/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example)
[^nixcats] Based on [this nixCats `example` template](https://github.com/BirdeeHub/nixCats-nvim/tree/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example)

View File

@@ -1,3 +0,0 @@
require("auto-session").setup({
auto_session_enabled = vim.env.KITTY_SCROLLBACK_NVIM ~= "true", -- See kitty-scrollback.nvim
})

View File

@@ -1,61 +0,0 @@
require("claude-code").setup({
-- Terminal window settings
window = {
split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits)
position = "vertical", -- Position of the window: "botright", "topleft", "vertical", "float", etc.
enter_insert = true, -- Whether to enter insert mode when opening Claude Code
hide_numbers = true, -- Hide line numbers in the terminal window
hide_signcolumn = true, -- Hide the sign column in the terminal window
-- Floating window configuration (only applies when position = "float")
float = {
width = "80%", -- Width: number of columns or percentage string
height = "80%", -- Height: number of rows or percentage string
row = "center", -- Row position: number, "center", or percentage string
col = "center", -- Column position: number, "center", or percentage string
relative = "editor", -- Relative to: "editor" or "cursor"
border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow"
},
},
-- File refresh settings
refresh = {
enable = true, -- Enable file change detection
updatetime = 100, -- updatetime when Claude Code is active (milliseconds)
timer_interval = 1000, -- How often to check for file changes (milliseconds)
show_notifications = true, -- Show notification when files are reloaded
},
-- Git project settings
git = {
use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project)
},
-- Shell-specific settings
shell = {
separator = "&&", -- Command separator used in shell commands
pushd_cmd = "pushd", -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell)
popd_cmd = "popd", -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell)
},
-- Command settings
command = "claude", -- Command used to launch Claude Code
-- Command variants
command_variants = {
-- Conversation management
continue = "--continue", -- Resume the most recent conversation
resume = "--resume", -- Display an interactive conversation picker
-- Output options
verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output
},
-- Keymaps
keymaps = {
toggle = {
normal = "<C-,>", -- Normal mode keymap for toggling Claude Code, false to disable
terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable
variants = {
continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag
verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag
},
},
window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>)
scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down
},
})

View File

@@ -1,22 +1,16 @@
require("codecompanion").setup({
ignore_warnings = true,
extensions = {
mcphub = {
callback = "mcphub.extensions.codecompanion",
opts = {
make_vars = true,
make_slash_commands = true,
show_result_in_chat = true
}
}
},
strategies = {
chat = { adapter = "openai" },
inline = { adapter = "openai" },
},
})
-- Load mcphub extension after codecompanion is initialized
-- and ensure the config structure exists
local ok, cc_config = pcall(require, "codecompanion.config")
if ok then
cc_config.interactions = cc_config.interactions or {}
cc_config.interactions.chat = cc_config.interactions.chat or {}
cc_config.interactions.chat.tools = cc_config.interactions.chat.tools or {}
require("mcphub.extensions.codecompanion").setup({
make_vars = true,
make_slash_commands = true,
show_result_in_chat = true,
})
end

View File

@@ -1,6 +1,6 @@
require("conform").setup({
format_after_save = {
lsp_fallback = false,
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 500,
},
@@ -13,18 +13,16 @@ require("conform").setup({
gdscript = { "gdformat" },
haskell = { "ormolu" },
html = { "prettierd", "prettier", stop_after_first = true },
javascript = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
javascriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier", stop_after_first = true },
jsonc = { "prettierd", "prettier", stop_after_first = true },
lua = { "stylua" }, -- configured in stylua.toml
markdown = { "prettierd", "prettier", stop_after_first = true },
nix = { "nixfmt" },
javascript = { "prettierd", "prettier", stop_after_first = true },
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier", stop_after_first = true },
jsonc = { "prettierd", "prettier", stop_after_first = true },
python = { "isort", "black" },
rust = { "rustfmt", lsp_fallback = "fallback" },
svelte = { "eslint_d", "prettierd", "prettier", stop_after_first = true },
typescript = { "eslint_d", "prettierd", "prettier", stop_after_first = true },
typescriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
-- yaml = { "prettierd", "prettier", stop_after_first = true },
svelte = { "prettierd", "prettier", stop_after_first = true },
typescript = { "prettierd", "prettier", stop_after_first = true },
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
yaml = { "prettierd", "prettier", stop_after_first = true },
},
})

View File

@@ -1 +0,0 @@
require("fidget").setup()

View File

@@ -11,6 +11,6 @@ vim.keymap.set("n", "<leader>fd", fzf.diagnostics_workspace)
vim.keymap.set("n", "<leader>fhe", fzf.help_tags)
vim.keymap.set("n", "<leader>fhi", fzf.search_history)
vim.keymap.set("n", "<leader>fma", fzf.marks)
vim.keymap.set("n", "<leader>fmp", fzf.man_pages)
vim.keymap.set("n", "<leader>fma", fzf.man_pages)
vim.keymap.set("i", "<c-f>", fzf.complete_path)

View File

@@ -1,12 +1,8 @@
local gitsigns = require("gitsigns")
gitsigns.setup({
current_line_blame_opts = { delay = 0 },
current_line_blame_formatter = "<author>, <author_time:%R> - <summary>",
linehl = true,
current_line_blame_opts = {
delay = 0,
virt_text_pos = "right_align",
},
})
vim.api.nvim_create_user_command("Blame", gitsigns.toggle_current_line_blame, { nargs = "?" })

View File

@@ -1 +0,0 @@
require("kitty-scrollback").setup()

View File

@@ -1,5 +1,10 @@
require("neodev").setup() -- should setup before lspconfig
local lspconfig = require("lspconfig")
-- vim.g.coq_settings = { auto_start = 'shut-up' }
-- local capabilities = coq.lsp_ensure_capabilities()
local cmp_nvim_lsp = require("cmp_nvim_lsp")
local capabilities = cmp_nvim_lsp.default_capabilities()
@@ -29,63 +34,8 @@ local servers = {
},
},
},
lua_ls = {
on_init = function(client)
if client.workspace_folders then
local path = client.workspace_folders[1].name
if
path ~= vim.fn.stdpath("config")
and (vim.uv.fs_stat(path .. "/.luarc.json") or vim.uv.fs_stat(path .. "/.luarc.jsonc"))
then
return
end
end
client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, {
runtime = {
version = "LuaJIT",
path = {
"lua/?.lua",
"lua/?/init.lua",
},
},
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME,
},
},
})
end,
settings = {
Lua = {},
},
},
nixd = {
settings = {
nixd = {
nixpkgs = {
expr = "import <nixpkgs> { }",
expr = 'import (builtins.getFlake ("git+file://" + toString ../../../../../.)).inputs.nixpkgs { }',
},
},
options = {
nixos = {
expr = '(builtins.getFlake ("git+file://" + toString ../../../../../.)).nixosConfigurations."'
.. vim.fn.hostname()
.. '".options',
},
home_manager = {
expr = '(builtins.getFlake ("git+file://" + toString ../../../../../.)).homeConfigurations."'
.. vim.fn.expand("$USER")
.. "@"
.. vim.fn.hostname()
.. '".options',
},
},
},
},
openscad_ls = {},
lua_ls = {},
-- marksman = {},
pyright = {},
-- tsserver = {},
svelte = {
@@ -153,11 +103,9 @@ local servers = {
for server, config in pairs(servers) do
config.capabilities = capabilities
vim.lsp.config(server, config)
lspconfig[server].setup(config)
end
vim.lsp.enable(vim.tbl_keys(servers))
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(e)
local opts = { buffer = e.bufnr }

View File

@@ -1,9 +0,0 @@
-- require("m_taskwarrior_d").setup()
--
-- vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost" }, {
-- group = vim.api.nvim_create_augroup("TWTask", { clear = true }),
-- pattern = "*.md",
-- callback = function()
-- vim.cmd("TWSyncTasks")
-- end,
-- })

View File

@@ -63,7 +63,6 @@ cmp.setup({
}),
sources = {
{ name = "copilot", group_index = 2 },
{ name = "zk" },
{ name = "nvim_lsp", keyword_length = 8 },
{ name = "luasnip", max_item_count = 16 },
{ name = "path" },

View File

@@ -1,5 +1,3 @@
vim.env.ESLINT_D_PPID = vim.fn.getpid()
local eslint_linter = "eslint_d"
require("lint").linters_by_ft = {

View File

@@ -2,15 +2,12 @@ local ts = require("treesj")
local vim = vim
local keymap = vim.keymap
local opt = vim.opt
local treesitter = require("nvim-treesitter")
local treesitter_configs = require("nvim-treesitter.configs")
local nixCatsUtils = require("nixCatsUtils")
local is_nix = nixCatsUtils.isNixCats
treesitter.setup({
treesitter_configs.setup({
-- Basically added what I might need from the docs
-- <https://github.com/nvim-treesitter/nvim-treesitter?tab=readme-ov-file#supported-languages>
ensure_installed = is_nix and {} or {
ensure_installed = {
"awk",
"bash",
"bibtex",
@@ -89,7 +86,7 @@ treesitter.setup({
enable = true,
},
sync_install = false,
auto_install = not is_nix,
auto_install = true,
ignore_install = {},
modules = {},
textobjects = {

View File

@@ -1,19 +0,0 @@
vim.cmd([[
" Override the pandoc-syntax highlighting colors for more subtle citations
hi! link pandocPCite Comment
hi! link pandocICite Comment
hi! link pandocCiteKey Comment
hi! link pandocCiteAnchor Comment
hi! link pandocCiteLocator Comment
" Match cloze delimiters e.g. `{{c1::` and `}}`
syn match ClozeDelimiter /{{c\d\+::/ conceal containedin=pandocUListItem,pandocListItem
syn match ClozeDelimiter /}}/ conceal containedin=pandocUListItem,pandocListItem
" Match text between cloze delimiters
syn match Cloze /\({{c\d\+::\)\@<=\(\_[A-Za-z0-9$\ \\\-\*,_`()]*\)\(}}\)\@=/ containedin=pandocUListItem,pandocListItem
hi! link ClozeDelimiter Special
hi! link Cloze Special
]])
vim.cmd.runtime("syntax/_comment_keywords.lua")

View File

@@ -1,52 +1,12 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"mcp-hub",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"mcp-hub": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1755841689,
"narHash": "sha256-KakvXZf0vjdqzyT+LsAKHEr4GLICGXPmxl1hZ3tI7Yg=",
"owner": "ravitemer",
"repo": "mcp-hub",
"rev": "9c7670a4c341ed3cf738a6242c0fde1cea40bccf",
"type": "github"
},
"original": {
"owner": "ravitemer",
"repo": "mcp-hub",
"type": "github"
}
},
"nixCats": {
"locked": {
"lastModified": 1770584904,
"narHash": "sha256-9Zaz8lbKF2W9pwXZEnbiGsicHdBoU+dHt3Wv3mCJoZ8=",
"lastModified": 1759730664,
"narHash": "sha256-boRlBQ/c4CaHsK/z04QL6+t81mcar37Io94HBX2GflY=",
"owner": "BirdeeHub",
"repo": "nixCats-nvim",
"rev": "538fdde784d2909700d97a8ef307783b33a86fb1",
"rev": "77dffad8235eb77684fcb7599487c8e9f23d5b8f",
"type": "github"
},
"original": {
@@ -57,27 +17,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1743689281,
"narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1770843696,
"narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=",
"lastModified": 1760256791,
"narHash": "sha256-uTpzDHRASEDeFUuToWSQ46Re8beXyG9dx4W36FQa0/c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16",
"rev": "832e3b6db48508ae436c2c7bfc0cf914eac6938e",
"type": "github"
},
"original": {
@@ -103,14 +47,30 @@
"type": "github"
}
},
"plugins-crazy-node-movement": {
"flake": false,
"locked": {
"lastModified": 1693654676,
"narHash": "sha256-hQcQEp39zFN2zphMfcr97yRVcuHhBsSkzKO7XNloDpQ=",
"owner": "theHamsta",
"repo": "crazy-node-movement",
"rev": "d5cf01cc44c5715501d3d6fe439af7c8b7fa5df2",
"type": "github"
},
"original": {
"owner": "theHamsta",
"repo": "crazy-node-movement",
"type": "github"
}
},
"plugins-helm-ls-nvim": {
"flake": false,
"locked": {
"lastModified": 1768584652,
"narHash": "sha256-jnMc87OjURNcqsva0npYgVyUrWc5C6L7yHpNvt9eSmg=",
"lastModified": 1757598429,
"narHash": "sha256-nzuJxAAaEmuVYg9k0B8OKslxsihhg6RKlhz6E7xJTQU=",
"owner": "qvalentin",
"repo": "helm-ls.nvim",
"rev": "f0b9a1723890971a6d84890b50dbf5f40974ea1b",
"rev": "f36ecbd3e7b0b2ac8358a9d6a3213888e29943db",
"type": "github"
},
"original": {
@@ -122,11 +82,11 @@
"plugins-mcphub-nvim": {
"flake": false,
"locked": {
"lastModified": 1768730387,
"narHash": "sha256-g9tPvjThz6EUk7zcY7lL+YH4lrT4x3FJ6jrNMHA8PAE=",
"lastModified": 1759035242,
"narHash": "sha256-I6EbgY/2sAdtrxtmH0qbAAQvMCHhOsfolJfblV0fXOk=",
"owner": "ravitemer",
"repo": "mcphub.nvim",
"rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
"rev": "8ff40b5edc649959bb7e89d25ae18e055554859a",
"type": "github"
},
"original": {
@@ -170,11 +130,11 @@
"plugins-tailwind-fold-nvim": {
"flake": false,
"locked": {
"lastModified": 1766077142,
"narHash": "sha256-SwcDLlygXUSV/dytPXA5Y45OpUhjnExc8SZg5a8MZ2k=",
"lastModified": 1752559116,
"narHash": "sha256-8uefZIVsn9USEd6FyiO3m3TRKAS/vigU4t9Tk5ijd3c=",
"owner": "razak17",
"repo": "tailwind-fold.nvim",
"rev": "e2ba5ee1ca9b74208709fe9d7314b8aa753b26a7",
"rev": "d9e7ca11691d252b35795726dff087bf013b2ebf",
"type": "github"
},
"original": {
@@ -185,10 +145,10 @@
},
"root": {
"inputs": {
"mcp-hub": "mcp-hub",
"nixCats": "nixCats",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"plugins-beancount-nvim": "plugins-beancount-nvim",
"plugins-crazy-node-movement": "plugins-crazy-node-movement",
"plugins-helm-ls-nvim": "plugins-helm-ls-nvim",
"plugins-mcphub-nvim": "plugins-mcphub-nvim",
"plugins-nvimkit-nvim": "plugins-nvimkit-nvim",

View File

@@ -2,16 +2,15 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixCats.url = "github:BirdeeHub/nixCats-nvim";
mcp-hub.url = "github:ravitemer/mcp-hub";
plugins-shipwright-nvim = {
url = "github:rktjmp/shipwright.nvim";
flake = false;
};
# plugins-m-taskwarrior-d-nvim = {
# url = "github:huantrinh1802/m_taskwarrior_d.nvim";
# flake = false;
# };
plugins-crazy-node-movement = {
url = "github:theHamsta/crazy-node-movement";
flake = false;
};
plugins-beancount-nvim = {
url = "github:polarmutex/beancount.nvim";
flake = false;
@@ -37,6 +36,7 @@
outputs =
{
self,
nixpkgs,
nixCats,
...
@@ -47,11 +47,8 @@
forEachSystem = utils.eachSystem nixpkgs.lib.platforms.all;
extra_pkg_config = { };
mkDependencyOverlays = system: [
dependencyOverlays = [
(utils.standardPluginOverlay inputs)
(_final: _prev: {
mcp-hub = inputs.mcp-hub.packages.${system}.default;
})
];
categoryDefinitions =
@@ -62,63 +59,12 @@
{
lspsAndRuntimeDeps = with pkgs; {
general = [
black
clang
clang-tools
delta
emmet-language-server
eslint_d
fd
gawk
gdtoolkit_4
hadolint
helm-ls
isort
lua-language-server
mcp-hub
nixd
nixfmt
nodePackages.prettier
nodePackages.typescript-language-server
ormolu
prettierd
rust-analyzer
rustfmt
shellcheck-minimal
stylelint
stylua
tree-sitter
vscode-langservers-extracted
vtsls
yaml-language-server
yamllint
];
};
startupPlugins = {
general = with pkgs.vimPlugins; [
## plug
vim-plug
vim-sandwich
context_filetype-vim
editorconfig-vim
vim-snippets
unicode-vim
vim-css-color
quarto-nvim
vimtex
wiki-vim
vim-pandoc
vim-pandoc-syntax
# TODO: ferrine/md-img-paste.vim
# TODO: supercollider/scvim
# TODO: tidalcycles/vim-tidal
vim-glsl
# TODO: timtro/glslView-nvim
# TODO: sirtaj/vim-openscad
jupytext-nvim
vim-openscad
## paq
eyeliner-nvim
fzf-lua
ltex_extra-nvim
@@ -141,6 +87,7 @@
pkgs.neovimPlugins.shipwright-nvim
lush-nvim
zenbones-nvim
pkgs.neovimPlugins.crazy-node-movement
nvim-treesitter.withAllGrammars
nvim-treesitter-textobjects
# nvim-treesitter-context
@@ -160,11 +107,6 @@
copilot-lua
copilot-cmp
pkgs.neovimPlugins.helm-ls-nvim
kitty-scrollback-nvim
fidget-nvim
rustaceanvim
# pkgs.neovimPlugins.m-taskwarrior-d-nvim
claude-code-nvim
];
};
@@ -181,7 +123,9 @@
};
packageDefinitions = {
nvim = _: {
nvim =
{ ... }:
{
settings = {
suffix-path = true;
suffix-LD = true;
@@ -199,7 +143,6 @@
forEachSystem (
system:
let
dependencyOverlays = mkDependencyOverlays system;
nixCatsBuilder = utils.baseBuilder luaPath {
inherit
nixpkgs
@@ -219,7 +162,7 @@
name = defaultPackageName;
packages = [ defaultPackage ];
inputsFrom = [ ];
shellHook = "";
shellHook = '''';
};
};
@@ -231,32 +174,31 @@
moduleNamespace = [ defaultPackageName ];
inherit
defaultPackageName
dependencyOverlays
luaPath
categoryDefinitions
packageDefinitions
extra_pkg_config
nixpkgs
;
dependencyOverlays = mkDependencyOverlays;
};
homeModule = utils.mkHomeModules {
moduleNamespace = [ defaultPackageName ];
inherit
defaultPackageName
dependencyOverlays
luaPath
categoryDefinitions
packageDefinitions
extra_pkg_config
nixpkgs
;
dependencyOverlays = mkDependencyOverlays;
};
in
{
overlays = utils.makeOverlays luaPath {
inherit nixpkgs extra_pkg_config;
dependencyOverlays = mkDependencyOverlays;
inherit nixpkgs dependencyOverlays extra_pkg_config;
} categoryDefinitions packageDefinitions defaultPackageName;
nixosModules.default = nixosModule;

View File

@@ -1 +0,0 @@
vim.opt.matchpairs:append("=:;")

View File

@@ -0,0 +1,15 @@
-- NOTE: May want to move this, as it is more specific to wiki than to pandoc
vim.api.nvim_create_user_command("AnkiDeck", function()
local handle = io.popen("get-anki-decks")
local decks = {}
for line in handle:lines() do
table.insert(decks, line)
end
handle:close()
vim.ui.select(decks, { prompt = "Select Anki deck" }, function(choice)
if choice then
vim.api.nvim_put({ choice }, "", true, true)
end
end)
end, {})

View File

@@ -1,23 +1,12 @@
require("nixCatsUtils").setup({ non_nix_value = true }) -- https://github.com/BirdeeHub/nixCats-nvim/blob/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example/init.lua
vim.opt.termguicolors = true
vim.api.nvim_set_hl(0, "Normal", { ctermbg = "NONE", bg = "NONE" })
require("base")
require("cursor")
require("fold")
require("netrw")
require("vim")
require("ftdetect")
require("plug")
require("pandoc")
require("keymaps")
require("highlight")
require("paq-setup")
require("statusline")
require("diagnostic")
require("utils")
require("zk")
require("reload")
vim.opt.background = "dark"
vim.opt.laststatus = 3
require("paq-setup") -- when not on nixCats
-- vim.opt.background = "dark"
-- vim.opt.laststatus = 3

View File

@@ -7,7 +7,5 @@ vim.filetype.add({
[".*/%.vscode/.*%.json"] = "jsonc",
[".*/%.ssh/config%.d/.*"] = "sshconfig",
["%.env.*"] = "dotenv",
["%.pl$"] = "prolog",
[".*.containerfile.*"] = "dockerfile",
},
})

View File

@@ -1,50 +1,3 @@
vim.cmd([[
" Leader keys
let mapleader = " "
let maplocalleader = ";"
" Splits & navigation
nm s <c-w> " Split horizontal
nm ss :sp<CR><c-w>w| " Split horizontal
nm sv :vs<CR><c-w>w| " Split vertical
nm sw <c-w>w| " Navigate splits
nm sh <c-w>h| "
nm sj <c-w>j| "
nm sk <c-w>k| "
nm sl <c-w>l| "
nn sH <c-w>8<| " Resize splits
nn sJ <c-w>8-| "
nn sK <c-w>8+| "
nn sL <c-w>8>| "
nn s= <c-w>=| " Equalize splits
" Open
nn sb :Lex<cr>| " File tree
nn <leader><leader> :noh<cr> |"
nn <leader>t :term<cr>| " Open terminal
" Remaps
ino <nowait> jj <esc>| " Normal now
nn <left> <nop>| " Hard mode
nn <down> <nop>| " "
nn <up> <nop>| " "
nn <right> <nop>| " "
ino <left> <nop>| " "
ino <down> <nop>| " "
ino <up> <nop>| " "
ino <right> <nop>| " "
" Search
nn <c-_> :noh<cr>| " map 'ctrl + /'
" Line numbers
nn <leader>n :set nu! rnu!<cr>
" Vim configuration
nn <leader>ec :vs $MYVIMRC<cr>
nn <leader>so :so %<cr>
]])
local set = vim.keymap.set
set("n", "<leader>cx", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Run `chmod +x` on current file" })

View File

@@ -42,6 +42,4 @@ require("nixCatsUtils.catPacker").setup({
{ "zbirenbaum/copilot.lua" },
{ "zbirenbaum/copilot-cmp" },
{ "qvalentin/helm-ls.nvim", ft = "helm" },
{ "mikesmithgh/kitty-scrollback.nvim" },
{ "greggh/claude-code.nvim" },
})

View File

@@ -1,35 +0,0 @@
if not vim.g[ [[nixCats-special-rtp-entry-nixCats]] ] then
local vim = vim
local Plug = vim.fn["plug#"]
vim.call("plug#begin")
Plug("machakann/vim-sandwich")
Plug("Shougo/context_filetype.vim")
Plug("editorconfig/editorconfig-vim")
Plug("honza/vim-snippets")
Plug("chrisbra/unicode.vim")
Plug("ap/vim-css-color")
-- Jupyter
Plug("quarto-dev/quarto-vim")
-- LaTeX
Plug("lervag/vimtex")
-- Wiki
Plug("lervag/wiki.vim")
-- Markdown
Plug("vim-pandoc/vim-pandoc")
Plug("vim-pandoc/vim-pandoc-syntax")
Plug("ferrine/md-img-paste.vim")
-- TidalCycles
Plug("supercollider/scvim")
Plug("tidalcycles/vim-tidal")
-- GLSL
Plug("tikhomirov/vim-glsl")
Plug("timtro/glslView-nvim")
-- Jupyter notebooks
Plug("goerz/jupytext.vim")
-- OpenSCAD
Plug("sirtaj/vim-openscad")
vim.call("plug#end")
end

View File

@@ -1,11 +0,0 @@
local autocmd = vim.api.nvim_create_autocmd
autocmd("BufNewFile", {
pattern = "shell.nix",
command = "0r ~/.config/nvim/skeletons/shell.nix.skeleton",
})
autocmd("BufNewFile", {
pattern = "flake.nix",
command = "0r ~/.config/nvim/skeletons/flake.nix.skeleton",
})

View File

@@ -0,0 +1,5 @@
vim.cmd([[
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
source ~/.vimrc"
]])

View File

@@ -1,49 +0,0 @@
local cmp = require("cmp")
local source = {}
local function get_markdown_files(base)
local items = {}
local pattern = base .. "/**/*.md"
local files = vim.fn.glob(pattern, false, true)
for _, file in ipairs(files) do
local label = file:gsub("^%./", ""):gsub("%.md$", "")
table.insert(items, { label = label })
end
return items
end
function source:complete(params, callback)
local cursor_before_line = params.context.cursor_before_line
local cursor_after_line = params.context.cursor_after_line or ""
local trigger = cursor_before_line:match("%[[^%]]*%]%(([^)]*)$")
if trigger ~= nil then
local items = get_markdown_files(".")
local next_char = cursor_after_line:sub(1, 1)
for _, item in ipairs(items) do
if next_char == ")" then
item.insertText = item.label
else
item.insertText = item.label .. ")"
end
end
callback(items)
else
callback({})
end
end
function source:get_trigger_characters()
return { "(" }
end
function source:is_available()
local ft = vim.bo.filetype
return ft == "markdown" or ft == "pandoc"
end
cmp.register_source("zk", source)

View File

@@ -1,10 +0,0 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs =
{ self, nixpkgs }:
{
};
}

View File

@@ -1,4 +0,0 @@
{
pkgs ? import <nixpkgs> { },
}:
pkgs.mkShell { nativeBuildInputs = with pkgs.buildPackages; [ ]; }

View File

@@ -27,7 +27,7 @@ return {
t("flex-wrap: wrap;"),
i(0),
}),
s({ trig = "dfc", dscr = "Add 'flex-direction: column;'" }, {
s({ trig = "dfc", dscr = "Display flex column" }, {
t("display: flex;"),
t("flex-direction: column;"),
i(0),

View File

@@ -1,12 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
return {
s({ trig = "^M.", regTrig = true, snippetType = "autosnippet" }, {
t("local M = {"),
i(1),
t({ "}", "", "", "return M" }),
}),
}

View File

@@ -5,905 +5,6 @@ local d = ls.dynamic_node
local sn = ls.snippet_node
local fmta = require("luasnip.extras.fmt").fmta
-- Original .snippets file - TODO: Migrate to lua snippets
-- ```viml
-- global !p
-- from datetime import datetime
-- from math import factorial
-- import subprocess
-- import re
-- import sys
--
-- ZOTERO_BASE = "http://127.0.0.1:23119/better-bibtex/cayw"
-- FENCES = {
-- "i": "idea",
-- "q": "question",
-- "n": "note",
-- "t": "thought",
-- }
--
-- def math_inline():
-- return vim.command_output('GetContext') == 'math_inline'
--
-- def math_block():
-- return vim.command_output('GetContext') == 'math_block'
--
-- def math():
-- return math_inline() or math_block()
--
-- def code_block():
-- return vim.command_output('GetContext') == 'pandocDelimitedCodeBlock'
--
-- def code_inline():
-- return vim.command_output('GetContext') == 'pandocNoFormatted'
--
-- def code():
-- return code_inline() or code_block()
--
-- def slugify(text):
-- return re.sub('\s+', '-', text.lower())
--
-- def linkify(text, link):
-- return f"[{text}]({link})"
--
-- def zot(action):
-- if action == "get_title":
-- cmd = f"curl -s '{ZOTERO_BASE}?format=json&selected=1' | jq '.[].title' -r"
-- elif action == "get_citekey":
-- cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1'"
-- elif action == "get_citekey_brackets":
-- cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1&brackets=1'"
-- elif action == "get_link":
-- link_path = re.sub("^@", "", zot("get_citekey"))
-- link_title = zot("get_title")
-- link = linkify(link_title, link_path)
-- return link
-- elif action == "get_file":
-- link_path = re.sub("^@", "", zot("get_citekey"))
-- link_title = zot("get_title")
-- link = linkify(link_title, f"file://{link_path}.pdf")
-- return link
-- else:
-- return "Zotero action not found"
-- return subprocess.check_output(cmd, shell=True).decode("utf-8").strip()
-- endglobal
--
-- snippet ctx "Context" i
-- `!p snip.rv = vim.command_output('GetContext')`
-- endsnippet
--
-- # General markdown
--
-- snippet ^h "Markdown header" r
-- # $1
-- endsnippet
--
-- snippet ^sec "Markdown section" r
-- ## $1
-- endsnippet
--
-- snippet ^ssec "Markdown subsection" r
-- ### $1
-- endsnippet
--
-- snippet ^sex "Markdown example section" r
-- ## Example: $1
-- endsnippet
--
-- snippet ^ssex "Markdown example subsection" r
-- ### Example: $1
-- endsnippet
--
-- # Zettelkasten templating
--
-- snippet nl
-- *nld*: $1
-- endsnippet
--
-- snippet eng
-- *eng*: $1
-- endsnippet
--
-- snippet fr
-- *fra*: $1
-- endsnippet
--
-- snippet (de
-- *deu*: $1
-- endsnippet
--
-- snippet (nl
-- (*nld*: $1)
-- endsnippet
--
-- snippet (eng
-- (*eng*: $1)
-- endsnippet
--
-- snippet (fr
-- (*fra*: $1)
-- endsnippet
--
-- snippet (de
-- (*deu*: $1)
-- endsnippet
--
-- snippet in
-- (In [$1]($2))$3
-- endsnippet
--
-- snippet liwhat "What?" A
-- `!p snip.rv = "* [What?](" + snip.basename + "_what)"`$1
-- endsnippet
--
-- snippet liwhy "Why?" A
-- `!p snip.rv = "* [Why?](" + snip.basename + "_why)"`$1
-- endsnippet
--
-- snippet < "Comment (html)"
-- <!-- $1 -->$2
-- endsnippet
--
-- snippet <. "Comment (html) ..." i
-- <!-- ... -->$1
-- endsnippet
--
-- snippet <t "Thought (html)" i
-- <!--:::thought
-- $1
-- :::-->
-- endsnippet
--
-- snippet <q "Question (html)" i
-- <!--:::question
-- $1
-- :::-->
-- endsnippet
--
-- snippet <i "Idea (html)" i
-- <!--:::idea
-- $1
-- :::-->
-- endsnippet
--
-- snippet <n "Note (html)" i
-- <!--:::note
-- $1
-- :::-->
-- endsnippet
--
-- snippet td "Todo"
-- TODO${1:: $2}
-- endsnippet
--
-- snippet ref "References"
-- <!--references-->
-- endsnippet
--
-- snippet sort "Sort"
-- <!--sort-->
-- endsnippet
--
-- snippet foot "Footnotes"
-- <!--footnotes-->
-- [^0]:
-- endsnippet
--
-- snippet def "Definition"
-- **Definition${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
--
-- $7
--
-- ___
-- endsnippet
--
-- snippet theo "Theorem"
-- **Theorem${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
--
-- $7
--
-- ${8/(\w+).*/**Theorem** \n\n.../}
--
-- ___
-- endsnippet
--
-- snippet prop "Property"
-- **Property $1** [@]
--
-- $2
--
-- ___
-- endsnippet
--
-- snippet lemm "Lemma"
-- **Lemma $1** [@]
--
-- $2
--
-- ___
-- endsnippet
--
-- snippet coro "Corollary"
-- **Corollary $1** [@]
--
-- $2
--
-- ___
-- endsnippet
--
-- # Greek symbols
--
-- context "math()"
-- snippet alpha "Alpha"
-- \\alpha
-- endsnippet
--
-- context "math()"
-- snippet beta "Beta"
-- \\beta
-- endsnippet
--
-- context "math()"
-- snippet gamma "Gamma"
-- \\gamma
-- endsnippet
--
-- context "math()"
-- snippet delta "Delta"
-- \\delta
-- endsnippet
--
-- context "math()"
-- snippet epsilon "Epsilon"
-- \\epsilonilon
-- endsnippet
--
-- context "math()"
-- snippet zeta "Zeta"
-- \\zeta
-- endsnippet
--
-- context "math()"
-- snippet eta "Eta"
-- \\eta
-- endsnippet
--
-- context "math()"
-- snippet theta "Theta"
-- \\theta
-- endsnippet
--
-- context "math()"
-- snippet iota "Iota"
-- \\iota
-- endsnippet
--
-- context "math()"
-- snippet kappa "Kappa"
-- \\kappa
-- endsnippet
--
-- context "math()"
-- snippet lambda "Lambda" i
-- \\lambda
-- endsnippet
--
-- context "math()"
-- snippet mu "Mu"
-- \\mu
-- endsnippet
--
-- context "math()"
-- snippet nu "Nu"
-- \\nu
-- endsnippet
--
-- context "math()"
-- snippet xi "Xi"
-- \\xi
-- endsnippet
--
-- context "math()"
-- snippet omicron "Omicron"
-- \\omicron
-- endsnippet
--
-- context "math()"
-- snippet pi "Pi"
-- \\pi
-- endsnippet
--
-- context "math()"
-- snippet rho "Rho"
-- \\rho
-- endsnippet
--
-- context "math()"
-- snippet sigma "Sigma"
-- \\sigma
-- endsnippet
--
-- context "math()"
-- snippet tau "Tau"
-- \\tau
-- endsnippet
--
-- context "math()"
-- snippet upsilon "Upsilon"
-- \\upsilon
-- endsnippet
--
-- context "math()"
-- snippet phi "Phi"
-- \\phi
-- endsnippet
--
-- context "math()"
-- snippet chi "Chi"
-- \\chi
-- endsnippet
--
-- context "math()"
-- snippet psi "Psi"
-- \\psi
-- endsnippet
--
-- context "math()"
-- snippet omega "Omega"
-- \\omega
-- endsnippet
--
-- context "math()"
-- snippet Gamma "Gamma"
-- \\Gamma
-- endsnippet
--
-- context "math()"
-- snippet Delta "Delta"
-- \\Delta
-- endsnippet
--
-- context "math()"
-- snippet Theta "Theta"
-- \\Theta
-- endsnippet
--
-- context "math()"
-- snippet Lambda "Lambda"
-- \\Lambda
-- endsnippet
--
-- context "math()"
-- snippet Xi "Xi"
-- \\Xi
-- endsnippet
--
-- context "math()"
-- snippet Pi "Pi"
-- \\Pi
-- endsnippet
--
-- context "math()"
-- snippet Sigma "Sigma"
-- \\Sigma
-- endsnippet
--
-- context "math()"
-- snippet Upsilon "Upsilon"
-- \\Upsilon
-- endsnippet
--
-- context "math()"
-- snippet Phi "Phi"
-- \\Phi
-- endsnippet
--
-- context "math()"
-- snippet Psi "Psi"
-- \\Psi
-- endsnippet
--
-- context "math()"
-- snippet Omega "Omega"
-- \\Omega
-- endsnippet
--
-- snippet asaw "Als en slechts als (woorden)" i
-- als en slechts als
-- endsnippet
--
-- snippet iffw "If and only if (words)" i
-- if and only if
-- endsnippet
--
-- snippet asas "Als en slechts als (shorthand)" i
-- **asa**
-- endsnippet
--
-- snippet iffs "If and only if (shorthand)" i
-- **iff**
-- endsnippet
--
-- snippet beg "Begin"
-- \begin{$1}
-- $2
-- \end{$1}
-- endsnippet
--
-- snippet align "" i
-- \begin{align}
-- $1
-- \end{align}
-- endsnippet
--
-- snippet cases "" i
-- \begin{cases}
-- $1 \\\\
-- $2
-- \end{cases}
-- $3
-- endsnippet
--
-- snippet tik "Tikzpicture" i
-- \begin{tikzpicture}
-- $1
-- \end{tikzpicture}
-- endsnippet
--
-- snippet matrix "Matrix" i
-- \begin{bmatrix}
-- $1
-- \end{bmatrix}
-- endsnippet
--
-- # Insert anything after m/M in math mode
--
-- snippet "(\b)m(.*)" "MathJax" r
-- `!p snip.rv = match.group(1) + "$" + match.group(2) + "$"`
-- endsnippet
--
-- snippet (\b)M(.*) "MathJax block" irw
-- $$
-- `!p snip.rv = match.group(2)`
-- $$
-- endsnippet
--
-- # Calligraphic letters
--
-- context "math()"
-- snippet c([A-z]) "Calligraphic A" r
-- `!p snip.rv = "\\mathcal{" + match.group(1) + "}"`$1
-- endsnippet
--
-- # Subscripts
--
-- context "math()"
-- snippet '([A-z])(\w+)' "Subscripts" irw
-- `!p snip.rv = match.group(1) + '_' + match.group(2) if len(match.group(2)) == 1 else match.group(1) + '_{' + match.group(2) + '}'`$1
-- endsnippet
--
-- # MathJax
--
-- snippet fa "For all" i
-- \forall
-- endsnippet
--
-- snippet frac "" i
-- \frac{$1}{$2}$3
-- endsnippet
--
-- snippet set "" i
-- \\{$1\\}$2
-- endsnippet
--
-- snippet N "" i
-- \mathbb{N}
-- endsnippet
--
-- snippet N0 "" i
-- \mathbb{N}_0
-- endsnippet
--
-- snippet N+ "" i
-- \mathbb{N}^+
-- endsnippet
--
-- snippet Z "" i
-- \mathbb{Z}
-- endsnippet
--
-- snippet Z0 "" i
-- \mathbb{Z}_0
-- endsnippet
--
-- snippet Z+ "" i
-- \mathbb{Z}^+
-- endsnippet
--
-- snippet R "" i
-- \mathbb{R}
-- endsnippet
--
-- snippet R0 "" i
-- \mathbb{R}_0
-- endsnippet
--
-- snippet R+ "" i
-- \mathbb{R}^+
-- endsnippet
--
-- snippet C "" i
-- \mathbb{C}
-- endsnippet
--
-- snippet lim "" i
-- \lim_{$1}$2
-- endsnippet
--
-- snippet limn "" i
-- \lim_{n \to \infty}$2
-- endsnippet
--
-- snippet binom "" i
-- \binom{$1}{$2}$3
-- endsnippet
--
-- snippet andmath "description" i
-- \text{ and }
-- endsnippet
--
-- snippet enmath "description" i
-- \text{ en }
-- endsnippet
--
-- snippet lra "MathJax: long right arrow" i
-- \longrightarrow
-- endsnippet
--
-- snippet Ra "MathJax: right arrow" i
-- \Rightarrow
-- endsnippet
--
-- snippet Im "MathJax: image operator" i
-- \operatorname{Im}
-- endsnippet
--
-- snippet ggd "Grootste gemene deler" i
-- \operatorname{ggd}
-- endsnippet
--
-- snippet fl "Floating point" i
-- \operatorname{fl}
-- endsnippet
--
-- snippet Var "Variance" i
-- \operatorname{Var}
-- endsnippet
--
-- snippet E "Expectation" i
-- \operatorname{E}
-- endsnippet
--
-- snippet Cov "Covariance" i
-- \operatorname{Cov}
-- endsnippet
--
-- context "math()" i
-- snippet ntup "Alpha"
-- (x_1, \ldots, x_n)
-- endsnippet
--
-- snippet mxn "Matrix" i
-- m \times n
-- endsnippet
--
-- snippet mxn- "Matrix" i
-- $m \times n$-matrix
-- endsnippet
--
-- snippet nxn "Matrix" i
-- n \times n
-- endsnippet
--
-- snippet det "Determinant" i
-- \operatorname{det}(${1:A})$2
-- endsnippet
--
-- snippet det| "Determinant alternative notation" i
-- |${1:A}|$2
-- endsnippet
--
-- snippet Span "Span" i
-- \operatorname{Span}\\{$1\\}$2
-- endsnippet
--
-- snippet Nul "Null" i
-- \operatorname{Nul}($1)$2
-- endsnippet
--
-- snippet Col "Column space" i
-- \operatorname{Col}($1)$2
-- endsnippet
--
-- snippet kern "Kernel" i
-- \operatorname{kern}($1)$2
-- endsnippet
--
-- context "math()"
-- snippet vec "Vector" i
-- \mathbf{$1}$2
-- endsnippet
--
-- context "math()"
-- snippet vec([A-z]) "Vector ..." r
-- `!p snip.rv = "\\mathbf{" + match.group(1) + "}"`$1
-- endsnippet
--
-- snippet v1tovp "Vectors v indexed from 1 to p"
-- \mathbf{v_1},...,\mathbf{v_p}$2
-- endsnippet
--
-- snippet a1toan "Vectors a indexed from 1 to n"
-- \mathbf{a_1},...,\mathbf{v_n}$2
-- endsnippet
--
-- snippet .. "Dot dot dot" i
-- \dots $1
-- endsnippet
--
-- snippet text "MathJax text" i
-- \text{$1}$2
-- endsnippet
--
-- snippet leq "Less than or equal to" i
-- \leq
-- endsnippet
--
-- snippet leq "Greater than or equal to" i
-- \geq
-- endsnippet
--
-- snippet eat "Evaluated at" i
-- {\biggr\rvert}_{$1}$2
-- endsnippet
--
-- snippet sketch "Link a sketch" i
-- [$1](file:///home/h/sketches/$2)
-- endsnippet
--
-- snippet deck "Get anki deck"
-- `get-anki-decks`
-- endsnippet
--
-- # snippet ` "Inline code" i
-- # `$1`
-- # endsnippet
--
-- # Escape backticks
-- snippet `` "Code block" bA
-- \`\`\`$1
-- $2
-- \`\`\`
-- endsnippet
--
-- snippet `tex "Latex block (see latex filter)" bA
-- \`\`\`{.tex}
-- $1
-- \`\`\`
-- endsnippet
--
-- snippet `tik "Tikz block (see tikz filter)" bA
-- \`\`\`{.tex}
-- \\begin{tikzpicture}
-- $1
-- \\end{tikzpicture}
-- \`\`\`
-- endsnippet
--
-- snippet "(\b)fn(\d+)" "" ir
-- `!p snip.rv = snip.basename + "_" + match.group(2).zfill(2)`$1
-- endsnippet
--
-- snippet "ch(\d+)" "Link chapter" ir
-- `!p
-- num_str = match.group(1).zfill(2)
-- title = 3*"."
-- link = snip.basename + "_" + num_str
-- snip.rv = num_str + ". " + linkify(title, link)
-- `
-- endsnippet
--
-- snippet "ch(\d+)to(\d+)" "Link chapters ... to ..." irA
-- `!p
-- for i in range(int(match.group(1)), int(match.group(2)) + 1):
-- num_str = str(i).zfill(2)
-- title = 3*"."
-- link = snip.basename + "_" + num_str
-- snip.rv += num_str + ". " + linkify(title, link) + "\n"
-- `
-- endsnippet
--
-- snippet "sec([\sA-z]+)" "Link section titled ..." r
-- `!p
-- snip.rv = "* " + linkify(match.group(1), f"{snip.basename}_{slugify(match.group(1))}")
-- `
-- endsnippet
--
-- snippet cp(\d+) "Comment current page (and date)" r
-- `!p snip.rv = "<!--" + datetime.now().strftime("%Y-%m-%d") + " p. " + match.group(1) + "-->"`
-- endsnippet
--
-- snippet (\d+)! "Factorial of ..." r
-- `!p snip.rv = factorial(int(match.group(1)))`
-- endsnippet
--
-- snippet d "Date"
-- `!p snip.rv = datetime.now().strftime("%Y-%m-%d")`
-- endsnippet
--
-- snippet :(\w*) "Fence" r
-- `!p snip.rv += ":::" + FENCES.get(match.group(1) or "", "") + "\n" `$1
-- `!p snip.rv += ":::"`$2
-- endsnippet
--
-- snippet \[(\w*) "Fence inline" ir
-- `!p snip.rv += "["`$1`!p snip.rv += "]{." + FENCES.get(match.group(1) or "", "") + "}"`$2
-- endsnippet
--
-- snippet ^eg "Example" r
-- E.g. $1
-- endsnippet
--
-- # E.g. after list (or list preceded by space)
-- snippet (\*\s|\*)eg "Example" r
-- * E.g. $1
-- endsnippet
--
-- # E.g. after dot (or dot preceded by space)
-- snippet (\.\s|\.)eg "Example" r
-- . E.g. $1
-- endsnippet
--
-- snippet (?<!^|\*\s|\*|\.\s|\.)eg "Example" r
-- e.g. $1
-- endsnippet
--
-- # Zettelkasten to Anki
--
-- snippet td "TARGET DECK: <Deck name>"
-- TARGET DECK: $1::$2
-- endsnippet
--
-- snippet clo "Cloze"
-- START
-- Cloze
-- ${0:${VISUAL}}$1
-- END
-- $2
-- endsnippet
--
-- snippet clos "Cloze start"
-- START
-- Cloze
-- $1
-- endsnippet
--
-- snippet cloe "Cloze end"
-- END
-- endsnippet
--
-- snippet clod
-- START
-- Cloze
-- **Definition$1**
--
-- $2
-- END
-- endsnippet
--
-- snippet clop
-- START
-- Cloze
-- **Property$1**
--
-- $2
-- END
-- endsnippet
--
-- snippet clot
-- START
-- Cloze
-- **Theorem$1**
--
-- $2
-- END
-- endsnippet
--
-- snippet clol
-- START
-- Cloze
-- **Lemma$1**
--
-- $2
-- END
-- endsnippet
--
-- snippet "c(\d+)" "Cloze <number>" r
-- {{c`!p snip.rv = int(match.group(1))`::${0:${VISUAL}}$1}}$2
-- endsnippet
--
-- # Match preceded by whitespace or start of line
-- snippet (?<!\S)z($|t|l|z|o|\.) "Zotero" r
-- `!p
--
-- ACTIONS = {
-- "": "get_citekey",
-- "t": "get_title",
-- "l": "get_link",
-- "z": "get_citekey_brackets",
-- "o": "get_file",
-- }
--
-- snip.rv = zot(ACTIONS.get(match.group(1)))
-- `
-- endsnippet
--
-- snippet zq "Zotero quote" r
-- `!p snip.rv = '>\n> --' + zot("get_citekey_brackets")`
-- endsnippet
--
-- snippet acz "According to ..."
-- `!p snip.rv = "According to " + zot("get_citekey")`
-- endsnippet
--
-- snippet azex "As ... explains"
-- `!p snip.rv = "As " + zot("get_citekey") + " explains, "`
-- endsnippet
--
-- snippet iz "In ..."
-- `!p snip.rv = "In " + zot("get_citekey")`
-- endsnippet
--
-- snippet izd "In ...'s definition"
-- `!p snip.rv = "In " + zot("get_citekey") + "'s definition, "`
-- endsnippet
--
-- snippet zintends "... intends to ..." A
-- `!p snip.rv = zot("get_citekey") + " intends to "`
-- endsnippet
--
-- snippet tfol "The following" wA
-- the following
-- endsnippet
--
-- snippet tfolt "It follows that" wA
-- it follows that
-- endsnippet
--
-- snippet ntfol "In the following" wA
-- in the following
-- endsnippet
--
-- snippet algos "algorithms" wA
-- algorithms
-- endsnippet
--
-- snippet algo "algorithm" wA
-- algorithm
-- endsnippet
--
-- # TODO: Make only available in tikzpicture
-- context "code()"
-- snippet q "State" w
-- \node[state] ($1) [] {$2};
-- endsnippet
--
-- context "code()"
-- snippet q0 "Initial state" w
-- \node[initial,state] ($1) {$2};
-- endsnippet
-- ```
-- Taken from https://ejmastnak.com/tutorials/vim-latex/luasnip/#anatomy
local get_visual = function(_, parent)
if #parent.snippet.env.LS_SELECT_RAW > 0 then

View File

@@ -1,24 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
return {
s("reqtrace", t({ "(#%require racket/trace)" })),
s("strln", t({ "(string-length " }), i(1), t({ ")" })),
s("impb", t({ "(import (rnrs base (6))", " (rnrs io simple" }), i(0), t({ ")" })),
s("def", {
t("(define "),
i(1),
t(" "),
i(2),
t(")"),
}),
s("defp", {
t("(define ("),
i(1),
t(" "),
i(2),
t("))"),
}),
}

View File

@@ -1,69 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local i = ls.insert_node
local t = ls.text_node
local f = ls.function_node
-- Inspired by https://castel.dev/post/lecture-notes-1/
ls.add_snippets("tex", {
s("beg", {
t("\\begin{"),
i(1),
t({ "}", "\t" }),
i(0),
t({ "", "\\end{" }),
f(function(args)
return args[1][1]
end, { 1 }),
t("}"),
}),
s("def", {
t("\\begin{definition}"),
t({ "", "\t" }),
i(0),
t({ "", "\\end{definition}" }),
}),
s("fig", {
t("\\begin{figure}"),
t({ "", "\t" }),
i(0),
t({ "", "\\end{figure}" }),
}),
s(
"time",
f(function()
return os.date("%H:%M")
end)
),
s("i", t("\\textit{"), i(0), t("}")),
s("b", t("\\textbf{"), i(0), t("}")),
s("center", {
t("\\begin{center}"),
t({ "", "" }),
i(0),
t({ "", "\\end{center}" }),
}),
s("pac", t("\\usepackage{"), i(0), t("}")),
s("foot", t("\\footnote{"), i(0), t("}")),
s("dm", {
t({ "\\[", "" }),
i(1),
t({ "", "\\]" }),
i(0),
}),
s("ch", t("\\chapter{"), i(0), t("}")),
s("sec", t("\\section{"), i(0), t("}")),
s("ssec", t("\\subsection{"), i(0), t("}")),
s("sssec", t("\\subsubsection{"), i(0), t("}")),
})

View File

@@ -1,12 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
return {
s("preJ", {
t("<pre>{JSON.stringify("),
i(1, "object"), -- first tab stop
t(", null, 2)}</pre>"),
}),
}

View File

@@ -1,5 +1,10 @@
data.location=$XDG_DATA_HOME/task/
hooks.location=$XDG_DATA_HOME/task/hooks
include /usr/share/doc/task/rc/light-256.theme
include ./taskrc.d/$HOSTNAME
include ./taskrc.d/aliases
include ./taskrc.d/sync
include ./taskrc.d/urgency
include ./taskrc.d/reports
include ./taskrc.d/contexts
@@ -11,5 +16,3 @@ search.case.sensitive=no
rc.json.array=on
rc.verbose=nothing
news.version=3.1.0
recurrence=off

View File

@@ -1,4 +1 @@
include /usr/share/doc/task/rc/light-256.theme
include ./locations
include ./sync
recurrence=off

View File

@@ -1,2 +0,0 @@
data.location=$XDG_DATA_HOME/task/
hooks.location=$XDG_DATA_HOME/task/hooks

View File

@@ -0,0 +1 @@
recurrence=off

View File

@@ -0,0 +1 @@
set -g status-style bg=default

View File

@@ -1 +1 @@
set -g status-style bg=colour12,fg=colour0
set -g status-style bg=blue,fg=black;

View File

@@ -0,0 +1,22 @@
# This file is based on the one provided by shipwright.nvim
set -g @FG '#dddddd'
set -g @BG '#111111'
set -g status-left ' #[fg=#{@FG},bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#{@FG},bold] [#S]#[fg=#{@FG},bold] [%d/%m] #[fg=#{@FG},bold][%I:%M%p] '
set -g status-style fg='#{@FG}',bg='#{@BG}'
set -g window-status-current-style fg='#{@FG}',bg='#{@BG}',bold
set -g pane-border-style fg='#{@FG}'
set -g pane-active-border-style fg='#{@FG}'
set -g message-style fg='#{@FG}',bg='#{@FG}'
set -g display-panes-active-colour '#{@FG}'
set -g display-panes-colour '#{@FG}'
set -g clock-mode-colour '#{@FG}'
set -g mode-style fg='#{@FG}',bg='#{@FG}'

View File

@@ -0,0 +1,22 @@
# This file is based on the one provided by shipwright.nvim
set -g @FG '#111111'
set -g @BG '#dddddd'
set -g status-left ' #[fg=#{@FG},bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#{@FG},bold] [#S]#[fg=#{@FG},bold] [%d/%m] #[fg=#{@FG},bold][%I:%M%p] '
set -g status-style fg='#{@FG}',bg='#{@BG}'
set -g window-status-current-style fg='#{@FG}',bg='#{@BG}',bold
set -g pane-border-style fg='#{@FG}'
set -g pane-active-border-style fg='#{@FG}'
set -g message-style fg='#{@FG}',bg='#{@FG}'
set -g display-panes-active-colour '#{@FG}'
set -g display-panes-colour '#{@FG}'
set -g clock-mode-colour '#{@FG}'
set -g mode-style fg='#{@FG}',bg='#{@FG}'

View File

@@ -39,22 +39,10 @@ bind-key -T root F7 select-window -t 7
bind-key -T root F8 select-window -t 8
bind-key -T root F9 select-window -t 9
# bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
# bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
bind-key -T root S-F1 join-pane -s :1
bind-key -T root S-F2 join-pane -s :2
bind-key -T root S-F3 join-pane -s :3
bind-key -T root S-F4 join-pane -s :4
bind-key -T root S-F5 join-pane -s :5
bind-key -T root S-F6 join-pane -s :6
bind-key -T root S-F7 join-pane -s :7
bind-key -T root S-F8 join-pane -s :8
bind-key -T root S-F9 join-pane -s :9
# 1-based indexing makes most sense for keyboard layouts (where number row start at 1)
set -g base-index 1
set -g pane-base-index 1
setw -g automatic-rename
# statusbar
set -g status-position top
@@ -68,7 +56,18 @@ set -g status-left '#h '
set -g status-right '#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") %a%l:%M:%S %p %Y-%m-%d'
%endif
# theming
%if "#{==:#{host},desktop-arch}"
set -g default-terminal "tmux-256color"
setw -g window-status-style fg=colour244,bg=default
setw -g window-status-current-style fg=colour232,bg=default,bold
set -g message-style fg=colour232,bg=default
setw -g clock-mode-colour colour235
set -g status-style bg=default
set -g pane-border-style fg=#cccccc
set -g pane-active-border-style fg=#555555
set -g message-style bg=#cccccc,fg=#000000
%endif
set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.ssh.conf" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.regular.conf"'
@@ -76,5 +75,3 @@ set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_C
if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel'
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection'
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on'
set -g allow-passthrough on

View File

@@ -0,0 +1 @@
set -g status-style bg=default

View File

@@ -1 +0,0 @@
enabled=False

View File

@@ -1,11 +1,9 @@
[include]
path = ~/.gitconfig.email
[core]
editor = nvim
excludesfile = ~/.gitignore
[user]
email = hektor.misplon@pm.me
name = Hektor Misplon
username = hektor
signingKey = AEB98353B8D72E465C4236435151AF79E723F21C
@@ -23,8 +21,6 @@
sv = status --verbose
co = checkout
cob = checkout -b
pullr = "pull --rebase --autostash"
pushf = "push --force-with-lease"
# Note these follow the naming convention of my `.bash_aliases`
al = "!git config -l | grep alias | cut -c 7-"
alf = "!git config -l | grep alias | cut -c 7- | fzf"
@@ -78,6 +74,8 @@
[merge]
tool = nvimdiff
conflictstyle = diff3
[pull]
rebase = true
[diff]
colorMoved = zebra
[commit]
@@ -85,11 +83,3 @@
[interactive]
singleKey = true
[pull]
rebase = true
[rerere]
enabled = true
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig.work

View File

@@ -1,2 +0,0 @@
[user]
email = your.email@example.com

View File

@@ -1,13 +0,0 @@
[include]
path = ~/.gitconfig.work.email
[core]
longpaths = true
[user]
name = Hektor Misplon
username = hektor.misplon
signingKey = 1C88BE828184CEE6
[commit]
gpgsign = false

View File

@@ -1,2 +0,0 @@
[user]
email = your.work.email@example.com

5
dots/.gitignore vendored
View File

@@ -9,7 +9,6 @@ log/
# Node
npm-debug.log
node_modules
.npm-cache
# Python
*.pyc
@@ -69,7 +68,6 @@ Thumbs.db
# Kernel Module Compile Results
*.mod*
!*.mod*.*
*.cmd
.tmp_versions/
modules.order
@@ -84,9 +82,6 @@ dkms.conf
# Dotenv
.env
.envrc
.direnv/
.pre-commit-config.yaml
# Prevent module files from being ignored (e.g. NestJS)
!*.module*

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env python3
import sys
import json
SLOTS_FILE = "/home/h/.local/share/task/add_slots"
def get_slots():
try:
with open(SLOTS_FILE, "r") as f:
return int(f.read().strip())
except:
return 0
slots = get_slots()
if slots <= 0:
print(f"Cannot add task: No slots available (0/{slots}).")
print("Delete or complete a task first to earn an add slot.")
sys.exit(1)
with open(SLOTS_FILE, "w") as f:
f.write(str(slots - 1))
print(f"Task added. Slots remaining: {slots - 1}")
for line in sys.stdin:
task = json.loads(line)
print(json.dumps(task))
sys.exit(0)

View File

@@ -1,34 +0,0 @@
#!/usr/bin/env python3
import sys
import json
SLOTS_FILE = "/home/h/.local/share/task/add_slots"
def get_slots():
try:
with open(SLOTS_FILE, "r") as f:
return int(f.read().strip())
except:
return 0
data = sys.stdin.read().strip().split("\n")
if len(data) < 2:
for line in data:
if line:
print(line)
sys.exit(0)
old_task = json.loads(data[0])
new_task = json.loads(data[1])
was_pending = old_task.get("status") == "pending"
is_not_pending = new_task.get("status") in ("completed", "deleted")
if was_pending and is_not_pending:
slots = get_slots() + 1
with open(SLOTS_FILE, "w") as f:
f.write(str(slots))
print(f"Slot earned! Total slots: {slots}")
print(json.dumps(new_task))
sys.exit(0)

44
dots/.resticexclude Normal file
View File

@@ -0,0 +1,44 @@
# Restic ignore
# General
.trash
Trash
.cache
cache
Cache
CachedData
CachedExtension
CacheStorage
__pycache__
GPUCache
ShaderCache
build
.git
node_modules
venv
env
# Specifics
$HOME/.android
$HOME/.atom
$HOME/.build
$HOME/.cabal
$HOME/.cargo
$HOME/.conda
$HOME/.config/BraveSoftware/Brave-Browser/Default/Local Storage
$HOME/.config/BraveSoftware/Brave-Browser/Default/Local Extension Settings
$HOME/.config/nvm/versions
$HOME/.config/devcert
$HOME/.espressif
$HOME/.local/share/torbrowser
$HOME/.mozilla
$HOME/.nvm
$HOME/.npm
$HOME/.nuget
$HOME/.yarn
$HOME/.config/yarn
$HOME/doc/disk-images
$HOME/.stremio-server
$HOME/Games
!$HOME/Games/*/drive_c/users/h/AppData
!$HOME/Games/rhino

3
dots/.resticinclude Normal file
View File

@@ -0,0 +1,3 @@
/etc
/boot
/home

View File

@@ -1,4 +1,3 @@
vim.cmd([[
function GetClozeNumber()
let REGEX_CLOZE_START = '{{c\d\+::'
@@ -34,4 +33,3 @@ let g:sandwich#recipes += [
\ 'nesting': 1
\ }
\ ]
]])

View File

@@ -1,5 +1,3 @@
vim.cmd([[
" Paste clipboard images
au FileType pandoc nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
au FileType markdown nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
]])

View File

@@ -1,5 +1,3 @@
vim.cmd([[
nmap s <Nop>
xmap s <Nop>
let g:sandwich#recipes = deepcopy(g:sandwich#default_recipes)
]])

View File

@@ -0,0 +1,4 @@
let g:taskwiki_taskrc_location='/home/h/.config/task/taskrc'
let g:taskwiki_disable_concealcursor=1
let g:taskwiki_dont_preserve_folds=1
let g:taskwiki_dont_fold=1

View File

@@ -1,8 +1,6 @@
vim.cmd([[
let g:javascript_plugin_jsdoc = 1 " jsdoc syntax highlighting
let g:javascript_plugin_flow = 1 " flow syntax highlighting
let g:javascript_conceal_function = "ƒ"
let g:javascript_conceal_return = "⇖"
let g:svelte_indent_script = 0
let g:svelte_indent_style = 0
]])

View File

@@ -1,4 +1,3 @@
vim.cmd([[
let g:pandoc#syntax#conceal#urls=1
let g:pandoc#syntax#codeblocks#embeds#langs=[
\ 'python',
@@ -14,4 +13,3 @@ let g:pandoc#syntax#codeblocks#embeds#langs=[
let g:pandoc#syntax#style#emphases=0 " Bug workaround
let g:pandoc#syntax#conceal#cchar_overrides = { "atx": " ", "li": "·" }
let g:pandoc#syntax#conceal#blacklist=[]
]])

View File

@@ -1,4 +1,3 @@
vim.cmd([[
au FileType pandoc call pandoc#completion#Init()
let g:pandoc#filetypes#pandoc_markdown=0
let g:pandoc#spell#enabled=0
@@ -6,4 +5,3 @@ let g:pandoc#spell#default_langs=['en_us', 'nl_be']
let g:pandoc#formatting#mode='a'
let g:pandoc#formatting#textwidth=90
let g:pandoc#modules#disabled = ["formatting", "dashes", "yaml", "metadata"]
]])

View File

@@ -1,4 +1,3 @@
vim.cmd([[
" Tidalcycles (sclang and vim-tidal)
let g:tidal_default_config = {"socket_name": "default", "target_pane": "tidal:1.1"}
let g:tidal_no_mappings = 1
@@ -13,4 +12,3 @@ au FileType tidal com! -nargs=0 H :TidalHush
" SuperCollider
au BufEnter,BufWinEnter,BufNewFile,BufRead *.sc,*.scd se filetype=supercollider
au Filetype supercollider packadd scvim
]])

View File

@@ -1,6 +1,4 @@
vim.cmd([[
let g:vimtex_view_method='zathura'
let g:tex_flavor='latex'
let g:tex_conceal='abdmgs'
let g:vimtex_quickfix_mode=0
]])

View File

@@ -1,4 +1,3 @@
vim.cmd([[
" Change local buffer to directory of current file after the plugin has loaded
autocmd VimEnter * lcd %:p:h
@@ -107,4 +106,3 @@ let g:wiki_write_on_nav=1
let g:wiki_zotero_root='~/.local/share/zotero'
" ... mappings and commands
" ...
]])

Some files were not shown because too many files have changed in this diff Show More