Compare commits

...

180 Commits

Author SHA1 Message Date
David Holland 7702ac9e9c
Revert again for testing 2023-06-28 18:09:17 +02:00
David Holland 7a9b3f4e42
Revert commit for testing purposes 2023-06-28 17:32:41 +02:00
David Holland 3dcc203ec9
Prepare .bashrc replacement from Win11 WSL2 (Ubuntu) to make all the GPG shit work 2023-06-28 12:45:43 +02:00
David Holland ca6f0b67aa
Only disable nushell shell_integration when wezterm is used (not fixed in current wezterm release) 2023-06-28 11:36:55 +02:00
David Holland 41d0031f7e
Update configs to use wezterm 2023-06-28 11:23:34 +02:00
David Holland c0b9b6bf1e
Update nushell, alacritty and starship configs 2023-06-23 12:47:10 +02:00
David Holland a5706ddacb
Add stuff for typst 2023-03-29 16:11:59 +02:00
David Holland 21434a3bb7 Remove nushell history.txt from tracked file 2023-03-27 13:00:28 +02:00
David Holland 7ebe9262e3
Merge branch 'master' of https://git.dustvoice.de/DustVoice/dotfiles 2023-03-24 15:50:53 +01:00
David Holland bd0f91c225
Update some minor doom seetings, as well as remove unneccessary bloat from starship.toml 2023-03-24 15:49:14 +01:00
David Holland 5fdef5173d
Update nushell config, update doom package list 2023-02-17 08:29:39 +01:00
David Holland 7eb31f56ba
Change starship git symbols 2022-12-13 10:03:50 +01:00
David Holland 991eb97f8f
Disable nushell banner 2022-12-07 09:08:39 +01:00
David Holland 84571a0643
Add starship.toml 2022-12-07 09:06:01 +01:00
David Holland 4aabefffae
Perform cleanup 2022-12-07 08:35:45 +01:00
David Holland 52bdddc86a
Add boilerplate code for alternative shells 2022-12-06 13:11:23 +01:00
David Holland db4e0ce345
Modify fish 2022-12-06 11:14:02 +01:00
David Holland 168bc3b95a
Update config for better windows compat. 2022-12-02 16:39:34 +01:00
David Holland bb915b4e59
Switch to emacsclient fully with aliases and everything 2022-10-16 15:59:59 +02:00
David Holland e5051898b2
Make some orgmode changes and prepare for using emacsclient regularly 2022-10-11 15:36:52 +02:00
David Holland 6e0bc6aacf
Update submodule .password-store 2022-10-11 10:23:18 +02:00
David Holland 553a11162e
Add jornal support to org and init notes/todo/journal files 2022-10-11 10:20:32 +02:00
David Holland 17b895aaa3
Update doom emacs stuff 2022-10-04 10:46:37 +02:00
David Holland 196def8004
Update submodule .password-store 2022-10-03 15:33:14 +02:00
David Holland 130b70fd05
Remove unicode module from doom 2022-10-01 17:36:11 +02:00
David Holland a50b6e2502
Add csharp lsp 2022-09-28 12:32:46 +02:00
David Holland bf10091b91
Update submodule .password-store (new 2FA codes) 2022-09-27 11:10:37 +02:00
David Holland 6a27888b87
Change hyperv-gpg workflow, mod emacs etc. pp 2022-09-27 10:24:57 +02:00
David Holland 0dc52132d1
Adjust some configs and add doom emacs 2022-09-21 10:16:04 +02:00
David Holland f0a5b0923c
Make git work through ldiproxy 2022-09-20 15:13:30 +02:00
David Holland d85417d216
Update submodule .password-store 2022-09-13 13:55:24 +02:00
David Holland 56b235cd3f
Add archserver-proxy.fish to ssh into archserver from work 2022-09-13 11:17:15 +02:00
David Holland 41264dcafb
Update submodule .password-store 2022-09-13 10:47:06 +02:00
David Holland 7ba4dc58a0
Correct mistake in dmenu_fish and in user keybindings 2022-09-11 22:01:36 +02:00
David Holland ea9869e367
Add sane keybindings 2022-09-09 14:08:45 +02:00
David Holland aee3aed946
Update submodule .config/nvim 2022-09-09 13:49:25 +02:00
David Holland 09b3d535a0
Update submodule .config/nvim 2022-09-09 12:42:11 +02:00
David Holland 94358c267e
Correct mistakes; Add dracula theme to fish; #Consider using fisher as a plugin manager 2022-09-06 16:49:08 +02:00
David Holland 1d73a2b920
Huge refactoring; Switch back to fish shell; Dip toes into wayland; Update dmenu stuff 2022-09-06 16:29:06 +02:00
David Holland dc5e2049c7
Correct mistake 2022-06-01 00:07:42 +02:00
David Holland ba19df3e5b
Cleanup some more 2022-05-31 22:03:48 +02:00
David Holland ea207177f8
Revert some unneccessary stuff 2022-05-31 22:01:49 +02:00
David Holland 2a2e309e33
Modify gpg/ssh forwarding stuff 2022-05-31 21:35:30 +02:00
David Holland adc8d7a219
Update submodule .config/nvim 2022-05-31 21:32:53 +02:00
David Holland ece304cb32
Update submodule .config/nvim 2022-05-30 22:22:53 +02:00
David Holland a128b59e16
Update submodule .password-store; add ssh known_host 2022-05-29 22:33:28 +02:00
David Holland fe59dfbf51 Correct mistakes making Hyper-V work correctly 2022-02-06 13:23:13 +01:00
David Holland a5cba8df97
Include starship in .zshrc / znap prompt 2021-09-26 19:21:31 +02:00
David Holland 38c3403101
Update submodule .config/nvim 2021-07-31 12:21:59 +02:00
David Holland 67cd06a8ab
Fix mistake 2021-05-16 16:15:39 +02:00
David Holland 9af270ef62
Add znap gitignore 2021-05-16 16:06:08 +02:00
David Holland e56ab6d3dd
Update .gitmodules 2021-05-16 15:44:38 +02:00
David Holland 20471d4e53
Add history modification stuff 2021-04-20 01:30:50 +02:00
David Holland b278a1608d
Switch from antigen to znap 2021-04-20 01:11:01 +02:00
David Holland 4e2cb4f8a1
Revert "Update submodule .config/nvim"
This reverts commit 445f5ce4a6.
2021-04-01 22:42:35 +02:00
David Holland 445f5ce4a6
Update submodule .config/nvim 2021-04-01 22:38:55 +02:00
David Holland 75fac1a3ce
Update submodule .config/nvim 2021-03-29 14:55:46 +02:00
David Holland 738ded398f
Revert "Test out zsh-vi-mode"
This reverts commit 49ef9da18b.
2021-03-29 14:49:41 +02:00
David Holland 49ef9da18b
Test out zsh-vi-mode 2021-03-29 14:49:10 +02:00
David Holland 5ee4981cbf
Fix aliases not working correctly due to being overwritten by zsh 2021-03-29 14:07:35 +02:00
David Holland 7ff2100a65
Change default rustfmt and create a special one for nightly builds 2021-03-29 11:56:30 +02:00
David Holland 979243e0b7
Add default rustfmt 2021-03-29 11:47:22 +02:00
David Holland a112d5fdfd
QoL improvements 2021-03-29 11:08:51 +02:00
David Holland d866e12404
Make further adjustments 2021-03-29 10:14:59 +02:00
David Holland 30d8648fd6
Overhaul almost everything 2021-03-29 09:38:12 +02:00
David Holland c98c68ff01
Update submodule .config/nvim 2021-03-28 21:49:38 +02:00
David Holland 399d6c8892
Update submodule .config/nvim 2021-03-23 14:01:58 +01:00
David Holland 737ad023e1
Fix update hell 2021-03-23 13:52:27 +01:00
David Holland 330e0d2ba6
Update submodule .config/nvim 2021-03-23 13:47:21 +01:00
David Holland 7ab53d6a15
Change alacritty checking in bspwm startup file to st checking; Update submodule .config/nvim 2021-02-27 15:37:29 +01:00
David Holland b145dc90bd
Update submodule .config/nvim 2021-01-10 22:16:02 +01:00
David Holland 61a1ffd1eb
Update submodule .config/nvim 2021-01-09 22:13:31 +01:00
David Holland 5566bf764d
Correct typo 2021-01-09 22:07:24 +01:00
David Holland 6aa4580a5a
Let dmenu utilize PATH changes 2021-01-05 18:20:44 +01:00
David Holland 03547d94fb
Delete old submodules 2021-01-05 16:10:40 +01:00
David Holland 56dfb877a6
Increase git postbuffer to 500M 2020-12-03 23:15:59 +01:00
David Holland 66564171ed
Update config for new polybar version 2020-12-03 22:57:39 +01:00
David Holland a1fa14db4c
Remove unneeded compinit 2020-11-30 16:17:45 +01:00
David Holland 8509d941a9
Switch from pure oh-my-zsh to antigen 2020-11-30 16:15:19 +01:00
David Holland c275db629d
Update submodule .password-store 2020-11-17 18:27:57 +01:00
David Holland 7a3010e13d
Update submodule .config/nvim 2020-11-16 11:37:13 +01:00
David Holland 8b924a3a23
Update pianoteq version in its alias 2020-11-16 11:36:08 +01:00
David Holland c8dc547b0a
Add pianoteq alias 2020-11-10 14:31:56 +01:00
David Holland 2b630ca4de
Add battery-monitor alias 2020-10-30 13:35:51 +01:00
David Holland 3698682b85
Update submodules --remote 2020-10-29 17:43:09 +01:00
David Holland a85da33603
Update submodule .password-store 2020-10-21 15:27:02 +02:00
David Holland 033f91abd9
Add check-iommu command to aliases 2020-09-24 14:50:41 +02:00
David Holland 1f6f27565b
Finally ban window flickering, by disabling focus_follows_pointer 2020-09-24 13:17:10 +02:00
David Holland 38578b5875
Update submodule .password-store 2020-09-20 20:17:50 +02:00
David Holland 55f4b72322
Update submodules 2020-09-20 20:12:00 +02:00
David Holland 3c03d08d40
Merge branch 'master' of git.dustvoice.de:DustVoice/dotfiles into master 2020-09-20 20:10:00 +02:00
David Holland 3fb8409bd5
Update submodule .password-store 2020-09-19 21:21:25 +02:00
David Holland 353818b6a6
Rename DaVinci Resolve alias 2020-09-14 19:40:19 +02:00
David Holland 2424ccff9e
Update submodule .config/nvim 2020-09-12 16:15:06 +02:00
David Holland 655d1bc91b
Magenta doesn't fit here. Choose white instead (visual selection) 2020-09-12 15:41:14 +02:00
David Holland 19d1d036ca
Update submodule .password-store 2020-09-12 14:56:27 +02:00
David Holland 2250581228
Change faulty cursor color, becoming apparent after st change 2020-09-10 21:48:37 +02:00
David Holland a1524e9af9
Add xrdb to polybar, correct mistake and add polybar relaunch alias 2020-09-10 18:35:23 +02:00
David Holland bb13bd814f
Fix further mistake with font configuration in .Xresources 2020-09-10 18:25:26 +02:00
David Holland b10b48dc7e
Fix mistake with font configuration in .Xresources 2020-09-10 18:15:25 +02:00
David Holland e907f2be1c
Add alias for a private firefox window 2020-09-08 19:30:24 +02:00
David Holland 5b7b97f055
Update submodule .password-store 2020-09-07 12:45:42 +02:00
David Holland a84a5eccba
Disable display standby & screensaver 2020-09-06 13:10:37 +02:00
David Holland dee02a8bf4
Reduce the ttl values for gpg-agent 2020-09-04 17:25:27 +02:00
David Holland f891621d14
Re-Add RGB controls 2020-09-03 21:15:33 +02:00
David Holland 11795b3379
Update submodule .config/nvim 2020-09-03 19:31:28 +02:00
David Holland 0d15b8962f
Fix truecolor issue with tmux 2020-09-03 19:29:24 +02:00
David Holland b546276ae0
Add bspwm workspace saving functionality to dmenu and zsh 2020-09-03 18:07:02 +02:00
David Holland 408c0d5f3c
Update submodule .password-store 2020-09-02 08:46:27 +02:00
David Holland ad86dd672c
Correct mistake, where the next node can also be a parent node 2020-08-30 20:08:11 +02:00
David Holland 44d62ab5cc
Add alias for octave 2020-08-27 13:32:56 +02:00
David Holland 2e512f7cd3
Make java applications behave with bspwm 2020-08-26 23:08:35 +02:00
David Holland 3641c8c58a
Update submodule .password-store 2020-08-26 20:36:11 +02:00
David Holland 8d75da1d4f
Update submodule .password-store 2020-08-26 20:30:22 +02:00
David Holland baef0d4c7d
Update submodule .password-store 2020-08-26 13:42:53 +02:00
David Holland 36115993b1
Add ip to .ssh/known_hosts 2020-08-20 16:45:08 +02:00
David Holland 2738ca97b2
Transition to pure zsh for dmenu 2020-08-17 20:04:10 +02:00
David Holland 4f893f5002
Set default cursor 2020-08-17 18:03:07 +02:00
David Holland a26a3a4453
Adapt screenkey-obs to be DPI responsive 2020-08-17 17:42:38 +02:00
David Holland 134876505f
Create sane alias handling within zsh 2020-08-17 17:00:34 +02:00
David Holland 7cce1761af
Update submodule .config/nvim 2020-08-17 13:56:16 +02:00
David Holland 8e520d635b
Change TERMINAL 2020-08-17 12:51:31 +02:00
David Holland 887a5a9b5a
Update AUR/update with new functionality 2020-08-17 12:49:56 +02:00
David Holland 6ef1eb69d7
Update submodules 2020-08-17 10:28:31 +02:00
David Holland 0bdf397ec4
Merge branch 'master' of git.dustvoice.de:DustVoice/dotfiles 2020-08-17 10:27:48 +02:00
David Holland aedc1b4361
Exclude .weechat/logs 2020-08-11 16:21:19 +02:00
David Holland d77d8b0724
Add .weechat 2020-08-09 21:44:59 +02:00
David Holland 6ac99e4e89
Finalize tmux config 2020-08-09 21:34:20 +02:00
David Holland 238ab2bfe5
Make fallback dmenu also use default Hack font 2020-08-09 19:22:43 +02:00
David Holland 006509941b
Make dmenu use .Xresources with fallback 2020-08-09 19:21:31 +02:00
David Holland f4fa5ff954
Adapt screenkey-obs 2020-08-08 15:55:51 +02:00
David Holland 3682546c9e
Correct JUCE_PATH mistake 2020-08-07 19:09:29 +02:00
David Holland 53f7cae55f
Update submodule .password-store 2020-08-03 21:30:17 +02:00
David Holland 224ead935e
Add AUR to the known hosts 2020-08-03 20:07:30 +02:00
David Holland 7f54fb382f
Enable global git followTags 2020-08-03 19:32:44 +02:00
David Holland 24d94123bb
Switch from alacritty to st 2020-08-03 19:15:27 +02:00
David Holland b030248c91
Setup correct .tmux.conf 2020-08-03 13:39:18 +02:00
David Holland 4a85a10b9b
Correct .Xresources 2020-08-02 22:56:05 +02:00
David Holland d280f698f8
Specify correct font 2020-08-02 20:16:11 +02:00
David Holland ca77959aa8
Adapt more dpi stuff 2020-08-02 19:49:35 +02:00
David Holland bc43da6264
Generalize X startup stuff 2020-08-02 19:04:01 +02:00
David Holland 68d9defb45
Update submodules 2020-08-02 19:03:04 +02:00
David Holland 6c101e5ea9
Update submodule .config/nvim 2020-07-30 22:06:32 +02:00
David Holland c5dcac3f91
Update submodule .password-store 2020-07-26 14:21:00 +02:00
David Holland 0a941b5d1b
Update submodule .password-store 2020-07-26 14:05:27 +02:00
David Holland 4a5be4edf0
Update submodule .password-store 2020-07-24 22:56:56 +02:00
David Holland b8f73b0398
Update submodules and disable mouse accelleration 2020-07-24 21:57:37 +02:00
David Holland 41bac5a631
Remove gpg-connect-agent updatestartuptty /bye 2020-07-07 17:04:01 +02:00
David Holland 9cb034c189
Update submodule .password-store 2020-07-07 00:44:59 +02:00
David Holland b6495b9d64
Update submodule .password-store 2020-07-05 17:10:38 +02:00
David Holland 6bde534a6b
Update submodule .password-store 2020-07-05 16:00:51 +02:00
David Holland dd071e51f7
Merge branch 'master' of git.dustvoice.de:DustVoice/dotfiles 2020-07-05 15:36:29 +02:00
David Holland 2ef35d04a0
Change .gitconfig 2020-07-05 15:36:03 +02:00
David Holland 26b5d4876c
Add pull rule 2020-07-02 16:05:54 +02:00
David Holland d78ea3f4e6
Permanently set X11 scale factor to 1 2020-07-02 16:04:47 +02:00
David Holland 50cfaa388b
Update submodules 2020-06-30 14:40:32 +02:00
David Holland 2f8e26eb37
Update submodule .password-store 2020-06-05 13:20:30 +02:00
David Holland 0c8cd17282
Update submodule .password-store 2020-06-05 13:02:36 +02:00
David Holland 8ae4a0905b
Update submodule .password-store 2020-06-05 12:32:42 +02:00
David Holland 06d9018684
Update submodule .password-store 2020-06-04 18:34:23 +02:00
David Holland 2ae6648846
Update submodules 2020-05-27 14:40:00 +02:00
David Holland 37f34c4bb2
Make permission changes for polybar 2020-05-27 14:27:49 +02:00
David Holland 5b348910f4
Update submodule .password-store 2020-05-25 13:07:26 +02:00
David Holland 26d02b33f5
Update submodule .password-store 2020-05-24 22:25:14 +02:00
David Holland 5a90ee78ed
Add .gitignore and permissions files 2020-05-23 17:06:18 +02:00
David Holland 06ef23d539
Add .ssh/config, etc. to repo 2020-05-23 14:44:42 +02:00
David Holland 2ca0cc76cb
Merge branch 'master' of git.dustvoice.de:DustVoice/dotfiles 2020-05-22 00:24:42 +02:00
David Holland 69bff35327
Update submodule .config/nvim 2020-05-22 00:23:17 +02:00
David Holland ac377d0199
Clean up alias mess 2020-05-17 11:44:44 +02:00
David Holland 553e2d670c
Update submodule .password-store 2020-05-04 18:42:14 +02:00
David Holland 45148b407f
Merge branch 'master' of github.com:DustVoice/dotfiles 2020-05-04 18:41:23 +02:00
David Holland d23d459fb9
Change stuff to make it work on more systems (error/exception handling in bspwm startup etc.) 2020-05-01 19:52:06 +02:00
David Holland 131bbd4d64
Explicitely enable click and scroll 2020-04-17 17:28:42 +02:00
David Holland a5df098e56
Add dracula theme for Xresources ((u)rxvt, etc.); Remove .compton.conf 2020-04-08 00:48:22 +02:00
David Holland 326b590738
Update submodule .password-store 2020-04-06 22:46:34 +02:00
David Holland b93a93ac29
Remove unnecessary bloat 2020-04-04 19:23:05 +02:00
David Holland 6f9f297ecf Add tmate configuration file 2020-04-03 16:51:58 +02:00
David Holland e8d6e0501e
Update some outdated files 2020-04-03 02:09:03 +02:00
David Holland bc13c61a94
Update gnupg cache times 2020-04-02 20:27:14 +02:00
David Holland 730b471f43
Remove lockscreen! Add alias instead 2020-04-02 20:20:44 +02:00
162 changed files with 7688 additions and 1610 deletions

View File

@ -1,2 +1,30 @@
rofi.run-command: zsh -c '{cmd}'
rofi.run-list-command: 'zsh -c rofi-scripts'
! Dracula Xresources palette
*.foreground: #F8F8F2
*.background: #282A36
*.text: #44475A
*.cursor: #F8F8F2
*.color0: #000000
*.color1: #FF5555
*.color2: #50FA7B
*.color3: #F1FA8C
*.color4: #BD93F9
*.color5: #FF79C6
*.color6: #8BE9FD
*.color7: #BFBFBF
*.color8: #4D4D4D
*.color9: #FF6E67
*.color10: #5AF78E
*.color11: #F4F99D
*.color12: #CAA9FA
*.color13: #FF92D0
*.color14: #9AEDFE
*.color15: #E6E6E6
*.font: Fira Code:pixelsize=12:antialias=true:autohint=true
*.termName: xterm-256color
*.shell: /usr/bin/zsh
*.tabspaces: 4
*.borderpx: 2
Xft.dpi: 96
Xcursor.theme: Bibata-Modern-Amber
Xcursor.size: 24

113
.bashrc
View File

@ -1,112 +1 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# TODO: Populate with correct content

View File

@ -1,6 +0,0 @@
# Fading
fading = true; # Fade windows during opacity changes.
fade-delta = 12; # The time between steps in a fade in milliseconds. (default 10).
fade-in-step = 0.15; # Opacity change between steps while fading in. (default 0.028).
fade-out-step = 0.15; # Opacity change between steps while fading out. (default 0.03).
no-fading-openclose = false; # Fade windows in/out when opening/closing.

13
.config/.gitignore vendored
View File

@ -2,16 +2,21 @@
/*/
!/.gitignore
!/starship.toml
!/vconsole.conf
!/nvim
!/.compton.conf/
!/alacritty/
!/bat/
!/bspwm/
!/dmenu/
!/dmenu-wl/
!/fish/
!/i3/
!/i3status/
!/ion/
!/nitrogen/
!/nvim/
!/nushell/
!/polybar/
!/rustfmt/
!/river/
!/sxhkd/
!/waybar/

5
.config/alacritty/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
/*
/*/
!/.gitignore
!/alacritty.yml

View File

@ -1,5 +1,16 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
@ -12,11 +23,12 @@
# available, otherwise `xterm-256color` is used.
#TERM: xterm-256color
#window:
window:
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
# If both are `0`, this setting is ignored.
# Number of lines/columns (not pixels) in the terminal. The number of columns
# must be at least `2`, while using a value of `0` for columns and lines will
# fall back to the window manager's recommended size.
#dimensions:
# columns: 0
# lines: 0
@ -33,12 +45,12 @@
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
#padding:
# x: 0
# y: 0
padding:
x: 2
y: 2
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
dynamic_padding: false
# Window decorations
#
@ -48,7 +60,7 @@
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background, but no title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full
# Startup Mode (changes require restart)
@ -65,6 +77,9 @@
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
@ -74,21 +89,26 @@
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
# Set this to `None` to use the default theme variant.
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
opacity: 1.0
scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
history: 100000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
# Scrolling distance multiplier.
#multiplier: 3
# Scroll to the bottom when new text is written to the terminal.
#auto_scroll: false
auto_scroll: false
# Font configuration
font:
@ -98,9 +118,9 @@ font:
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) Hack
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: Hack
family: JetBrainsMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Regular
@ -111,7 +131,7 @@ font:
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
family: JetBrainsMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Bold
@ -122,7 +142,7 @@ font:
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
family: JetBrainMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Italic
@ -133,23 +153,24 @@ font:
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
family: JetBrainsMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Bold Italic
# Point size
size: 10.0
size: 13.0
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
#glyph_offset:
# x: 0
# y: 0
@ -157,17 +178,7 @@ font:
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`
#
# macOS >= 10.14.x:
#
# If the font quality on non-retina display looks bad then set
# `use_thin_strokes` to `true` and enable font smoothing by running the
# following command:
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
#
# This is a global setting and will require a log out or restart to take
# effect.
# it is recommended to set `use_thin_strokes` to `false`.
#use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
@ -175,141 +186,244 @@ draw_bold_text_with_bright_colors: true
# Colors (Dracula)
colors:
# Default colors
primary:
background: '0x282a36'
foreground: '0xf8f8f2'
# Default colors
primary:
background: '0x282a36'
foreground: '0xf8f8f2'
# Bright and dim foreground colors
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
cursor:
text: '0x44475a'
cursor: '0xf8f8f2'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
cursor:
text: '0x44475a'
cursor: '0xf8f8f2'
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Normal colors
normal:
black: '0x000000'
red: '0xff5555'
green: '0x50fa7b'
yellow: '0xf1fa8c'
blue: '0xbd93f9'
magenta: '0xff79c6'
cyan: '0x8be9fd'
white: '0xbfbfbf'
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: CellBackground
# background: CellForeground
# Bright colors
bright:
black: '0x4d4d4d'
red: '0xff6e67'
green: '0x5af78e'
yellow: '0xf4f99d'
blue: '0xcaa9fa'
magenta: '0xff92d0'
cyan: '0x9aedfe'
white: '0xe6e6e6'
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x14151b'
red: '0xff2222'
green: '0x1ef956'
yellow: '0xebf85b'
blue: '0x4d5b86'
magenta: '0xff46b0'
cyan: '0x59dffc'
white: '0xe6e6d1'
# Keyboard hints
#hints:
# Fist character in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#start:
# foreground: '#1d1f21'
# background: '#e9ff5e'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '0xff00ff' }`
#
indexed_colors: []
# All characters after the first one in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#end:
# foreground: '#e9ff5e'
# background: '#1d1f21'
# Visual Bell
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
normal:
black: '0x000000'
red: '0xff5555'
green: '0x50fa7b'
yellow: '0xf1fa8c'
blue: '0xbd93f9'
magenta: '0xff79c6'
cyan: '0x8be9fd'
white: '0xbfbfbf'
# Bright colors
bright:
black: '0x4d4d4d'
red: '0xff6e67'
green: '0x5af78e'
yellow: '0xf4f99d'
blue: '0xcaa9fa'
magenta: '0xff92d0'
cyan: '0x9aedfe'
white: '0xe6e6e6'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x14151b'
red: '0xff2222'
green: '0x1ef956'
yellow: '0xebf85b'
blue: '0x4d5b86'
magenta: '0xff46b0'
cyan: '0x59dffc'
white: '0xe6e6d1'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '0xff00ff' }`
#
indexed_colors: []
# Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
#visual_bell:
# animation: EaseOutExpo
# duration: 0
# color: '0xffffff'
# The bell is rung every time the BEL control character is received.
#bell:
# Visual Bell Animation
#
# Animation effect for flashing the screen when the visual bell is rung.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#animation: EaseOutExpo
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 1.0
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
# disable the visual bell animation.
#duration: 0
# Visual bell animation color.
#color: '#ffffff'
# Bell Command
#
# This program is executed whenever the bell is rung.
#
# When set to `command: None`, no command will be executed.
#
# Example:
# command:
# program: notify-send
# args: ["Hello, World!"]
#
#command: None
#selection:
# This string contains all characters that are used as separators for
# "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
#cursor:
cursor:
# Cursor style
style:
# Cursor shape
#
# Values for `shape`:
# - ▇ Block
# - _ Underline
# - | Beam
shape: Beam
# Cursor blinking state
#
# Values for `blinking`:
# - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default
# - On: Enable blinking by default
# - Always: Force the cursor to always blink
blinking: Off
# Vi mode cursor style
#
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
#style: Block
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
vi_mode_style: Block
# Cursor blinking interval in milliseconds.
#blink_interval: 750
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
thickness: 0.2
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
shell:
program: nu
# args:
# - --login
@ -319,43 +433,9 @@ live_config_reload: true
# directory of the parent process will be used.
working_directory: None
# WinPTY backend (Windows only)
#
# Alacritty defaults to using the newer ConPTY backend if it is available,
# since it resolves a lot of bugs and is quite a bit faster. If it is not
# available, the the WinPTY backend will be used instead.
#
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
# even if the ConPTY backend is available.
#winpty_backend: false
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - None
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
# Record all characters and escape sequences as test data.
#ref_test: false
mouse:
# Click settings
#
@ -371,30 +451,58 @@ mouse:
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
# This program is executed when clicking on a text which is recognized as a
# URL. The URL is always added to the command as the last parameter.
#
# When set to `None`, URL launching will be disabled completely.
# When set to `launcher: None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
# - (Windows) cmd /c start ""
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
# These are the modifiers that need to be held down for opening URLs when
# clicking on them. The available modifiers are documented in the key
# binding section.
#modifiers: None
# Regex hints
#
# Terminal hints can be used to find text in the visible part of the terminal
# and pipe it to other applications.
#hints:
# Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq"
# List with all available hints
#
# The fields `command`, `binding.key` and `binding.mods` accept the same
# values as they do in the `key_bindings` section.
#
# Example
#
# enabled:
# - regex: "alacritty/alacritty#\\d*"
# command: firefox
# binding:
# key: G
# mods: Control|Shift
#enabled: []
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
@ -450,30 +558,129 @@ mouse:
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - PasteSelection
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# (macOS only):
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
# - Vi mode exclusive actions:
#
# - Open
# Open URLs at the cursor location with the launcher configured in
# `url.launcher`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
@ -503,7 +710,9 @@ mouse:
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
@ -512,40 +721,136 @@ mouse:
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#key_bindings:
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
key_bindings:
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Add, mods: Control, action: IncreaseFontSize }
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Add, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: K, mods: Command, action: ClearHistory }
#- { key: K, mods: Command, chars: "\x0c" }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, chars: "\x0c" }
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false

View File

@ -1,569 +0,0 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: xterm-256color
#window:
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
# If both are `0`, this setting is ignored.
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
#padding:
# x: 0
# y: 0
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background, but no title bar buttons
#decorations: full
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
# Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
history: 100000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
#multiplier: 3
# Scroll to the bottom when new text is written to the terminal.
#auto_scroll: false
# Spaces per Tab (changes require restart)
#
# This setting defines the width of a tab in cells.
#
# Some applications, like Emacs, rely on knowing about the width of a tab.
# To prevent unexpected behavior in these applications, it's also required to
# change the `it` value in terminfo when altering this setting.
#tabspaces: 4
# Font configuration
#font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) Hack
# - (Windows) Consolas
family: Hack
# The `style` can be specified to pick a specific face.
style: Regular
# Bold font face
bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
# The `style` can be specified to pick a specific face.
style: Bold
# Italic font face
italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
# The `style` can be specified to pick a specific face.
style: Italic
# Bold italic font face
bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
family: Hack
# The `style` can be specified to pick a specific face.
style: Bold Italic
# Point size
size: 20.0
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
#glyph_offset:
# x: 0
# y: 0
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`
#
# macOS >= 10.14.x:
#
# If the font quality on non-retina display looks bad then set
# `use_thin_strokes` to `true` and enable font smoothing by running the
# following command:
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
#
# This is a global setting and will require a log out or restart to take
# effect.
#use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: true
# Colors (Tomorrow Night Bright)
#colors:
# Default colors
#primary:
# background: '0x000000'
# foreground: '0xeaeaea'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
#cursor:
# text: '0x000000'
# cursor: '0xffffff'
# Selection colors
#
# Colors which should be used to draw the selection area. If selection
# background is unset, selection color will be the inverse of the cell colors.
# If only text is unset the cell text color will remain the same.
#selection:
# text: '0xeaeaea'
# background: '0x404040'
# Normal colors
#normal:
# black: '0x000000'
# red: '0xd54e53'
# green: '0xb9ca4a'
# yellow: '0xe6c547'
# blue: '0x7aa6da'
# magenta: '0xc397d8'
# cyan: '0x70c0ba'
# white: '0xeaeaea'
# Bright colors
#bright:
# black: '0x666666'
# red: '0xff3334'
# green: '0x9ec400'
# yellow: '0xe7c547'
# blue: '0x7aa6da'
# magenta: '0xb77ee0'
# cyan: '0x54ced6'
# white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '0x000000'
# red: '0x8c3336'
# green: '0x7a8530'
# yellow: '0x97822e'
# blue: '0x506d8f'
# magenta: '0x80638e'
# cyan: '0x497e7a'
# white: '0x9a9a9a'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '0xff00ff' }`
#
#indexed_colors: []
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
#visual_bell:
# animation: EaseOutExpo
# duration: 0
# color: '0xffffff'
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#background_opacity: 0.5
#selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
#cursor:
# Cursor style
#
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
#style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# WinPTY backend (Windows only)
#
# Alacritty defaults to using the newer ConPTY backend if it is available,
# since it resolves a lot of bugs and is quite a bit faster. If it is not
# available, the the WinPTY backend will be used instead.
#
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
# even if the ConPTY backend is available.
#winpty_backend: false
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - None
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
# Record all characters and escape sequences as test data.
#ref_test: false
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
hide_when_typing: true
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
#
# When set to `None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
#modifiers: None
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings)
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Middle, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - Copy
# - Paste
# - PasteSelection
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Minimize
# - Quit
# - ToggleFullscreen
# - SpawnNewInstance
# - ClearLogNotice
# - ReceiveChar
# - None
#
# (macOS only):
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Alt
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#key_bindings:
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Add, mods: Control, action: IncreaseFontSize }
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Add, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: K, mods: Command, action: ClearHistory }
#- { key: K, mods: Command, chars: "\x0c" }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, chars: "\x0c" }
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }

25
.config/bat/config Normal file
View File

@ -0,0 +1,25 @@
# This is `bat`s configuration file. Each line either contains a comment or
# a command-line option that you want to pass to `bat` by default. You can
# run `bat --help` to get a list of all possible configuration options.
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
# for a list of all available themes
--theme="Dracula"
# Enable this to use italic text on the terminal. This is not supported on all
# terminal emulators (like tmux, by default):
#--italic-text=always
# Uncomment the following line to disable automatic paging:
#--paging=never
# Uncomment the following line if you are using less version >= 551 and want to
# enable mouse scrolling support in `bat` when running inside tmux. This might
# disable text selection, unless you press shift.
#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
# Syntax mappings: map a certain filename pattern to a language.
# Example 1: use the C++ syntax for Arduino .ino files
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
#--map-syntax "*.ino:C++"
#--map-syntax ".ignore:Git Ignore"

5
.config/bspwm/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
/*
/*/
!/.gitignore
!/bspwmrc

View File

@ -1,6 +1,23 @@
#!/usr/bin/env bash
sxhkd &
if [ -x "$(command -v sxhkd)" ]; then
sxhkd &
return_val=$?
if [ $return_val -ne 0 ]; then
echo >&2 "Couldn't fire up sxhkd: $return_val. Exiting!"
bspc quit && exit 1
fi
else
echo >&2 "Can't seem to find the sxhkd executable. Exiting!"
bspc quit && exit 1
fi
if [ ! -x "$(command -v alacritty)" ]; then
if [ ! -x "$(command -v st)" ]; then
echo >&2 "Can't seem to find neither the st nor the alacritty executable. Exiting!"
bspc quit && exit 1
fi
fi
for monitor in $(bspc query -M); do
bspc monitor $monitor -d \~
@ -16,7 +33,7 @@ bspc config single_monocle false
bspc config split_ratio 0.50
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config focus_follows_pointer true
bspc config focus_follows_pointer false
bspc config remove_disabled_monitors true
bspc config merge_overlapping_monitors true
bspc config pointer_modifier mod1
@ -31,9 +48,38 @@ bspc config presel_feedback_color "#6272a4"
bspc rule -a Screenkey manage=off
bspc rule -a Zathura state=tiled manage=on
bspc rule -a Emacs state=tiled
nitrogen --restore &
/usr/lib/xfce-polkit/xfce-polkit &
xss-lock -l -- xsecurelock &
if [ -x "$(command -v feh)" ]; then
feh --bg-fill "$HOME/Wallpapers/arch_dracula.png"
else
if [ -x "$(command -v nitrogen)" ]; then
nitrogen --restore &
return_val=$?
if [ $return_val -ne 0 ]; then
echo >&2 "Couldn't fire up nitrogen: $return_val"
fi
else
echo >&2 "Can't seem to find neither the feh nor the nitrogen executable"
fi
fi
$HOME/.config/polybar/launch.sh
if [ -x "$(command -v /usr/bin/lxqt-policykit-agent)" ]; then
/usr/bin/lxqt-policykit-agent &
return_val=$?
if [ $return_val -ne 0 ]; then
echo >&2 "Couldn't fire up lxqt-policykit: $return_val"
fi
else
echo >&2 "Can't seem to find the /usr/bin/lxqt-policykit-agent executable"
fi
if [ -x "$(command -v polybar)" ]; then
$HOME/.config/polybar/launch
if [ $? -ne 0 ]; then
echo >&2 "Couldn't fire up polybar: $?"
fi
else
echo >&2 "Can't seem to find the polybar executable. Starting barless!"
bspc config top_padding 0
fi

8
.config/dmenu-wl/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
/*
/*/
!/.gitignore
!/dmenu_bspwm_desktop
!/dmenu_bspwm_desktop_content
!/dmenu_bspwm_monitor
!/dmenu_run_with_aliases

View File

@ -1,6 +1,10 @@
#!/usr/bin/env bash
#!/usr/bin/env zsh
dmenu_string="Wrong parameter"
if [[ -f $HOME/.zsh_alias ]]; then
source $HOME/.zsh_alias
fi
local dmenu_string="Wrong parameter"
case $1 in
"rename")
@ -13,11 +17,13 @@ case $1 in
dmenu_string="Swap and follow desktop with desktop: " ;;
esac
local desktop=""
if [[ $1 == "delete" || $1 == "rename" ]]; then
desktop=$(echo "" | dmenu -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
desktop=$(echo "" | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
else
if [[ $1 != "bubbleprev" && $1 != "bubblenext" ]]; then
desktop=$(bspc query -m focused -D --names | dmenu -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
if [[ $1 != "bubbleprev" && $1 != "bubblenext" && $1 != "save" && $1 != "load" ]]; then
desktop=$(bspc query -m focused -D --names | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
fi
fi
@ -43,4 +49,8 @@ case $1 in
bspc desktop -b prev ;;
"bubblenext")
bspc desktop -b next ;;
"save")
bspwm-save ;;
"load")
bspwm-load ;;
esac

View File

@ -1,6 +1,10 @@
#!/usr/bin/env bash
#!/usr/bin/env zsh
dmenu_string="Wrong parameter"
if [[ -f $HOME/.zsh_alias ]]; then
source $HOME/.zsh_alias
fi
local dmenu_string="Wrong parameter"
case $1 in
"goto")
@ -11,15 +15,15 @@ case $1 in
dmenu_string="Move and follow node to desktop: " ;;
esac
desktop=$(bspc query -m focused -D --names | dmenu -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
local desktop=$(bspc query -m focused -D --names | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
found=false
local found=false
desktop_list=$(bspc query -m focused -D --names | tr '\n' ' ')
local desktop_list=$(bspc query -m focused -D --names)
local desktop_array=("${(f)desktop_list}")
if [[ $desktop != "" ]];
then
for name in $desktop_list; do
if [[ $desktop != "" ]]; then
for name in $desktop_array; do
if [[ $name == $desktop ]]; then
found=true
fi
@ -27,7 +31,7 @@ then
fi
if [ ! $found = true ]; then
bspc monitor -d $desktop_list $desktop
bspc monitor -d $desktop_array $desktop
fi
case $1 in

View File

@ -1,6 +1,10 @@
#!/usr/bin/env bash
#!/usr/bin/env zsh
dmenu_string="Wrong parameter"
if [[ -f $HOME/.zsh_alias ]]; then
source $HOME/.zsh_alias
fi
local dmenu_string="Wrong parameter"
case $1 in
"goto")
@ -17,7 +21,7 @@ case $1 in
dmenu_string="Move and follow desktop to monitor: " ;;
esac
monitor=$(bspc query -M --names | dmenu -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
local monitor=$(bspc query -M --names | dmenu -i -fn $(font-name) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
case $1 in
"goto")

View File

@ -0,0 +1,9 @@
#!/usr/bin/env zsh
if [[ -f $HOME/.zshenv ]]; then
source $HOME/.zshenv
fi
command_to_run=$({ alias | awk '{split($0,alias,"="); print alias[1];}' ; dmenu-wl_path ; } | sort | dmenu-wl -i -fn "Fira Code:pixelsize=12:antialias=true:autohint=true" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" "$@")
eval ${command_to_run} &

7
.config/dmenu/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
/*
/*/
!/.gitignore
!/bspwm
!/run
!/run_zsh

142
.config/dmenu/bspwm Executable file
View File

@ -0,0 +1,142 @@
#!/bin/sh
dmenu_string="Wrong parameter"
function desktop() {
case $1 in
"rename")
dmenu_string="Rename desktop to: " ;;
"delete")
dmenu_string="Really delete this desktop? (n = abort): " ;;
"swap")
dmenu_string="Swap desktop with desktop: " ;;
"swapfollow")
dmenu_string="Swap and follow desktop with desktop: " ;;
esac
desktop=""
if [[ $1 == "delete" || $1 == "rename" ]]; then
desktop=$(echo "" | dmenu -i -fn "$get_font" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
else
if [[ $1 != "bubbleprev" && $1 != "bubblenext" && $1 != "save" && $1 != "load" ]]; then
desktop=$(bspc query -m focused -D --names | dmenu -i -fn "$get_font" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
fi
fi
case $1 in
"rename")
if [[ $desktop != "" ]];
then
bspc desktop -n $desktop
fi
;;
"delete")
echo $desktop
if [[ $desktop != "n" ]];
then
bspc desktop -r
fi
;;
"swap")
bspc desktop -s $desktop ;;
"swapfollow")
bspc desktop -s $desktop --follow ;;
"bubbleprev")
bspc desktop -b prev ;;
"bubblenext")
bspc desktop -b next ;;
"save")
bspwm-save ;;
"load")
bspwm-load ;;
esac
}
function desktop_content() {
case $1 in
"goto")
dmenu_string="Switch to desktop: " ;;
"move")
dmenu_string="Move node to desktop: " ;;
"movefollow")
dmenu_string="Move and follow node to desktop: " ;;
esac
desktop=$(bspc query -m focused -D --names | dmenu -i -fn "$get_font" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
found=false
desktop_list=$(bspc query -m focused -D --names)
desktop_array=$(echo $desktop_list | tr '\n' ' ')
if [[ $desktop != "" ]]; then
for name in $desktop_array; do
if [[ $name == $desktop ]]; then
found=true
fi
done
fi
if [ ! $found = true ]; then
bspc monitor -d $desktop_array $desktop
fi
case $1 in
"goto")
bspc desktop -f $desktop ;;
"move")
bspc node -d $desktop ;;
"movefollow")
bspc node -d $desktop --follow ;;
esac
}
function monitor() {
case $1 in
"goto")
dmenu_string="Switch to monitor: " ;;
"swap")
dmenu_string="Swap monitor with monitor: " ;;
"movenode")
dmenu_string="Move node to monitor: " ;;
"movenodefollow")
dmenu_string="Move and follow node to monitor: " ;;
"movedesktop")
dmenu_string="Move desktop to monitor: " ;;
"movedesktopfollow")
dmenu_string="Move and follow desktop to monitor: " ;;
esac
monitor=$(bspc query -M --names | dmenu -i -fn "$get_font" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
case $1 in
"goto")
bspc monitor -f $monitor ;;
"swap")
bspc monitor -s $monitor ;;
"movenode")
bspc node -m $monitor ;;
"movenodefollow")
bspc node -m $monitor --follow ;;
"movedesktop")
bspc desktop -m $monitor ;;
"movedesktopfollow")
bspc desktop -m $monitor --follow ;;
esac
}
if [ ! -z $SHELL ]; then
get_font="$($SHELL -c "get-font")"
else
get_font="Fira Code:pixelsize=12:antialias=true:autohint=true"
fi
case $1 in
"desktop")
desktop $2 ;;
"desktop_content")
desktop_content $2 ;;
"monitor")
monitor $2 ;;
esac

View File

@ -1,9 +0,0 @@
#!/usr/bin/env zsh
if [[ -f $HOME/.zsh_alias ]]; then
source $HOME/.zsh_alias
fi
command_to_run=$({ alias | awk '{split($0,alias,"="); print alias[1];}' ; dmenu_path ; } | sort | dmenu -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" "$@")
eval ${command_to_run} &

16
.config/dmenu/run Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
fallback_command="dmenu_run -i -fn \"Fira Code:pixelsize=12:antialias=true:autohint=true\" -nb \"#282a36\" -nf \"#f8f8f2\" -sb \"#44475a\" -sf \"#f8f8f2\""
if [ ! -z $SHELL ]; then
case $SHELL in
*"fish")
fish -c "dmenu_fish" ;;
*"zsh")
$HOME/.config/dmenu/run_zsh ;;
*)
eval ${fallback_command} &
esac
else
eval ${fallback_command} &
fi

9
.config/dmenu/run_zsh Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env zsh
if [[ -f $HOME/.zshenv ]]; then
source $HOME/.zshenv
fi
command_to_run=$({ alias | awk '{split($0,alias,"="); print alias[1];}' ; dmenu_path ; } | sort | dmenu -i -fn "$(get-font)" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" "$@")
eval ${command_to_run} &

View File

@ -1,3 +1,11 @@
fish_variables
/*
/*/
!/.gitignore
!.gitignore
!/config.fish
!/fish_variables
!/completions/
!/conf.d/
!/functions

7
.config/fish/conf.d/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
/*
/*/
!/.gitignore
!/dracula.fish
!/env.fish
!/path.fish.example

View File

@ -0,0 +1,50 @@
# Dracula Color Palette
set -l foreground f8f8f2
set -l selection 44475a
set -l comment 6272a4
set -l red ff5555
set -l orange ffb86c
set -l yellow f1fa8c
set -l green 50fa7b
set -l purple bd93f9
set -l cyan 8be9fd
set -l pink ff79c6
# Syntax Highlighting Colors
set -gx fish_color_normal $foreground
set -gx fish_color_command $cyan
set -gx fish_color_keyword $pink
set -gx fish_color_quote $yellow
set -gx fish_color_redirection $foreground
set -gx fish_color_end $orange
set -gx fish_color_error $red
set -gx fish_color_param $purple
set -gx fish_color_comment $comment
set -gx fish_color_selection --background=$selection
set -gx fish_color_search_match --background=$selection
set -gx fish_color_operator $green
set -gx fish_color_escape $pink
set -gx fish_color_autosuggestion $comment
set -gx fish_color_cancel $red --reverse
set -gx fish_color_option $orange
# Default Prompt Colors
set -gx fish_color_cwd $green
set -gx fish_color_host $purple
set -gx fish_color_host_remote $purple
set -gx fish_color_user $cyan
# Completion Pager Colors
set -gx fish_pager_color_progress $comment
set -gx fish_pager_color_background
set -gx fish_pager_color_prefix $cyan
set -gx fish_pager_color_completion $foreground
set -gx fish_pager_color_description $comment
set -gx fish_pager_color_selected_background --background=$selection
set -gx fish_pager_color_selected_prefix $cyan
set -gx fish_pager_color_selected_completion $foreground
set -gx fish_pager_color_selected_description $comment
set -gx fish_pager_color_secondary_background
set -gx fish_pager_color_secondary_prefix $cyan
set -gx fish_pager_color_secondary_completion $foreground
set -gx fish_pager_color_secondary_description $comment

View File

@ -0,0 +1,25 @@
set -x PATH "$HOME/.emacs.d/bin" $PATH
set -gx LANG "en_US.UTF-8"
set -gx ALTERNATE_EDITOR ""
set -gx EDITOR "emacsclient -ut"
set -gx VISUAL "emacsclient -uc"
set -gx TERMINAL "alacritty"
set -gx GIT_PAGER "delta"
set -gx DOOMPAGER "delta"
set -gx SSH_AUTH_SOCK "$(gpgconf --list-dir socketdir)/S.gpg-agent.ssh"
set -gx GPG_TTY $(tty)
set -gx CXXFLAGS "-std=c++14"
set -gx LD_LIBRARY_PATH $LD_LIBRARY_PATH
set -gx XDG_CONFIG_HOME "$HOME/.config"
set -gx JUCE_PATH "$HOME/JUCE"
set -gx LIBGL_ALWAYS_INDIRECT 1
set -gx WINIT_X11_SCALE_FACTOR 1
set -gx MOZ_ENABLE_WAYLAND 1

View File

@ -0,0 +1 @@
set -x PATH "$HOME/.local/share/gem/ruby/3.0.0/bin" "$HOME/.dotnet/tools" $PATH

View File

@ -1,52 +1,12 @@
set -U __fish_init_2_39_8 \x1d
set -U __fish_init_2_3_0 \x1d
set -U __fish_init_3_x \x1d
set -U fish_color_autosuggestion 969896
set -U fish_color_cancel \x2dr
set -U fish_color_command b294bb
set -U fish_color_comment f0c674
set -U fish_color_cwd green
set -U fish_color_cwd_root red
set -U fish_color_end b294bb
set -U fish_color_error cc6666
set -U fish_color_escape 00a6b2
set -U fish_color_history_current \x2d\x2dbold
set -U fish_color_host normal
set -U fish_color_match \x2d\x2dbackground\x3dbrblue
set -U fish_color_normal normal
set -U fish_color_operator 00a6b2
set -U fish_color_param 81a2be
set -U fish_color_quote b5bd68
set -U fish_color_redirection 8abeb7
set -U fish_color_search_match bryellow\x1e\x2d\x2dbackground\x3dbrblack
set -U fish_color_selection white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
set -U fish_color_status red
set -U fish_color_user brgreen
set -U fish_color_valid_path \x2d\x2dunderline
set -U fish_cursor_default block
set -U fish_cursor_insert line
set -U fish_cursor_replace_one underscore
set -U fish_greeting
set -U fish_key_bindings fish_vi_key_bindings
set -U fish_pager_color_completion normal
set -U fish_pager_color_description B3A06D\x1eyellow
set -U fish_pager_color_prefix white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
set -U fish_pager_color_progress brwhite\x1e\x2d\x2dbackground\x3dcyan
if command -q starship
starship init fish | source
end
set fish_prompt_pwd_dir_length 0
if command -q zoxide
zoxide init fish | source
end
set -x SSH_AUTH_SOCK (gpgconf --list-dir socketdir)'/S.gpg-agent.ssh'
set -x GPG_TTY (tty)
gpg-connect-agent updatestartuptty /bye > /dev/null
set -x EDITOR 'nvim'
set -x TERMINAL 'gnome-terminal'
set -x PATH "$HOME/bin" "$HOME/.local/bin" "$HOME/JUCE" "$HOME/.gem/ruby/2.6.0/bin" $PATH
set -x JUCE_PATH "$HOME/JUCE"
set -x FRUT_PATH "$HOME/FRUT"
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH
set -x CXXFLAGS '-std=c++14'
set -x LIBGL_ALWAYS_INDIRECT 1
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_visual block

View File

@ -0,0 +1,33 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d111
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_greeting:
SETUVAR fish_key_bindings:fish_vi_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_user_paths:/home/dustvoice/\x2elocal/bin\x1e/usr/local/bin

View File

@ -0,0 +1,3 @@
function archserver-proxy --description 'Connect to archserver through ldiproxy'
ssh archserver -o "ProxyCommand=nc -X connect -x ldiproxy.lsjv.rlp.de:8080 %h %p";
end

View File

@ -0,0 +1,3 @@
function battery-monitor --description 'Simple stat overview regarding battery charge and power supply connection'
watch -t -n 60 '( if [ -f /sys/class/power_supply/ACAD/online ] && [ $(cat /sys/class/power_supply/ACAD/online) == "1" ]; then printf "Power connected\n"; else printf "Power disconnected\n"; fi; printf "\nBattery capacity: "; cat /sys/class/power_supply/BAT1/capacity; printf "\n(Updated every 60s)"; )'
end

View File

@ -0,0 +1,3 @@
function binance_miner --wraps='ethminer --farm-recheck 200 -P stratum+tcp://DustVoiceETH.Linux@ethash.poolbinance.com:1800' --description 'alias binance_miner=ethminer --farm-recheck 200 -P stratum+tcp://DustVoiceETH.Linux@ethash.poolbinance.com:1800'
ethminer --farm-recheck 200 -P stratum+tcp://DustVoiceETH.Linux@ethash.poolbinance.com:1800 $argv;
end

View File

@ -0,0 +1,12 @@
function bspwm-load-custom
bspwm-workspaces-init
if test -e $BSPWM_FILES/$argv[1]
bspwm-save-custom $argv[2] $argv[2]
bspc monitor -d $(< $BSPWM_FILES/$argv[1])
end
end
function bspwm-load --description 'Load previously saved bspwm workspaces'
bspwm-load-custom workspaces workspaces.prev_save
end

View File

@ -0,0 +1,13 @@
function bspwm-save-custom
bspwm-workspaces-init
if test -e $BSPWM_FILES/$argv[1]
cp $BSPWM_FILES/$argv[1] $BSPWM_FILES/$argv[2]
end
bspc query -m focused -D --names | tr '\n' ' ' | sed 's/ $//g' > $BSPWM_FILES/$argv[1]
end
function bspwm-save --description 'Save current bspwm workspaces'
bspwm-save-custom workspaces workspaces.prev_save
end

View File

@ -0,0 +1,7 @@
function bspwm-workspaces-init
if not set -q BSPWM_FILES
set -x BSPWM_FILES "$HOME/.local/share/bspwm"
end
mkdir -p $BSPWM_FILES
end

View File

@ -0,0 +1,9 @@
function check-iommu --description 'Check iommu groups'
for g in /sys/kernel/iommu_groups/*
echo "IOMMU Group ${g##*/}:"
for d in $g/devices/*
echo -e "\t$(lspci -nns ${d##*/})"
end
end
end

View File

@ -0,0 +1,3 @@
function devkitARM --description 'Shadow arm-none-eabi binaries with the devkitARM ones'
set -x PATH "/opt/devkitpro/devkitARM/bin" $PATH
end

View File

@ -0,0 +1,7 @@
function dmenu_fish --description 'Open fish agnostic dmenu'
set fns "$(string replace -a ', ' \n $(functions))"
set command_to_run $(string join \n $fns $(dmenu_path) | sort | dmenu -i -fn "$(get-font)" -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2")
fish -c "$command_to_run" &
end

View File

@ -0,0 +1,3 @@
function ea --wraps='exa -lah' --description 'alias ea exa -lah'
exa -lah $argv;
end

View File

@ -0,0 +1,3 @@
function ee --wraps='exa -lh' --description 'alias ee exa -lh'
exa -lh $argv;
end

View File

@ -0,0 +1,3 @@
function em --wraps='emacsclient -a "" -nc' --description 'Start emacsclient (+daemon if neccessary)'
emacsclient -a "" -nc $argv;
end

View File

@ -0,0 +1,3 @@
function ems --wraps='emacsclient -a "" -nc "/sudo:root@localhost:"' --description 'Start emacsclient (+daemon if neccessary) with sudo'
emacsclient -a "" -nc "/sudo:root@localhost:$argv";
end

View File

@ -0,0 +1,3 @@
function es --wraps=exa --description 'alias es exa'
exa $argv;
end

View File

@ -0,0 +1,3 @@
function esa --wraps='exa -a' --description 'alias esa exa -a'
exa -a $argv;
end

View File

@ -0,0 +1,3 @@
function et --wraps='emacsclient -a "" -t' --description 'Start emacsclient (+daemon if neccessary) in terminal mode'
emacsclient -a "" -ut $argv;
end

View File

@ -0,0 +1,3 @@
function ets --wraps='emacsclient -a "" -t "/sudo:root@localhost:"' --description 'Start emacsclient (+daemon if neccessary) in terminal mode with sudo'
emacsclient -a "" -ut "/sudo:root@localhost:$argv";
end

View File

@ -0,0 +1,3 @@
function feh-default --wraps='feh --bg-fill' --description 'Run feh with the default background image'
feh --bg-fill "$HOME/Wallpapers/arch_dracula.png"
end

View File

@ -0,0 +1,3 @@
function firefox-private --wraps='firefox --private-window' --description 'alias firefox-private=firefox --private-window'
firefox --private-window $argv;
end

View File

@ -0,0 +1,10 @@
function fish_user_key_bindings
fish_vi_key_bindings
bind \f 'accept-autosuggestion'
bind \b 'cancel-commandline'
bind \f -M insert 'accept-autosuggestion'
bind \b -M insert 'cancel-commandline'
bind \cE 'edit_command_buffer'
bind \cE -M insert 'edit_command_buffer'
end

View File

@ -0,0 +1,14 @@
function get-font
set fallback_font "Fira Code:pixelsize=12:antialias=true:autohint=true"
set font ""
if command -q xgetres
if not set font $(xgetres font)
set font $fallback_font
end
else
set font $fallback_font
end
echo "$font"
end

View File

@ -0,0 +1,3 @@
function git-proxy --wraps='git' --description 'Use git through ldiproxy'
GIT_SSH_COMMAND='ssh -o "ProxyCommand=nc -X connect -x ldiproxy.lsjv.rlp.de:8080 %h %p"' git $argv;
end

View File

@ -0,0 +1,25 @@
function hyperv-gpg-agent
set socket_path "$HOME/.gnupg/S.gpg-agent"
set host_ip $(hyperv-host-ip)
if test -e $socket_path
rm $socket_path
end
screen -dmS gpg-socat socat UNIX-LISTEN:$socket_path,fork tcp-connect:$host_ip:59545
end
function hyperv-ssh-agent
set socket_path "$HOME/.gnupg/S.gpg-agent.ssh"
set host_ip $(hyperv-host-ip)
if test -e $socket_path
rm $socket_path
end
screen -dmS ssh-socat socat UNIX-LISTEN:$socket_path,fork tcp-connect:$host_ip:59546
end
function hyperv-forward --description 'Setup hyperv-agent forwarding'
hyperv-gpg-agent
hyperv-ssh-agent
end

View File

@ -0,0 +1,3 @@
function hyperv-host-ip
ip route show 0.0.0.0/0 dev eth0 | cut -d\ -f3
end

View File

@ -1,3 +1,3 @@
function la
ls -A $argv
function la --wraps='ls -lah' --description 'alias la=ls -lah'
ls -lah $argv;
end

View File

@ -1,3 +1,3 @@
function layout
xkblayout-state print "%s %v"
function layout --wraps=xkblayout-state\ print\ \"\%s\(\%v\)\"\ \&\&\ echo\ -n\ \"\\n\" --description alias\ layout=xkblayout-state\ print\ \"\%s\(\%v\)\"\ \&\&\ echo\ -n\ \"\\n\"
xkblayout-state print "%s(%v)" && echo -n "\n" $argv;
end

View File

@ -1,3 +1,3 @@
function ll
ls -alhF $argv
function ll --wraps='ls -lh' --description 'alias ll=ls -lh'
ls -lh $argv;
end

View File

@ -0,0 +1,3 @@
function lock-screen --wraps='xset 600 60 && env XSECURELOCK_AUTH_BACKGROUND_COLOR=rgb:28/2a/36 XSECURELOCK_AUTH_FOREGROUND_COLOR=rgb:f8/f8/f2 XSECURELOCK_AUTH_TIMEOUT=10 XSECURELOCK_BLANK_TIMEOUT=-1 XSECURELOCK_BLANK_DPMS_STATE=on XSECURELOCK_DISCARD_FIRST_KEYPRESS=1 XSECURELOCK_PASSWORD_PROMPT=cursor XSECURELOCK_SHOW_DATETIME=1 XSECURELOCK_SHOW_HOSTNAME=1 XSECURELOCK_SHOW_USERNAME=1 xsecurelock &' --description 'alias lock-screen=xset 600 60 && env XSECURELOCK_AUTH_BACKGROUND_COLOR=rgb:28/2a/36 XSECURELOCK_AUTH_FOREGROUND_COLOR=rgb:f8/f8/f2 XSECURELOCK_AUTH_TIMEOUT=10 XSECURELOCK_BLANK_TIMEOUT=-1 XSECURELOCK_BLANK_DPMS_STATE=on XSECURELOCK_DISCARD_FIRST_KEYPRESS=1 XSECURELOCK_PASSWORD_PROMPT=cursor XSECURELOCK_SHOW_DATETIME=1 XSECURELOCK_SHOW_HOSTNAME=1 XSECURELOCK_SHOW_USERNAME=1 xsecurelock &'
xset 600 60 && env XSECURELOCK_AUTH_BACKGROUND_COLOR=rgb:28/2a/36 XSECURELOCK_AUTH_FOREGROUND_COLOR=rgb:f8/f8/f2 XSECURELOCK_AUTH_TIMEOUT=10 XSECURELOCK_BLANK_TIMEOUT=-1 XSECURELOCK_BLANK_DPMS_STATE=on XSECURELOCK_DISCARD_FIRST_KEYPRESS=1 XSECURELOCK_PASSWORD_PROMPT=cursor XSECURELOCK_SHOW_DATETIME=1 XSECURELOCK_SHOW_HOSTNAME=1 XSECURELOCK_SHOW_USERNAME=1 xsecurelock & $argv;
end

View File

@ -0,0 +1,3 @@
function ls --description 'alias ls=ls --color=tty'
command ls --color=tty $argv;
end

View File

@ -0,0 +1,3 @@
function lsa --wraps='ls -a' --description 'alias lsa=ls -a'
ls -a $argv;
end

View File

@ -0,0 +1,3 @@
function octave-gui --wraps='octave --force-gui' --description 'alias octave-gui=octave --force-gui'
octave --force-gui $argv;
end

View File

@ -0,0 +1,3 @@
function pgit --wraps='git-proxy' --description 'alias git-proxy'
git-proxy $argv;
end

View File

@ -0,0 +1,3 @@
function pianoteq --wraps=pianoteq\\\ 7 --description alias\ pianoteq=pianoteq\\\ 7
pianoteq\ 7 $argv;
end

View File

@ -0,0 +1,3 @@
function picom-default --wraps='picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync' --description 'alias picom-default=picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync'
picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync $argv;
end

View File

@ -1,3 +0,0 @@
function picom_default
picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync
end

View File

@ -0,0 +1,3 @@
function polybar-launch --wraps=/home/dustvoice/.config/polybar/launch --description 'alias polybar-launch=/home/dustvoice/.config/polybar/launch'
/home/dustvoice/.config/polybar/launch $argv;
end

View File

@ -0,0 +1,3 @@
function resolve --wraps=/opt/resolve/bin/resolve --description 'alias resolve=/opt/resolve/bin/resolve'
/opt/resolve/bin/resolve $argv;
end

View File

@ -0,0 +1,3 @@
function sabaki --wraps=/opt/Sabaki/sabaki --description 'alias sabaki=/opt/Sabaki/sabaki'
/opt/Sabaki/sabaki $argv;
end

View File

@ -1,3 +1,5 @@
function screenkey-obs
screenkey --no-systray -t 2 -p fixed -s small -g 960x36+960+4 --key-mode composed --bak-mode full --mods-mode normal --scr 0 -f Hack
set width $(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[1];}')
set height $(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[2];}')
screenkey --no-systray -t 2 -p fixed -s small -g $(awk -v height=$height -v width=$width 'BEGIN {printf "%.0fx%.0f+%.0f+%.0f", (width * 0.5), (height * 0.06), (width * 0.25), (height * 0.02)}') --key-mode composed --bak-mode full --mods-mode normal -f "Fira Code" --font-color "#f8f8f2" --bg-color "#44475a" --opacity "1.0"
end

View File

@ -0,0 +1,3 @@
function secure-gpg --wraps='gpg --homedir /dev/shm/gpg/.gnupg' --description 'gpg --homedir /dev/shm/gpg/.gnupg'
gpg --homedir /dev/shm/gpg/.gnupg $argv;
end

View File

@ -0,0 +1,25 @@
function secure-hyperv-gpg-agent
set socket_path "/dev/shm/gpg/.gnupg/S.gpg-agent"
set host_ip $(hyperv-host-ip)
if test -e $socket_path
rm $socket_path
end
screen -dmS gpg-socat socat UNIX-LISTEN:$socket_path,fork tcp-connect:$host_ip:59545
end
function secure-hyperv-ssh-agent
set socket_path "/dev/shm/gpg/.gnupg/S.gpg-agent.ssh"
set host_ip $(hyperv-host-ip)
if test -e $socket_path
rm $socket_path
end
screen -dmS ssh-socat socat UNIX-LISTEN:$socket_path,fork tcp-connect:$host_ip:59546
end
function secure-hyperv-forward --description 'Setup secure hyperv-agent forwarding'
secure-hyperv-gpg-agent
secure-hyperv-ssh-agent
end

View File

@ -1,3 +1,3 @@
function tmate-obs
tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice
function tmate-obs --wraps='tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice' --description 'alias tmate-obs=tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice'
tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice $argv;
end

View File

@ -0,0 +1,70 @@
function usbip-man --description "Interactive usbip helper"
set vhci_required
echo ">> Is the vhci-hcd module already loaded?"
echo ">> [(y)es] / (n)o"
read vhci_required
if test "$vhci_required" = "n"
sudo modprobe vhci-hcd
end
set action
echo ">> What do you want to do?"
echo ">> [(a)ttach] / (d)etach"
read action
if test "$action" = "a" || test "$action" = ""
set host
set host_type
set bus_id
echo ">> What kind of setup is it?"
echo ">> [(h)yperv]"
read host_type
if test "$host_type" = "h" || test "$host_type" = ""
set host $(hyperv-host-ip)
else
echo ">> No valid option chosen. Exiting ..."
return -1
end
echo ">> Listing available devices ..."
sudo usbip list -r "$host"
echo ">> Select bus-id to attach"
read bus_id
echo ">> Attaching device ..."
sudo usbip attach -r "$host" -b "$bus_id"
set usbip_status $status
echo ">> Exiting ..."
return $usbip_status
else if [ "$action" = "d" ]
set port
echo ">> Listing imported devices ..."
sudo usbip port
echo ">> Select port to detach"
read port
echo ">> Detaching device ..."
sudo usbip detach -p "$port"
set usbip_status $status
echo ">> Exiting ..."
return $usbip_status
else
echo ">> No valid option chosen. Exiting ..."
return -1
end
end

View File

@ -1,3 +1,3 @@
function xfce-polkit
/usr/lib/xfce-polkit/xfce-polkit
function xfce-polkit --wraps=/usr/lib/xfce-polkit/xfce-polkit --description 'alias xfce-polkit=/usr/lib/xfce-polkit/xfce-polkit'
/usr/lib/xfce-polkit/xfce-polkit $argv;
end

View File

@ -0,0 +1,5 @@
function xrandr-hyperv-1600-900 --description 'Resize to 1600x900 window'
xrandr --output Virtual-1 --primary --mode 1600x900 --pos 0x0 --rotate normal
feh-default
polybar-launch
end

View File

@ -1,317 +0,0 @@
set $mod Mod1
set $alt_mod Mod4
#new_window none
#new_float normal
exec --no-startup-id xsetroot -solid "#333333"
default_border normal
default_floating_border normal
focus_wrapping no
hide_edge_borders none
bindsym $mod+u border none
bindsym $mod+i border pixel 1
bindsym $mod+o border normal
#font xft:URWGothic-Book 11
font Hack 11
floating_modifier $mod
bindsym $mod+Return exec alacritty
# Window kill command
bindsym $mod+Shift+q kill
# start program launcher
#bindsym $mod+d exec dmenu_run
bindsym $mod+d exec --no-startup-id rofi -show run
#bindsym $mod+d exec --no-startup-id rofi -show run -lines 3 -eh 2 -width 100 -padding 800 -opacity "85" -bw 0 -bc "$bg-color" -bg "$bg-color" -fg "$text-color" -hlbg "$bg-color" -hlfg "#9575cd"
bindsym $mod+Shift+d exec --no-startup-id rofi -show run -run-command 'sudo {cmd}'
#bindsym $mod+d exec SUDO_ASKPASS=~/bin/askpass-rofi --no-startup-id rofi -show drun -run-command 'sudo -A {cmd}'
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# move workspace
bindsym $mod+Shift+Ctrl+h move workspace to output left
bindsym $mod+Shift+Ctrl+l move workspace to output right
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth no
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
# split orientation
bindsym $mod+n split h;exec notify-send 'tile horizontally'
bindsym $mod+v split v;exec notify-send 'tile vertically'
bindsym $mod+q split toggle;exec notify-send 'tile toggle'
# toggle fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking;exec notify-send 'layout stacking'
bindsym $mod+w layout tabbed;exec notify-send 'layout tabbed'
bindsym $mod+e layout toggle split;exec notify-send 'layout split'
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# toggle sticky
bindsym $mod+Shift+s sticky toggle
# focus the parent container
bindsym $mod+a focus parent
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# navigate workspaces next / previous
bindsym $mod+Ctrl+l workspace next
bindsym $mod+Ctrl+h workspace prev
# workspaces
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
set $ws10 10
set $ws11 11
set $ws12 12
set $ws13 13
set $ws14 14
set $ws15 15
set $ws16 16
set $ws17 17
set $ws18 18
set $ws19 19
set $ws20 20
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# Move to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws10
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
bindsym $mod+x exec --no-startup-id i3-input -F 'workspace "%s"' -P 'Go to workspace: '
bindsym $mod+Shift+x exec --no-startup-id "i3-input -F 'move container to workspace \\"%s\\"; workspace \\"%s\\"' -P 'Move container and go to workspace: '"
bindsym $mod+Ctrl+x exec --no-startup-id i3-input -F 'move container to workspace "%s"' -P 'Move container to workspace: '
# Open specific applications in floating mode
for_window [title="alsamixer"] floating enable border pixel 1
for_window [class="Calamares"] floating enable border normal
for_window [class="Clipgrab"] floating enable
for_window [title="File Transfer*"] floating enable
for_window [class="Galculator"] floating enable border pixel 1
for_window [class="GParted"] floating enable border normal
for_window [title="i3_help"] floating enable sticky enable border normal
for_window [class="Lightdm-gtk-greeter-settings"] floating enable
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Manjaro-hello"] floating enable
for_window [class="Manjaro Settings Manager"] floating enable border normal
for_window [title="MuseScore: Play Panel"] floating enable
for_window [class="Nitrogen"] floating enable sticky enable border normal
for_window [class="Oblogout"] fullscreen enable
for_window [class="octopi"] floating enable
for_window [title="About Pale Moon"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="qt5ct"] floating enable sticky enable border normal
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="Skype"] floating enable border normal
for_window [class="Thus"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
for_window [class="(?i)virtualbox"] floating enable border normal
for_window [class="Xfburn"] floating enable
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+Shift+e exec i3-msg exit
# Set shut down, restart and locking features
bindsym $mod+= mode "$mode_system"
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
mode "$mode_system" {
bindsym l exec --no-startup-id i3exit lock, mode "default"
bindsym s exec --no-startup-id i3exit suspend, mode "default"
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
bindsym e exec --no-startup-id i3exit logout, mode "default"
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
bindsym r exec --no-startup-id i3exit reboot, mode "default"
bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# These bjndings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 5 px or 5 ppt
bindsym j resize grow height 5 px or 5 ppt
bindsym k resize shrink height 5 px or 5 ppt
bindsym l resize grow width 5 px or 5 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# exit resize mode: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Rename workspace
bindsym $mod+z exec --no-startup-id i3-input -F 'rename workspace to "%s"' -P 'New name for this workspace: '
# Autostart applications
exec --no-startup-id nitrogen --restore; sleep 1;
# exec --no-startup-id picom -bCG --backend glx --unredir-if-possible-delay 1000 --vsync
exec --no-startup-id /usr/lib/xfce-polkit/xfce-polkit
exec --no-startup-id xss-lock -- i3lock -n -e -c 333333
# exec --no-startup-id xfce4-power-manager
# exec_always --no-startup-id ~/.config/polybar/i3wmthemer_bar_launch.sh
bar {
position top
status_command i3status
binding_mode_indicator yes
}
# Theme colors
client.focused #a6f6c6 #3f853f #e6e6e6 #ff0077 #8abeb7
client.focused_inactive #c6c6c6 #1f1f1f #c6c6c6 #1f1f1f #8abeb7
client.unfocused #c6c6c6 #1f1f1f #c6c6c6 #ff0077 #8abeb7
client.urgent #f6a6a6 #3f1f1f #e6c6c6 #3f1f1f #8abeb7
client.placeholder #c6c6c6 #1f1f1f #c6c6c6 #1f1f1f #8abeb7
client.background #1f1f1f
# Gaps
#gaps inner 10
#gaps outer -4
#
#smart_gaps on
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: l|h|0 (local), Shift + l|h|0 (global)
set $mode_gaps_inner Inner Gaps: l|h|0 (local), Shift + l|h|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym l gaps inner current plus 5
bindsym h gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+l gaps inner all plus 5
bindsym Shift+h gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym l gaps outer current plus 5
bindsym h gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+l gaps outer all plus 5
bindsym Shift+h gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
# set power-manager and volume control
# exec --no-startup-id mate-power-manager
# bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -c 0 -q set Master 2dB+ unmute
# bindsym XF86AudioLowerVolume exec --no-startup-id amixer -c 0 -q set Master 2db- unmute
# bindsym XF86AudioMute exec --no-startup-id amixer -q set Master toggle
#
# touchpad on and off controller on laptop with Fn+<touchpad control functional key>
# bindsym XF86TouchpadOn exec --no-startup-id synclient Touchpadoff=0
# bindsym XF86TouchpadOff exec --no-startup-id synclient Touchpadoff=1

View File

@ -1,64 +0,0 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
order += "volume master"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "disk /"
order += "cpu_usage"
order += "memory"
order += "tztime local"
volume master {
format = "VOL: %volume"
device = "default"
mixer = "Master"
}
wireless _first_ {
format_up = "W: %ip (%quality at %essid, %bitrate)"
format_down = "W: down"
}
ethernet _first_ {
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage (%remaining)"
format_down = "No battery found"
status_chr = "CHR"
status_bat = "BAT"
status_unk = "UNK"
status_full = "FULL"
}
disk "/" {
format = "%used / %total"
}
cpu_usage {
format = "%usage"
}
memory {
format = "%used | %available"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}

1
.config/ion/initrc Normal file
View File

@ -0,0 +1 @@
eval $(starship init ion)

8
.config/nushell/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
/*
/*/
!/.gitignore
!/config.nu
!/env.nu
!/scripts/

554
.config/nushell/config.nu Normal file
View File

@ -0,0 +1,554 @@
# Nushell Config File
#
# version = 0.80.1
# For more information on defining custom themes, see
# https://www.nushell.sh/book/coloring_and_theming.html
# And here is the theme collection
# https://github.com/nushell/nu_scripts/tree/main/themes
let dark_theme = {
# color for nushell primitives
separator: white
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: {|| if $in { 'light_cyan' } else { 'light_gray' } }
int: white
filesize: {|e|
if $e == 0b {
'white'
} else if $e < 1mb {
'cyan'
} else { 'blue' }
}
duration: white
date: {|| (date now) - $in |
if $in < 1hr {
'purple'
} else if $in < 6hr {
'red'
} else if $in < 1day {
'yellow'
} else if $in < 3day {
'green'
} else if $in < 1wk {
'light_green'
} else if $in < 6wk {
'cyan'
} else if $in < 52wk {
'blue'
} else { 'dark_gray' }
}
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
search_result: {bg: red fg: white}
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_closure: green_bold
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: white bg: red attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_match_pattern: green
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
shape_vardecl: purple
}
let light_theme = {
# color for nushell primitives
separator: dark_gray
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
int: dark_gray
filesize: {|e|
if $e == 0b {
'dark_gray'
} else if $e < 1mb {
'cyan_bold'
} else { 'blue_bold' }
}
duration: dark_gray
date: {|| (date now) - $in |
if $in < 1hr {
'purple'
} else if $in < 6hr {
'red'
} else if $in < 1day {
'yellow'
} else if $in < 3day {
'green'
} else if $in < 1wk {
'light_green'
} else if $in < 6wk {
'cyan'
} else if $in < 52wk {
'blue'
} else { 'dark_gray' }
}
range: dark_gray
float: dark_gray
string: dark_gray
nothing: dark_gray
binary: dark_gray
cellpath: dark_gray
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
search_result: {fg: white bg: red}
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_closure: green_bold
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: white bg: red attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_match_pattern: green
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
shape_vardecl: purple
}
# External completer example
let carapace_completer = {|spans|
carapace $spans.0 nushell $spans | from json
}
# The default config record. This is where much of your global configuration is setup.
let-env config = {
# true or false to enable or disable the welcome banner at startup
show_banner: false
ls: {
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
}
rm: {
always_trash: false # always act as if -t was given. Can be overridden with -p
}
cd: {
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
}
table: {
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
show_empty: true # show 'empty list' and 'empty record' placeholders for command output
trim: {
methodology: wrapping # wrapping or truncating
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
}
}
explore: {
help_banner: true
exit_esc: true
command_bar_text: '#C4C9C6'
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
highlight: {bg: 'yellow' fg: 'black' }
status: {
# warn: {bg: 'yellow', fg: 'blue'}
# error: {bg: 'yellow', fg: 'blue'}
# info: {bg: 'yellow', fg: 'blue'}
}
try: {
# border_color: 'red'
# highlighted_color: 'blue'
# reactive: false
}
table: {
split_line: '#404040'
cursor: true
line_index: true
line_shift: true
line_head_top: true
line_head_bottom: true
show_head: true
show_index: true
# selected_cell: {fg: 'white', bg: '#777777'}
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
# selected_column: blue
# padding_column_right: 2
# padding_column_left: 2
# padding_index_left: 2
# padding_index_right: 1
}
config: {
cursor_color: {bg: 'yellow' fg: 'black' }
# border_color: white
# list_color: green
}
}
history: {
max_size: 10000 # Session has to be reloaded for this to take effect
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
file_format: "plaintext" # "sqlite" or "plaintext"
history_isolation: true # true enables history isolation, false disables it. true will allow the history to be isolated to the current session. false will allow the history to be shared across all sessions.
}
completions: {
case_sensitive: false # set to true to enable case-sensitive completions
quick: true # set this to false to prevent auto-selecting completions when only one remains
partial: true # set this to false to prevent partial filling of the prompt
algorithm: "prefix" # prefix or fuzzy
external: {
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow
max_results: 50 # setting it lower can improve completion performance at the cost of omitting some options
completer: $carapace_completer # check 'carapace_completer' above as an example
}
}
filesize: {
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
}
cursor_shape: {
emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default)
vi_insert: line # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default)
vi_normal: block # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default)
}
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
use_grid_icons: true
footer_mode: "25" # always, never, number_of_rows, auto
float_precision: 2 # the precision for displaying floats in tables
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
use_ansi_coloring: true
bracketed_paste: true # enable bracketed paste, currently useless on windows
edit_mode: vi # emacs, vi
shell_integration: ("WEZTERM_PANE" not-in $env) # enables terminal markers and a workaround to arrow keys stop working issue
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
hooks: {
pre_prompt: [{||
null # replace with source code to run before the prompt is shown
}]
pre_execution: [{||
null # replace with source code to run before the repl input is run
}]
env_change: {
PWD: [{|before, after|
null # replace with source code to run if the PWD environment is different since the last repl input
}]
}
display_output: {||
if (term size).columns >= 100 { table -e } else { table }
}
command_not_found: {||
null # replace with source code to return an error message when a command is not found
}
}
menus: [
# Configuration for default nushell menus
# Note the lack of source parameter
{
name: completion_menu
only_buffer_difference: false
marker: "| "
type: {
layout: columnar
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: history_menu
only_buffer_difference: true
marker: "? "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: help_menu
only_buffer_difference: true
marker: "? "
type: {
layout: description
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
# Example of extra menus created using a nushell source
# Use the source field to create a list of records that populates
# the menu
{
name: commands_menu
only_buffer_difference: false
marker: "# "
type: {
layout: columnar
columns: 4
col_width: 20
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
{
name: vars_menu
only_buffer_difference: true
marker: "# "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.vars
| where name =~ $buffer
| sort-by name
| each { |it| {value: $it.name description: $it.type} }
}
}
{
name: commands_with_description
only_buffer_difference: true
marker: "# "
type: {
layout: description
columns: 4
col_width: 20
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
]
keybindings: [
{
name: completion_menu
modifier: none
keycode: tab
mode: [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_r
mode: emacs
event: { send: menu name: history_menu }
}
{
name: next_page
modifier: control
keycode: char_x
mode: emacs
event: { send: menupagenext }
}
{
name: undo_or_previous_page
modifier: control
keycode: char_z
mode: emacs
event: {
until: [
{ send: menupageprevious }
{ edit: undo }
]
}
}
{
name: yank
modifier: control
keycode: char_y
mode: emacs
event: {
until: [
{edit: pastecutbufferafter}
]
}
}
{
name: unix-line-discard
modifier: control
keycode: char_u
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cutfromlinestart}
]
}
}
{
name: kill-line
modifier: control
keycode: char_k
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cuttolineend}
]
}
}
# Keybindings used to trigger the user defined menus
{
name: commands_menu
modifier: control
keycode: char_t
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_menu }
}
{
name: vars_menu
modifier: alt
keycode: char_o
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: vars_menu }
}
{
name: commands_with_description
modifier: control
keycode: char_s
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_with_description }
}
]
}
const dracula_path = './nu_scripts/themes/themes/dracula.nu'
if ($dracula_path | path exists) {
use $dracula_path
let-env config = ($env.config | merge {color_config: (dracula)})
}
source ~/.cache/starship/init.nu
source ~/.cache/zoxide/init.nu

96
.config/nushell/env.nu Normal file
View File

@ -0,0 +1,96 @@
# Nushell Environment Config File
#
# version = 0.80.1
def create_left_prompt [] {
mut home = ""
try {
if $nu.os-info.name == "windows" {
$home = $env.USERPROFILE
} else {
$home = $env.HOME
}
}
let dir = ([
($env.PWD | str substring 0..($home | str length) | str replace --string $home "~"),
($env.PWD | str substring ($home | str length)..)
] | str join)
let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold })
let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold })
let path_segment = $"($path_color)($dir)"
$path_segment | str replace --all --string (char path_sep) $"($separator_color)/($path_color)"
}
def create_right_prompt [] {
let time_segment_color = (ansi magenta)
let time_segment = ([
(ansi reset)
$time_segment_color
(date now | date format '%m/%d/%Y %r')
] | str join | str replace --all "([/:])" $"(ansi light_magenta_bold)${1}($time_segment_color)" |
str replace --all "([AP]M)" $"(ansi light_magenta_underline)${1}")
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
(ansi rb)
($env.LAST_EXIT_CODE)
] | str join)
} else { "" }
([$last_exit_code, (char space), $time_segment] | str join)
}
# 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) | path expand --no-symlink }
to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
}
"Path": {
from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
to_string: { |v| $v | path expand --no-symlink | str join (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.default-config-dir | 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.default-config-dir | path join 'plugins')
]
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
# mkdir ~/.cache/oh-my-posh
# oh-my-posh init nu --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/dracula.omp.json' --print | save -f ~/.cache/oh-my-posh/init.nu
mkdir ~/.cache/zoxide
zoxide init nushell --cmd cd | save -f ~/.cache/zoxide/init.nu

5
.config/nushell/scripts/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
/*
/*/
!/.gitignore
!/nu_scripts

@ -0,0 +1 @@
Subproject commit fde7f5b768b09fc40a90b2e0d6013a21784f6b07

@ -1 +1 @@
Subproject commit 794fd8fa926a1acb0ff49c238178d358ee4e9d68
Subproject commit 2168ae0c717a0adc9db47f405f8d8087d647bf42

6
.config/polybar/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
/*
/*/
!/.gitignore
!/config
!/launch

View File

@ -13,13 +13,14 @@ error = #ff5555
[bar/top]
monitor = ${env:MONITOR:}
font-0 = Hack:pixelsize=10;2
dpi = ${xrdb:Xft.dpi:-1}
font-0 = ${xrdb:font:Fira Code:pixelsize=12:antialias=true:autohint=true}
monitor-strict = false
override-redirect = false
bottom = false
fixed-center = false
width = 100%
height = 20
height = 20px
offset-x = 0%
offset-y = 0%
@ -45,6 +46,7 @@ modules-left = bspwm
modules-right = date sep xkeyboard sep cpu space temperature sep memory sep filesystem sep pulseaudio sep
tray-scale = 1.0
tray-position = right
tray-padding = 0
tray-maxsize = 14
@ -54,11 +56,11 @@ wm-restack = bspwm
;override-redirect = true
scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev
scroll-up = #bspwm.prev
scroll-down = #bspwm.next
cursor-click = pointer
cursor-scroll = ns-resize
cursor-scroll = default
[module/date]
type = internal/date
@ -192,6 +194,9 @@ label-private-foreground = #a6f6c6
; label-separator = |
enable-click = true
enable-scroll = false
[module/cpu]
type = internal/cpu

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/usr/bin/env bash
killall -q polybar

166
.config/river/init Executable file
View File

@ -0,0 +1,166 @@
#!/bin/sh
# This is the example configuration file for river.
#
# If you wish to edit this, you will probably want to copy it to
# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
#
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
# documentation.
# Note: the "Alt" modifier is also known as Logo, GUI, Windows, Mod4, etc.
# Alt+Shift+Return to start an instance of alacritty
riverctl map normal Alt Return spawn alacritty
# dmenu-wl
riverctl map normal Alt d spawn $HOME/.config/dmenu-wl/dmenu_run
# Alt+Q to close the focused view
riverctl map normal Alt+Shift c close
# Alt+Shift+E to exit river
riverctl map normal Alt+Shift q exit
# Alt+J and Alt+K to focus the next/previous view in the layout stack
riverctl map normal Alt J focus-view next
riverctl map normal Alt K focus-view previous
# Alt+Shift+J and Alt+Shift+K to swap the focused view with the next/previous
# view in the layout stack
riverctl map normal Alt+Shift J swap next
riverctl map normal Alt+Shift K swap previous
# Alt+Period and Alt+Comma to focus the next/previous output
riverctl map normal Alt Period focus-output next
riverctl map normal Alt Comma focus-output previous
# Alt+Shift+{Period,Comma} to send theAlt focused view to the next/previous output
riverctl map normal Alt+Shift Period send-to-output next
riverctl map normal Alt+Shift Comma send-to-output previous
# Alt+Return to bump the focused view to the top of the layout stack
riverctl map normal Alt+Shift Return zoom
# Alt+H and Alt+L to decrease/increase the main ratio of rivertile(1)
riverctl map normal Alt H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal Alt L send-layout-cmd rivertile "main-ratio +0.05"
# Alt+Shift+H and Alt+Shift+L to increment/decrement the main count of rivertile(1)
riverctl map normal Alt+Shift H send-layout-cmd rivertile "main-count +1"
riverctl map normal Alt+Shift L send-layout-cmd rivertile "main-count -1"
# Alt+Alt+{H,J,K,L} to move views
riverctl map normal Super+Alt H move left 100
riverctl map normal Super+Alt J move down 100
riverctl map normal Super+Alt K move up 100
riverctl map normal Super+Alt L move right 100
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
riverctl map normal Super+Alt+Control H snap left
riverctl map normal Super+Alt+Control J snap down
riverctl map normal Super+Alt+Control K snap up
riverctl map normal Super+Alt+Control L snap right
# Super+Alt+Shif+{H,J,K,L} to resize views
riverctl map normal Super+Alt+Shift H resize horizontal -100
riverctl map normal Super+Alt+Shift J resize vertical 100
riverctl map normal Super+Alt+Shift K resize vertical -100
riverctl map normal Super+Alt+Shift L resize horizontal 100
# Alt + Left Mouse Button to move views
riverctl map-pointer normal Alt BTN_LEFT move-view
# Alt + Right Mouse Button to resize views
riverctl map-pointer normal Alt BTN_RIGHT resize-view
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
# Alt+[1-9] to focus tag [0-8]
riverctl map normal Alt $i set-focused-tags $tags
# Alt+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal Alt+Shift $i set-view-tags $tags
# Alt+Ctrl+[1-9] to toggle focus of tag [0-8]
riverctl map normal Alt+Control $i toggle-focused-tags $tags
# Alt+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
riverctl map normal Alt+Shift+Control $i toggle-view-tags $tags
done
# Alt+0 to focus all tags
# Alt+Shift+0 to tag focused view with all tags
all_tags=$(((1 << 32) - 1))
riverctl map normal Alt 0 set-focused-tags $all_tags
riverctl map normal Alt+Shift 0 set-view-tags $all_tags
# Alt+S to toggle float
riverctl map normal Alt S toggle-float
# Alt+M to toggle fullscreen
riverctl map normal Alt M toggle-fullscreen
# Alt+{Up,Right,Down,Left} to change layout orientation
riverctl map normal Alt Up send-layout-cmd rivertile "main-location top"
riverctl map normal Alt Right send-layout-cmd rivertile "main-location right"
riverctl map normal Alt Down send-layout-cmd rivertile "main-location bottom"
riverctl map normal Alt Left send-layout-cmd rivertile "main-location left"
# Declare a passthrough mode. This mode has only a single mapping to return to
# normal mode. This makes it useful for testing a nested wayland compositor
riverctl declare-mode passthrough
# Alt+F11 to enter passthrough mode
riverctl map normal Alt F11 enter-mode passthrough
# Alt+F11 to return to normal mode
riverctl map passthrough Alt F11 enter-mode normal
# Various media key mapping examples for both normal and locked mode which do
# not have a modifier
for mode in normal locked
do
# Eject the optical drive (well if you still have one that is)
riverctl map $mode None XF86Eject spawn 'eject -T'
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
# Control screen backlight brighness with light (https://github.com/haikarainen/light)
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
done
# Set background and border color
riverctl background-color 0x282a36
riverctl border-color-focused 0xff79c6
riverctl border-color-unfocused 0x44475a
# Set keyboard repeat rate
riverctl set-repeat 50 300
# Make certain views start floating
riverctl float-filter-add app-id float
riverctl float-filter-add title "popup title with spaces"
# Set app-ids and titles of views which should use client side decorations
riverctl csd-filter-add app-id "gedit"
# Set and exec into the default layout generator, rivertile.
# River will send the process group of the init executable SIGTERM on exit.
waybar &
riverctl default-layout rivertile
exec rivertile -view-padding 0 -outer-padding 0

View File

@ -0,0 +1,29 @@
edition = "2021"
fn_args_layout = "Tall"
force_explicit_abi = true
hard_tabs = false
match_arm_leading_pipes = "Never"
max_width = 100
merge_derives = true
newline_style = "Auto"
remove_nested_parens = true
reorder_imports = true
reorder_modules = true
tab_spaces = 4
use_field_init_shorthand = false
use_small_heuristics = "Default"
use_try_shorthand = false

View File

@ -0,0 +1,130 @@
unstable_features = true
binop_separator = "Front"
blank_lines_lower_bound = 0
blank_lines_upper_bound = 1
brace_style = "SameLineWhere"
color = "Auto"
combine_control_expr = true
comment_width = 80
condense_wildcard_suffixes = true
control_brace_style = "AlwaysSameLine"
disable_all_formatting = false
edition = "2021"
empty_item_single_line = true
enum_discrim_align_threshold = 0
error_on_line_overflow = false
error_on_unformatted = false
fn_args_layout = "Tall"
fn_single_line = false
force_explicit_abi = true
force_multiline_blocks = false
format_code_in_doc_comments = false
format_macro_matchers = false
format_macro_bodies = true
format_strings = false
hard_tabs = false
hide_parse_errors = false
ignore = []
imports_indent = "Block"
imports_layout = "Mixed"
indent_style = "Block"
inline_attribute_width = 0
license_template_path = ""
match_arm_blocks = true
match_arm_leading_pipes = "Never"
match_block_trailing_comma = false
max_width = 100
merge_derives = true
imports_granularity = "Preserve"
merge_imports = false
newline_style = "Auto"
normalize_comments = false
normalize_doc_attributes = false
overflow_delimited_expr = false
remove_nested_parens = true
reorder_impl_items = false
reorder_imports = true
group_imports = "Preserve"
reorder_modules = true
report_fixme = "Never"
report_todo = "Never"
skip_children = false
space_after_colon = true
space_before_colon = false
spaces_around_ranges = false
struct_field_align_threshold = 0
struct_lit_single_line = true
tab_spaces = 4
trailing_comma = "Vertical"
trailing_semicolon = true
type_punctuation_density = "Wide"
use_field_init_shorthand = false
use_small_heuristics = "Default"
use_try_shorthand = false
version = "Two"
where_single_line = false
wrap_comments = false

231
.config/starship.toml Normal file
View File

@ -0,0 +1,231 @@
# ~/.config/starship.toml
add_newline = true
scan_timeout = 30
command_timeout = 500
format = '$all'
continuation_prompt = ">>>"
[aws]
symbol = "[AWS](bold bg:yellow fg:black) "
style = "bold yellow"
[character]
success_symbol = "[>](bold purple)"
error_symbol = "[X](bold red)"
vimcmd_symbol = "[:](bold green)"
vimcmd_replace_symbol = "[s](bold red)"
vimcmd_replace_one_symbol = "[s](bold red)"
vimcmd_visual_symbol = "[/](bold yellow)"
[cmake]
symbol = "[CMake](bold bg:blue fg:white) "
style = "bold blue"
[conda]
symbol = "[Conda](bold bg:green fg:black) "
style = "bold green"
[crystal]
symbol = "[Crystal](bold bg:red fg:white) "
style = "bold red"
[dart]
symbol = "[Dart](bold bg:blue fg:white) "
style = "bold blue"
[deno]
symbol = "[Deno](bold bg:green fg:black) "
style = "green bold"
[directory]
truncation_length = 0
truncate_to_repo = false
truncation_symbol = ".../"
[docker_context]
symbol = "[Docker](bold bg:blue fg:white) "
style = "blue bold"
[dotnet]
format = "[[.NET](bold bg:blue fg:white) ($version )([target](bold bg:blue fg:white) $tfm )]($style)"
symbol = ""
style = "bold blue"
[elixir]
symbol = "[Elixir](bold bg:purple fg:black) "
style = "bold purple"
[elm]
symbol = "[Elm](bold bg:cyan fg:black) "
style = "cyan bold"
[erlang]
symbol = "[Erlang](bold bg:red fg:white) "
style = "bold red"
[gcloud]
symbol = "[G-Cloud](bold bg:blue fg:white) "
style = "bold blue"
[git_branch]
format = "on [$symbol$branch( \\($remote_name/$remote_branch\\))]($style) "
symbol = "[git](bold bg:purple fg:black) "
style = "bold purple"
truncation_length = 9223372036854775805
truncation_symbol = "..."
[git_commit]
style = "bold green"
tag_symbol = " [tag](bold bg:green fg:black) "
[git_status]
ignore_submodules = true
ahead = ">"
behind = "<"
diverged = "<>"
renamed = "r"
deleted = "x"
[golang]
symbol = "[go](bold bg:cyan fg:black) "
style = "bold cyan"
[helm]
symbol = "[Helm](bold bg:white fg:black) "
[hostname]
trim_at = ""
[java]
symbol = "[Java](dimmed bg:red fg:white) "
style = "red dimmed"
[jobs]
symbol = "+"
[julia]
symbol = "[Julia](bold bg:purple fg:black) "
style = "bold purple"
[kotlin]
symbol = "[Kotlin](bold bg:blue fg:white) "
style = "bold blue"
[kubernetes]
symbol = "[Kubernetes](bold bg:cyan fg:black) "
style = "cyan bold"
[lua]
symbol = "[Lua](bold bg:blue fg:white) "
style = "bold blue"
[memory_usage]
symbol = "[Mem](bold bg:white fg:black)"
style = "bold dimmed white"
[hg_branch]
symbol = "[hg](bold bg:purple fg:black) "
style = "bold purple"
truncation_length = 9223372036854775805
truncation_symbol = "..."
[nim]
symbol = "[Nim](bold bg:yellow fg:black) "
style = "bold yellow"
[nix_shell]
symbol = "[nix_sh](bold bg:blue fg:white) "
style = "bold blue"
[nodejs]
symbol = "[node](bold bg:green fg:black) "
style = "bold green"
[ocaml]
symbol = "[Ocaml](bold bg:yellow fg:black) "
style = "bold yellow"
[openstack]
symbol = "[Openstack](bold bg:yellow fg:black) "
style = "bold yellow"
[package]
format = "is [$symbol$version]($style) "
symbol = "[pkg](bold bg:red fg:white) "
style = "bold red"
[perl]
symbol = "[perl](bold bg:149 fg:white) "
style = "bold 149"
[php]
symbol = "[php](bold bg:147 fg:white) "
style = "147 bold"
[purescript]
symbol = "[Purescript](bold bg:white fg:black)=> "
style = "bold white"
[python]
symbol = "[Python](bold bg:yellow fg:black) "
style = "yellow bold"
[rlang]
symbol = "[Rlang](bold bg:blue fg:white)"
style = "blue bold"
[red]
symbol = "[Red](bold bg:red fg:white) "
style = "red bold"
[ruby]
symbol = "[Ruby](bold bg:red fg:white) "
style = "bold red"
[rust]
format = "via [$symbol($version )]($style)"
symbol = "[Cargo](bold bg:red fg:white) "
style = "bold red"
[scala]
symbol = "[Scala](dimmed bg:red fg:white) "
style = "red dimmed"
[shlvl]
symbol = "[Shlvl](bold bg:yellow fg:black) "
style = "bold yellow"
[singularity]
symbol = "[Singularity](bold dimmed bg:blue fg:white)"
style = "bold dimmed blue"
[status]
symbol = "[Status](bold bg:red fg:white)"
style = "bold red"
[swift]
symbol = "[Swift](bold bg:202 fg:white) "
style = "bold 202"
[terraform]
symbol = "[Terraform](bold bg:105 fg:white)"
style = "bold 105"
[username]
[vagrant]
symbol = "[Vagrant](bold bg:cyan fg:black) "
style = "cyan bold"
[vlang]
symbol = "[Vlang](bold bg:blue fg:white) "
style = "blue bold"
[vcsh]
symbol = "[Vcsh](bold bg:yellow fg:black)"
[zig]
style = "bold yellow"

5
.config/sxhkd/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
/*
/*/
!/.gitignore
!/sxhkdrc

View File

@ -54,7 +54,7 @@ alt + {p,b,comma,period}
# focus the next/previous node in the current desktop
alt + {_,shift + }n
bspc node -f {next,prev}.local
bspc node -f {next,prev}.tiled.local
# focus the next/previous floating node in the current desktop
alt + {_, shift + }space
@ -62,7 +62,7 @@ alt + {_, shift + }space
# focus the next/previous tiled node in the current desktop
alt + ctrl + {_, shift + }space
bspc node -f {next,prev}.tiled.local
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
alt + bracket{left,right}
@ -123,46 +123,52 @@ alt + Return
# run program launcher
alt + d
if [ -x $(command -v zsh) ]; then $HOME/.config/dmenu/dmenu_run_with_aliases; else dmenu_run -i -fn Hack -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2"; fi
$HOME/.config/dmenu/run;
alt + x
$HOME/.config/dmenu/dmenu_bspwm_desktop_content goto
$HOME/.config/dmenu/bspwm desktop_content goto
alt + shift + x
$HOME/.config/dmenu/dmenu_bspwm_desktop_content move
$HOME/.config/dmenu/bspwm desktop_content move
alt + ctrl + shift + x
$HOME/.config/dmenu/dmenu_bspwm_desktop_content movefollow
$HOME/.config/dmenu/bspwm desktop_content movefollow
alt + z; r
$HOME/.config/dmenu/dmenu_bspwm_desktop rename
$HOME/.config/dmenu/bspwm desktop rename
alt + z; d
$HOME/.config/dmenu/dmenu_bspwm_desktop delete
$HOME/.config/dmenu/bspwm desktop delete
alt + z; s
$HOME/.config/dmenu/dmenu_bspwm_desktop swap
$HOME/.config/dmenu/bspwm desktop swap
alt + z; h
$HOME/.config/dmenu/dmenu_bspwm_desktop bubbleprev
$HOME/.config/dmenu/bspwm desktop bubbleprev
alt + z; l
$HOME/.config/dmenu/dmenu_bspwm_desktop bubblenext
$HOME/.config/dmenu/bspwm desktop bubblenext
alt + z; y
$HOME/.config/dmenu/bspwm desktop save
alt + z; p
$HOME/.config/dmenu/bspwm desktop load
alt + a; g
$HOME/.config/dmenu/dmenu_bspwm_monitor goto
$HOME/.config/dmenu/bspwm monitor goto
alt + a; s
$HOME/.config/dmenu/dmenu_bspwm_monitor swap
$HOME/.config/dmenu/bspwm monitor swap
alt + a; shift + n
$HOME/.config/dmenu/dmenu_bspwm_monitor movenode
$HOME/.config/dmenu/bspwm monitor movenode
alt + a; ctrl + shift + n
$HOME/.config/dmenu/dmenu_bspwm_monitor movenodefollow
$HOME/.config/dmenu/bspwm monitor movenodefollow
alt + a; shift + d
$HOME/.config/dmenu/dmenu_bspwm_monitor movedesktop
$HOME/.config/dmenu/bspwm monitor movedesktop
alt + a; ctrl + shift + d
$HOME/.config/dmenu/dmenu_bspwm_movement_monitor movedesktopfollow
$HOME/.config/dmenu/bspwm monitor movedesktopfollow

132
.config/waybar/config Normal file
View File

@ -0,0 +1,132 @@
{
// "layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
"height": 10, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 0, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["river/tags", "river/mode"],
"modules-center": ["river/window"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "battery", "battery#bat2", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"river/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
}
// "custom/media": {
// "format": "{icon} {}",
// "return-type": "json",
// "max-length": 40,
// "format-icons": {
// "spotify": "",
// "default": "🎜"
// },
// "escape": true,
// "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
// }
}

View File

@ -0,0 +1,137 @@
* {
border: none;
border-radius: 0;
font-family: Roboto,'Font Awesome 5', 'SFNS Display', Helvetica, Arial, sans-serif;
font-size: 15px;
min-height: 0;
}
window#waybar {
background: rgba(0,0,0,0);
color: #ffffff;
}
window#waybar.hidden {
opacity: 0.0;
}
#workspaces {
background-color: #282a36;
border-radius: 20px;
padding: 0 15px;
}
#workspaces button {
margin: 0 5px;
padding: 0;
background: transparent;
color: #ffffff;
border-bottom: 2px solid transparent;
}
#workspaces button.focused {
border-bottom: 2px solid #ff79c6;
color: #ff79c6;
}
#workspaces button.urgent {
color: #ff5555;
}
#workspaces button:hover {
box-shadow: none;
text-shadow: none;
border-bottom: 2px solid #ff79c6;
}
#window {
background-color: #282a36;
border-radius: 0 20px 20px 0;
padding: 0 20px;
margin: 0 10px 0 0;
}
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-media, #tray, #mode, #idle_inhibitor {
padding: 0 20px;
margin: 0 10px;
background-color: #282a36;
color: #ffffff;
border-radius: 20px;
}
#clock {
}
#battery {
}
#battery.charging {
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.critical:not(.charging) {
background: #f53c3c;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
}
#memory {
}
#backlight {
}
#network {
margin: 0 0 0 10px;
padding: 0 10px 0 20px;
border-radius: 20px 0 0 20px;
}
#network.disconnected {
}
#pulseaudio {
}
#pulseaudio.muted {
}
#custom-media {
}
.custom-spotify {
}
.custom-vlc {
}
#temperature {
}
#temperature.critical {
}
#tray {
border-radius: 0;
margin: 0;
padding: 0 20px 0 0;
}
#idle_inhibitor {
}
#idle_inhibitor.activated {
}

261
.config/waybar/style.css Normal file
View File

@ -0,0 +1,261 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: Fira Code, FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 12px;
}
window#waybar {
background-color: #282a36;
/*border: 2px solid #ff79c6;*/
color: #f8f8f2;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #282a36;
border: none;
}
#tags button {
padding: 0 5px;
background-color: transparent;
color: #f8f8f2;
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -2px transparent;
/* Avoid rounded borders under each workspace name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#tags button:hover {
background: #f8f8f2;
/*background: rgba(0, 0, 0, 0.2);*/
/*box-shadow: inset 0 -2px #282a36;*/
/*background-color: #6272a4;*/
color: #282a36;
}
#tags button.focused {
background-color: #44475a;
box-shadow: inset 0 -2px #f8f8f2;
}
#tags button.urgent {
background-color: #ffb86c;
}
#mode {
background-color: #44475a;
border-bottom: 2px solid #f8f8f2;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#mpd {
padding: 0 10px;
color: #f8f8f2;
}
#window,
#tags {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: #44475a;
}
#battery {
background-color: #8be9fd;
color: #282a36;
}
#battery.charging, #battery.plugged {
color: #282a36;
background-color: #50fa7b;
}
@keyframes blink {
to {
background-color: #f8f8f2;
color: #282a36;
}
}
#battery.critical:not(.charging) {
background-color: #ff5555;
color: #282a36;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #282a36;
}
#cpu {
background-color: #50fa7b;
color: #282a36;
}
#memory {
color: #282a36;
background-color: #bd93f9;
}
#disk {
background-color: #8be9fd;
}
#backlight {
background-color: #6272a4;
}
#network {
background-color: #6272a4;
color: #f8f8f2;
}
#network.disconnected {
background-color: #8be9fd;
color: #282a36;
}
#pulseaudio {
background-color: #ffb86c;
color: #282a36;
}
#pulseaudio.muted {
background-color: #ff5555;
color: #282a36;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
color: #282a36;
background-color: #f1fa8c;
}
#temperature.critical {
background-color: #ff5555;
}
#tray {
background-color: #282a36;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #ffb86c;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #282a36;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}

7
.doom.d/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
/*
/*/
!/.gitignore
!/config.el
!/init.el
!/packages.el

160
.doom.d/config.el Normal file
View File

@ -0,0 +1,160 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets. It is optional.
(setq user-full-name "David Holland"
user-mail-address "info@dustvoice.de")
;; Doom exposes five (optional) variables for controlling fonts in Doom:
;;
;; - `doom-font' -- the primary font to use
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;; - `doom-unicode-font' -- for unicode glyphs
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
;;
;; See 'C-h v doom-font' for documentation and more examples of what they
;; accept. For example:
;;
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
;;
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
;; refresh your font settings. If Emacs still can't find your font, it likely
;; wasn't installed correctly. Font issues are rarely Doom issues!
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
(setq doom-font (font-spec :family "Fira Code" :size 12))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
;; (setq doom-theme 'doom-one)
(setq doom-theme 'doom-dracula)
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;
;; (after! PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will help you configure Doom.
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; This should of course be grammmatically correct
;; Not working with hyperv-forward atm
;;(setq epg-gpg-program "/usr/bin/gpg2")
;;(setq epg-user-id "7A9CA430D426100E")
;;(pinentry-start)
;;(setq epg-agent-file "~/.gnupg/S.gpg-agent")
(remove-hook 'doom-first-input-hook #'evil-snipe-mode)
;;(define-key evil-normal-state-map (kbd "gj") 'evil-next-visual-line)
;;(define-key evil-normal-state-map (kbd "gk") 'evil-previous-visual-line)
;;(add-hook 'org-mode-hook #'org-modern-mode)
;;(after! flycheck (flycheck-grammarly-setup))
(setq-default lsp-rust-analyzer-proc-macro-enable t)
(with-eval-after-load 'ox-latex
(add-to-list 'org-latex-classes
'("dustdoc" "\\documentclass[10pt]{dustdoc}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
;; (use-package! paw64-mode
;; :init
;; :config
;;
;; (define-derived-mode paw64-mode
;; prog-mode
;; "Paw64"
;; "Major mode for 6502/6510 assembly with 64tass and/or paw64"
;; (set-syntax-table (make-syntax-table paw64-mode-syntax-table))
;; (set (make-local-variable 'font-lock-defaults) '(paw64-font-lock-keywords))
;; (set (make-local-variable 'indent-line-function) 'paw64-indent)
;;
;; (add-hook 'post-command-hook #'paw64-post-command-hook nil t)
;; (electric-indent-local-mode -1)))
(use-package! arm-mode :init :config)
(use-package! json-navigator :init :config)
(use-package! ron-mode :init :config)
(use-package! typst-mode :init :config)
(map! :map dap-mode-map
:leader
:prefix ("d" . "dap")
;; basics
:desc "dap next" "n" #'dap-next
:desc "dap step in" "i" #'dap-step-in
:desc "dap step out" "o" #'dap-step-out
:desc "dap continue" "c" #'dap-continue
:desc "dap hydra" "h" #'dap-hydra
:desc "dap debug restart" "r" #'dap-debug-restart
:desc "dap debug" "s" #'dap-debug
;; debug
:prefix ("dd" . "Debug")
:desc "dap debug recent" "r" #'dap-debug-recent
:desc "dap debug last" "l" #'dap-debug-last
;; eval
:prefix ("de" . "Eval")
:desc "eval" "e" #'dap-eval
:desc "eval region" "r" #'dap-eval-region
:desc "eval thing at point" "s" #'dap-eval-thing-at-point
:desc "add expression" "a" #'dap-ui-expressions-add
:desc "remove expression" "d" #'dap-ui-expressions-remove
:prefix ("db" . "Breakpoint")
:desc "dap breakpoint toggle" "b" #'dap-breakpoint-toggle
:desc "dap breakpoint condition" "c" #'dap-breakpoint-condition
:desc "dap breakpoint hit count" "h" #'dap-breakpoint-hit-condition
:desc "dap breakpoint log message" "l" #'dap-breakpoint-log-message)

199
.doom.d/init.el Normal file
View File

@ -0,0 +1,199 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
;;(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
;;indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere) ; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
format ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
;;word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
;;direnv
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
(csharp
+dotnet
+lsp) ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
json ; At least it ain't XML
(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org
+journal
+present
+roam2) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
web ; the tubes
yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

85
.doom.d/packages.el Normal file
View File

@ -0,0 +1,85 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see radian-software/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
;; Hotfix for issue with straight.el
;; (package! straight :pin "3eca39d")
;; (package! consult :pin "b22a7de62ee4adf766be2f867dee8b6980902bba")
(package! pinentry)
(package! ron-mode)
(package! fish-mode)
(package! elvish-mode)
(package! nushell-mode
:recipe (:host github :repo "azzamsa/emacs-nushell"))
(package! flycheck-grammarly
:recipe (:host github :repo "emacs-grammarly/flycheck-grammarly"))
(package! evil-escape
:disable t)
(package! git-modes
:recipe (:host github :repo "magit/git-modes"))
;; (package! paw64-mode
;; :recipe (:host github :repo "svjson/paw64-mode"))
(package! arm-mode
:recipe (:host github :repo "charje/arm-mode"))
;; (package! nasm-mode)
(package! org-modern)
(package! json-navigator)
(package! polymode)
(package! typst-mode
:recipe (:host github :repo "Ziqi-Yang/typst-mode.el"))

View File

@ -1,4 +1,5 @@
/*
/*/
!/.gitignore
!/update
!/rc.elv

1
.elvish/rc.elv Normal file
View File

@ -0,0 +1 @@
eval (starship init elvish)

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