Compare commits

...
This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.

274 Commits

Author SHA1 Message Date
lelgenio 6e3091d419 add html! highlighter 2022-08-27 20:25:44 -03:00
lelgenio c8c40a6abd permitir mais campos como nome de usuário 2022-07-29 13:45:09 -03:00
lelgenio c576cc29e1 fixes for arch 2022-06-22 11:20:49 -03:00
lelgenio e3bdbbd3dc kak: enable snippets 2022-06-21 16:46:54 -03:00
lelgenio cb4c21c0bb update rust analyzer installer 2022-06-21 16:33:32 -03:00
lelgenio a8169cdc41 firefox: remove titlebar 2022-06-21 15:59:06 -03:00
lelgenio 1026262031 fish: fix errors with prompt when cwd does not exist 2022-06-02 15:26:44 -03:00
lelgenio 6397ca360f waybar: disable bluetooth 2022-06-01 08:41:04 -03:00
lelgenio 1dffd48e38 fish: set NVMDIR 2022-06-01 08:40:47 -03:00
lelgenio ea44da0faf vscode: disable auto formatting 2022-06-01 08:40:21 -03:00
lelgenio 2508fc6a89 suspend: fix to work with systemd 2022-05-21 13:35:18 -03:00
lelgenio cfd141cff4 lsp: RA use the same target dir to check 2022-05-20 21:09:25 -03:00
lelgenio 79f987141b kak: follow kak-lsp master 2022-05-19 09:29:01 -03:00
lelgenio 7527a862f2 lsp: add clojure lsp 2022-05-18 23:10:35 -03:00
lelgenio 78d50445ca kak: show lsp progress on status bar 2022-05-18 23:10:14 -03:00
lelgenio 20d249b59e fix typo 2022-05-18 23:09:55 -03:00
lelgenio d45211ea47 git: enable rerere 2022-05-18 23:09:24 -03:00
lelgenio ba57fb58f4 don't run git so often 2022-05-13 11:19:25 -03:00
lelgenio 57d49c14e7 disable password prompt for gpg agent 2022-05-13 11:19:10 -03:00
lelgenio 00a9b4b55b minor 2022-05-08 00:10:14 -03:00
lelgenio 1d21de79ce lsp: update haskell config 2022-05-08 00:10:14 -03:00
lelgenio e466cab299 mark askama files as jinja 2022-05-08 00:10:14 -03:00
lelgenio 23acfb1fde kak: rust-analyzer now uses default inlay hints 2022-05-08 00:10:14 -03:00
lelgenio 8f15260d48 cron: run vdirsyncer less frequently 2022-05-06 10:52:54 -03:00
lelgenio b0d5c84786 kak: don't error on missing commands for kak-lsp 2022-05-05 13:49:41 -03:00
lelgenio 6fd08dab40 kak: copy all selections to clipboard 2022-05-03 14:16:16 -03:00
lelgenio 5ed4dc9648 git: update push alias 2022-05-03 14:16:16 -03:00
lelgenio e355e5efd3 fish: fix PATH for cargo and yarn 2022-05-02 00:20:44 -03:00
lelgenio 48ec8b5e57 fish: add shortcut for youtube-dl 2022-05-02 00:20:25 -03:00
lelgenio 4ce6ddecda waybar: add shortcut for pulse-sink 2022-05-02 00:20:11 -03:00
lelgenio b2005c5861 config: usec correct method for reloading waybar 2022-04-29 19:53:17 -03:00
lelgenio a9a28656b7 plugins: add option to toggle asdf 2022-04-29 19:41:04 -03:00
lelgenio ba91f1fe55 packages: add arch freeze 2022-04-29 19:40:44 -03:00
lelgenio 7412c7cd9a rust: disable sccache 2022-04-28 00:32:19 -03:00
lelgenio 9e1f9fb2ba systemd: lower limit of restarts per second 2022-04-28 00:32:04 -03:00
lelgenio 0efcbe0b4d minor 2022-04-27 00:51:13 -03:00
lelgenio 7524897191 root: rename elogind to logind and fix path for systemd logind 2022-04-26 20:51:15 -03:00
lelgenio 30594f3d10 grub: add arch and nixos menuentries for grub 2022-04-26 19:37:39 -03:00
lelgenio 6b80ed57d0 sway: restart waybar on reloads on systemd 2022-04-26 19:26:25 -03:00
lelgenio 4e7a55c6f4 fixup! fish: fix loading fzf key binds 2022-04-26 19:26:19 -03:00
lelgenio 39af56aa61 alias: wcf now accespts file paths 2022-04-21 06:56:00 -03:00
lelgenio 680b03819d systemd: auto restart services 2022-04-21 06:55:46 -03:00
lelgenio 93f60bacab root: add systemd configs 2022-04-21 06:55:38 -03:00
lelgenio 8be7323bba systemd: enable kdeconnect on arch 2022-04-16 20:01:03 -03:00
lelgenio 85a3cc0601 vscode: ignore whitespace on diffs 2022-04-14 11:51:30 -03:00
lelgenio 0f75cd1816 fish: fix loading fzf key binds 2022-04-14 11:51:24 -03:00
lelgenio 39c1da87b0 bugfix: fixes for arch 2022-04-14 09:22:29 -03:00
lelgenio c90a3bb44b minor 2022-04-13 00:15:38 -03:00
lelgenio 62aadda8a1 systemd: fix gammastep 2022-04-12 22:50:04 -03:00
lelgenio 7c33d17c17 root: update btrfs flags 2022-04-12 22:44:26 -03:00
lelgenio 71bb6f47fc git: pull user config back into global config 2022-04-12 16:21:18 -03:00
lelgenio 506dbb0f0e add systemd support 2022-04-10 23:29:41 -03:00
lelgenio 54d0b12586 kak: fix rust-analyzer inlay hints 2022-04-09 00:02:59 -03:00
lelgenio 17bc20aefe void: add some packages 2022-04-08 23:31:58 -03:00
lelgenio 6061a502dd vscode: add proprietary vscode config(same as oss) 2022-04-08 22:22:39 -03:00
lelgenio 31f1ef30d0 bugfix: theme not beign detected 2022-04-08 08:03:48 -03:00
lelgenio 1044517e8f git: update work gitdir path 2022-04-07 16:27:41 -03:00
lelgenio 43e0fdf85e scripts: add gdm colemak script 2022-04-04 00:54:29 -03:00
lelgenio 97642cb85c fish: fix naming sessions 2022-04-04 00:53:51 -03:00
lelgenio 181ce3915c config: fix running on non void systems 2022-04-04 00:53:36 -03:00
lelgenio 7c09f32f29 scripts: update factorio saves path 2022-04-01 11:06:32 -03:00
lelgenio 23b60b96a5 fish: fix minor error on prompt 2022-04-01 11:06:32 -03:00
lelgenio 091d90a151 kak: reducec C-d C-u scrolling speed 2022-03-28 14:24:38 -03:00
lelgenio f01ccdcaf8 root: add timezone config 2022-03-26 18:23:07 -03:00
lelgenio cbf6e1d520 kak: alt i makes searches case insensitive 2022-03-25 13:49:16 -03:00
lelgenio 710e812c77 nushell: add nu config 2022-03-23 20:12:52 -03:00
lelgenio 217d46290d minor 2022-03-23 10:33:09 -03:00
lelgenio bcc4ec40d9 config: add some settings for gnome 2022-03-23 01:03:08 +00:00
lelgenio 42e6e90494 fish: add git push alias 2022-03-22 16:29:33 -03:00
lelgenio f77415ca42 kak: add shortcut to edit modified files 2022-03-22 16:25:35 -03:00
lelgenio e9f07b41ee fish: fix remote status icon 2022-03-21 15:29:28 -03:00
lelgenio aad59fcab4 scripts: fix sccache install 2022-03-21 14:24:27 -03:00
lelgenio c4e23d3bcf kak-lsp: add php options 2022-03-21 14:18:18 -03:00
lelgenio 7a66f81f7e fish: use diesel cli 2022-03-20 21:52:28 -03:00
lelgenio 225ade6c03 fish: fix prompt git unpushed indicator 2022-03-20 18:44:11 -03:00
lelgenio 530c2fd5bf rust: update rust config to be more realiable 2022-03-20 17:00:39 -03:00
lelgenio 27983102e4 kak: set good session names 2022-03-19 00:03:24 -03:00
lelgenio 9beaf86991 kak: random color for statusbar text 2022-03-18 17:48:40 -03:00
lelgenio fcfe5a2091 kak: minor changes
Status line faces now are transparent
Case insensitive search
2022-03-18 17:11:15 -03:00
lelgenio 771ce277cd firefox: auto detect devtools theme 2022-03-18 15:30:33 -03:00
lelgenio e00846c5e7 ranger: update config 2022-03-18 15:24:32 -03:00
lelgenio dcd62052a0 waybar: add unpushed repo indicator 2022-03-18 11:56:50 -03:00
lelgenio 962b2c9e1a vscode: update config 2022-03-17 17:20:17 -03:00
lelgenio d531c0ae37 vscode: update config 2022-03-17 14:24:55 -03:00
lelgenio 6858febb05 add acpi handler 2022-03-17 09:45:58 -03:00
lelgenio 8c528fea32 fish: add yarn asdf to PATH 2022-03-15 21:47:04 -03:00
lelgenio 67bae56bd3 scripts: add lock script 2022-03-08 20:40:13 -03:00
lelgenio 8194fca114 root: set swappiness 2022-03-08 20:35:06 -03:00
lelgenio bfeaa5b2b7 scripts: savegame_backup reduce verbosity 2022-03-04 10:05:28 -03:00
lelgenio ca6f41d357 fish: disable nvm for now 2022-03-02 11:14:42 -03:00
lelgenio 3a14d5bf9d sway: fix suspend script 2022-03-02 08:47:26 -03:00
lelgenio fbded1e8a4 fish: install yarn 2022-03-02 08:27:10 -03:00
lelgenio 5f8d4e8f88 kak: use sync formatting to allow erro handling 2022-03-01 11:03:39 -03:00
lelgenio 6a7814e675 scripts: add install trunk script 2022-03-01 10:48:10 -03:00
lelgenio 3db13bc10d dav: add todoman 2022-02-28 23:28:16 -03:00
lelgenio 7b6dac6f19 prefer lsp formatting 2022-02-28 15:29:14 -03:00
lelgenio c046ec6b33 fix rust install 2022-02-28 13:55:04 -03:00
lelgenio 9fd08600de config: fix mako reload 2022-02-28 11:22:59 -03:00
lelgenio 45ef5376f6 config: use single action to reload runit services 2022-02-28 10:12:32 -03:00
lelgenio 12d5f73aae fish: add asdf version manager 2022-02-28 10:12:16 -03:00
lelgenio 24250b7452 root: add visudo 2022-02-27 20:39:28 -03:00
lelgenio c43a2b64d6 fish: fix promp for root 2022-02-27 20:39:18 -03:00
lelgenio 994400fe3f root: add iwd config 2022-02-27 20:29:48 -03:00
lelgenio dedcf874c9 runit: be smarter about how to setup daemons 2022-02-27 20:07:56 -03:00
lelgenio 2032f51e43 config: replace fusuma with libinput gestures 2022-02-27 17:31:39 -03:00
lelgenio 2dd9a2130e foot: update config 2022-02-27 16:33:57 -03:00
lelgenio 901698ddd2 root: fix crypto label udev rule 2022-02-27 15:54:49 -03:00
lelgenio 9bdc810d75 config: use profiles 2022-02-27 13:29:29 -03:00
lelgenio 09aa0c141a sway: enable win+tab 2022-02-24 16:59:29 -03:00
lelgenio c8901181f2 fish: extract plugins config 2022-02-24 11:10:58 -03:00
lelgenio 3353a41950 root: separate out udev rules and kernel modules 2022-02-24 09:36:32 -03:00
lelgenio 129213e46a bmenu: remove grab due to bug 2022-02-24 08:05:42 -03:00
lelgenio b9f90acc65 root: fix broken sysctl 2022-02-23 23:54:45 -03:00
lelgenio eb683b20dc mail: timeout after 10 minutes 2022-02-23 20:38:17 -03:00
lelgenio c39173185f minor 2022-02-22 20:22:31 -03:00
lelgenio 4a8854000e scripts: br create dirs 2022-02-22 20:22:14 -03:00
lelgenio 0624f8e20d add mangohud 2022-02-22 20:22:04 -03:00
lelgenio 9331f31e96 void-freeze: remove package versions 2022-02-20 00:15:32 -03:00
lelgenio c03ba05e16 fish: remove work stuff 2022-02-19 23:56:11 -03:00
lelgenio fd2e4c05aa env: update path for rust stuff 2022-02-19 23:55:54 -03:00
lelgenio 445ba4f89a root: add locale to path for voidlinux 2022-02-19 23:55:25 -03:00
lelgenio 3e41eec9c0 keymap: add vconsole 2022-02-19 23:55:17 -03:00
lelgenio 637227380b kak: user rustfmt to format 2022-02-18 22:47:28 -03:00
lelgenio 63b8e37b35 fish: add plugin manager 2022-02-18 17:15:15 -03:00
lelgenio 85801514dd kak: extract keys to plugin 2022-02-16 21:51:59 -03:00
lelgenio 2ce3948a15 sway: fix suspending 2022-02-16 20:38:58 -03:00
lelgenio bfcd21e3b4 sway: update suspend script 2022-02-14 20:59:10 -03:00
lelgenio 7102da428e mail: use rust script if available 2022-02-13 21:02:31 -03:00
lelgenio 17c942e4b1 sway: remove caffeinated dependency 2022-02-13 20:26:02 -03:00
lelgenio 36f6544242 scripts: update default groups 2022-02-13 11:39:09 -03:00
lelgenio 286287778a root: use rundird 2022-02-13 11:20:30 -03:00
lelgenio 119a831e0c sway: use gammastep to replace redshift 2022-02-13 01:24:38 -03:00
lelgenio bfe6de2495 kak: switch some plugins around 2022-02-12 01:39:20 -03:00
lelgenio 0ba4ea0b93 minor 2022-02-11 23:01:37 -03:00
lelgenio 4ca932b759 root: fixup config 2022-02-11 23:01:19 -03:00
lelgenio c4cf066a18 fish: ignore if git not present 2022-02-10 02:07:43 -03:00
lelgenio b278368fca scripts: rename diffr wrapper 2022-02-09 22:47:37 -03:00
lelgenio 510f67eb9c scripts: fix shebangs 2022-02-08 20:41:09 -03:00
lelgenio 51decdfc62 scripts: savegame_backup disable ignore file generation 2022-02-08 01:00:44 -03:00
lelgenio f80d6412f5 alias: use sudoedit 2022-02-08 01:00:07 -03:00
lelgenio 8d107404cd sway: don't auto move mpv 2022-02-07 22:00:15 -03:00
lelgenio 8379dd5363 tmp changes 2022-02-07 17:54:54 -03:00
lelgenio 99cc97b529 kak: use my own crosshair plugin 2022-02-06 01:26:45 -03:00
lelgenio 0fbc722d9e kak: use my own mirror plugin 2022-02-06 01:02:52 -03:00
lelgenio f2e8bad010 rclone: fixup 2022-02-06 00:33:11 -03:00
lelgenio 80a6bdf2d1 mail: create notify mail service 2022-02-05 17:52:10 -03:00
lelgenio 1c0d53aa21 mail: overhaul email config 2022-02-03 23:55:50 -03:00
lelgenio cfb60eb797 env: work better with sql 2022-02-03 23:41:36 -03:00
lelgenio 862ce79c1a firefox: disable middlemouse.paste 2022-02-02 17:11:43 -03:00
lelgenio 4f39b1fb3f runit: fix mako starting 2022-02-02 17:11:22 -03:00
lelgenio b60af24d89 fish: switch environment variables 2022-02-02 00:00:32 -03:00
lelgenio 14ad330631 screenshot: fix cursor theme 2022-02-02 00:00:15 -03:00
lelgenio 866fe18d9e void.freeze 2022-02-01 20:54:04 -03:00
lelgenio c9661bbdbe void-freeze 2022-02-01 14:38:25 -03:00
lelgenio e3987d0531 config: speed up dotdrop apply 2022-01-31 22:21:55 -03:00
lelgenio c6f58a7e57 fish: add some aliases 2022-01-31 22:21:55 -03:00
lelgenio 57f6cb3611 mutt: add custom command to get pass 2022-01-31 22:21:55 -03:00
lelgenio f6a17f3726 kak: add tera filetype 2022-01-31 22:21:55 -03:00
lelgenio 92d9dee399 waybar: fix seed icon 2022-01-31 22:21:55 -03:00
lelgenio f0af27869b pkgs: add void and npm freeze 2022-01-31 22:21:54 -03:00
lelgenio de2b28b538 pkgs: add void mini 2022-01-31 16:16:57 -03:00
lelgenio e3a7acecb5 kak: update filetypes 2022-01-31 15:55:31 -03:00
lelgenio acbe0239cf env: add flatpak data dirs 2022-01-21 21:58:40 -03:00
lelgenio a774bb98e7 sway: add ocr bind 2022-01-21 18:16:40 -03:00
lelgenio 3c770a2e31 waybar: ignore when mpd is not installed 2022-01-10 15:15:34 -03:00
lelgenio f0ad4b9359 waybar: fix performance and minor tweaks 2022-01-07 23:52:56 -03:00
lelgenio b625acc2e5 pulse: fix hdmi output profile 2021-12-27 10:15:12 -03:00
lelgenio 9b52fa57c7 minor 2021-12-26 20:31:31 -03:00
lelgenio ef61588fc7 root: disable system specific dotfiles 2021-12-26 20:30:56 -03:00
lelgenio 1a5d5c0568 gamesave: add carrion 2021-12-26 20:30:29 -03:00
lelgenio 79e08d9550 runit: fix libexec path 2021-12-12 19:29:10 -03:00
lelgenio ccd519e66f waybar: fix bluetooth color 2021-12-12 19:28:41 -03:00
lelgenio f5f3954ebf pulse-sink: update to be a fish script 2021-12-11 10:48:51 -03:00
lelgenio 0dee833dcf waybar: add bluetooth 2021-12-11 01:33:51 -03:00
lelgenio 41d9da9109 dotdrop: auto clone completions 2021-12-10 20:24:06 -03:00
lelgenio b10ef6ac39 sway: export variables to dbus 2021-12-10 20:23:43 -03:00
lelgenio 91272f517e scripts: fix bashisms 2021-12-10 20:23:33 -03:00
lelgenio f733fe22e4 kak: switch surround extension 2021-12-10 20:21:28 -03:00
lelgenio be307d1237 runit fix libexec path 2021-12-08 10:51:27 -03:00
lelgenio 65c9774be7 terminal: fix missing window class 2021-12-08 02:23:10 -03:00
lelgenio 20957a948c config: remove bashisms 2021-12-08 02:23:10 -03:00
lelgenio f4adb3c4ef vdirsyncer: fix running every minute after midnight 2021-12-08 02:23:10 -03:00
lelgenio a1162d0e57 theme: add orchis theme 2021-12-08 00:06:42 -03:00
lelgenio fcca15ecb7 waybar: fix unquoted string 2021-12-08 00:04:14 -03:00
lelgenio 3b6c652038 config: remove git projects 2021-12-08 00:03:55 -03:00
lelgenio 6ffad17c49 fish: fix fzf keybinds 2021-12-07 21:50:18 -03:00
lelgenio 514bd598c4 qt: use qt5ct with gtk2 style 2021-12-07 21:16:14 -03:00
lelgenio 7de7c71687 mpv: fix syntax error on install script 2021-12-07 21:16:00 -03:00
lelgenio 03763a612d config: handle missing rclone 2021-12-07 21:15:23 -03:00
lelgenio ecc685531d runit: fix missing creating new folder 2021-12-07 21:02:34 -03:00
lelgenio 62ac3a11c6 fish: don't error when fzf is missing 2021-12-07 21:02:34 -03:00
lelgenio c9abf23171 gammastep: don't error when curl is missing 2021-12-07 21:02:34 -03:00
lelgenio 25453694f9 gtk: fix cursor size 2021-12-07 21:02:32 -03:00
lelgenio 0ba44075eb sway: assign lutris and file picker 2021-12-07 21:01:45 -03:00
lelgenio 0b3175a068 mbsync: add timeout 2021-12-07 21:01:45 -03:00
lelgenio 688088ba0b terminal: allow setting class 2021-12-07 21:01:45 -03:00
lelgenio b6d5b09932 kak: speed up lsp install 2021-12-07 21:01:45 -03:00
lelgenio 935fe52f65 gamesave: add some games 2021-12-07 21:01:45 -03:00
lelgenio c90b77d44a kak: format javascript 2021-12-07 21:01:45 -03:00
lelgenio a367bdb346 bmenu: use dhist wrap 2021-12-07 21:01:45 -03:00
lelgenio 42f3d649e6 cron: discover new vdirs 2021-12-07 21:01:45 -03:00
lelgenio 2cc1f70805 fish: quit any runsvdir before starting sway 2021-12-07 21:01:45 -03:00
lelgenio fa849710a8 gpg: fix finding gpg-preset-passphrase 2021-12-07 21:01:27 -03:00
lelgenio 953c4ac318 fish: open many files 2021-12-07 20:50:27 -03:00
lelgenio 8a413ee398 kak: add tree command and fix some bugs 2021-12-07 20:49:45 -03:00
lelgenio d6b82c0fb0 firefox: don't hardcode some settings 2021-12-07 20:44:25 -03:00
lelgenio c35ba50557 youtube: switch to youtube-dl 2021-12-07 20:41:19 -03:00
lelgenio f1a30ce286 sway: assign dishonored to games workspace 2021-11-12 11:04:42 -03:00
lelgenio 03795e14f9 fonts: add missing braille font 2021-11-12 11:04:21 -03:00
lelgenio e7be236cce games: update gaming configs 2021-11-11 17:54:31 -03:00
lelgenio c34c0e50d2 sway: fix dbus setup 2021-11-11 17:54:21 -03:00
lelgenio 66369b78f5 lsp: add php lsp to meta 2021-11-11 17:52:57 -03:00
lelgenio d567a3f77a dbus: fix tray 2021-11-02 20:52:03 -03:00
lelgenio c4c73bafee fix qt5 appearance 2021-10-30 01:44:18 -03:00
lelgenio f0312168d0 root: fix zram 2021-10-30 01:43:59 -03:00
lelgenio a887e0ddd3 root: fix separation 2021-10-29 00:19:46 -03:00
lelgenio 4314b39af6 pulse: allow sending sound to phone 2021-10-29 00:19:10 -03:00
lelgenio fcc16b734c theme: fix qt style 2021-10-28 21:56:44 -03:00
lelgenio 97adb26a97 theme: use Orchis theme 2021-10-28 21:56:39 -03:00
lelgenio 14cf8609db meta: fix installing as root and packages from AUR 2021-10-28 21:55:51 -03:00
lelgenio c400dafbd1 exa: use gitignore for tree 2021-10-28 15:01:53 -03:00
lelgenio 444d11c309 config: update light theme 2021-10-28 15:01:20 -03:00
lelgenio d8a58fad41 root: don't install root stuff automatically 2021-10-28 13:45:23 -03:00
lelgenio e68bdf6cec kak: build lsp from source 2021-10-28 13:44:47 -03:00
lelgenio e59c5b8ccb fix small mistakes 2021-10-23 23:02:59 -03:00
lelgenio 83eb1f1ede kak: add c formatter 2021-10-22 23:55:04 -03:00
lelgenio 2764ccc54f vm: increase memory 2021-10-22 23:54:49 -03:00
lelgenio 780d086058 root: increase swapfile size 2021-10-22 23:54:27 -03:00
lelgenio 80ffdf4039 fish: disable khal list on startup 2021-10-22 23:53:55 -03:00
lelgenio 665b12a7aa neomutt: group threads 2021-10-22 23:51:04 -03:00
lelgenio ff2e358aa5 sway: bind mod+scroll to switch workspaces 2021-10-22 20:35:29 -03:00
lelgenio 6cf627c123 neomutt: fix sidebar not showing unread highlight 2021-10-20 15:33:41 -03:00
lelgenio e53ad18e5e alacritty: fix find next search result 2021-10-19 20:29:45 -03:00
lelgenio c1dda1e13f savegame: add hollow knight 2021-10-10 19:39:47 -03:00
lelgenio a3c11f1d7a sway: assign hollow knight 2021-10-10 19:34:47 -03:00
lelgenio 7a358afc5f blender: don't template version because it's slow 2021-10-10 00:20:03 -03:00
lelgenio 36f1418bb8 Revert "pacman: add chaotic aur repo"
This reverts commit 85c439898d.
2021-10-10 00:19:02 -03:00
lelgenio f58c755441 runit: kill any telegram instances before start 2021-10-09 14:58:00 -03:00
lelgenio f046ed2a8f dav: add many calendars 2021-10-08 01:21:30 -03:00
lelgenio c83c22bfe0 deemix: don't download album art 2021-09-25 21:43:00 -03:00
lelgenio 98c2989589 scripts: use dhist 2021-09-23 21:00:56 -03:00
lelgenio 85c439898d pacman: add chaotic aur repo 2021-09-23 21:00:35 -03:00
lelgenio ea495b6f51 kak: fix lsp 2021-09-23 21:00:06 -03:00
lelgenio 06534f41d5 fish: use only fd to find files 2021-09-23 20:58:19 -03:00
lelgenio a76acb0a93 kak: add find line command 2021-09-23 20:58:19 -03:00
lelgenio b42eebf3b1 config use gammastep 2021-09-23 20:58:19 -03:00
lelgenio 2f6fbdb731 fish: don't source files if not interactive 2021-09-16 19:17:20 -03:00
lelgenio 59f3a32292 kak: update formatting options 2021-09-16 19:16:03 -03:00
lelgenio 2d9d33a859 firefox: disable csd 2021-09-16 19:15:41 -03:00
lelgenio 6638d461a2 alacritty: hide when typing 2021-09-16 19:15:04 -03:00
lelgenio 56b904ccfa kak: add cursor focus plugin 2021-09-16 19:14:40 -03:00
lelgenio 106f368446 rust: update formatting and lsp settings 2021-09-16 19:13:59 -03:00
lelgenio ff740e16d5 vscode: ignore vendor dir 2021-09-16 19:13:25 -03:00
lelgenio bdb101fb87 runit: fixes 2021-09-16 19:13:08 -03:00
lelgenio 7185f73b47 config: add starship config 2021-09-09 15:39:26 -03:00
lelgenio 2a3a6d9f52 config: disable zram 2021-09-09 15:29:49 -03:00
lelgenio 937f745b43 kak: allow updating mode functions 2021-09-09 15:29:43 -03:00
lelgenio 75aa7204be wpass: add delay 2021-09-06 23:51:02 -03:00
lelgenio 5b1362e686 root: add tlp 2021-09-06 23:51:02 -03:00
lelgenio da19ae06e9 kak: only list dirs for edit 2021-09-06 23:51:02 -03:00
lelgenio d15c78fe17 fish: sort ls by oldest 2021-09-06 23:51:02 -03:00
lelgenio 0b4d249702 firefox: remove accent color from title bar 2021-09-06 23:51:02 -03:00
lelgenio eee3921022 fuzzle: add fuzzel 2021-09-06 23:51:02 -03:00
lelgenio be53f1b7d8 add foot config 2021-09-04 00:54:33 -03:00
lelgenio 0e37f9bad1 zram: fix quotation and decrease memory 2021-09-03 21:15:06 -03:00
lelgenio 533916999c fstab: add tmpfs to /tmp 2021-09-03 21:14:35 -03:00
lelgenio 5ba6864964 firefox: enable hardware acceleration 2021-09-03 21:13:49 -03:00
lelgenio 4ede4792c3 kak: update lsp 2021-09-02 18:40:39 -03:00
lelgenio ee3b2c816a kak: fix end of line insert bind 2021-08-27 11:51:55 -03:00
lelgenio cf7120d836 qemu: rewrite windows script 2021-08-26 17:51:36 -03:00
lelgenio 9088b4058c bmenu: reduce IO for cache 2021-08-25 08:34:46 -03:00
lelgenio b9e3f52761 kak: add bind to toggle lsp info 2021-08-24 18:14:51 -03:00
lelgenio 21cd2b1e24 fish: fix work aliases 2021-08-24 18:14:25 -03:00
lelgenio 44f0cd9077 fish: fix incorrect creation of 'tee' text file 2021-08-24 18:14:03 -03:00
163 changed files with 3673 additions and 966 deletions

252
arch.freeze Normal file
View File

@ -0,0 +1,252 @@
alacritty
alsa-utils
archlinux-appstream-data-pamac
autoconf
automake
autopep8
base
bash-language-server
bat
bc
bemenu-wayland
binutils
bison
blade-formatter
blender
bluez-plugins
bluez-utils
bpython
bpytop
breeze-obsidian-cursor-theme
btrfs-progs
caffeinated
capitaine-cursors
cargo-edit
cargo-watch
clyrics
composer
cronie
deemix
deluge
deluge-gtk
dhcpcd
diffr
direnv
discord_arch_electron
docker
docker-compose
dotdrop
efibootmgr
emmet-cli
engrampa
entr
exa
fail2ban
fakeroot
fd
ffmpegthumbnailer
firefox
fish
flex
fuzzel
fzf
gammastep
gcc
gdb
gimp
git
gnu-netcat
grim
grub
gst-editing-services
gst-libav
gst-plugin-gtk
gst-plugin-pipewire
gst-plugins-bad
gst-plugins-bad-libs
gst-plugins-base
gst-plugins-base-libs
gst-plugins-good
gstreamer
gtk-engine-murrine
gtk3-nocsd-legacy-git
helix
htop
hunspell-pt-br
inetutils
intel-compute-runtime
intel-gpu-tools
intel-media-driver
intel-ucode
inter-font
inxi
iotop
ipython
isync
iwd
j4-dmenu-desktop
jitsi-meet-desktop-bin
kakoune
kanshi
kdeconnect
khal
khard
kitty
kvantum
lib32-libappindicator-gtk2
lib32-libappindicator-gtk3
libappindicator-gtk2
libopenraw
libpipewire02
libreoffice-fresh
libreoffice-fresh-pt-br
libtool
libva-intel-driver
libva-mesa-driver
libva-utils
libva-vdpau-driver
libvdpau-va-gl
light
linux-firmware
linux-zen
lutris
lutris-wine-meta
lynx
m4
make
mako
man-db
mariadb
mesa-vdpau
meson
micro
mpc
mpd
mpdris2
mpv
mtr
ncmpcpp
neofetch
neomutt
nerd-fonts-fira-code
nerd-fonts-hack
net-tools
networkmanager
nmap
nodejs-intelephense
nodejs-less
nodejs-less-plugin-clean-css
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
ntp
obs-studio
orchis-kde-theme-git
orchis-theme-git
otf-font-awesome
p7zip
pacman-contrib
pamixer
papirus-folders
papirus-icon-theme
papirus-libreoffice-theme
paru
pass
patch
pavucontrol
php7
php7-apache
phpmyadmin
pikaur
pipewire-alsa
pipewire-jack
pipewire-media-session
pkgconf
pkgfile
playerctl
postgresql
powertop
pqiv
prettier
pulseaudio
pulseaudio-alsa
pulsemixer
python-pydocstyle
python-pyflakes
python-pylint
python-pynvim
python-rope
qemu
qt5-styleplugins
qt5ct
qt6ct
qt6gtk2
qutebrowser
ranger
rclone
reflector
ripgrep
rsync
ruby-fusuma
rust-analyzer
sassc
sd
shfmt
slurp
so
speedtest-cli
sshfs
starship
steam-native-runtime
sudo
swappy
sway
swayidle
swaylock
syncthing
tealdeer
telegram-desktop
texinfo
thunar
thunar-archive-plugin
thunar-vcs-plugin
thunar-volman
tlp
tor
translate-shell
transmission-cli
trash-cli
ttf-dejavu
ttf-font-awesome
ttf-liberation
ttf-ms-fonts
tumbler
tuxi-git
udiskie
uglify-js
urlview
vdirsyncer
vdpauinfo
visual-studio-code-bin
vscode-css-languageserver
vscode-html-languageserver
vscode-json-languageserver
vulkan-intel
vulkan-mesa-layers
vulkan-tools
waybar
wf-recorder
wget
which
wine-mono
winetricks
wl-clipboard
wtype
xdg-desktop-portal-wlr
xorg-xwayland
xsettingsd
yt-dlp
zathura
zathura-pdf-mupdf
zoxide

3
arch.freeze.fish Executable file
View File

@ -0,0 +1,3 @@
#!/bin/env fish
pacman -Qqe > arch.freeze

View File

@ -10,8 +10,9 @@ variables:
###############################################################
username: lelgenio
cursor_size: 24
shell: fish
editor: kak
cursor_size: 24
tabs: false
indent_width: 4
key_layout: colemak
@ -21,13 +22,15 @@ variables:
bar: waybar
bar_pos: top
tmux: false
supervisor: runit
starship: false
asdf: false
user_svdir: $HOME/.config/runit
accent_fg: '#ffffff'
font:
mono: Hack Nerd Font
interface: Inter
interface: Liberation Sans
size:
small: 12
medium: 14
@ -35,23 +38,30 @@ variables:
mail:
personal:
user: lelgenio
mail: disroot.org
from: Leonardo Eugênio
user: lelgenio@disroot.org
imap: disroot.org
smtp: disroot.org
pass: disroot.org
work:
from: Leonardo Eugênio
user: leonardo@wopus.com.br
mail: wopus.com.br
imap: imap.wopus.com.br
smtp: smtp.wopus.com.br
pass: Work/wopus_email
plymouth: true
zram: true
filesystem:
partitions:
"/": /mnt/btrfs-root
"/@home": /home
"/@sql": /var/lib/mysql
"/@swap": /swap
nextcloud:
name: disroot
user: lelgenio
host: cloud.disroot.org
pass: disroot.org
###############################################################
profiles:
###############################################################
###############################################################
# Themes
###############################################################
dark:
@ -68,6 +78,7 @@ profiles:
txt: '#FFFFFF'
nontxt: '#252525'
random_range: "[a-f]"
normal:
black: '#404040'
red: '#AB4642'
@ -86,16 +97,17 @@ profiles:
variables:
background: ~/.local/share/backgrounds/assembly_light.png
opacity: 0.95
opacity: 0.98
color:
type: light
bg: '#EEEEEE'
bg: '#FFFFFF'
bg_light: '#A0A0A0'
bg_dark: '#E0E0E0'
bg_dark: '#EEEEEE'
txt: '#303030'
nontxt: '#D0D0D0'
random_range: "[0-4]"
normal:
black: '#555555'
red: '#D54E53'
@ -115,7 +127,7 @@ profiles:
# Accents
###############################################################
accent_red: {variables: {accent_color: "#D9534F"}}
accent_red: {variables: {accent_color: "#F44336"}}
accent_green: {variables: {accent_color: "#159828"}}
accent_blue: {variables: {accent_color: "#3465A3"}}
accent_pink: {variables: {accent_color: "#E91E63"}}
@ -141,6 +153,7 @@ profiles:
tabR: Y
insertMode: s
insertQuit: kk
menu: s
qwerty:
variables:
@ -156,26 +169,107 @@ profiles:
tabR: O
insertMode: i
insertQuit: jj
menu: d
###############################################################
# Main profile
common:
###############################################################
main:
variables:
gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
# gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
gtk_theme: "Orchis-{{@@ accent_color_name.capitalize() @@}}-{{@@ color.type.capitalize() @@}}"
kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}"
# icon_theme: "Mint-Y-{{@@ 'Dark' if color.type == 'dark' else 'Darker' @@}}-{{@@ accent_color_name.capitalize() @@}}"
icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}"
cursor_theme: "capitaine-cursors"
dotfiles:
- ALL
cursor_theme: "Breeze_Obsidian"
# cursor_theme: "Breeze_Snow"
# cursor_theme: "capitaine-cursors"
include:
- "{{@@ key_layout @@}}"
- "{{@@ color_type @@}}"
- "accent_{{@@ accent_color_name @@}}"
dotfiles:
- alacritty
- backgrounds
- bat
- blender
- clang-format
- code-oss
- crontab
- dav
- deemix
- firefox
- fish
- fonts
- foot
- git
- gpg-agent
- i3
- imv
- kak-lsp
- kakoune
- kanshi
- kitty
- lesskey
- libinput-gestures
- mako
- mangohud
- mime
- mpd
- mpv
- mutt
- mypy
- nvim
- pqivrc
- prettierrc
- qutebrowser
- ranger
- rclone
- rustfmt
- scripts
- starship
- sway
- swaylock
- telegram-theme
- theme
- thunar
- tmux
- vscode
- waybar
- wofi
- xdpw
- zathura
###############################################################
# Os profiles
###############################################################
voidlinux:
include:
- "common"
variables:
supervisor: runit
dotfiles:
- runit_services
artixlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
variables:
supervisor: runit
archlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
- systemd
variables:
supervisor: systemd
###############################################################
config:
@ -201,18 +295,8 @@ dynvariables:
color_type: test -n "$_COLOR_TYPE" && echo "$_COLOR_TYPE" || echo dark
accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red
firefox_profile: cat ~/.mozilla/firefox/profiles.ini | grep '^Default' | head -n1 | cut -d= -f2
blender_version: |
pacman -Qi blender | grep "^Version" | cut -d: -f3 | cut -d. -f1-2 ||
blender --version | head -n1 | sed -E 's|^Blender (.*)\..*|\1|g'
phisical_uuid: sudo blkid /dev/sda2 -s UUID -o value
decrypted_uuid: sudo blkid /dev/mapper/main -s UUID -o value
boot_uuid: sudo blkid /dev/sda1 -s UUID -o value
root_subvol: echo "/@$(lsb_release -i | cut -f 2)-root"
nproc: nproc
memory_size: env LC_ALL=C free -b | awk '/^Mem:/ {print $2}'
deezer_arl: pass show Entertainment/Deezer | awk '/^arl:/ {print $2}'
main_password: _pass_get "{{@@ mail.personal.mail @@}}" | base64
main_password: _pass_get "{{@@ mail.personal.pass @@}}" | base64
###############################################################
actions:
@ -226,17 +310,32 @@ actions:
true
reload_sway: swaymsg reload & disown
reload_mako: pkill -SIGHUP mako
reload_waybar: env SVDIR=$HOME/.config/runit/sv sv hup waybar
reload_xsettingsd: env SVDIR=$HOME/.config/runit/sv sv hup xsettingsd
reload_mako: makoctl reload
reload_waybar: pkill -SIGUSR2 waybar
reload_runit_sv:
which sv 2> /dev/null &&
env SVDIR="{{@@ user_svdir @@}}" sv reload "{0}" ||
true
restart_systemd_sv:
systemctl --user restart "${0}"
enable_systemd_sv:
systemctl --user enable --now "{0}" &
groups_install: _groups_install
lesskey: lesskey
reload_fish: pkill -SIGHUP fish
dotdrop_completions: |
comp_path="$HOME/.config/fish/completions/dotdrop.fish"
comp_url="https://raw.githubusercontent.com/deadc0de6/dotdrop/master/completion/dotdrop.fish"
if ! test -f "$comp_path"; then
wget -qO "$comp_path" "$comp_url" ||
rm "$comp_path"
fi
reload_qutebrowser: qutemsg config-source & disown
vimplug: >
nvim +PlugUpgrade +PlugInstall +PlugUpdate +qall
&> /dev/null &
> /dev/null &
reload_kakoune: >
kak -l | xargs -r -n1
@ -247,39 +346,30 @@ actions:
crontab ~/.local/share/crontab
vdirsyncer: |
yes | vdirsyncer discover & disown
yes | vdirsyncer discover &
lnMail: |
ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc
ln -fs ~/.config/neomutt/urlview ~/.urlview
ln -fs ~/.config/neomutt/msmtprc ~/.msmtprc
ranger_icons:
git clone
https://github.com/alexanderjeurissen/ranger_devicons
~/.config/ranger/plugins/ranger_devicons
root_install: |
sudo dotdrop install -f -p main \
-c "{{@@ _dotfile_abs_dst @@}}/config.yaml" ||
rm -r "{{@@ _dotfile_abs_dst @@}}"
start_services: >
_runit_config "{{@@ _dotfile_abs_dst @@}}"
dbus-daemon xsettingsd
fusuma gpg-agent
geoclue redshift light mako
mpd mpDris2 telegram
pipewire pipewire-media-session xdpw
pulseaudio kdeconnectd kdeconnect-indicator
kanshi swayidle waybar
syncthing udiskie
# bootstrap scripts
pam_gpg: _pam-gpg-strap
make_theme: _make_theme
install_meta: install_meta
qt6ct: |
cd "$HOME/.config"
rm -rf "qt6ct/"
cp -r "qt5ct/" "qt6ct"
mv "qt6ct/qt5ct.conf" "qt6ct/qt6ct.conf"
install_arch_meta: install_arch_meta
install_mpv: _mpv_install
filter_backgrounds: _backgrouds_filter
git_projects: _git_projects
apply_gsetting_gnome: gsettings set org.gnome.desktop.interface {0} {1}
###############################################################
dotfiles: # Just a bunch of paths and action mappings
@ -303,13 +393,16 @@ dotfiles: # Just a bunch of paths and action mappings
src: fish
dst: ~/.config/fish
actions:
- dotdrop_completions
- reload_fish
starship:
src: starship.toml
dst: ~/.config/starship.toml
git:
src: git
dst: ~/.config/git
actions:
- git_projects
mako:
src: mako.conf
@ -394,12 +487,36 @@ dotfiles: # Just a bunch of paths and action mappings
dst: ~/.local/bin
actions:
- make_theme
- groups_install
services:
runit_services:
src: runit_sv
dst: ~/.config/runit/sv
dst: ~/.config/runit
systemd:
src: systemd
dst: ~/.config/systemd/user
actions:
- start_services
- enable_systemd_sv caffeinated.service
- enable_systemd_sv gammastep.service
- enable_systemd_sv kanshi.service
- enable_systemd_sv mako.service
- enable_systemd_sv mpDris2.service
- enable_systemd_sv notify-mail.service
- enable_systemd_sv pipewire.service
- enable_systemd_sv kdeconnectd.service
- enable_systemd_sv kdeconnect-indicator.service
- enable_systemd_sv sway-idle.service
- enable_systemd_sv syncthing.service
- enable_systemd_sv telegram-desktop.service
- enable_systemd_sv waybar.service
- enable_systemd_sv xsettingsd.service
libinput-gestures:
src: libinput-gestures.conf
dst: ~/.config/libinput-gestures.conf
actions:
- reload_runit_sv libinput-gestures
deemix:
src: deemix
@ -429,7 +546,12 @@ dotfiles: # Just a bunch of paths and action mappings
src: theme
dst: ~/
actions:
- reload_xsettingsd
- qt6ct
- restart_systemd_sv xsettingsd
- reload_runit_sv xsettingsd
- apply_gsetting_gnome gtk-theme '{{@@ gtk_theme @@}}'
- apply_gsetting_gnome icon-theme '{{@@ icon_theme @@}}'
- apply_gsetting_gnome cursor-theme '{{@@ cursor_theme @@}}'
prettierrc:
src: prettierrc.toml
@ -449,11 +571,11 @@ dotfiles: # Just a bunch of paths and action mappings
actions:
- pam_gpg
packages:
arch-packages:
src: meta.PKGBUILD
dst: ~/.local/share/metapkg/PKGBUILD
actions:
- install_meta
- install_arch_meta
kak-lsp:
src: kak-lsp.toml
@ -461,14 +583,7 @@ dotfiles: # Just a bunch of paths and action mappings
rustfmt:
src: rustfmt.toml
dst: ~/.rustfmt.toml
root:
src: ../root
dst: ~/.local/share/root_files
actions:
- root_install
dst: ~/.config/rustfmt/rustfmt.toml
###############################################################
# Big pahts
@ -478,13 +593,17 @@ dotfiles: # Just a bunch of paths and action mappings
src: vscode.jsonc
dst: "~/.config/Code - OSS/User/settings.json"
vscode:
src: vscode.jsonc
dst: "~/.config/Code/User/settings.json"
telegram-theme:
src: ./telegram.palette
dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
blender:
"src": blenderTheme.xml
"dst": "~/.config/blender/{{@@ blender_version @@}}/scripts/presets/interface_theme/blenderTheme.xml"
"dst": "~/.config/blender/scripts/presets/interface_theme/blenderTheme.xml"
firefox:
src: firefox
@ -496,9 +615,10 @@ dotfiles: # Just a bunch of paths and action mappings
alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" }
bat: { "src":"bat", "dst":"~/.config/bat/config" }
fusuma: { "src":"fusuma.yml", "dst":"~/.config/fusuma/config.yml" }
foot: { "src": "foot.ini", "dst": "~/.config/foot/foot.ini" }
imv: { "src":"imv.conf", "dst":"~/.config/imv/config" }
kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" }
mangohud: { "src":"MangoHud.conf", "dst":"~/.config/MangoHud/MangoHud.conf" }
mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" }
paru: { "src":"paru.conf", "dst":"~/.config/paru/paru.conf" }
pqivrc: { "src":"pqiv.ini", "dst":"~/.config/pqivrc" }

1
dotfiles/MangoHud.conf Normal file
View File

@ -0,0 +1 @@
full,histogram

View File

@ -4,6 +4,11 @@
# Behaviour
############################################################
shell:
program: /usr/bin/env
args:
- {{@@ shell @@}}
selection:
save_to_clipboard: true
@ -67,7 +72,9 @@ colors:
draw_bold_text_with_bright_colors: false
background_opacity: {{@@ opacity @@}}
window:
opacity: {{@@ opacity @@}}
dynamic_padding: true
############################################################
@ -86,6 +93,8 @@ hints:
key: U
mods: Control|Shift
mouse:
hide_when_typing: true
############################################################
key_bindings:
@ -96,6 +105,7 @@ key_bindings:
- { key: {{@@ key.right | upper @@}}, mode: Vi|~Search, action: Right }
- { key: {{@@ key.insertMode | upper @@}}, mode: Vi|~Search, action: ScrollToBottom }
- { key: {{@@ key.insertMode | upper @@}}, mode: Vi|~Search, action: ToggleViMode }
- { key: {{@@ key.next | upper @@}}, mode: Vi|~Search, action: SearchNext }
- { key: Up, mods: Control|Shift, mode: ~Alt, action: ScrollLineUp, }
- { key: Down, mods: Control|Shift, mode: ~Alt, action: ScrollLineDown }
- { key: PageUp, mods: Control|Shift, mode: ~Alt, action: ScrollHalfPageUp }

View File

@ -5,7 +5,9 @@ PATH={{@@ env['PATH'] @@}}
#minute hour day month day_week cmd
*/30 * * * * forecast json
*/5 * * * * checkmail update
*/5 * * * * vdirsyncer sync
*/30 * * * * vdirsyncer sync
*/30 * * * * pass git pull --rebase; pass git push
0 */6 * * * yes | vdirsyncer discover
*/30 * * * * savegame_backup
*/30 * * * * _gpg-unlock
# {%@@ endif @@%} #

View File

@ -7,14 +7,33 @@
[default]
default_calendar = calendar_local
default_calendar = calendar_personal
highlight_event_days = true
[calendars]
[[calendar_local]]
path = ~/.local/share/calendars/personal
[[calendar_personal]]
path = ~/.local/share/calendars/personal/
color = 'dark magenta'
[[calendar_work]]
path = ~/.local/share/calendars/trabalho/
color = 'dark red'
[[calendar_uni]]
path = ~/.local/share/calendars/fsg/
color = 'dark blue'
[[calendar_birthdays]]
path = ~/.local/share/calendars/contact_birthdays/
color = 'yellow'
# [[calendar_local]]
# path = ~/.local/share/calendars/*/
# type = discover
# color = 'dark red'
[[contacts_local]]
path = ~/.local/share/contacts/contacts
path = ~/.local/share/contacts/*/
type = discover
[locale]
@ -36,4 +55,8 @@ today= g
other = s
{%@@ endif @@%}
# [highlight_days]
# # color = ''
# default_color = 'light red'
# vim: ft=toml

View File

@ -0,0 +1,8 @@
# {{@@ header() @@}}
# A glob expression which matches all directories relevant.
path = "~/.local/share/calendars/*"
date_format = "%Y-%m-%d"
time_format = "%H:%M"
default_list = "Personal"
default_due = 48

View File

@ -53,9 +53,9 @@ fileext = ".vcf"
[storage contacts_remote]
type = "carddav"
url = "https://cloud.{{@@ mail.personal.mail @@}}/remote.php/dav/addressbooks/users/{{@@ mail.personal.user @@}}/contacts/"
username = "{{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}"
password.fetch = [ "command", "_pass_get", "{{@@ mail.personal.mail @@}}" ]
url = "https://{{@@ nextcloud.host @@}}/remote.php/dav/addressbooks/users/{{@@ nextcloud.user @@}}/"
username = "{{@@ nextcloud.user @@}}"
password.fetch = [ "command", "_pass_get", "{{@@ nextcloud.pass @@}}" ]
# CALDAV
[pair calendar]
@ -73,8 +73,8 @@ fileext = ".ics"
[storage calendar_remote]
type = "caldav"
url = "https://cloud.{{@@ mail.personal.mail @@}}/remote.php/dav/calendars/{{@@ mail.personal.user @@}}/personal/"
username = "{{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}"
password.fetch = [ "command", "_pass_get", "{{@@ mail.personal.mail @@}}" ]
url = "https://{{@@ nextcloud.host @@}}/remote.php/dav/calendars/{{@@ nextcloud.user @@}}/"
username = "{{@@ nextcloud.user @@}}"
password.fetch = [ "command", "_pass_get", "{{@@ nextcloud.pass @@}}" ]
# vim: ft=ini

View File

@ -9,8 +9,8 @@
"artistNameTemplate": "%artist%",
"createAlbumFolder": true,
"albumNameTemplate": "%album%",
"createCDFolder": true,
"createStructurePlaylist": true,
"createCDFolder": false,
"createStructurePlaylist": false,
"createSingleFolder": true,
"padTracks": true,
"paddingSize": "0",
@ -30,9 +30,9 @@
"embeddedArtworkPNG": false,
"localArtworkSize": 1400,
"localArtworkFormat": "jpg",
"saveArtwork": true,
"saveArtwork": false,
"coverImageTemplate": "cover",
"saveArtworkArtist": true,
"saveArtworkArtist": false,
"artistImageTemplate": "folder",
"jpegImageQuality": 80,
"dateFormat": "Y-M-D",

View File

@ -10,10 +10,10 @@
:root {
--arrowpanel-menuitem-padding: 2px !important;
}
.titlebar-color {
/* .titlebar-color {
color: -moz-accent-color-foreground;
background-color: -moz-accent-color;
}
} */
.tab-background {
border-radius: 0px 0px !important;
margin-bottom: 0px !important;
@ -80,3 +80,8 @@
display: none;
}
/*** END Remove webRTC indicator ***/
/*** BEGIN Remove title bar ***/
#titlebar {
display: none;
}
/*** END Remove title bar ***/

View File

@ -10,6 +10,7 @@
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true);
user_pref("mousewheel.with_alt.action", 1);
user_pref("mousewheel.with_alt.delta_multiplier_y", 5);
user_pref("middlemouse.paste", false);
// don't show menu bar on Alt
user_pref("ui.key.menuAccessKeyFocuses", false);
@ -49,17 +50,23 @@ user_pref("browser.proton.modals.enabled", false);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// Ui customization
user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[\"ublock0_raymondhill_net-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"addon_darkreader_org-browser-action\",\"tab-session-manager_sienori-browser-action\",\"fxa-toolbar-menu-button\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"chrome-gnome-shell_gnome_org-browser-action\",\"_contain-facebook-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"addon_darkreader_org-browser-action\",\"_e4a8a97b-f2ed-450b-b12d-ee082ba24781_-browser-action\",\"_48748554-4c01-49e8-94af-79662bf34d50_-browser-action\",\"tab-session-manager_sienori-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"widget-overflow-fixed-list\"],\"currentVersion\":17,\"newElementCount\":5}");
// user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[\"ublock0_raymondhill_net-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"addon_darkreader_org-browser-action\",\"tab-session-manager_sienori-browser-action\",\"fxa-toolbar-menu-button\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"chrome-gnome-shell_gnome_org-browser-action\",\"_contain-facebook-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"addon_darkreader_org-browser-action\",\"_e4a8a97b-f2ed-450b-b12d-ee082ba24781_-browser-action\",\"_48748554-4c01-49e8-94af-79662bf34d50_-browser-action\",\"tab-session-manager_sienori-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"widget-overflow-fixed-list\"],\"currentVersion\":17,\"newElementCount\":5}");
user_pref("browser.tabs.drawInTitlebar", false);
user_pref("devtools.chrome.enabled", true);
user_pref("devtools.command-button-measure.enabled", true);
user_pref("devtools.command-button-rulers.enabled", true);
user_pref("devtools.dom.enabled", true);
user_pref("devtools.editor.keymap", "emacs");
// user_pref("devtools.editor.keymap", "emacs");
user_pref("devtools.editor.tabsize", 4);
user_pref("devtools.inspector.activeSidebar", "ruleview");
user_pref("devtools.inspector.three-pane-enabled", false);
user_pref("devtools.responsive.leftAlignViewport.enabled", true);
user_pref("devtools.theme", "dark");
user_pref("devtools.theme", "auto");
// hardware acceleration
user_pref("media.ffmpeg.vaapi.enabled", "true");
user_pref("media.ffvpx.enabled", "false");
user_pref("media.rdd-vpx.enabled", "false");
user_pref("gfx.webrender.compositor.force-enabled", "true");

View File

@ -16,12 +16,14 @@ function calias
abbr -g mpn ncmpcpp
abbr -g dot "dotdrop install -f"
set -l root_cfg (dirname $DOTDROP_CONFIG)/root
alias rootdrop 'sudo dotdrop install -f -c "$root_cfg"'
cabbr ytd "yt-dlp --merge-output-format mp4"
cabbr p emerge
if command -qs xbps-install
cabbr p sudo xbps-install -y
end
cabbr p pacman
cabbr p pikaur
cabbr p yay
@ -32,9 +34,30 @@ cabbr p paru
# Editor
################################################################
{%@@ if editor == "kak" @@%}
function kak --wraps kak
if contains -- -s $argv > /dev/null
or contains -- -c $argv > /dev/null
command kak $argv
return
end
set -l session (
echo $PWD |
string replace -r "$HOME/?" '' |
string replace -a '/' '_'
)
if test $HOME = $PWD
set session (basename $PWD)
end
command kak -c $session $argv 2> /dev/null
or command kak -s $session $argv
or command kak $argv
end
{%@@ endif @@%}
cabbr v {{@@ editor @@}}
cabbr rv sudo {{@@ editor @@}}
cabbr rv sudoedit
cabbr rv doas {{@@ editor @@}}
@ -49,8 +72,8 @@ abbr -g crm command rm -i
# ls and cat
################################################################
calias ls 'exa --git'
calias tree 'exa --git --tree --icons'
calias ls 'exa --git --sort newest'
calias tree 'exa --git --tree --icons --git-ignore'
calias cat 'bat -p'
calias cp 'cp --reflink=auto'
calias ip 'ip --color=auto'
@ -74,18 +97,19 @@ end
# Show reminders on startup
################################################################
command -qs khard &&
function fish_greeting
command -qs khal
or return
set -l khalList (khal --color list now 10d --format " {title}")
test -n "$khalList"
or return
echo $khalList | strip-escape | string match -qr '^No events$'
and return
printf "%s\n" $khalList
end
function fish_greeting
command -qs khal
or return
set -l khalList (khal --color list now 5d)
test -n "$khalList"
or return
echo $khalList | strip-escape | string match -qr '^No events$'
and return
printf "%s\n" $khalList
end
function fish_greeting
end
################################################################
# Git
@ -102,44 +126,20 @@ abbr -g gds 'git diff --staged'
abbr -g gc 'git commit'
abbr -g gca 'git commit --all'
abbr -g gcf 'git commit --fixup'
abbr -g gp 'git push -u origin (git branch --show-current)'
abbr -g gw 'git switch'
abbr -g gr 'cd (git root)'
abbr -g gri 'git rebase --interactive FETCH_HEAD'
################################################################
# work stuff
################################################################
abbr svu sv start apache mariadb
abbr svd sv stop apache mariadb
abbr svs sv status apache mariadb
abbr pname "\
set pname (basename (pwd | sd -- - _))
sd 'DB_DATABASE=.*' DB_DATABASE=\$pname .env
test (count dump/*) -eq 1
and mv dump/* dump/\$pname.sql"
abbr msv "\
string match -r 'DB_DATABASE=(?<db>.*)\$' < .env
set margs -v -u root --password=(_pass_get work_db)"
abbr msc 'echo "CREATE DATABASE $db" | mysql $margs'
abbr msdrop 'echo "DROP DATABASE $db" | mysql $margs'
abbr msl 'mysql $margs $db < dump/$db.sql'
abbr msd 'mariadb-dump $margs $db | mysql_format > dump/$db.sql'
abbr vw 'kak public/**.less resources/**.blade.php app/**.php (fd -E \'*.min.js\' \'.js$\' public/)'
abbr gdw 'git diff -- "*.less" "*.js" "*.blade.php"'
abbr pl 'php7 artisan serve --host 0.0.0.0 & make watch'
function mysql_format
sd "\),\(" "),\n\t(" | sd "VALUES \(" "VALUES\n\t("
end
################################################################
# open
################################################################
function open -w xdg-open
xdg-open $argv &> /dev/null & disown
for i in $argv
xdg-open $i &> /dev/null & disown
end
end
@ -147,7 +147,7 @@ end
# Copy files like graphical programs
################################################################
function wl-copy-f -w wl-copy
function wl-copy-f
set -a file
for arg in (seq 1 (count $argv))
if test -f "$argv[$arg]"
@ -197,7 +197,7 @@ end
function edit-config
pushd (dirname "$DOTDROP_CONFIG")
set -l dotfile (fd -HE .git | wdmenu)
set -l dotfile (fd --strip-cwd-prefix -HE .git | wdmenu)
test -n "$dotfile" || return 1
{{@@ editor @@}} "$dotfile"
popd

View File

@ -7,14 +7,20 @@
set -U fish_features stderr-nocaret qmark-noglob regex-easyesc
source {$__fish_config_dir}/env.fish
source {$__fish_config_dir}/wm.fish
source {$__fish_config_dir}/alias.fish
source {$__fish_config_dir}/keys.fish
source {$__fish_config_dir}/tmux.fish
source {$__fish_config_dir}/colors.fish
source {$__fish_config_dir}/prompt.fish
if status is-interactive
{%@@ if asdf @@%}
set asdf
{%@@ endif @@%}
source {$__fish_config_dir}/env.fish
source {$__fish_config_dir}/wm.fish
source {$__fish_config_dir}/alias.fish
source {$__fish_config_dir}/keys.fish
source {$__fish_config_dir}/tmux.fish
source {$__fish_config_dir}/colors.fish
source {$__fish_config_dir}/plugins.fish
end
function _fish_autoreload --on-signal SIGHUP
source {$__fish_config_dir}/config.fish

View File

@ -5,13 +5,29 @@
# | _| \__ \ | | |
# |_| |_|___/_| |_|
set -x QT_QPA_PLATFORMTHEME qt5ct
# set -x QT_QPA_PLATFOR wayland
set -x QT_QPA_PLATFORMTHEME gtk2
set -x DESKTOP_APP_I_KNOW_ABOUT_GTK_INCOMPATIBILITY 1
set -x ALSOFT_DRIVERS "pulse," # Telegram audio library
set -x SDL_GAMECONTROLLERCONFIG '050000004c0500006802000000800000,Sony PLAYSTATION(R)3 Controller,a:b0,b:b1,x:b3,y:b2,back:b8,guide:b10,start:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b15,dpright:b16,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,'
for i in ~/.local/bin ~/.cargo/bin ~/.factorio/bin/*
test -d "$i";and fish_add_path "$i"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:/usr/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share"
set -x XDG_CONFIG_HOME "$HOME/.config/"
if set -q asdf
set __cargo_asdf_bin ~/.asdf/installs/rust/*/bin/
set __yarn_asdf_bin ~/.config/yarn/global/node_modules/.bin/
else
set __cargo_bin ~/.cargo/bin/
set __yarn_bin ~/.yarn/bin/
set -x NVM_DIR ~/.local/share/nvm
end
for i in ~/.local/bin $__cargo_bin $__cargo_asdf_bin $__yarn_asdf_bin ~/.yarn/bin ~/.factorio/bin/*
test -d "$i";and fish_add_path --global "$i"
end
# needed for tmux
@ -83,6 +99,6 @@ set -x _COLOR_TYPE "{{@@ color_type @@}}"
set -x _ACCENT_COLOR "{{@@ accent_color_name @@}}"
set -x DOTDROP_CONFIG "{{@@ _dotdrop_cfgpath @@}}"
set -x DOTDROP_PROFILE "{{@@ profile @@}}"
# set -x DOTDROP_PROFILE "{{@@ profile @@}}"
set -x DOTDROP_WORKERS (math 2 \* (nproc))

View File

@ -34,10 +34,16 @@ end
bind \cy 'commandline | wl-copy -n'
# Enable fzf key bindings
fzf_key_bindings
if not type -q fzf_key_bindings
and test -f /usr/share/fzf/key-bindings.fish
source /usr/share/fzf/key-bindings.fish
end
if type -q fzf_key_bindings
fzf_key_bindings
end
function rcd #{{{
function rcd
set file (mktemp)
ranger --choosedir=$file

View File

@ -0,0 +1,89 @@
# {{@@ header() @@}}
##################################################
# fundle fish plugin manager
##################################################
if not functions -q fundle
and test "$USER" != root
eval (curl -sfL https://git.io/fundle-install)
end
if not set -q asdf
fundle plugin 'FabioAntunes/fish-nvm'
end
fundle plugin 'edc/bass'
fundle init
################################################################
# Source .env files
################################################################
command -qs direnv &&
direnv hook fish | source
##################################################
# asdf Version manager
##################################################
if set -q asdf
if not test -d ~/.asdf
and test "$USER" != root
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0
mkdir -p ~/.config/fish/completions
and ln -s ~/.asdf/completions/asdf.fish ~/.config/fish/completions
source ~/.asdf/asdf.fish
asdf plugin add nodejs
asdf install nodejs 12.13.1
asdf install nodejs latest
asdf global nodejs latest
asdf plugin-add yarn
asdf install yarn latest
asdf global yarn latest
asdf plugin add rust
asdf install rust nightly
asdf global rust nightly
end
test -f ~/.asdf/asdf.fish
and source ~/.asdf/asdf.fish
end
##################################################
# Rust tools
##################################################
command -qs rustup
or _install-rustup &> /dev/null &
command -qs sccache
or _install-sccache &> /dev/null &
# set -x RUSTC_WRAPPER sccache
command -qs rust-analyzer
or _install-rust-analyzer &> /dev/null &
command -qs trunk
or _install-trunk &> /dev/null &
command -qs diesel
and diesel completions fish | source
##################################################
# Prompt
##################################################
{%@@ if starship @@%}
starship init fish | source
# Set cursor shape
printf '\e[5 q' # Bar
{%@@ else @@%}
source {$__fish_config_dir}/prompt.fish
{%@@ endif @@%}

View File

@ -48,17 +48,24 @@ function _fish_prompt_git_remote_branches
end
function fish_git_prompt
pushd (string replace -r '/\.git(/.*)?$' '' "$PWD")
command -qs git
or return
set -l here (string replace -r '/\.git(/.*)?$' '' "$PWD")
test -d "$here"
or return
pushd "$here"
############################################################
# Check if in a git repo and save branch and status
############################################################
set git_branch (git branch --show-current 2> /dev/null);or return
set git_detach (_fish_prompt_git_detached)
set git_remote (_fish_prompt_git_remote_branches)
set git_remotes (git remote)
set git_status_s (timeout 1s git status -s | string collect)
set -l git_branch (git branch --show-current 2> /dev/null);or return
set -l git_detach (_fish_prompt_git_detached)
set -l git_remote_branch (git rev-parse --abbrev-ref (git branch --show-current)@{u} 2> /dev/null)
set -l git_status_s (timeout 1s git status -s | string collect)
_fish_prompt_normal " on "
@ -80,14 +87,23 @@ function fish_git_prompt
_fish_prompt_warn "init"
end
# print a "↑" if ahead of origin
for git_remote in (echo $git_remotes | sort -u)
# Remote has the current branch
string match -qr "$git_remote"/"$git_branch" $git_remote
# Check if remote is different
and not git diff --quiet "$git_branch" "$git_remote"/"$git_branch" --
and _fish_prompt_normal '↑'
and break
# Remote has the current branch
if test -n "$git_remote_branch"
# print a "↑" if ahead of origin
test 0 -ne (git log --oneline "$git_remote_branch"..HEAD -- | wc -l)
and set -l _git_sync_ahead '↑'
# print a "↓" if behind of origin
test 0 -lt (git log --oneline HEAD.."$git_remote_branch" -- | wc -l)
and set -l _git_sync_behind '↓'
if set -q _git_sync_ahead _git_sync_behind
_fish_prompt_normal '⇅'
else if set -q _git_sync_ahead
_fish_prompt_normal '↑'
else if set -q _git_sync_behind
_fish_prompt_normal '↓'
end
end
############################################################

View File

@ -13,13 +13,16 @@ function esway
# You get a wayland, and you get a wayland. Everybody get's a wayland!
# set -x MOZ_ENABLE_WAYLAND 1
# set -x CLUTTER_BACKEND wayland
# set -x QT_QPA_PLATFORM wayland-egl
set -x QT_QPA_PLATFORM wayland-egl
# set -x ECORE_EVAS_ENGINE wayland-egl
# set -x ELM_ENGINE wayland_egl
# set -x SDL_VIDEODRIVER wayland
# set -x _JAVA_AWT_WM_NONREPARENTING 1
set -x _JAVA_AWT_WM_NONREPARENTING 1
# set -x NO_AT_BRIDGE 1
# Hardware acceleration
set -x MOZ_DISABLE_RDD_SANDBOX 1
# Allow sway decoration on gtk3 apps
set -x GTK_CSD 0
test -f '/usr/lib/libgtk3-nocsd.so.0' &&
@ -35,14 +38,22 @@ function esway
set -x XDG_CURRENT_DESKTOP sway
# this should not be necessary, but whatever
pidof sway &> /dev/null || exec sway
if not pidof sway &> /dev/null
{%@@ if supervisor == "runit" @@%}
pkill -HUP -u "$USER" runsvdir
exec dbus-launch --exit-with-session sway
{%@@ elif supervisor == "systemd" @@%}
exec systemd-cat --identifier=sway sway
{%@@ else @@%}
exec dbus-launch --exit-with-session sway
{%@@ endif @@%}
end
end
if test "$XDG_VTNR" = 1
if test (tty) = /dev/tty1
and test -z "$DISPLAY$WAYLAND_DISPLAY"
esway &> tee .swaylog
esway &> .swaylog
# ei3 &> .i3log
# ebsp &> .bsplog

162
dotfiles/foot.ini Normal file
View File

@ -0,0 +1,162 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot
# title=foot
# locked-title=no
font={{@@ font.mono @@}}:size={{@@ font.size.small @@}}
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
dpi-aware=no
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=2x2 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
bold-text-in-bright=no
# bell=none
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
[bell]
# urgent=no
# notify=no
# command=
# command-focused=no
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'
[cursor]
# style=block
# color=111111 dcdccc
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
alpha={{@@ opacity @@}}
foreground={{@@ color.txt .replace('#','')@@}}
background={{@@ color.bg .replace('#','')@@}}
regular0={{@@ color.normal.black .replace('#','') @@}} # black
regular1={{@@ color.normal.red .replace('#','') @@}} # red
regular2={{@@ color.normal.green .replace('#','') @@}} # green
regular3={{@@ color.normal.yellow .replace('#','') @@}} # yellow
regular4={{@@ color.normal.blue .replace('#','') @@}} # blue
regular5={{@@ color.normal.magenta .replace('#','') @@}} # magenta
regular6={{@@ color.normal.cyan .replace('#','') @@}} # cyan
regular7={{@@ color.normal.white .replace('#','') @@}} # white
bright0={{@@ color.normal.black .replace('#','') | lighter @@}} # bright black
bright1={{@@ color.normal.red .replace('#','') | lighter @@}} # bright red
bright2={{@@ color.normal.green .replace('#','') | lighter @@}} # bright green
bright3={{@@ color.normal.yellow .replace('#','') | lighter @@}} # bright yellow
bright4={{@@ color.normal.blue .replace('#','') | lighter @@}} # bright blue
bright5={{@@ color.normal.magenta .replace('#','') | lighter @@}} # bright magenta
bright6={{@@ color.normal.cyan .replace('#','') | lighter @@}} # bright cyan
bright7={{@@ color.normal.white .replace('#','') | lighter @@}} # bright white
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3>
# urls=<regular3>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c
# clipboard-paste=Control+Shift+v
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+u
# show-urls-copy=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+y
# primary-paste=Shift+Insert
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[mouse-bindings]
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3

View File

@ -1,31 +0,0 @@
# {{@@ header() @@}}
# _____
# | ___| _ ___ _ _ _ __ ___ __ _
# | |_ | | | / __| | | | '_ ` _ \ / _` |
# | _|| |_| \__ \ |_| | | | | | | (_| |
# |_| \__,_|___/\__,_|_| |_| |_|\__,_|
swipe:
3:
left:
command: 'swaymsg workspace next'
right:
command: 'swaymsg workspace prev'
up:
command: 'swaymsg fullscreen toggle'
down:
command: 'launcher'
# pinch:
# in:
# command: 'xdotool key ctrl+shift+plus'
# out:
# command: 'xdotool key ctrl+minus'
# threshold:
# swipe: 1
# # pinch: 0.2
# interval:
# swipe: 0.5
# # pinch: 0.2

View File

@ -5,10 +5,9 @@
# | |_| | | |_
# \____|_|\__|
[user]
name = {{@@ username @@}}
email = {{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}
email = {{@@ mail.personal.user @@}}
[init]
defaultBranch = main
@ -22,6 +21,9 @@
[merge]
conflictStyle = diff3
[rerere]
enabled = true
[rebase]
abbreviateCommands = true
autoSquash = true
@ -30,13 +32,13 @@
[pager]
# differ is a program that shows word-by-word diff
#{%@@ if editor == "kak" @@%}#
log = diffr | kak-pager
show = diffr | kak-pager
diff = diffr | kak-pager
log = _diffr | kak-pager
show = _diffr | kak-pager
diff = _diffr | kak-pager
#{%@@ else @@%}#
log = diffr | less
show = diffr | less
diff = diffr | less
log = _diffr | less
show = _diffr | less
diff = _diffr | less
#{%@@ endif @@%}#
[alias]
@ -55,7 +57,10 @@
excludesfile = {{@@ _dotfile_abs_dst @@}}/ignore
; hooksPath = {{@@ _dotfile_abs_dst @@}}/hooks/
[includeIf "gitdir:~/Projects/work/"]
path = ~/.config/git/config-work
[includeIf "gitdir:~/Projects/"]
path = {{@@ _dotfile_abs_dst @@}}/config-personal
[includeIf "gitdir:~/Wopus/"]
path = {{@@ _dotfile_abs_dst @@}}/config-work
# vim: ft=ini

View File

@ -7,7 +7,7 @@
[user]
name = {{@@ mail.work.user.split("@")[0] | capitalize @@}}
email = {{@@ mail.work.user.split("@")[0] @@}}@{{@@ mail.work.mail @@}}
name = {{@@ mail.work.from | title @@}}
email = {{@@ mail.work.user @@}}
# vim: ft=ini

View File

@ -9,3 +9,6 @@
allow-preset-passphrase
max-cache-ttl 604800
default-cache-ttl 604800
allow-loopback-pinentry
pinentry-mode loopback

View File

@ -6,40 +6,9 @@
# |_|\_\__,_|_|\_\ |_____|____/|_|
snippet_support = false
snippet_support = true
verbosity = 2
[semantic_scopes]
# Map textmate scopes to kakoune faces for semantic highlighting
# the underscores are translated to dots, and indicate nesting.
# That is, if variable_other_field is omitted, it will try the face for
# variable_other and then variable
#
# To see a list of available scopes in the debug buffer, run lsp-semantic-available-scopes
variable = "variable"
entity_name_function = "function"
entity_name_type = "type"
variable_other_enummember = "variable"
entity_name_namespace = "module"
# Semantic tokens support
# See https://github.com/microsoft/vscode-languageserver-node/blob/8c8981eb4fb6adec27bf1bb5390a0f8f7df2899e/client/src/semanticTokens.proposed.ts#L288
# for token/modifier types.
[semantic_tokens]
type = "type"
variable = "variable"
namespace = "module"
function = "function"
string = "string"
keyword = "keyword"
operator = "operator"
comment = "comment"
[semantic_modifiers]
documentation = "documentation"
readonly = "default+d"
[server]
# exit session if no requests were received during given period in seconds
# works only in unix sockets mode (-s/--session)
@ -65,13 +34,13 @@ command = "scry"
[language.css]
filetypes = ["css"]
roots = ["package.json"]
command = "css-languageserver"
command = "vscode-css-languageserver"
args = ["--stdio"]
[language.less]
filetypes = ["less"]
roots = ["package.json", ".git"]
command = "css-languageserver"
command = "vscode-css-languageserver"
args = ["--stdio"]
[language.d]
@ -92,11 +61,11 @@ roots = ["elm.json"]
command = "elm-language-server"
args = ["--stdio"]
[language.elm.initialization_options]
runtime = "node"
elmPath = "elm"
elmFormatPath = "elm-format"
elmTestPath = "elm-test"
# [language.elm.initialization_options]
# runtime = "node"
# elmPath = "elm"
# elmFormatPath = "elm-format"
# elmTestPath = "elm-test"
[language.go]
filetypes = ["go"]
@ -107,15 +76,13 @@ offset_encoding = "utf-8"
[language.haskell]
filetypes = ["haskell"]
roots = ["Setup.hs", "stack.yaml", "*.cabal"]
# You might also be interested in the newer, but early stage, haskell-language-server
# https://github.com/haskell/haskell-language-server
command = "hie-wrapper"
command = "haskell-language-server-wrapper"
args = ["--lsp"]
[language.html]
filetypes = ["html"]
roots = ["package.json"]
command = "html-languageserver"
command = "vscode-html-languageserver"
args = ["--stdio"]
[language.javascript]
@ -133,7 +100,7 @@ args = ["--stdio"]
[language.json]
filetypes = ["json"]
roots = ["package.json"]
command = "json-languageserver"
command = "vscode-json-languageserver"
args = ["--stdio"]
[language.latex]
@ -162,9 +129,27 @@ filetypes = ["php"]
roots = [".htaccess", "composer.json"]
command = "intelephense"
args = ["--stdio"]
[language.php.initialization_options]
storagePath = "/tmp/intelephense"
settings_section = "intelephense"
[language.php.settings]
intelephense.format.braces = "k&r"
intelephense.storagePath = "/tmp/intelephense"
intelephense.environment.includePaths = [
"./vendor",
"./vendor/autoload",
"./vendor/laravel/framework/",
"./vendor/laravel/framework/src/",
"./vendor/laravel/framework/src/Illuminate/"
]
intelephense.files.exclude = [
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"**/.DS_Store/**",
"**/node_modules/**",
"**/bower_components/**",
"**/resources/views/**"
]
[language.python]
filetypes = ["python"]
@ -187,14 +172,28 @@ args = ["stdio"]
# [language.rust]
# filetypes = ["rust"]
# roots = ["Cargo.toml"]
# command = "rls"
# args = []
# command = "sh"
# args = [
# "-c",
# """
# if path=$(rustup which rls 2>/dev/null); then
# "$path"
# else
# rls
# fi
# """,
# ]
[language.rust]
filetypes = ["rust"]
roots = ["Cargo.toml"]
roots = ["rust-toolchain.toml", "rust-toolchain", "Cargo.toml"]
command = "rust-analyzer"
args = []
[language.rust.settings.rust-analyzer]
## this can use too much space and processing power
# checkOnSave.extraArgs = ["--target-dir", "./target/check"]
hoverActions.enable = false # kak-lsp doesn't support this at the moment
# procMacro.enable = true
# cargo.loadOutDirsFromCheck = true
[language.terraform]
filetypes = ["terraform"]
@ -207,3 +206,78 @@ filetypes = ["gd", "gdscript", "gdscript3"]
roots = ["project.godot", ".git/"]
command = "nc"
args = [ "localhost", "6008"]
[language.clojure]
filetypes = ["clojure"]
roots = ["project.clj", ".git/"]
command = "clojure-lsp"
args = []
[semantic_scopes]
# Map textmate scopes to kakoune faces for semantic highlighting
# the underscores are translated to dots, and indicate nesting.
# That is, if variable_other_field is omitted, it will try the face for
# variable_other and then variable
#
# To see a list of available scopes in the debug buffer, run lsp-semantic-available-scopes
variable = "variable"
entity_name_function = "function"
entity_name_type = "type"
variable_other_enummember = "variable"
entity_name_namespace = "module"
[semantic_modifiers]
documentation = "documentation"
readonly = "default+d"
[[semantic_tokens]]
token = "comment"
face = "documentation"
modifiers = ["documentation"]
[[semantic_tokens]]
token = "comment"
face = "comment"
[[semantic_tokens]]
token = "function"
face = "function"
[[semantic_tokens]]
token = "keyword"
face = "keyword"
[[semantic_tokens]]
token = "namespace"
face = "module"
[[semantic_tokens]]
token = "operator"
face = "operator"
[[semantic_tokens]]
token = "string"
face = "string"
[[semantic_tokens]]
token = "type"
face = "type"
[[semantic_tokens]]
token = "variable"
face = "default+d"
modifiers = ["readonly"]
[[semantic_tokens]]
token = "variable"
face = "default+d"
modifiers = ["constant"]
[[semantic_tokens]]
token = "variable"
face = "variable"

View File

@ -48,14 +48,7 @@ face global SecondaryCursor default,default+rfg
face global SecondaryCursorEol SecondaryCursor
face global SecondarySelection PrimarySelection
hook global FocusIn .* %{
face window PrimaryCursor {{@@ accent_fg @@}},{{@@ accent_color @@}}+fg
face window PrimaryCursorEol PrimaryCursor
}
hook global FocusOut .* %{
face window PrimaryCursor {{@@ accent_fg @@}},{{@@ bg_light @@}}+fg
face window PrimaryCursorEol PrimaryCursor
}
face global InactiveCursor {{@@ accent_fg @@}},{{@@ bg_light @@}}+fg
face global MenuForeground {{@@ accent_fg @@}},{{@@ accent_color @@}}
face global MenuBackground default,{{@@ bg_dark @@}}
@ -64,10 +57,17 @@ face global MenuInfo cyan
face global Information default,{{@@ bg_dark @@}}
face global Error default,red+g
face global StatusLine default,{{@@ bg_dark @@}}
face global StatusLineMode green,{{@@ bg_dark @@}}
face global StatusLineInfo default,{{@@ bg_dark @@}}
face global StatusLineValue default,{{@@ bg_dark @@}}
face global StatusLine %sh{
printf "rgb:"
head /dev/urandom |
base64 |
rg --text -o '{{@@ color.random_range @@}}' |
head -n 6 |
sd '\n' ''
}
face global StatusLineMode StatusLine
face global StatusLineInfo StatusLine
face global StatusLineValue StatusLine
face global StatusCursor {{@@ accent_fg @@}},{{@@ accent_color @@}}
face global Prompt yellow,default
@ -94,11 +94,11 @@ face global BufferPadding {{@@ nontxt @@}},default
'Hint': 'blue',
}.items() @@%}
face global HighlightDiagnostic{{@@ obj @@}} {{@@ col @@}},default+bu
face global Diagnostic{{@@ obj @@}} {{@@ col @@}},default+b
face global Diagnostic{{@@ obj @@}} {{@@ col @@}},default+bu
face global TextDiagnostic{{@@ obj @@}} {{@@ col @@}},default+b
face global InlayDiagnostic{{@@ obj @@}} {{@@ col @@}},default+br
{%@@ endfor @@%}
face global Reference default+bu
face global InlayHint {{@@ bg_light @@}}
face global InlayHint {{@@ bg_light @@}}+buif

View File

@ -8,12 +8,22 @@ try %{
hook global WinSetOption filetype=sh %{
set buffer formatcmd 'shfmt -s -ci -i "{{@@ indent_width @@}}"'
}
hook global WinSetOption filetype=c %{
set buffer formatcmd 'clang-format'
}
hook global BufCreate .*\.rs %{
set buffer formatcmd 'rustfmt'
}
hook global BufCreate .*\.html %{
set buffer formatcmd 'prettier --parser html'
}
hook global BufCreate .*\.js %{
set buffer formatcmd 'prettier --parser babel'
}
hook global BufCreate .*\.vue %{
set buffer formatcmd 'prettier --parser vue'
hook buffer InsertCompletionHide {
@ -44,6 +54,20 @@ hook global WinCreate .* %{
hook global BufCreate .*\.jsonc %[ set buffer filetype jsonc ]
hook global BufCreate .*\.blade.php %[ set buffer filetype blade ]
hook global BufCreate .*\.less %[ set buffer filetype less ]
hook global BufCreate .*\.(tera|askama)\.?.* %[
require-module jinja
add-highlighter buffer/jinja ref jinja
]
hook global WinSetOption filetype=rust %[
require-module rust
require-module html
add-highlighter shared/rust/html region -recurse '\{' 'html!\s*\{\K' '(?=\})' ref html
]
hook global WinSetOption filetype=sql %[
set buffer comment_line '--'
]
hook global WinSetOption filetype=jsonc %[
set buffer comment_line '//'
@ -57,7 +81,11 @@ hook global WinSetOption filetype=jsonc %[
hook global WinSetOption filetype=blade %[
set buffer formatcmd 'blade-formatter --stdin'
set buffer formatcmd 'blade-formatter \
--end-with-newline \
--indent-size "4" \
--wrap-line-length "80" \
--stdin'
set-option buffer extra_word_chars '_' '-'
hook window ModeChange pop:insert:.* -group blade-trim-indent blade-trim-indent
@ -83,9 +111,9 @@ hook global WinSetOption filetype=blade %[
add-highlighter buffer/blade/php/ regex '@((end)?php)' 1:block
add-highlighter buffer/blade/expression region '\{\{(?!--)' '(?!--)\}\}' ref php
add-highlighter buffer/blade/statement region -recurse '\(' '@(if|for|foreach|include)\s*\(' '\)' ref php
add-highlighter buffer/blade/statement region -recurse '\(' '@(if|for|foreach|section|yield|include)\s*\(' '\)' ref php
add-highlighter buffer/blade/base/ regex '@(else(if)?|include|case|break)' 1:keyword
add-highlighter buffer/blade/base/ regex '@((end)?(if|isset|for|foreach|switch))' 1:keyword
add-highlighter buffer/blade/base/ regex '@((end)?(if|isset|for|foreach|section|switch))' 1:keyword
add-highlighter buffer/blade/comment region '\{\{--' '--\}\}' fill comment
set-option buffer comment_block_begin '{{-- '
@ -127,7 +155,10 @@ define-command -hidden blade-indent-on-new-line %<
§
hook global WinSetOption filetype=less %[
set buffer formatcmd 'prettier --parser less'
set buffer formatcmd 'prettier \
--tab-width "4" \
--print-width "80" \
--parser less'
set-option buffer extra_word_chars '_' '-'
@ -139,6 +170,8 @@ hook global WinSetOption filetype=less %[
hook window InsertChar \n -group less-indent less-indent-on-new-line
hook window InsertChar \} -group less-indent less-indent-on-closing-curly-brace
map buffer insert <c-k> '<esc>xs\$\d+<ret>) c'
hook -once -always window WinSetOption filetype=.* %{ remove-hooks window less-.+ }
add-highlighter buffer/less regions

View File

@ -10,7 +10,7 @@ define-command -hidden -override git-try-show-diff %{
evaluate-commands -draft %sh{
test -f "$kak_buffile" || exit 0
cd $(dirname "$kak_buffile")
git rev-parse --git-dir &> /dev/null &&
git rev-parse --git-dir > /dev/null &&
echo "git show-diff"
}
}
@ -23,7 +23,7 @@ evaluate-commands %sh{
define-command -override diffr %{ try %{
execute-keys -draft 'ggxsdiff<ret>'
execute-keys -draft '%<a-;>J| diffr<ret>'
execute-keys -draft '%<a-;>J| _diffr<ret>'
ansi-render
} }
@ -39,8 +39,8 @@ hook global BufOpenFile .*/COMMIT_EDITMSG %{
}
hook global RegisterModified '"' %{ nop %sh{ {
printf %s "$kak_main_reg_dquote" | wl-copy -n
printf %s "$kak_main_reg_dquote" | xclip -i -selection clipboard
printf %s "$kak_reg_dquote" | wl-copy -n
printf %s "$kak_reg_dquote" | xclip -i -selection clipboard
} > /dev/null 2>&1 < /dev/null & }}
# Trim trailing whitespace

View File

@ -1,40 +1,10 @@
# {{@@ header() @@}}
map global normal <F2> ': lsp-rename-prompt<ret>'
map global normal <c-d> 10j
map global normal <c-u> 10k
{%@@ for old, new, gdoc, vdoc in [
[ "h", key.left, "line begin", "scroll left" ],
[ "l", key.right, "line right", "scroll right" ],
[ "k", key.up, "buffer begin", "scroll up" ],
[ "j", key.down, "buffer end", "scroll down" ],
[ "i", key.insertMode, "first non blank", "" ],
[ "n", key.next, "", "" ],
[ "o", "h", "", "" ],
] @@%}
{%@@ set NEW, OLD = new.upper(), old.upper()@@%}
{%@@ if vdoc @@%}
map global view {{@@ old @@}} ''
map global view {{@@ new @@}} {{@@ old @@}} -docstring "{{@@ vdoc @@}}"
{%@@ endif @@%}
{%@@ if gdoc @@%}
map global goto {{@@ old @@}} ''
map global goto {{@@ new @@}} {{@@ old @@}} -docstring "{{@@ gdoc @@}}"
{%@@ endif @@%}
map global normal {{@@ new @@}} {{@@ old @@}}
map global normal {{@@ NEW @@}} {{@@ OLD @@}}
map global normal <a-{{@@ new @@}}> <a-{{@@ old @@}}>
map global normal <a-{{@@ NEW @@}}> <a-{{@@ OLD @@}}>
{%@@ endfor @@%}
{%@@ if key.layout == 'colemak' @@%}
map global normal k s
map global normal K S
map global normal <c-k> <a-s>
map global normal t e
map global normal T E
{%@@ endif @@%}
# alt i makes searches case insensitive
map global prompt <a-i> '<c-a>(?i)<c-e>'
######################################################
# Emacs-like insert
@ -47,7 +17,7 @@ map global insert <a-b> "<a-;>b"
map global insert <a-f> "<a-;>w"
map global insert <c-a> "<a-;>gi"
map global insert <c-e> "<a-;>gl<right>"
map global insert <c-e> "<a-;>gh<a-;>gl<right>"
map global insert <c-w> "<a-;>b<a-;>d"
@ -56,6 +26,7 @@ map global insert <c-w> "<a-;>b<a-;>d"
######################################################
map global insert <a-k> "<esc>"
map global insert <c-t> "<esc>"
######################################################

View File

@ -2,7 +2,7 @@
nop %sh{
PLUG_DIR="${HOME}/.cache/kakoune_plugins"
REPO="https://github.com/robertmeta/plug.kak.git"
REPO="https://github.com/andreyorst/plug.kak.git"
mkdir -p "$PLUG_DIR"
@ -12,7 +12,7 @@ nop %sh{
source %sh{ echo "${HOME}/.cache/kakoune_plugins/plug.kak/rc/plug.kak" }
plug "robertmeta/plug.kak" noload config %{
plug "andreyorst/plug.kak" noload config %{
# Auto install every pluging
set-option global plug_always_ensure true
set-option global plug_install_dir %sh{ echo "${HOME}/.cache/kakoune_plugins" }
@ -20,57 +20,56 @@ plug "robertmeta/plug.kak" noload config %{
plug 'eraserhd/kak-ansi'
plug 'alexherbo2/prelude.kak'
plug 'alexherbo2/auto-pairs.kak' commit "fd735ec149ef0d9ca5f628a95b1e52858b5afbdc" config %{
require-module 'prelude'
require-module 'auto-pairs'
auto-pairs-enable
plug 'alexherbo2/auto-pairs.kak' config %{
enable-auto-pairs
}
plug 'h-youhei/kakoune-surround'
plug 'lelgenio/kakoune-mirror-colemak' config %{
map global user "s" ': enter-user-mode mirror<ret>'
}
plug 'delapouite/kakoune-palette'
plug 'insipx/kak-crosshairs' config %{
crosshairs
plug 'greenfork/active-window.kak'
plug 'lelgenio/kak-crosshairs' config %{
crosshairs-enable
}
# Search and replace, for every buffer
plug 'occivink/kakoune-find'
plug "natasky/kakoune-multi-file"
plug 'kak-lsp/kak-lsp' config %{
plug "lelgenio/kakoune-colemak-neio"
plug 'kak-lsp/kak-lsp' do %{
cargo install --locked --force --path .
} config %{
map global normal <F2> ': lsp-rename-prompt<ret>'
set global lsp_hover_max_lines 10
lsp-inlay-diagnostics-enable global
set global lsp_auto_highlight_references true
set global lsp_inlay_diagnostic_sign "●"
set global lsp_diagnostic_line_error_sign "●"
hook global BufCreate .* %{try lsp-enable}
hook global WinSetOption filetype=(c|cpp|rust|python) %{
# lsp-auto-hover-enable
hook buffer NormalIdle .* %{try lsp-highlight-references}
}
hook global -group rust-inlay-hints-auto WinSetOption filetype=rust %{
hook window -group rust-inlay-hints BufReload .* rust-analyzer-inlay-hints
hook window -group rust-inlay-hints NormalIdle .* rust-analyzer-inlay-hints
hook window -group rust-inlay-hints InsertIdle .* rust-analyzer-inlay-hints
hook -once -always window WinSetOption filetype=.* %{
remove-hooks window rust-inlay-hints
}
define-command -override -hidden lsp-next-placeholder-bind %{
map global normal <tab> ': try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
map global insert <tab> '<a-;>: try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
}
lsp-next-placeholder-bind
map global insert <c-o> "<esc>: lsp-code-action-sync Fill<ret>"
define-command -override -hidden lsp-enable-decals %{
lsp-inlay-diagnostics-enable global
try %{
add-highlighter global/rust_analyzer_inlay_hints replace-ranges rust_analyzer_inlay_hints
}
lsp-inlay-hints-enable global
}
define-command -override -hidden lsp-disable-decals %{
lsp-inlay-diagnostics-disable global
remove-highlighter global/rust_analyzer_inlay_hints
lsp-inlay-hints-disable global
}
lsp-enable-decals
hook global ModeChange '.*:insert:normal' %{lsp-enable-decals}
hook global ModeChange '.*:normal:insert' %{lsp-disable-decals}
lsp-enable-decals
hook global WinSetOption filetype=(c|cpp|rust) %{
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
@ -81,5 +80,15 @@ plug 'kak-lsp/kak-lsp' config %{
}
}
declare-option -hidden str modeline_progress ""
define-command -hidden -params 6 -override lsp-handle-progress %{
set global modeline_progress %sh{
if ! "$6"; then
echo "$2${5:+" ($5%)"}${4:+": $4"}"
fi
}
}
set global modelinefmt "%%opt{modeline_progress} %opt{modelinefmt}"
}

View File

@ -1,7 +1,7 @@
# {{@@ header() @@}}
try %{
declare-user-mode surround
# declare-user-mode surround
declare-user-mode git
declare-user-mode find
}
@ -13,8 +13,8 @@ map global user 'z' ':zoxide ' -docstring 'zoxide'
map global user 'n' ': new<ret>' -docstring 'new window'
map global user 'e' 'x|emmet<ret>{{@@ "@" if not tabs @@}}' -docstring 'process line with emmet'
map global user 'm' ': try format-buffer catch lsp-formatting<ret>' -docstring 'format document'
map global user 'M' ': try format-selections catch lsp-range-formatting<ret>' -docstring 'format selection'
map global user 'm' ': try lsp-formatting-sync catch format-buffer<ret>' -docstring 'format document'
map global user 'M' ': try lsp-range-formatting-sync catch format-selections<ret>' -docstring 'format selection'
map global user 'c' ': comment-line<ret>' -docstring 'comment line'
map global user 'C' '_: comment-block<ret>' -docstring 'comment block'
@ -25,11 +25,8 @@ map global user 'R' '"_d! wl-paste -n <ret>' -docstring 'clipboard replace'
map global user 'b' ': find_buffer<ret>' -docstring 'switch buffer'
map global user 's' ': enter-user-mode surround<ret>' -docstring 'surround mode'
map global surround 's' ': surround<ret>' -docstring 'surround'
map global surround 'c' ': change-surround<ret>' -docstring 'change'
map global surround 'd' ': delete-surround<ret>' -docstring 'delete'
map global surround 'x' ': select-surround<ret>' -docstring 'select surround'
map global user 'l' ': lsp-enable-decals<ret>' -docstring 'LSP enable decals'
map global user 'L' ': lsp-disable-decals<ret>' -docstring 'LSP disable decals'
map global user 'v' ': enter-user-mode git<ret>' -docstring 'git vcs mode'
map global user 'V' ': enter-user-mode -lock git<ret>' -docstring 'git vcs mode'
@ -50,97 +47,136 @@ map global git 'M' ': git-merge-new <ret>' -docstring 'merge using new'
map global git '<a-m>' ': git-merge-original <ret>' -docstring 'merge using original'
map global user 'f' ': enter-user-mode find<ret>' -docstring 'find mode'
map global find 't' ': tree<ret>' -docstring 'file tree'
map global find 'f' ': find_file<ret>' -docstring 'file'
map global find 'l' ': find_line<ret>' -docstring 'jump to line'
map global find 'r' ': find_ripgrep<ret>' -docstring 'ripgrep all file'
map global find 'g' ': find_git_file<ret>' -docstring 'git files'
map global find 'm' ': find_git_modified<ret>' -docstring 'git modified files'
map global find 'c' ': find_dir<ret>' -docstring 'change dir'
map global find 'd' ': find_delete<ret>' -docstring 'file to delete'
try %{
define-command -override -hidden find_file \
%{ evaluate-commands %sh{
for line in `fd --strip-cwd-prefix -tf -HE .git | wdmenu`; do
echo "edit '$line'"
done
} }
define-command -hidden find_file \
%{ edit %sh{
fd -HE .git | wdmenu ||
echo "$kak_buffile"
} }
define-command -override -hidden find_delete \
%{ nop %sh{
fd --strip-cwd-prefix -H -E .git -t f | wdmenu | xargs -r trash
} }
define-command -hidden find_delete \
%{ nop %sh{
fd -H -E .git -t f | wdmenu | xargs -r trash
} }
define-command -override -hidden find_git_file \
%{ evaluate-commands %sh{
for line in `git ls-files | wdmenu`; do
echo "edit -existing '$line'"
done
} }
define-command -hidden find_git_file \
%{ edit -existing %sh{ git ls-files | wdmenu } }
define-command -override -hidden find_git_modified \
%{ evaluate-commands %sh{
for line in `git status --porcelain | sd '^.. ' ''| wdmenu`; do
echo "edit -existing '$line'"
done
} }
define-command -hidden find_dir \
%{ cd %sh{ fd -Htd | wdmenu } }
define-command -override -hidden find_dir \
%{ cd %sh{
for line in `fd --strip-cwd-prefix -Htd | wdmenu`; do
echo "edit '$line'"
done
} }
define-command -hidden find_buffer \
%{ buffer %sh{
printf "%s\n" $kak_buflist | wdmenu
} }
define-command -override -hidden find_buffer \
%{ evaluate-commands %sh{
for line in `printf "%s\n" $kak_buflist | wdmenu`; do
echo "buffer '$line'"
done
} }
define-command -hidden find_ripgrep \
%{ eval %sh{
patter=$( wdmenu -p "Regex")
rg --column -n "$patter" | wdmenu |
perl -ne 'print "edit \"$1\" \"$2\" \"$3\" " if /(.+):(\d+):(\d+):/'
} }
define-command -override -hidden find_ripgrep \
%{ evaluate-commands %sh{
patter=$( wdmenu -p "Regex")
rg --column -n "$patter" | wdmenu |
perl -ne 'print "edit \"$1\" \"$2\" \"$3\" " if /(.+):(\d+):(\d+):/'
} }
define-command -params .. \
-shell-script-candidates 'zoxide query -l' \
zoxide \
%{
cd %sh{ zoxide query -- "$@" || echo "$@" }
echo %sh{ pwd | sed "s|$HOME|~|" }
}
define-command config-source \
%{
source "%val{config}/kakrc"
}
define-command git-merge-head %{
evaluate-commands -draft %{
# delete head marker
execute-keys <a-/>^<lt>{4,}<ret><a-x>d
try %{
# select original marker
execute-keys /^[|]{4,}<ret>
# extend to theirs marker
execute-keys ?^={4,}<ret><a-x>
} catch %{
# select theirs marker
execute-keys /^={4,}<ret><a-x>
}
# extend to end marker
execute-keys ?^<gt>{4,}<ret><a-x>d
define-command -override -hidden find_line \
%{ evaluate-commands -save-regs a %{
execute-keys %{Z%"ayz}
execute-keys %sh{
line=$(
printf "%s\n" "$kak_reg_a" |
nl -ba -w1 |
wdmenu -p "Line" |
cut -f1
)
test -n "$line" && echo "${line}gx"
}
} -docstring "merge using head"
} }
define-command git-merge-original %{
evaluate-commands -draft %{
# select head marker
execute-keys <a-/>^<lt>{4,}<ret>
# select to middle of conflict
execute-keys ?^[|]{4,}<ret><a-x>d
# select theirs marker
execute-keys /^={4,}<ret>
# extend to end marker
execute-keys ?^<gt>{4,}<ret><a-x>d
}
} -docstring "merge using original"
define-command -override -hidden tree \
%{ evaluate-commands %sh{
file=`mktemp`
terminal --class file_picker ranger --selectfile="$kak_buffile" --choosefiles="$file"
for line in `cat "$file"`; do
echo "edit '$line'"
done
rm "$file"
} }
define-command git-merge-new %{
evaluate-commands -draft %{
# select head marker
execute-keys <a-/>^<lt>{4,}<ret>
# extend to theirs marker
execute-keys ?^={4,}\n<ret>d
# delete end marker
execute-keys /^<gt>{4,}<ret><a-x>d
}
} -docstring "merge using new"
define-command -override -params .. \
-shell-script-candidates 'zoxide query -l' \
zoxide %{
cd %sh{ zoxide query -- "$@" || echo "$@" }
echo %sh{ pwd | sed "s|$HOME|~|" }
}
define-command -override config-source %{
source "%val{config}/kakrc"
}
define-command -override git-merge-head %{
evaluate-commands -draft %{
# delete head marker
execute-keys <a-/>^<lt>{4,}<ret><a-x>d
try %{
# select original marker
execute-keys /^[|]{4,}<ret>
# extend to theirs marker
execute-keys ?^={4,}<ret><a-x>
} catch %{
# select theirs marker
execute-keys /^={4,}<ret><a-x>
}
# extend to end marker
execute-keys ?^<gt>{4,}<ret><a-x>d
}
} -docstring "merge using head"
define-command -override git-merge-original %{
evaluate-commands -draft %{
# select head marker
execute-keys <a-/>^<lt>{4,}<ret>
# select to middle of conflict
execute-keys ?^[|]{4,}<ret><a-x>d
# select theirs marker
execute-keys /^={4,}<ret>
# extend to end marker
execute-keys ?^<gt>{4,}<ret><a-x>d
}
} -docstring "merge using original"
define-command -override git-merge-new %{
evaluate-commands -draft %{
# select head marker
execute-keys <a-/>^<lt>{4,}<ret>
# extend to theirs marker
execute-keys ?^={4,}\n<ret>d
# delete end marker
execute-keys /^<gt>{4,}<ret><a-x>d
}
} -docstring "merge using new"

View File

@ -0,0 +1,196 @@
# Configuration file for libinput-gestures.
# Mark Blakeney, Sep 2015
#
# The default configuration file exists at /etc/libinput-gestures.conf
# but a user can create a personal custom configuration file at
# ~/.config/libinput-gestures.conf.
#
# Lines starting with '#' and blank lines are ignored. Currently
# "gesture" and "device" configuration keywords are supported as
# described below. The keyword can optionally be appended with a ":" (to
# maintain compatibility with original format configuration files).
#
# Each gesture line has 3 [or 4] arguments separated by whitespace:
#
# action motion [finger_count] command
#
# where action and motion is either:
# swipe up
# swipe down
# swipe left
# swipe right
# swipe left_up
# swipe left_down
# swipe right_up
# swipe right_down
# pinch in
# pinch out
# pinch clockwise
# pinch anticlockwise
#
# command is the remainder of the line and is any valid shell command +
# arguments.
#
# finger_count is a single numeric digit and is optional (and is
# typically 3 or 4). If specified then the command is executed when
# exactly that number of fingers is used in the gesture. If not
# specified then the command is executed when that gesture is executed
# with any number of fingers. Gesture lines specified with finger_count
# have priority over the same gesture specified without any
# finger_count.
#
# Typically command will be _internal, or xdotool. See "man xdotool" for
# the many things you can action with that tool. Note that unfortunately
# xdotool does not work with native Wayland clients.
###############################################################################
# SWIPE GESTURES:
###############################################################################
# Note the default is an "internal" command that uses wmctrl to switch
# workspaces and, unlike xdotool, works on both Xorg and Wayland (via
# XWayland). It also can be configured for vertical and horizontal
# switching over tabular workspaces, as per the example below. You can
# also add "-w" to the internal command to allow wrapping workspaces.
# Ensure you install wmctrl if you use _internal.
# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg)
gesture swipe up swaymsg fullscreen toggle
# NOTE ABOUT FINGER COUNT:
# The above command will configure this command for all fingers (i.e. 3
# for 4) but to configure it for 3 fingers only, change it to:
# gesture swipe up 3 _internal ws_up
# Then you can configure something else for 4 fingers or leave 4 fingers
# unconfigured. You can configure an explicit finger count like this for
# all example commands in this configuration file.
#
# gesture swipe up xdotool key super+Page_Down
# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg)
gesture swipe down launcher
# gesture swipe down xdotool key super+Page_Up
# Browser go forward (works only for Xorg, and Xwayland clients)
gesture swipe left swaymsg workspace next
# Browser go back (works only for Xorg, and Xwayland clients)
gesture swipe right swaymsg workspace prev
# NOTE: If you don't use "natural" scrolling direction for your touchpad
# then you may want to swap the above default left/right and up/down
# configurations.
# Optional extended swipe gestures, e.g. for browser tab navigation:
#
# Jump to next open browser tab
# gesture swipe right_up xdotool key control+Tab
#
# Jump to previous open browser tab
# gesture swipe left_up xdotool key control+shift+Tab
#
# Close current browser tab
# gesture swipe left_down xdotool key control+w
#
# Reopen and jump to last closed browser tab
# gesture swipe right_down xdotool key control+shift+t
# Example of 8 static workspaces, e.g. using KDE virtual-desktops,
# arranged in 2 rows of 4 columns across using swipe up/down/left/right
# to navigate in fixed planes. You can also add the "-w/--wrap" option
# to allow wrapping in any direction. You must configure your virtual
# desktops with the same column dimension.
# gesture swipe up _internal --cols 4 ws_up
# gesture swipe down _internal --cols 4 ws_down
# gesture swipe left _internal --cols 4 ws_left
# gesture swipe right _internal --cols 4 ws_right
#
# Example of 16 static workspaces, e.g. using KDE virtual-desktops,
# arranged in 4 rows of 4 columns across using swipe up/down/left/right
# to navigate in fixed planes, and also using swipe
# left_up/left_down/right_up/right_down to navigate diagonally. You can
# also add the "-w/--wrap" option to allow wrapping in any direction
# and/or diagonally. You must configure your virtual desktops with the
# same column dimension.
# gesture swipe up _internal --cols 4 ws_up
# gesture swipe down _internal --cols 4 ws_down
# gesture swipe left _internal --cols 4 ws_left
# gesture swipe right _internal --cols 4 ws_right
# gesture swipe left_up _internal --cols 4 ws_left_up
# gesture swipe left_down _internal --cols 4 ws_left_down
# gesture swipe right_up _internal --cols 4 ws_right_up
# gesture swipe right_down _internal --cols 4 ws_right_down
# Example virtual desktop switching for Ubuntu Unity/Compiz. The
# _internal command does not work for Compiz but you can explicitly
# configure the swipe commands to work for a Compiz virtual 2
# dimensional desktop as follows:
# gesture swipe up xdotool key ctrl+alt+Up
# gesture swipe down xdotool key ctrl+alt+Down
# gesture swipe left xdotool key ctrl+alt+Left
# gesture swipe right xdotool key ctrl+alt+Right
# Example to change audio volume:
# Note this only works on an Xorg desktop (not Wayland).
# gesture swipe up xdotool key XF86AudioRaiseVolume
# gesture swipe down xdotool key XF86AudioLowerVolume
###############################################################################
# PINCH GESTURES:
###############################################################################
# GNOME SHELL open/close overview (works for GNOME on Xorg only)
gesture pinch in xdotool key super+s
gesture pinch out xdotool key super+s
# KDE Plasma open/close overview
# gesture pinch in xdotool key ctrl+F9
# gesture pinch out xdotool key ctrl+F9
# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg)
# Note since GNOME 3.24 on Wayland this is implemented natively so no
# real point configuring for Wayland.
# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
# Optional extended pinch gestures:
# gesture pinch clockwise <whatever command>
# gesture pinch anticlockwise <whatever command>
###############################################################################
# This application normally determines your touchpad device
# automatically. Some users may have multiple touchpads but by default
# we use only the first one found. However, you can choose to specify
# the explicit device name to use. Run "libinput list-devices" to work
# out the name of your device (from the "Device:" field). Then add a
# device line specifying that name, e.g:
#
# device DLL0665:01 06CB:76AD Touchpad
#
# If the device name starts with a '/' then it is instead considered as
# the explicit device path although since device paths can change
# through reboots this is best to be a symlink. E.g. instead of specifying
# /dev/input/event12, you should use the corresponding full path link
# under /dev/input/by-path/ or /dev/input/by-id/.
#
# You can choose to use ALL touchpad devices by setting the device name
# to "all". E.g. Do this if you have multiple touchpads which you want
# to use in parallel. This reduces performance slightly so only set this
# if you have to.
#
# device all
###############################################################################
# You can set a minimum travel distance threshold before swipe gestures
# are actioned using the swipe_threshold configuration command.
# Specify this value in dots. The default is 0.
# E.g. set it to 100 dots with "swipe_threshold 100".
# swipe_threshold 0
###############################################################################
# You can set a timeout on gestures from start to end. The default is
# the value commented below. It can be any value in float secs >= 0.
# 0 = no timeout. E.g. set it to 2 secs with "timeout 2".
# timeout 1.5
# vim:ft=ini

View File

@ -15,9 +15,10 @@ depends=(
# Sway
sway swayidle swaylock waybar
# Menu
bemenu-wlroots j4-dmenu-desktop
fuzzel bemenu-wlroots j4-dmenu-desktop
# Utility
ruby-fusuma light mako kanshi udiskie redshift-wayland-git
ruby-fusuma light mako kanshi udiskie
gammastep
wtype caffeinated
# Screensharing
xdg-desktop-portal-wlr pipewire pipewire-media-session libpipewire02
@ -39,11 +40,11 @@ depends=(
vdirsyncer khal khard
# Audio
pulseaudio pulseaudio-alsa pulseaudio-bluetooth
pulseaudio pulseaudio-rtp pulseaudio-alsa pulseaudio-bluetooth
pamixer pulsemixer pavucontrol
# Fonts
inter-font ttf-ms-fonts
inter-font ttf-ms-fonts ttf-dejavu
nerd-fonts-hack nerd-fonts-fira-code
# Icons
@ -56,15 +57,18 @@ depends=(
grim slurp swappy wl-clipboard imagemagick wf-recorder
# Theme
# {%@@ if 'papirus' in "{{@@ icon_theme @@}}".lower() @@%} #
# {%@@ if 'papirus' in icon_theme.lower() @@%} #
papirus-icon-theme papirus-folders papirus-libreoffice-theme
# {%@@ elif 'mint' in "{{@@ icon_theme @@}}".lower() @@%} #
# {%@@ elif 'mint' in icon_theme.lower() @@%} #
mint-y-icons mint-x-icons
# {%@@ endif @@%} #
# {%@@ if 'mint' in "{{@@ gtk_theme @@}}".lower() @@%} #
# {%@@ if 'mint' in gtk_theme.lower().lower() @@%} #
mint-themes
# {%@@ elif 'materia' in "{{@@ gtk_theme @@}}".lower() @@%} #
# {%@@ elif 'orchis' in gtk_theme.lower().lower() @@%} #
orchis-kde-theme-git
orchis-theme-git
# {%@@ elif 'materia' in gtk_theme.lower().lower() @@%} #
materia-custom-accent
bc sassc inkscape # Make dependencies
# {%@@ endif @@%} #
@ -75,10 +79,12 @@ depends=(
# Emulators
kitty alacritty
#Tools
tuxi translate-shell tealdeer so
tuxi-git translate-shell tealdeer so
ranger atool p7zip jq fzf
neofetch htop bpytop
inxi entr
#Prompt
starship
# Replacements
#ls cat rm -rf grep find sed diff cd fmt
exa bat trash-cli ripgrep fd sd diffr zoxide par
@ -89,13 +95,14 @@ depends=(
wget curl rsync rclone nmap
# Testing
gnu-netcat tor mtr speedtest-cli
inetutils net-tools
# ssh
openssh sshfs fail2ban
# Bluetooth
bluez bluez-utils bluez-plugins
# Browser
qutebrowser youtube-dl
qutebrowser yt-dlp
# Email
neomutt urlview isync
@ -111,21 +118,25 @@ depends=(
mpd mpc ncmpcpp mpdris2
playerctl clyrics
kdeconnect
blender gimp kdenlive
blender gimp
zathura zathura-pdf-mupdf
# Office
libreoffice-fresh libreoffice-fresh-pt-br hunspell-pt-br
# Programing
kakoune kak-lsp
kakoune
neovim python-pynvim neovim-symlinks
shfmt bash-language-server
# web lsp
vscode-css-languageserver-bin
vscode-html-languageserver
vscode-css-languageserver
vscode-json-languageserver
# php lsp
nodejs-intelephense
# Python
ipython bpython
@ -146,7 +157,7 @@ depends=(
mariadb
php7 php7-apache
phpmyadmin
lipsum emmet-cli
lipsum-git emmet-cli
blade-formatter prettier
nodejs-less nodejs-less-plugin-clean-css
uglify-js
@ -154,11 +165,24 @@ depends=(
# Virt
qemu
# Power manager
tlp
# Gtk
gtk3-nocsd-legacy-git
# Qt
qt5-base qt5-wayland qt5ct kvantum-qt5
qt5-base qt5-wayland qt5ct kvantum-qt5 qt5-styleplugins
# X11
xorg-xwayland
# codecs
gst-plugins-good gst-plugins-bad
# Tray
libappindicator-gtk2 libappindicator-gtk3
lib32-libappindicator-gtk2 lib32-libappindicator-gtk3
# Chat
discord telegram-desktop

View File

@ -1,5 +1,6 @@
# ytdl-format='best'
ytdl-format='bestvideo[height<=1080][vcodec!=vp9]+bestaudio/best'
ytdl_path="yt-dlp"
ytdl-format="bestvideo[height<=1080][vcodec!=vp9]+bestaudio/best"
ytdl-raw-options="cookies=~/.cache/cookies-youtube-com.txt,mark-watched="
osd-fractions
save-position-on-quit

View File

@ -1,10 +1,10 @@
{%@@ for name, info in mail.items() | reverse @@%}
IMAPStore {{@@ name @@}}-remote
Host {{@@ info.mail @@}}
Host {{@@ info.imap @@}}
Port 993
User {{@@ info.user.split("@")[0] @@}}@{{@@ info.mail @@}}
PassCmd "_pass_get {{@@ info.mail @@}}"
User {{@@ info.user @@}}
PassCmd "_pass_get {{@@ info.pass @@}}"
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

20
dotfiles/neomutt/msmtprc Normal file
View File

@ -0,0 +1,20 @@
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
{%@@ for name, info in mail.items() @@%}
account {{@@ name @@}}
host {{@@ info.smtp @@}}
port 587
from "{{@@ info.from @@}} <{{@@ info.user @@}}>"
user {{@@ info.user @@}}
passwordeval "_pass_get {{@@ info.pass @@}}"
{%@@ endfor @@%}
# Set a default account
account default : {{@@ (mail.keys() | list) [0] @@}}

View File

@ -15,27 +15,29 @@ set header_cache = ~/.cache/mutt/
set my_mailroot = ~/.local/share/mail
set use_from = yes
set ssl_force_tls = yes
# set ssl_force_tls = yes
{%@@ for name, info in mail.items() | reverse @@%}
set my_source_command = \
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
folder-hook "$my_mailroot/{{@@ name @@}}/" \
source "\"$my_source_command\""
source "$my_source_command"
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
folder-hook "$my_mailroot/{{@@ name @@}}/" source "\"$my_source_command\""
source "$my_source_command"
{%@@ endfor @@%}
{%@@ for name, info in mail.items() @@%}
set my_source_command = \
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
{%@@ endfor @@%}
# }}}
# General {{{
set sort = 'reverse-date'
set use_threads = threads
set sort = reverse-last-date
set sort_aux = last-date
set mail_check_stats = yes
set mail_check_stats_interval = 10
set mark_old = no # Unread mail stay unread until read
set mailcap_path = ~/.config/neomutt/mailcap
auto_view text/html # automatically show html
@ -146,7 +148,7 @@ set help = false
set markers = no
set date_format="%m/%d %H:%M"
set index_format="%2C %zs %?X?A& ? %D %-15.15F %s"
set index_format="%3C %zs %?X?A& ? %D %-15.15F %s"
set display_filter = '_mutt_escape-html-chars'

260
dotfiles/nushell/config.nu Normal file
View File

@ -0,0 +1,260 @@
# Nushell Config File
def create_left_prompt [] {
let path_segment = ($env.PWD)
$path_segment
}
def create_right_prompt [] {
let time_segment = ([
(date now | date format '%m/%d/%Y %r')
] | str collect)
$time_segment
}
# Use nushell functions to define your right and left prompt
let-env PROMPT_COMMAND = { create_left_prompt }
let-env PROMPT_COMMAND_RIGHT = { create_right_prompt }
# The prompt indicators are environmental variables that represent
# the state of the prompt
let-env PROMPT_INDICATOR = "〉"
let-env PROMPT_INDICATOR_VI_INSERT = ": "
let-env PROMPT_INDICATOR_VI_NORMAL = "〉"
let-env PROMPT_MULTILINE_INDICATOR = "::: "
# Specifies how environment variables are:
# - converted from a string to a value on Nushell startup (from_string)
# - converted from a value back to a string when running external commands (to_string)
# Note: The conversions happen *after* config.nu is loaded
let-env ENV_CONVERSIONS = {
"PATH": {
from_string: { |s| $s | split row (char esep) }
to_string: { |v| $v | str collect (char esep) }
}
"Path": {
from_string: { |s| $s | split row (char esep) }
to_string: { |v| $v | str collect (char esep) }
}
}
# Directories to search for scripts when calling source or use
#
# By default, <nushell-config-dir>/scripts is added
let-env NU_LIB_DIRS = [
($nu.config-path | path dirname | path join 'scripts')
]
# Directories to search for plugin binaries when calling register
#
# By default, <nushell-config-dir>/plugins is added
let-env NU_PLUGIN_DIRS = [
($nu.config-path | path dirname | path join 'plugins')
]
module completions {
# Custom completions for external commands (those outside of Nushell)
# Each completions has two parts: the form of the external command, including its flags and parameters
# and a helper command that knows how to complete values for those flags and parameters
#
# This is a simplified version of completions for git branches and git remotes
def "nu-complete git branches" [] {
^git branch | lines | each { |line| $line | str find-replace '\* ' '' | str trim }
}
def "nu-complete git remotes" [] {
^git remote | lines | each { |line| $line | str trim }
}
export extern "git checkout" [
branch?: string@"nu-complete git branches" # name of the branch to checkout
-b: string # create and checkout a new branch
-B: string # create/reset and checkout a branch
-l # create reflog for new branch
--guess # second guess 'git checkout <no-such-branch>' (default)
--overlay # use overlay mode (default)
--quiet(-q) # suppress progress reporting
--recurse-submodules: string # control recursive updating of submodules
--progress # force progress reporting
--merge(-m) # perform a 3-way merge with the new branch
--conflict: string # conflict style (merge or diff3)
--detach(-d) # detach HEAD at named commit
--track(-t) # set upstream info for new branch
--force(-f) # force checkout (throw away local modifications)
--orphan: string # new unparented branch
--overwrite-ignore # update ignored files (default)
--ignore-other-worktrees # do not check if another worktree is holding the given ref
--ours(-2) # checkout our version for unmerged files
--theirs(-3) # checkout their version for unmerged files
--patch(-p) # select hunks interactively
--ignore-skip-worktree-bits # do not limit pathspecs to sparse entries only
--pathspec-from-file: string # read pathspec from file
]
export extern "git push" [
remote?: string@"nu-complete git remotes", # the name of the remote
refspec?: string@"nu-complete git branches"# the branch / refspec
--verbose(-v) # be more verbose
--quiet(-q) # be more quiet
--repo: string # repository
--all # push all refs
--mirror # mirror all refs
--delete(-d) # delete refs
--tags # push tags (can't be used with --all or --mirror)
--dry-run(-n) # dry run
--porcelain # machine-readable output
--force(-f) # force updates
--force-with-lease: string # require old value of ref to be at this value
--recurse-submodules: string # control recursive pushing of submodules
--thin # use thin pack
--receive-pack: string # receive pack program
--exec: string # receive pack program
--set-upstream(-u) # set upstream for git pull/status
--progress # force progress reporting
--prune # prune locally removed refs
--no-verify # bypass pre-push hook
--follow-tags # push missing but relevant tags
--signed: string # GPG sign the push
--atomic # request atomic transaction on remote side
--push-option(-o): string # option to transmit
--ipv4(-4) # use IPv4 addresses only
--ipv6(-6) # use IPv6 addresses only
]
}
# Get just the extern definitions without the custom completion commands
use completions *
# for more information on themes see
# https://github.com/nushell/nushell/blob/main/docs/How_To_Coloring_and_Theming.md
let default_theme = {
# color for nushell primitives
separator: white
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr non effectively turns this off
header: green_bold
empty: blue
bool: white
int: white
filesize: white
duration: white
date: white
range: white
float: white
string: white
nothing: white
binary: white
cellpath: white
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
shape_binary: purple_bold
shape_bool: light_cyan
shape_int: purple_bold
shape_float: purple_bold
shape_range: yellow_bold
shape_internalcall: cyan_bold
shape_external: cyan
shape_externalarg: green_bold
shape_literal: blue
shape_operator: yellow
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_datetime: cyan_bold
shape_list: cyan_bold
shape_table: blue_bold
shape_record: cyan_bold
shape_block: blue_bold
shape_filepath: cyan
shape_globpattern: cyan_bold
shape_variable: purple
shape_flag: blue_bold
shape_custom: green
shape_nothing: light_cyan
}
# The default config record. This is where much of your global configuration is setup.
let $config = {
filesize_metric: false
table_mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
use_ls_colors: true
rm_always_trash: false
color_config: $default_theme
use_grid_icons: true
footer_mode: "25" # always, never, number_of_rows, auto
quick_completions: true # set this to false to prevent auto-selecting completions when only one remains
partial_completions: true # set this to false to prevent partial filling of the prompt
animate_prompt: false # redraw the prompt every second
float_precision: 2
use_ansi_coloring: true
filesize_format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
edit_mode: emacs # emacs, vi
max_history_size: 10000
menu_config: {
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
text_style: green
selected_text_style: green_reverse
marker: "| "
}
history_config: {
page_size: 10
selector: "!"
text_style: green
selected_text_style: green_reverse
marker: "? "
}
keybindings: [
{
name: completion_menu
modifier: none
keycode: tab
mode: emacs # Options: emacs vi_normal vi_insert
event: {
until: [
{ send: menu name: completion_menu }
{ send: menunext }
]
}
}
{
name: completion_previous
modifier: shift
keycode: backtab
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
event: { send: menuprevious }
}
{
name: history_menu
modifier: control
keycode: char_x
mode: emacs
event: {
until: [
{ send: menu name: history_menu }
{ send: menupagenext }
]
}
}
{
name: history_previous
modifier: control
keycode: char_z
mode: emacs
event: {
until: [
{ send: menupageprevious }
{ edit: undo }
]
}
}
]
}

View File

@ -11,7 +11,7 @@
set viewmode miller
# How many columns are there, and what are their relative widths?
set column_ratios 1,3,4
set column_ratios 2,4,2
# Which files should be hidden? (regular expression)
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
@ -45,7 +45,7 @@ set vcs_aware true
# State of the four backends git, hg, bzr, svn. The possible states are
# disabled, local (only show local info), enabled (show local and remote
# information).
set vcs_backend_git enabled
set vcs_backend_git disabled
set vcs_backend_hg disabled
set vcs_backend_bzr disabled
set vcs_backend_svn disabled
@ -143,7 +143,7 @@ set dirname_in_tabs true
set mouse_enabled true
# Display the file size in the main column or status bar?
set display_size_in_main_column true
# set display_size_in_main_column true
set display_size_in_status_bar true
# Display the free disk space in the status bar?

View File

@ -1,6 +1,6 @@
[{{@@ mail.personal.mail.strip("mail.").split(".")[0] @@}}]
[{{@@ nextcloud.name @@}}]
type = webdav
vendor = nextcloud
user = {{@@ username @@}}
pass = {{@@ rclone_obscure(mail.personal.mail) @@}}
url = https://cloud.{{@@ mail.personal.mail @@}}/remote.php/webdav/
user = {{@@ nextcloud.user @@}}
pass = {{@@ rclone_obscure(nextcloud.pass) @@}}
url = https://{{@@ nextcloud.host @@}}/remote.php/webdav/

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec _start_dbus-daemon

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec fusuma

View File

@ -0,0 +1,3 @@
#!/bin/sh
exec _gammastep

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec /usr/lib/geoclue-2.0/demos/agent

View File

@ -1,2 +1,4 @@
#!/bin/sh
gpgconf --kill gpg-agent
exec gpg-agent --server

View File

@ -1,2 +1,3 @@
#!/bin/sh
exec /usr/lib/kdeconnectd
exec _kdeconnectd

View File

@ -0,0 +1,2 @@
#!/bin/sh
exec libinput-gestures

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec light -N 1

View File

@ -1,2 +1,8 @@
#!/bin/sh
while pgrep mako; do
pkill mako
sleep .5s;
done
exec mako

View File

@ -0,0 +1,2 @@
#!/bin/sh
exec _notify-mail

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec redshift

View File

@ -1,5 +1,12 @@
#!/bin/sh
while pidof telegram-desktop-bin telegram-desktop
do
pkill telegram-desktop
pkill telegram-desktop-bin
sleep 1s
done
command -v telegram-desktop-bin &&
exec telegram-desktop-bin ||
exec telegram-desktop

View File

@ -1,2 +1,5 @@
#!/bin/sh
exec /usr/lib/xdg-desktop-portal-wlr
PATH="$PATH:/usr/lib:/usr/libexec"
exec xdg-desktop-portal-wlr

View File

@ -1,7 +1,9 @@
# {{@@ header() @@}} #
# group_imports = "StdExternalCrate"
# imports_granularity = "Crate"
# imports_layout = "Vertical"
tab_spaces = {{@@ indent_width @@}}
max_width = 80
{%@@ if tabs @@%}

View File

@ -1,4 +1,6 @@
#!/bin/fish
#!/usr/bin/env fish
dotdrop install -f
test "{{@@ color.type @@}}" = "dark"
and set _COLOR_TYPE "light"

View File

@ -1,23 +0,0 @@
#!/bin/sh
set -e
BTRFS_ROOT="{{@@ filesystem.partitions['/'] @@}}"
if ! mountpoint "$BTRFS_ROOT"
then
mkdir -p "$BTRFS_ROOT"
mount "$BTRFS_ROOT"
fi
cd "$BTRFS_ROOT"
{%@@ set new_partitions = filesystem.partitions.update({root_subvol: '/'}) @@%}
{%@@ for name, path in filesystem.partitions.items() @@%}
test -e "./{{@@ name @@}}" ||
btrfs subvolume create "./{{@@ name @@}}"
test -d "{{@@ path @@}}" ||
mkdir -p "{{@@ path @@}}"
mountpoint "{{@@ path @@}}" ||
mount "{{@@ path @@}}"
{%@@ endfor @@%}

View File

@ -9,7 +9,7 @@ truncate -s 0 /swap/swapfile
chattr +C /swap/swapfile
btrfs property set /swap/swapfile compression none
dd if=/dev/zero of=/swap/swapfile bs=100M count=100 status=progress
dd if=/dev/zero of=/swap/swapfile bs=100M count=200 status=progress
chmod 600 /swap/swapfile
mkswap /swap/swapfile

View File

@ -1,6 +1,6 @@
#!/bin/sh
/usr/bin/diffr \
exec /usr/bin/env diffr \
--colors 'refine-added:foreground:green:underline' \
--colors 'refine-added:background:none' \
--colors 'refine-removed:foreground:red:underline' \

9
dotfiles/scripts/_gammastep Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
if type curl; then
loc=`curl ipinfo.io/loc | sed 's/,/:/'`
else
loc="-30:-50"
fi
exec gammastep -l "$loc"

4
dotfiles/scripts/_gdm_colemak Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
localectl set-x11-keymap us pc104 colemak
localectl set-keymap colemak

View File

@ -0,0 +1,16 @@
#!/bin/fish
cd "$HOME/Projects"
fd -d5 -H '^\.git$' |
sd '\.git$' '' |
while read repo
pushd "$repo"
if git cherry -v 2> /dev/null | wc -l | xargs -n1 test 0 -lt
echo Unpushed repos $repo
break
end
popd
end
# vim: ft=fish

View File

@ -1,21 +0,0 @@
#!/bin/sh
set -x
projdir="${HOME}/Projects"
user="{{@@ mail.personal.user @@}}"
host="git.{{@@ mail.personal.mail @@}}"
#{%@@ if False @@%}#
user="$USER"
host="github.com"
#{%@@ endif @@%}#
git -C "$projdir" rev-parse >/dev/null &&
exit 0
git clone "ssh://git@${host}:${user}/projects" "$projdir"
cd "$projdir"
git submodule update --init --recursive

View File

@ -1,11 +1,10 @@
#!/bin/sh
while ! pidof gpg-agent; do
sleep 5s
done
gpg-connect-agent reloadagent /bye
KEYGRIP=$(cat "$HOME/.pam-gnupg")
PATH="$PATH:/usr/lib:/usr/libexec:/usr/lib/gnupg"
keygrip=$(cat "$HOME/.pam-gnupg")
sudo cat /etc/.passwd |
echo '{{@@ main_password @@}}' |
base64 -d |
/usr/lib/gnupg/gpg-preset-passphrase --preset "$KEYGRIP"
gpg-preset-passphrase --preset "$keygrip"

View File

@ -0,0 +1,13 @@
#!/bin/sh
for g in audio video input bluetooth wheel _seatd kvm docker; do
if
cat /etc/group |
cut -d: -f1 |
grep "^${g}\$" > /dev/null
then
sudo usermod "$USER" -aG "$g" &
else
echo "warning: group $g does not exist"
fi
done

View File

@ -0,0 +1,3 @@
#!/bin/sh
cargo install diesel_cli --no-default-features --features mysql,postgres

View File

@ -0,0 +1,29 @@
#!/bin/sh
# Download and install rust analyzer to ~/.local/bin
set -ex
## Set this to get a fixed version
# PIN_VERSION="2022-05-02"
if [ -n "$PIN_VERSION" ]
then
REPO="https://github.com/rust-analyzer/rust-analyzer"
VERSION="$PIN_VERSION"
DLURL="$REPO/releases/download/$VERSION/rust-analyzer-x86_64-unknown-linux-gnu.gz"
else
API_URL="https://api.github.com/repos/rust-lang/rust-analyzer/releases/latest"
API_RESP="$(curl "$API_URL")"
VERSION=$(echo "$API_RESP" | jq -r '.tag_name')
DLURL=$(echo "$API_RESP" | jq -r '.assets[]|select(.name|match("x86_64.*gnu")).browser_download_url')
fi
GZFILE="$HOME/.cache/rust-analyzer-$VERSION-x86_64-unknown-linux-gnu.gz"
BINDIR="$HOME/.local/bin"
test -f "$GZFILE" ||
wget -O "$GZFILE" "$DLURL"
rm -f "$BINDIR/rust-analyzer"
gunzip "$GZFILE" --stdout > "$BINDIR/rust-analyzer"
chmod u+x "$BINDIR/rust-analyzer"

View File

@ -0,0 +1,3 @@
#!/bin/sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

View File

@ -0,0 +1,15 @@
#!/bin/sh
set -ex
REPO=https://github.com/mozilla/sccache
VERSION=v0.2.15
TARFILENAME="sccache-$VERSION-x86_64-unknown-linux-musl"
TARFILEPATH="$HOME/.cache/$TARFILENAME.tar.gz"
BINDIR="$HOME/.local/bin"
test -f "$TARFILEPATH" ||
wget -qO "$TARFILEPATH" "$REPO/releases/download/$VERSION/$TARFILENAME.tar.gz"
tar -xf "$TARFILEPATH" -C "$BINDIR" --wildcards "*/sccache" --strip-components=1
chmod u+x "$BINDIR/sccache"

14
dotfiles/scripts/_install-trunk Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh
set -ex
REPO=https://github.com/thedodd/trunk
VERSION=v0.14.0
TARFILE="$HOME/.cache/trunk-$VERSION-x86_64-unknown-linux-gnu.tar.gz"
BINDIR="$HOME/.local/bin"
test -f "$TARFILE" ||
wget -qO "$TARFILE" "$REPO/releases/download/$VERSION/trunk-x86_64-unknown-linux-gnu.tar.gz"
tar -xf "$TARFILE" -C "$BINDIR" trunk
chmod u+x "$BINDIR/trunk"

View File

@ -2,8 +2,11 @@
set -e
test `id -u` -ne 0 ||
exit 0
command -v makepkg &>/dev/null ||
exit 1
exit 0
install_pikaur() {
PIKDIR="$HOME/.cache/pikaur/build/pikaur"
@ -34,7 +37,9 @@ pikaur \
--noconfirm \
--keepbuilddep ||
for depend in ${depends[@]}; do
sudo pacman -S --needed --noconfirm $depend || true
pikaur -S --needed --noconfirm $depend ||
sudo pacman -S --needed --noconfirm $depend ||
true
done
init_deps=""

5
dotfiles/scripts/_kdeconnectd Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
PATH="$PATH:/usr/lib:/usr/libexec:/usr/lib/libexec"
exec kdeconnectd --replace

13
dotfiles/scripts/_lock Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
swaylock -f
export SVDIR="{{@@ user_svdir @@}}"
maybe() {
command -v $1 > /dev/null &&
env "$@"
}
maybe sv up swayidle
maybe systemctl --user start sway-idle.service

View File

@ -1,6 +1,6 @@
#!/bin/sh
{%@@ if 'papirus' in "{{@@ icon_theme @@}}".lower() @@%}
{%@@ if 'papirus' in icon_theme.lower() @@%}
# Papirus Icon Theme
{
papirus-folders -l | grep "[^>] {{@@ accent_color_name @@}}"&&
@ -9,23 +9,23 @@
papirus-folders -uC "{{@@ accent_color_name @@}}" ||
papirus-folders -uD
} &
} > /dev/null &
{%@@ endif @@%}
{%@@ if 'materia' in "{{@@ gtk_theme @@}}".lower() @@%}
{%@@ if 'materia' in gtk_theme.lower() @@%}
# Materia GTK Theme
src_path="$HOME/.cache/materia-theme"
TMPDIR="$HOME/.cache/materia-theme"
theme_name="{{@@ gtk_theme @@}}"
dst_path="${HOME}/.themes"
dst_path="$HOME/.themes"
test -d "$src_path" ||
test -d "$TMPDIR" ||
git clone\
"https://github.com/nana-4/materia-theme"\
"$src_path"
"$TMPDIR"
cd "$src_path"
cd "$TMPDIR"
# SEL = accent
# BG = header-bar
@ -66,3 +66,24 @@ mkdir -p "${dst_path}/${theme_name}"
} &> /dev/null &
{%@@ endif @@%}
{%@@ if 'orchis' in gtk_theme.lower() @@%}
MARKER_FILE="$HOME/.themes/.orchis_installed"
test -f "$MARKER_FILE" &&
exit 0
TMPDIR="$HOME/.cache/share/orchis"
mkdir -p "$TMPDIR" && cd "$TMPDIR"
test -d .git &&
git pull ||
git clone "https://github.com/vinceliuice/Orchis-theme" "$TMPDIR"
./install.sh \
--theme "{{@@ accent_color_name.lower() @@}}" \
--tweaks "solid" --tweaks "compact"
touch "$MARKER_FILE"
{%@@ endif @@%}

View File

@ -5,12 +5,12 @@ set -ex
clean() {
rm -rf "$TMPDIR"
cd "$SCRIPT_DIR"
rm README.md LICENSE
rm -f README.md LICENSE
}
trap clean EXIT
SCRIPT_DIR="$HOME/.config/mpv/scripts"
TMPDIR=(mktemp -d)
TMPDIR=$(mktemp -d)
mkdir -p "$SCRIPT_DIR"

View File

@ -1,16 +1,35 @@
#!/bin/sh
my_path="$1"
my_name="$2"
my_user="$3"
my_host="$4"
my_pass=`_pass_get "$my_host"`
if test "$#" -ne "1"; then
echo "Incorrect number of arguments, expected 1, got $#" >&2
fi
case "$1" in
{%@@ for name, info in mail.items() @@%}
{{@@ name @@}})
my_path="{{@@ name @@}}"
my_name="{{@@ info.from @@}}"
my_user="{{@@ info.user @@}}"
# my_host="{{@@ info.imap @@}}"
my_pass=`_pass_get "{{@@ info.pass @@}}"`
;;
{%@@ endfor @@%}
*)
echo "No valid account named $1" >&2
exit 1
;;
esac
cat <<EOF
set realname = "$my_name"
set from = "${my_name}@${my_host}"
set smtp_url = 'smtps://${my_user}@${my_host}'
set smtp_pass = '$my_pass'
set real_name = "$my_name"
set from = "$my_name <$my_user>"
set sendmail="/usr/bin/msmtp -a $my_path -- "
# set smtp_url = 'smtps://$my_user'
# set smtp_pass = '$my_pass'
# set Mailboxes
set folder = ~/.local/share/mail/${my_path}/
@ -28,3 +47,4 @@ mailboxes \
"=Trash" \
EOF

57
dotfiles/scripts/_notify-mail Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/env fish
set NEW_MAIL_PATH ~/.local/share/mail/*/*/new/
set ICON "/usr/share/icons/{{@@ icon_theme @@}}/symbolic/status/mail-unread-symbolic.svg"
command -qs maildir-notify-daemon
and exec maildir-notify-daemon $NEW_MAIL_PATH
inotifywait \
--monitor \
--quiet \
--format %w%f \
-e move -e create \
$NEW_MAIL_PATH |
while read new_mail_file
# clear variables
set -e from
set -e subject
set -e headers_ended
test -f "$new_mail_file"
or continue
command cat "$new_mail_file" |
while read line
# End of headers
if string match -qr '^$' "$line"
set headers_ended
continue
end
if not set -q headers_ended
# capture header information
if string match -qr '^From: ' $line
set from $line
end
if string match -qr '^Subject: ' $line
set subject $line
end
else
# capture start of message, to maybe use as replacement of subject
set msg_head $line
break
end
end
# From may be formated as either "someone@example.com" or "Someone <someone@example.com>"
# Make for the seconde case, replace <.*> with nothing
set from (string replace -r '<.*>' '' $from)
# If a message lacks a subject, use the message head as one
if not test -n "$subject"
set subject "$msg_head"
end
notify-send --icon "$ICON" "$from" "$subject"
end

View File

@ -1,8 +1,7 @@
#!/bin/sh
gpg --list-secret-keys --with-keygrip \
"{{@@ username @@}}@{{@@ mail.personal.mail @@}}" |
gpg --list-secret-keys --with-keygrip |
awk '
/^ssb/ {
ssb=1

View File

@ -1,42 +0,0 @@
#!/bin/sh
set -ex
cd "$(dirname $1)" && shift
create_logger() {
pushd sv/
for svd in */; do
pushd "$svd"
if ! test -d log; then
mkdir -p log
ln -s "$(which _default_logger)" log/run
fi
popd
done
popd
}
enable_defaults() {
mkdir -p "runsvdir/default"
pushd "runsvdir/default"
svdir="$(readlink -f ../../sv)"
for sv; do
ln -fs "$svdir/$sv" .
done
popd
}
create_logger
test -f .inited && exit 0
enable_defaults "$@"
touch .inited

View File

@ -4,4 +4,4 @@ exec dbus-daemon \
--syslog-only \
--nofork \
--session \
--address=unix:path=$XDG_RUNTIME_DIR/bus
--address="$DBUS_SESSION_BUS_ADDRESS"

7
dotfiles/scripts/_suspend Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
_lock
loginctl suspend &
systemctl suspend &
sudo -A zzz &

View File

@ -3,8 +3,8 @@
pkill -9 swayidle
exec swayidle -w \
before-sleep 'pkill caffeinated; swaylock -f' \
timeout 360 'pkill caffeinated; swaylock -f' \
before-sleep 'swaylock -f' \
timeout 360 'swaylock -f' \
timeout 1800 'mpc status | grep "^\[playing\]" > /dev/null ||
swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \

View File

@ -0,0 +1,16 @@
#!/bin/sh
export SVDIR="{{@@ user_svdir @@}}"
maybe() {
command -v $1 > /dev/null &&
env "$@"
}
if pidof swayidle > /dev/null; then
maybe sv down swayidle
maybe systemctl --user stop sway-idle.service
else
maybe sv up swayidle
maybe systemctl --user start sway-idle.service
fi

View File

@ -7,4 +7,4 @@
else
qutebrowser $@
fi
} &> /dev/null < /dev/null & disown
} > /dev/null 2>&1 &

View File

@ -1,4 +1,4 @@
#!/bin/fish
#!/usr/bin/env fish
# wrapper around bemenu
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
@ -77,29 +77,11 @@ trap clean_exit EXIT
set hb "#404040"
#{%@@ endif @@%}#
set -l histfile "$HOME/.local/share/bmenu-hist"
mkdir -p (dirname $histfile)
touch $histfile
command -qs dhist &&
set wraper dhist wrap
function get_score -a query file
set -l escaped (string escape --style regex $query)
set -l score (string replace -rf "^(\d+) $escaped\$" '$1' < $file)
test -z "$score"
and set -l score 0
echo $score
end
set -l estatus 1
while read line
set -l score (get_score $line $histfile)
printf "%s %s\n" $score $line
end |
sort --reverse --numeric-sort |
string replace -ar '^\d+ ' '' |
bemenu \
env $wraper -- bemenu \
$focused_output\
--grab\
--ignorecase\
--bottom\
--no-overlap\
@ -110,21 +92,6 @@ bemenu \
--fb "$fb" --ff "$ff" \
--nb "$nb" --nf "$nf" \
--hb "$hb" --hf "$hf" \
$argv |
while read choice
printf "%s\n" $choice
set estatus 0
set -l escaped (string escape --style regex $choice)
set -l score (get_score $choice $histfile)
set -l replacement (printf "%s %s" (math $score + 1) $choice)
test $score = 0
and echo $replacement >> $histfile
or sd "\d+ $escaped" $replacement $histfile &> /dev/null </dev/null
end
exit $estatus
$argv
# vim: ft=fish

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright Cédric Picard 2014 -- License WTFPL
# Inspired by Ranger's -- See https://github.com/hut/ranger
#
@ -37,7 +37,8 @@ sed -i -- '1d' "${namebase}.2"
{
echo '# Please review/modify this script or empty it to do nothing'
echo 'run(){'
echo ' mv -Ti -- "$1" "$2"'
echo ' mkdir -p "$(dirname "$2")"'
echo ' mv -T -- "$1" "$2"'
echo '}'
while read -r l1 <&3 && read -r l2 <&4; do
[ "$l1" = "$l2" ] || printf "%s\n%s\n" "$l1" "$l2"

View File

@ -1,54 +1,33 @@
#!/bin/sh
set -e
if test -z "$SWAYSOCK" && pidof gnome-shell &> /dev/null
if test -z "$SWAYSOCK" && pidof gnome-shell > /dev/null
then
exit 0
fi
test -z "$XDG_RUNTIME_DIR" &&
export XDG_RUNTIME_DIR=/run/user/$(id -u)
die() {
test "$?" = 0 ||
notify-send "Failed to sync mail" "try unlocking your gpg key"
}
# trap die EXIT
getnew() {
pushd "$HOME/.local/share/mail/" >/dev/null
find */INBOX*/new -type f |
sed -E '/Duolingo|LBRY/d' |
wc -l
popd >/dev/null
}
OLD=$(getnew)
{%@@ for name in mail | reverse @@%}
mkdir -p "$HOME/.local/share/mail/{{@@ name @@}}/"
{%@@ endfor @@%}
if test "$1" = "update" && ! pidof mbsync; then
if ! ping -c3 {{@@ mail.personal.mail @@}} &> /dev/null
if ! ping -c3 {{@@ mail.personal.imap @@}} > /dev/null
then
exit 0
fi
mbsync -a ||
mbsync -a ||
mbsync -a
timeout 10m mbsync -a
fi
NEW=$(getnew)
cd "$HOME/.local/share/mail/" >/dev/null
if test "$NEW" -gt "$OLD"; then
notify-send " New E-Mails!"
fi
echo $NEW | sed 's/^0$//'
caller=$(ps -o comm= $PPID)
if test "$caller" != "waybar"; then
pidof waybar >/dev/null &&
pkill -SIGRTMIN+4 waybar
fi
find */INBOX*/new -type f |
wc -l |
sed 's/^0$//'
# vim:ft=sh

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
RED_ON="$(pidof redshift)"

View File

@ -1,5 +1,7 @@
#!/bin/sh
set -e
testz() {
if test -z "$1"; then
echo "$2" >&2
@ -10,14 +12,15 @@ testz() {
testz "$DOTDROP_CONFIG" "DOTDROP_CONFIG is not set"
testz "$1" "No script name provided"
pushd "$(dirname "$DOTDROP_CONFIG")"
DOTDIR="$(dirname "$DOTDROP_CONFIG")"
cd "$DOTDIR/dotfiles/scripts"
if ! test -f "dotfiles/scripts/$1"
if ! test -f "$1"
then
printf '#!/bin/sh\n' > "dotfiles/scripts/$1"
chmod u+x "dotfiles/scripts/$1"
pwd
touch "$1"
printf '#!/bin/sh\n' > "$1"
chmod u+x "$1"
fi
kak "dotfiles/scripts/$1"
kak "$1"

View File

@ -10,7 +10,7 @@ clean() {
set +e
kill "$mpvPid"
rm -f $tmpf
rm -f "$tmpf"
}
trap clean EXIT
@ -52,8 +52,8 @@ main() {
}
pick_song() {
choice=$(cat $tmpf | cut -d\| -f1 | wdmenu)
choice=$(grep "$choice" $tmpf | head -n 1)
choice=$(cat "$tmpf" | cut -d\| -f1 | wdmenu)
choice=$(grep "$choice" "$tmpf" | head -n 1)
choiceId=$(printf "%s" "$choice" | cut -d\| -f2)
case "$sType" in
@ -131,9 +131,9 @@ common_preview() {
)
mpv --quiet --volume=50 --no-resume-playback "$choicePreview" &
mpvPid=$!
mpvPid="$!"
choice=$(printf "$COMMON_CHOISES" | wdmenu -p 'Download?')
kill $mpvPid || true
kill "$mpvPid" || true
}
common_art() {

View File

@ -3,7 +3,7 @@
set -e
main(){
sym=$(bmenu | grep -o '^.' )
sym=$(wdmenu | grep -o '^.' )
wl-copy --trim-newline "$sym"
notify-send "Copied:" "\"$sym\""
}

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e
owm(){
@ -82,7 +82,7 @@ owm_pango(){
owm_json(){
owm
tee > .forecast.json <<EOF
tee > "$HOME/.forecast.json" <<EOF
{
"min":"$MIN",
"max":"$MAX",

17
dotfiles/scripts/fuzzel Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
exec /usr/bin/fuzzel \
--terminal=terminal \
--lines=30 \
--width=50 \
--font="{{@@ font.mono @@}}:size={{@@ font.size.medium * 1.6 @@}}" \
--icon-theme="{{@@ icon_theme @@}}" \
--border-radius=0 \
--border-width=2 \
--selection-color="{{@@ accent_color.replace('#','') @@}}ff" \
--selection-text-color="{{@@ accent_fg.replace('#','') @@}}ff" \
--background="{{@@ color.bg .replace('#','') @@}}ff" \
--text-color="{{@@ color.txt .replace('#','') @@}}ff" \
--match-color="{{@@ accent_color.replace('#','') @@}}ff" \
--border-color="{{@@ accent_color.replace('#','') @@}}ff" \
"$@"

View File

@ -1,4 +1,4 @@
#!/bin/fish
#!/usr/bin/env fish
if test (count $argv) -ne 0
for i in $argv

View File

@ -1,6 +1,9 @@
#!/bin/sh
#!/usr/bin/env bash
# {%@@ if launcher == "wofi" @@%} #
# {%@@ if launcher == "fuzzel" @@%} #
which fuzzel &> /dev/null &&
exec fuzzel
# {%@@ elif launcher == "wofi" @@%} #
which wofi &> /dev/null &&
exec wofi \
--show drun \
@ -8,7 +11,7 @@ which wofi &> /dev/null &&
--no-actions \
--prompt 'Iniciar: ' \
# {%@@ else @@%} #
# {%@@ elif launcher == "bmenu" @@%} #
which bmenu &> /dev/null &&
exec bmenu run
# {%@@ endif @@%} #

View File

@ -1,4 +1,4 @@
#!/bin/fish
#!/usr/bin/env fish
set fish_trace 1

View File

@ -1,11 +0,0 @@
#!/bin/sh
pidof mpd > /dev/null ||
exit 1
mpc status | grep '^\[playing\]' > /dev/null &&
mpc current -f ' %title% - %artist% ' |
sed 's/&/and/g' ||
printf ' '
true

View File

@ -1,21 +1,34 @@
#!/bin/sh
#!/usr/bin/env fish
opts="Fone\nSpeaker\nHDMI"
out=$(printf $opts | wdmenu -p "Output: ")
vol=$(pamixer --get-volume)
set opts "Fone\nSpeaker\nHDMI\nPhone"
set out (printf $opts | wdmenu -p "Output: ")
set vol (pamixer --get-volume)
case "$out" in
Fone)
switch "$out"
case Fone
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2)
pactl set-sink-port @DEFAULT_SINK@ analog-output-headphones
;;
Speaker)
case Speaker
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2:)
pactl set-sink-port @DEFAULT_SINK@ analog-output-speaker
;;
HDMI)
pactl set-card-profile 0 output:hdmi-stereo+input:analog-stereo
;;
esac
case HDMI
pactl set-card-profile 0 (
env LC_ALL=C pactl list cards |
string replace -raf '^\s*(output:hdmi-stereo.*?input.*?): .*' '$1' |
head -n1 )
pactl set-default-sink (pactl list sinks short | grep hdmi | head -n1 | cut -f2)
case Phone
pactl unload-module module-null-sink
pactl unload-module module-rtp-send
pactl load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=48000
pactl load-module module-rtp-send source=rtp.monitor destination=192.168.0.169 port=4010 mtu=320
pactl set-default-sink rtp
end
pamixer --set-volume "$vol"
# vim: ft=fish

View File

@ -4,7 +4,7 @@
set -e
function clean() {
clean() {
if test $? -ne 0; then
notify-send "Could not sync ${GAME_NAME}"
fi
@ -19,10 +19,6 @@ command -v xdg-user-dir &>/dev/null &&
SAVES_DIR="$DOCUMETS/GameSaves"
test -d "$SAVES_DIR" || exit 1
grep "^#include \.saves-ignore" "$DOCUMETS/.stignore" ||
echo "#include .saves-ignore" >"$DOCUMETS/.stignore"
rm "$DOCUMETS/.saves-ignore"
game_save() {
GAME_NAME="$1"
shift
@ -31,7 +27,7 @@ game_save() {
BACKUP_DIR="$SAVES_DIR/$GAME_NAME"
mkdir -p "$BACKUP_DIR" "$(dirname '$INSTALL_DIR')"
mkdir -p "$BACKUP_DIR" "$(dirname "$INSTALL_DIR")"
if test -d "$INSTALL_DIR" -a ! -L "$INSTALL_DIR"; then
fd -H -d 1 . "$INSTALL_DIR" |
@ -43,34 +39,22 @@ game_save() {
if test ! -L "$INSTALL_DIR" -o ! -d "$INSTALL_DIR"; then
ln -sT "$BACKUP_DIR" "$INSTALL_DIR"
fi
if test -n "$1"; then
printf "GameSaves/${GAME_NAME}/%s\n" $@ >>"$DOCUMETS/.saves-ignore"
fi
}
game_save mindustry \
".local/share/Mindustry" 'previews'
game_save minecraft \
".minecraft/saves"
game_save factorio \
".factorio" '_autosave*.zip' 'doc-html' 'temp' 'data' 'bin'
game_save cuphead \
"Games/cuphead/drive_c/users/$USER/Application Data/Cuphead"
game_save dusk \
"Games/dusk/game/saves"
game_save ULTRAKILL-wine \
"Games/ultrakill/drive_c/Program Files/ULTRAKILL/Saves"
game_save marioW \
"Games/super-mario-world"
game_save gta_san_andreas \
"Games/grand-theft-auto-san-andreas/drive_c/users/$USER/Documents/GTA San Andreas User Files"
game_save hl1 \
"Games/HalfLife2Source/game/hl1/save"
game_save hl2 \
"Games/HalfLife2Source/game/hl2/save"
game_save hl2ep1 \
"Games/HalfLife2Source/game/episodic/save"
game_save hl2ep2 \
"Games/HalfLife2Source/game/ep2/save"
game_save mindustry ".local/share/Mindustry"
game_save minecraft ".minecraft/saves"
game_save factorio_saves ".factorio/saves"
game_save factorio_saves "Games/factorio/saves"
game_save cuphead "Games/cuphead/drive_c/users/$USER/Application Data/Cuphead"
game_save dusk "Games/dusk/game/saves"
game_save stardew_valley ".config/StardewValley"
game_save dishonored "Games/dishonored/drive_c/users/lelgenio"
game_save hollow_knight ".config/unity3d/Team Cherry/Hollow Knight"
game_save carrion ".local/share/Phobia/Carrion"
game_save ULTRAKILL-wine "Games/ultrakill/drive_c/Program Files/ULTRAKILL/Saves"
game_save marioW "Games/super-mario-world"
game_save gta_san_andreas "Games/grand-theft-auto-san-andreas/drive_c/users/$USER/Documents/GTA San Andreas User Files"
game_save hl1 "Games/HalfLife2Source/game/hl1/save"
game_save hl2 "Games/HalfLife2Source/game/hl2/save"
game_save hl2ep1 "Games/HalfLife2Source/game/episodic/save"
game_save hl2ep2 "Games/HalfLife2Source/game/ep2/save"

View File

@ -1,35 +1,37 @@
#!/bin/sh
if which xdg-user-dir &>/dev/null; then
DESTFOLDER=$(xdg-user-dir PICTURES)
export XCURSOR_SIZE=40
export XCURSOR_THEME='Breeze_Snow'
if which xdg-user-dir >/dev/null 2>&1; then
DESTFOLDER="$(xdg-user-dir PICTURES)"
else
for i in Images Imagens Pictures Fotos ""; do
DESTFOLDER=$HOME/$i
DESTFOLDER="$HOME/$i"
test -d "$DESTFOLDER" &&
break
done
fi
DESTFOLDER="$DESTFOLDER/Screenshots"
mkdir -p "$DESTFOLDER"
DESTFILE="$DESTFOLDER/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')"
mkdir -p $DESTFOLDER
DESTFILE=$DESTFOLDER/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')
case $1 in
def)
# Screenshot to file
grim $DESTFILE
echo $DESTFILE
grim "$DESTFILE"
echo "$DESTFILE"
;;
area)
# Screen area to file
grim -g "$(slurp -d)" $DESTFILE
echo $DESTFILE
grim -g "$(slurp -d -b 30303088)" "$DESTFILE"
echo "$DESTFILE"
;;
area-clip)
# Screen area to clipboard
grim -g "$(slurp -d)" - | wl-copy
grim -g "$(slurp -d -b 30303088)" - | wl-copy
;;
clip)

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