Compare commits
178 commits
Author | SHA1 | Date | |
---|---|---|---|
6e3091d419 | |||
c8c40a6abd | |||
c576cc29e1 | |||
e3bdbbd3dc | |||
cb4c21c0bb | |||
a8169cdc41 | |||
1026262031 | |||
6397ca360f | |||
1dffd48e38 | |||
ea44da0faf | |||
2508fc6a89 | |||
cfd141cff4 | |||
79f987141b | |||
7527a862f2 | |||
78d50445ca | |||
20d249b59e | |||
d45211ea47 | |||
ba57fb58f4 | |||
57d49c14e7 | |||
00a9b4b55b | |||
1d21de79ce | |||
e466cab299 | |||
23acfb1fde | |||
8f15260d48 | |||
b0d5c84786 | |||
6fd08dab40 | |||
5ed4dc9648 | |||
e355e5efd3 | |||
48ec8b5e57 | |||
4ce6ddecda | |||
b2005c5861 | |||
a9a28656b7 | |||
ba91f1fe55 | |||
7412c7cd9a | |||
9e1f9fb2ba | |||
0efcbe0b4d | |||
7524897191 | |||
30594f3d10 | |||
6b80ed57d0 | |||
4e7a55c6f4 | |||
39af56aa61 | |||
680b03819d | |||
93f60bacab | |||
8be7323bba | |||
85a3cc0601 | |||
0f75cd1816 | |||
39c1da87b0 | |||
c90a3bb44b | |||
62aadda8a1 | |||
7c33d17c17 | |||
71bb6f47fc | |||
506dbb0f0e | |||
54d0b12586 | |||
17bc20aefe | |||
6061a502dd | |||
31f1ef30d0 | |||
1044517e8f | |||
43e0fdf85e | |||
97642cb85c | |||
181ce3915c | |||
7c09f32f29 | |||
23b60b96a5 | |||
091d90a151 | |||
f01ccdcaf8 | |||
cbf6e1d520 | |||
710e812c77 | |||
217d46290d | |||
bcc4ec40d9 | |||
42e6e90494 | |||
f77415ca42 | |||
e9f07b41ee | |||
aad59fcab4 | |||
c4e23d3bcf | |||
7a66f81f7e | |||
225ade6c03 | |||
530c2fd5bf | |||
27983102e4 | |||
9beaf86991 | |||
fcfe5a2091 | |||
771ce277cd | |||
e00846c5e7 | |||
dcd62052a0 | |||
962b2c9e1a | |||
d531c0ae37 | |||
6858febb05 | |||
8c528fea32 | |||
67bae56bd3 | |||
8194fca114 | |||
bfeaa5b2b7 | |||
ca6f41d357 | |||
3a14d5bf9d | |||
fbded1e8a4 | |||
5f8d4e8f88 | |||
6a7814e675 | |||
3db13bc10d | |||
7b6dac6f19 | |||
c046ec6b33 | |||
9fd08600de | |||
45ef5376f6 | |||
12d5f73aae | |||
24250b7452 | |||
c43a2b64d6 | |||
994400fe3f | |||
dedcf874c9 | |||
2032f51e43 | |||
2dd9a2130e | |||
901698ddd2 | |||
9bdc810d75 | |||
09aa0c141a | |||
c8901181f2 | |||
3353a41950 | |||
129213e46a | |||
b9f90acc65 | |||
eb683b20dc | |||
c39173185f | |||
4a8854000e | |||
0624f8e20d | |||
9331f31e96 | |||
c03ba05e16 | |||
fd2e4c05aa | |||
445ba4f89a | |||
3e41eec9c0 | |||
637227380b | |||
63b8e37b35 | |||
85801514dd | |||
2ce3948a15 | |||
bfcd21e3b4 | |||
7102da428e | |||
17c942e4b1 | |||
36f6544242 | |||
286287778a | |||
119a831e0c | |||
bfe6de2495 | |||
0ba4ea0b93 | |||
4ca932b759 | |||
c4cf066a18 | |||
b278368fca | |||
510f67eb9c | |||
51decdfc62 | |||
f80d6412f5 | |||
8d107404cd | |||
8379dd5363 | |||
99cc97b529 | |||
0fbc722d9e | |||
f2e8bad010 | |||
80a6bdf2d1 | |||
1c0d53aa21 | |||
cfb60eb797 | |||
862ce79c1a | |||
4f39b1fb3f | |||
b60af24d89 | |||
14ad330631 | |||
866fe18d9e | |||
c9661bbdbe | |||
e3987d0531 | |||
c6f58a7e57 | |||
57f6cb3611 | |||
f6a17f3726 | |||
92d9dee399 | |||
f0af27869b | |||
de2b28b538 | |||
e3a7acecb5 | |||
acbe0239cf | |||
a774bb98e7 | |||
3c770a2e31 | |||
f0ad4b9359 | |||
b625acc2e5 | |||
9b52fa57c7 | |||
ef61588fc7 | |||
1a5d5c0568 | |||
79e08d9550 | |||
ccd519e66f | |||
f5f3954ebf | |||
0dee833dcf | |||
41d9da9109 | |||
b10ef6ac39 | |||
91272f517e | |||
f733fe22e4 |
137 changed files with 2846 additions and 661 deletions
252
arch.freeze
Normal file
252
arch.freeze
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
alacritty
|
||||||
|
alsa-utils
|
||||||
|
archlinux-appstream-data-pamac
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
autopep8
|
||||||
|
base
|
||||||
|
bash-language-server
|
||||||
|
bat
|
||||||
|
bc
|
||||||
|
bemenu-wayland
|
||||||
|
binutils
|
||||||
|
bison
|
||||||
|
blade-formatter
|
||||||
|
blender
|
||||||
|
bluez-plugins
|
||||||
|
bluez-utils
|
||||||
|
bpython
|
||||||
|
bpytop
|
||||||
|
breeze-obsidian-cursor-theme
|
||||||
|
btrfs-progs
|
||||||
|
caffeinated
|
||||||
|
capitaine-cursors
|
||||||
|
cargo-edit
|
||||||
|
cargo-watch
|
||||||
|
clyrics
|
||||||
|
composer
|
||||||
|
cronie
|
||||||
|
deemix
|
||||||
|
deluge
|
||||||
|
deluge-gtk
|
||||||
|
dhcpcd
|
||||||
|
diffr
|
||||||
|
direnv
|
||||||
|
discord_arch_electron
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
dotdrop
|
||||||
|
efibootmgr
|
||||||
|
emmet-cli
|
||||||
|
engrampa
|
||||||
|
entr
|
||||||
|
exa
|
||||||
|
fail2ban
|
||||||
|
fakeroot
|
||||||
|
fd
|
||||||
|
ffmpegthumbnailer
|
||||||
|
firefox
|
||||||
|
fish
|
||||||
|
flex
|
||||||
|
fuzzel
|
||||||
|
fzf
|
||||||
|
gammastep
|
||||||
|
gcc
|
||||||
|
gdb
|
||||||
|
gimp
|
||||||
|
git
|
||||||
|
gnu-netcat
|
||||||
|
grim
|
||||||
|
grub
|
||||||
|
gst-editing-services
|
||||||
|
gst-libav
|
||||||
|
gst-plugin-gtk
|
||||||
|
gst-plugin-pipewire
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-bad-libs
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-base-libs
|
||||||
|
gst-plugins-good
|
||||||
|
gstreamer
|
||||||
|
gtk-engine-murrine
|
||||||
|
gtk3-nocsd-legacy-git
|
||||||
|
helix
|
||||||
|
htop
|
||||||
|
hunspell-pt-br
|
||||||
|
inetutils
|
||||||
|
intel-compute-runtime
|
||||||
|
intel-gpu-tools
|
||||||
|
intel-media-driver
|
||||||
|
intel-ucode
|
||||||
|
inter-font
|
||||||
|
inxi
|
||||||
|
iotop
|
||||||
|
ipython
|
||||||
|
isync
|
||||||
|
iwd
|
||||||
|
j4-dmenu-desktop
|
||||||
|
jitsi-meet-desktop-bin
|
||||||
|
kakoune
|
||||||
|
kanshi
|
||||||
|
kdeconnect
|
||||||
|
khal
|
||||||
|
khard
|
||||||
|
kitty
|
||||||
|
kvantum
|
||||||
|
lib32-libappindicator-gtk2
|
||||||
|
lib32-libappindicator-gtk3
|
||||||
|
libappindicator-gtk2
|
||||||
|
libopenraw
|
||||||
|
libpipewire02
|
||||||
|
libreoffice-fresh
|
||||||
|
libreoffice-fresh-pt-br
|
||||||
|
libtool
|
||||||
|
libva-intel-driver
|
||||||
|
libva-mesa-driver
|
||||||
|
libva-utils
|
||||||
|
libva-vdpau-driver
|
||||||
|
libvdpau-va-gl
|
||||||
|
light
|
||||||
|
linux-firmware
|
||||||
|
linux-zen
|
||||||
|
lutris
|
||||||
|
lutris-wine-meta
|
||||||
|
lynx
|
||||||
|
m4
|
||||||
|
make
|
||||||
|
mako
|
||||||
|
man-db
|
||||||
|
mariadb
|
||||||
|
mesa-vdpau
|
||||||
|
meson
|
||||||
|
micro
|
||||||
|
mpc
|
||||||
|
mpd
|
||||||
|
mpdris2
|
||||||
|
mpv
|
||||||
|
mtr
|
||||||
|
ncmpcpp
|
||||||
|
neofetch
|
||||||
|
neomutt
|
||||||
|
nerd-fonts-fira-code
|
||||||
|
nerd-fonts-hack
|
||||||
|
net-tools
|
||||||
|
networkmanager
|
||||||
|
nmap
|
||||||
|
nodejs-intelephense
|
||||||
|
nodejs-less
|
||||||
|
nodejs-less-plugin-clean-css
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
noto-fonts-extra
|
||||||
|
ntp
|
||||||
|
obs-studio
|
||||||
|
orchis-kde-theme-git
|
||||||
|
orchis-theme-git
|
||||||
|
otf-font-awesome
|
||||||
|
p7zip
|
||||||
|
pacman-contrib
|
||||||
|
pamixer
|
||||||
|
papirus-folders
|
||||||
|
papirus-icon-theme
|
||||||
|
papirus-libreoffice-theme
|
||||||
|
paru
|
||||||
|
pass
|
||||||
|
patch
|
||||||
|
pavucontrol
|
||||||
|
php7
|
||||||
|
php7-apache
|
||||||
|
phpmyadmin
|
||||||
|
pikaur
|
||||||
|
pipewire-alsa
|
||||||
|
pipewire-jack
|
||||||
|
pipewire-media-session
|
||||||
|
pkgconf
|
||||||
|
pkgfile
|
||||||
|
playerctl
|
||||||
|
postgresql
|
||||||
|
powertop
|
||||||
|
pqiv
|
||||||
|
prettier
|
||||||
|
pulseaudio
|
||||||
|
pulseaudio-alsa
|
||||||
|
pulsemixer
|
||||||
|
python-pydocstyle
|
||||||
|
python-pyflakes
|
||||||
|
python-pylint
|
||||||
|
python-pynvim
|
||||||
|
python-rope
|
||||||
|
qemu
|
||||||
|
qt5-styleplugins
|
||||||
|
qt5ct
|
||||||
|
qt6ct
|
||||||
|
qt6gtk2
|
||||||
|
qutebrowser
|
||||||
|
ranger
|
||||||
|
rclone
|
||||||
|
reflector
|
||||||
|
ripgrep
|
||||||
|
rsync
|
||||||
|
ruby-fusuma
|
||||||
|
rust-analyzer
|
||||||
|
sassc
|
||||||
|
sd
|
||||||
|
shfmt
|
||||||
|
slurp
|
||||||
|
so
|
||||||
|
speedtest-cli
|
||||||
|
sshfs
|
||||||
|
starship
|
||||||
|
steam-native-runtime
|
||||||
|
sudo
|
||||||
|
swappy
|
||||||
|
sway
|
||||||
|
swayidle
|
||||||
|
swaylock
|
||||||
|
syncthing
|
||||||
|
tealdeer
|
||||||
|
telegram-desktop
|
||||||
|
texinfo
|
||||||
|
thunar
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-vcs-plugin
|
||||||
|
thunar-volman
|
||||||
|
tlp
|
||||||
|
tor
|
||||||
|
translate-shell
|
||||||
|
transmission-cli
|
||||||
|
trash-cli
|
||||||
|
ttf-dejavu
|
||||||
|
ttf-font-awesome
|
||||||
|
ttf-liberation
|
||||||
|
ttf-ms-fonts
|
||||||
|
tumbler
|
||||||
|
tuxi-git
|
||||||
|
udiskie
|
||||||
|
uglify-js
|
||||||
|
urlview
|
||||||
|
vdirsyncer
|
||||||
|
vdpauinfo
|
||||||
|
visual-studio-code-bin
|
||||||
|
vscode-css-languageserver
|
||||||
|
vscode-html-languageserver
|
||||||
|
vscode-json-languageserver
|
||||||
|
vulkan-intel
|
||||||
|
vulkan-mesa-layers
|
||||||
|
vulkan-tools
|
||||||
|
waybar
|
||||||
|
wf-recorder
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
wine-mono
|
||||||
|
winetricks
|
||||||
|
wl-clipboard
|
||||||
|
wtype
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xorg-xwayland
|
||||||
|
xsettingsd
|
||||||
|
yt-dlp
|
||||||
|
zathura
|
||||||
|
zathura-pdf-mupdf
|
||||||
|
zoxide
|
3
arch.freeze.fish
Executable file
3
arch.freeze.fish
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
|
||||||
|
pacman -Qqe > arch.freeze
|
206
config.yaml
206
config.yaml
|
@ -23,7 +23,8 @@ variables:
|
||||||
bar_pos: top
|
bar_pos: top
|
||||||
tmux: false
|
tmux: false
|
||||||
starship: false
|
starship: false
|
||||||
supervisor: runit
|
asdf: false
|
||||||
|
user_svdir: $HOME/.config/runit
|
||||||
|
|
||||||
accent_fg: '#ffffff'
|
accent_fg: '#ffffff'
|
||||||
|
|
||||||
|
@ -37,15 +38,30 @@ variables:
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
personal:
|
personal:
|
||||||
user: lelgenio
|
from: Leonardo Eugênio
|
||||||
mail: disroot.org
|
user: lelgenio@disroot.org
|
||||||
|
imap: disroot.org
|
||||||
|
smtp: disroot.org
|
||||||
|
pass: disroot.org
|
||||||
work:
|
work:
|
||||||
|
from: Leonardo Eugênio
|
||||||
user: leonardo@wopus.com.br
|
user: leonardo@wopus.com.br
|
||||||
mail: wopus.com.br
|
imap: imap.wopus.com.br
|
||||||
|
smtp: smtp.wopus.com.br
|
||||||
|
pass: Work/wopus_email
|
||||||
|
|
||||||
|
nextcloud:
|
||||||
|
name: disroot
|
||||||
|
user: lelgenio
|
||||||
|
host: cloud.disroot.org
|
||||||
|
pass: disroot.org
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
profiles:
|
profiles:
|
||||||
|
###############################################################
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Themes
|
||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
dark:
|
dark:
|
||||||
|
@ -62,6 +78,7 @@ profiles:
|
||||||
txt: '#FFFFFF'
|
txt: '#FFFFFF'
|
||||||
nontxt: '#252525'
|
nontxt: '#252525'
|
||||||
|
|
||||||
|
random_range: "[a-f]"
|
||||||
normal:
|
normal:
|
||||||
black: '#404040'
|
black: '#404040'
|
||||||
red: '#AB4642'
|
red: '#AB4642'
|
||||||
|
@ -90,6 +107,7 @@ profiles:
|
||||||
txt: '#303030'
|
txt: '#303030'
|
||||||
nontxt: '#D0D0D0'
|
nontxt: '#D0D0D0'
|
||||||
|
|
||||||
|
random_range: "[0-4]"
|
||||||
normal:
|
normal:
|
||||||
black: '#555555'
|
black: '#555555'
|
||||||
red: '#D54E53'
|
red: '#D54E53'
|
||||||
|
@ -135,6 +153,7 @@ profiles:
|
||||||
tabR: Y
|
tabR: Y
|
||||||
insertMode: s
|
insertMode: s
|
||||||
insertQuit: kk
|
insertQuit: kk
|
||||||
|
menu: s
|
||||||
|
|
||||||
qwerty:
|
qwerty:
|
||||||
variables:
|
variables:
|
||||||
|
@ -150,30 +169,107 @@ profiles:
|
||||||
tabR: O
|
tabR: O
|
||||||
insertMode: i
|
insertMode: i
|
||||||
insertQuit: jj
|
insertQuit: jj
|
||||||
|
menu: d
|
||||||
|
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Main profile
|
common:
|
||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
main:
|
|
||||||
variables:
|
variables:
|
||||||
# gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
|
# gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
|
||||||
gtk_theme: "Orchis-{{@@ accent_color_name.lower() @@}}-{{@@ 'dark' if color.type == 'dark' else 'light' @@}}"
|
gtk_theme: "Orchis-{{@@ accent_color_name.capitalize() @@}}-{{@@ color.type.capitalize() @@}}"
|
||||||
kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}"
|
kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}"
|
||||||
# icon_theme: "Mint-Y-{{@@ 'Dark' if color.type == 'dark' else 'Darker' @@}}-{{@@ accent_color_name.capitalize() @@}}"
|
# icon_theme: "Mint-Y-{{@@ 'Dark' if color.type == 'dark' else 'Darker' @@}}-{{@@ accent_color_name.capitalize() @@}}"
|
||||||
icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}"
|
icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}"
|
||||||
cursor_theme: "Breeze_Obsidian"
|
cursor_theme: "Breeze_Obsidian"
|
||||||
# cursor_theme: "Breeze_Snow"
|
# cursor_theme: "Breeze_Snow"
|
||||||
# cursor_theme: "capitaine-cursors"
|
# cursor_theme: "capitaine-cursors"
|
||||||
|
|
||||||
dotfiles:
|
|
||||||
- ALL
|
|
||||||
include:
|
include:
|
||||||
- "{{@@ key_layout @@}}"
|
- "{{@@ key_layout @@}}"
|
||||||
- "{{@@ color_type @@}}"
|
- "{{@@ color_type @@}}"
|
||||||
- "accent_{{@@ accent_color_name @@}}"
|
- "accent_{{@@ accent_color_name @@}}"
|
||||||
|
dotfiles:
|
||||||
|
- alacritty
|
||||||
|
- backgrounds
|
||||||
|
- bat
|
||||||
|
- blender
|
||||||
|
- clang-format
|
||||||
|
- code-oss
|
||||||
|
- crontab
|
||||||
|
- dav
|
||||||
|
- deemix
|
||||||
|
- firefox
|
||||||
|
- fish
|
||||||
|
- fonts
|
||||||
|
- foot
|
||||||
|
- git
|
||||||
|
- gpg-agent
|
||||||
|
- i3
|
||||||
|
- imv
|
||||||
|
- kak-lsp
|
||||||
|
- kakoune
|
||||||
|
- kanshi
|
||||||
|
- kitty
|
||||||
|
- lesskey
|
||||||
|
- libinput-gestures
|
||||||
|
- mako
|
||||||
|
- mangohud
|
||||||
|
- mime
|
||||||
|
- mpd
|
||||||
|
- mpv
|
||||||
|
- mutt
|
||||||
|
- mypy
|
||||||
|
- nvim
|
||||||
|
- pqivrc
|
||||||
|
- prettierrc
|
||||||
|
- qutebrowser
|
||||||
|
- ranger
|
||||||
|
- rclone
|
||||||
|
- rustfmt
|
||||||
|
- scripts
|
||||||
|
- starship
|
||||||
|
- sway
|
||||||
|
- swaylock
|
||||||
|
- telegram-theme
|
||||||
|
- theme
|
||||||
|
- thunar
|
||||||
|
- tmux
|
||||||
|
- vscode
|
||||||
|
- waybar
|
||||||
|
- wofi
|
||||||
|
- xdpw
|
||||||
|
- zathura
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Os profiles
|
||||||
|
###############################################################
|
||||||
|
|
||||||
|
voidlinux:
|
||||||
|
include:
|
||||||
|
- "common"
|
||||||
|
variables:
|
||||||
|
supervisor: runit
|
||||||
|
dotfiles:
|
||||||
|
- runit_services
|
||||||
|
|
||||||
|
artixlinux:
|
||||||
|
include:
|
||||||
|
- "common"
|
||||||
|
dotfiles:
|
||||||
|
- arch-packages
|
||||||
|
- paru
|
||||||
|
variables:
|
||||||
|
supervisor: runit
|
||||||
|
|
||||||
|
archlinux:
|
||||||
|
include:
|
||||||
|
- "common"
|
||||||
|
dotfiles:
|
||||||
|
- arch-packages
|
||||||
|
- paru
|
||||||
|
- systemd
|
||||||
|
variables:
|
||||||
|
supervisor: systemd
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
config:
|
config:
|
||||||
|
@ -200,7 +296,7 @@ dynvariables:
|
||||||
accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red
|
accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red
|
||||||
firefox_profile: cat ~/.mozilla/firefox/profiles.ini | grep '^Default' | head -n1 | cut -d= -f2
|
firefox_profile: cat ~/.mozilla/firefox/profiles.ini | grep '^Default' | head -n1 | cut -d= -f2
|
||||||
deezer_arl: pass show Entertainment/Deezer | awk '/^arl:/ {print $2}'
|
deezer_arl: pass show Entertainment/Deezer | awk '/^arl:/ {print $2}'
|
||||||
main_password: _pass_get "{{@@ mail.personal.mail @@}}" | base64
|
main_password: _pass_get "{{@@ mail.personal.pass @@}}" | base64
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
actions:
|
actions:
|
||||||
|
@ -214,12 +310,26 @@ actions:
|
||||||
true
|
true
|
||||||
|
|
||||||
reload_sway: swaymsg reload & disown
|
reload_sway: swaymsg reload & disown
|
||||||
reload_mako: pkill -SIGHUP mako
|
reload_mako: makoctl reload
|
||||||
reload_waybar: env SVDIR=$HOME/.config/runit/sv sv hup waybar
|
reload_waybar: pkill -SIGUSR2 waybar
|
||||||
reload_xsettingsd: env SVDIR=$HOME/.config/runit/sv sv hup xsettingsd
|
reload_runit_sv:
|
||||||
|
which sv 2> /dev/null &&
|
||||||
|
env SVDIR="{{@@ user_svdir @@}}" sv reload "{0}" ||
|
||||||
|
true
|
||||||
|
restart_systemd_sv:
|
||||||
|
systemctl --user restart "${0}"
|
||||||
|
enable_systemd_sv:
|
||||||
|
systemctl --user enable --now "{0}" &
|
||||||
groups_install: _groups_install
|
groups_install: _groups_install
|
||||||
lesskey: lesskey
|
lesskey: lesskey
|
||||||
reload_fish: pkill -SIGHUP fish
|
reload_fish: pkill -SIGHUP fish
|
||||||
|
dotdrop_completions: |
|
||||||
|
comp_path="$HOME/.config/fish/completions/dotdrop.fish"
|
||||||
|
comp_url="https://raw.githubusercontent.com/deadc0de6/dotdrop/master/completion/dotdrop.fish"
|
||||||
|
if ! test -f "$comp_path"; then
|
||||||
|
wget -qO "$comp_path" "$comp_url" ||
|
||||||
|
rm "$comp_path"
|
||||||
|
fi
|
||||||
|
|
||||||
reload_qutebrowser: qutemsg config-source & disown
|
reload_qutebrowser: qutemsg config-source & disown
|
||||||
|
|
||||||
|
@ -236,29 +346,30 @@ actions:
|
||||||
crontab ~/.local/share/crontab
|
crontab ~/.local/share/crontab
|
||||||
|
|
||||||
vdirsyncer: |
|
vdirsyncer: |
|
||||||
yes | vdirsyncer discover & disown
|
yes | vdirsyncer discover &
|
||||||
|
|
||||||
lnMail: |
|
lnMail: |
|
||||||
ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc
|
ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc
|
||||||
ln -fs ~/.config/neomutt/urlview ~/.urlview
|
ln -fs ~/.config/neomutt/urlview ~/.urlview
|
||||||
|
ln -fs ~/.config/neomutt/msmtprc ~/.msmtprc
|
||||||
|
|
||||||
ranger_icons:
|
ranger_icons:
|
||||||
git clone
|
git clone
|
||||||
https://github.com/alexanderjeurissen/ranger_devicons
|
https://github.com/alexanderjeurissen/ranger_devicons
|
||||||
~/.config/ranger/plugins/ranger_devicons
|
~/.config/ranger/plugins/ranger_devicons
|
||||||
|
|
||||||
start_services: >
|
|
||||||
_runit_config "{{@@ _dotfile_abs_dst @@}}"
|
|
||||||
fusuma gammastep mako xsettingsd mpd mpDris2 telegram pipewire
|
|
||||||
pipewire-media-session xdpw pulseaudio kdeconnectd kdeconnect-indicator
|
|
||||||
kanshi swayidle waybar syncthing udiskie
|
|
||||||
|
|
||||||
# bootstrap scripts
|
# bootstrap scripts
|
||||||
pam_gpg: _pam-gpg-strap
|
pam_gpg: _pam-gpg-strap
|
||||||
make_theme: _make_theme
|
make_theme: _make_theme
|
||||||
install_meta: install_meta
|
qt6ct: |
|
||||||
|
cd "$HOME/.config"
|
||||||
|
rm -rf "qt6ct/"
|
||||||
|
cp -r "qt5ct/" "qt6ct"
|
||||||
|
mv "qt6ct/qt5ct.conf" "qt6ct/qt6ct.conf"
|
||||||
|
install_arch_meta: install_arch_meta
|
||||||
install_mpv: _mpv_install
|
install_mpv: _mpv_install
|
||||||
filter_backgrounds: _backgrouds_filter
|
filter_backgrounds: _backgrouds_filter
|
||||||
|
apply_gsetting_gnome: gsettings set org.gnome.desktop.interface {0} {1}
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
dotfiles: # Just a bunch of paths and action mappings
|
dotfiles: # Just a bunch of paths and action mappings
|
||||||
|
@ -282,6 +393,7 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
src: fish
|
src: fish
|
||||||
dst: ~/.config/fish
|
dst: ~/.config/fish
|
||||||
actions:
|
actions:
|
||||||
|
- dotdrop_completions
|
||||||
- reload_fish
|
- reload_fish
|
||||||
|
|
||||||
starship:
|
starship:
|
||||||
|
@ -377,11 +489,34 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
- make_theme
|
- make_theme
|
||||||
- groups_install
|
- groups_install
|
||||||
|
|
||||||
services:
|
runit_services:
|
||||||
src: runit_sv
|
src: runit_sv
|
||||||
dst: ~/.config/runit/sv
|
dst: ~/.config/runit
|
||||||
|
|
||||||
|
systemd:
|
||||||
|
src: systemd
|
||||||
|
dst: ~/.config/systemd/user
|
||||||
actions:
|
actions:
|
||||||
- start_services
|
- enable_systemd_sv caffeinated.service
|
||||||
|
- enable_systemd_sv gammastep.service
|
||||||
|
- enable_systemd_sv kanshi.service
|
||||||
|
- enable_systemd_sv mako.service
|
||||||
|
- enable_systemd_sv mpDris2.service
|
||||||
|
- enable_systemd_sv notify-mail.service
|
||||||
|
- enable_systemd_sv pipewire.service
|
||||||
|
- enable_systemd_sv kdeconnectd.service
|
||||||
|
- enable_systemd_sv kdeconnect-indicator.service
|
||||||
|
- enable_systemd_sv sway-idle.service
|
||||||
|
- enable_systemd_sv syncthing.service
|
||||||
|
- enable_systemd_sv telegram-desktop.service
|
||||||
|
- enable_systemd_sv waybar.service
|
||||||
|
- enable_systemd_sv xsettingsd.service
|
||||||
|
|
||||||
|
libinput-gestures:
|
||||||
|
src: libinput-gestures.conf
|
||||||
|
dst: ~/.config/libinput-gestures.conf
|
||||||
|
actions:
|
||||||
|
- reload_runit_sv libinput-gestures
|
||||||
|
|
||||||
deemix:
|
deemix:
|
||||||
src: deemix
|
src: deemix
|
||||||
|
@ -411,7 +546,12 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
src: theme
|
src: theme
|
||||||
dst: ~/
|
dst: ~/
|
||||||
actions:
|
actions:
|
||||||
- reload_xsettingsd
|
- qt6ct
|
||||||
|
- restart_systemd_sv xsettingsd
|
||||||
|
- reload_runit_sv xsettingsd
|
||||||
|
- apply_gsetting_gnome gtk-theme '{{@@ gtk_theme @@}}'
|
||||||
|
- apply_gsetting_gnome icon-theme '{{@@ icon_theme @@}}'
|
||||||
|
- apply_gsetting_gnome cursor-theme '{{@@ cursor_theme @@}}'
|
||||||
|
|
||||||
prettierrc:
|
prettierrc:
|
||||||
src: prettierrc.toml
|
src: prettierrc.toml
|
||||||
|
@ -431,11 +571,11 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
actions:
|
actions:
|
||||||
- pam_gpg
|
- pam_gpg
|
||||||
|
|
||||||
packages:
|
arch-packages:
|
||||||
src: meta.PKGBUILD
|
src: meta.PKGBUILD
|
||||||
dst: ~/.local/share/metapkg/PKGBUILD
|
dst: ~/.local/share/metapkg/PKGBUILD
|
||||||
actions:
|
actions:
|
||||||
- install_meta
|
- install_arch_meta
|
||||||
|
|
||||||
kak-lsp:
|
kak-lsp:
|
||||||
src: kak-lsp.toml
|
src: kak-lsp.toml
|
||||||
|
@ -443,7 +583,7 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
|
|
||||||
rustfmt:
|
rustfmt:
|
||||||
src: rustfmt.toml
|
src: rustfmt.toml
|
||||||
dst: ~/.rustfmt.toml
|
dst: ~/.config/rustfmt/rustfmt.toml
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Big pahts
|
# Big pahts
|
||||||
|
@ -453,6 +593,10 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
src: vscode.jsonc
|
src: vscode.jsonc
|
||||||
dst: "~/.config/Code - OSS/User/settings.json"
|
dst: "~/.config/Code - OSS/User/settings.json"
|
||||||
|
|
||||||
|
vscode:
|
||||||
|
src: vscode.jsonc
|
||||||
|
dst: "~/.config/Code/User/settings.json"
|
||||||
|
|
||||||
telegram-theme:
|
telegram-theme:
|
||||||
src: ./telegram.palette
|
src: ./telegram.palette
|
||||||
dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
|
dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
|
||||||
|
@ -472,9 +616,9 @@ dotfiles: # Just a bunch of paths and action mappings
|
||||||
alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" }
|
alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" }
|
||||||
bat: { "src":"bat", "dst":"~/.config/bat/config" }
|
bat: { "src":"bat", "dst":"~/.config/bat/config" }
|
||||||
foot: { "src": "foot.ini", "dst": "~/.config/foot/foot.ini" }
|
foot: { "src": "foot.ini", "dst": "~/.config/foot/foot.ini" }
|
||||||
fusuma: { "src":"fusuma.yml", "dst":"~/.config/fusuma/config.yml" }
|
|
||||||
imv: { "src":"imv.conf", "dst":"~/.config/imv/config" }
|
imv: { "src":"imv.conf", "dst":"~/.config/imv/config" }
|
||||||
kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" }
|
kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" }
|
||||||
|
mangohud: { "src":"MangoHud.conf", "dst":"~/.config/MangoHud/MangoHud.conf" }
|
||||||
mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" }
|
mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" }
|
||||||
paru: { "src":"paru.conf", "dst":"~/.config/paru/paru.conf" }
|
paru: { "src":"paru.conf", "dst":"~/.config/paru/paru.conf" }
|
||||||
pqivrc: { "src":"pqiv.ini", "dst":"~/.config/pqivrc" }
|
pqivrc: { "src":"pqiv.ini", "dst":"~/.config/pqivrc" }
|
||||||
|
|
1
dotfiles/MangoHud.conf
Normal file
1
dotfiles/MangoHud.conf
Normal file
|
@ -0,0 +1 @@
|
||||||
|
full,histogram
|
|
@ -4,6 +4,11 @@
|
||||||
# Behaviour
|
# Behaviour
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
shell:
|
||||||
|
program: /usr/bin/env
|
||||||
|
args:
|
||||||
|
- {{@@ shell @@}}
|
||||||
|
|
||||||
selection:
|
selection:
|
||||||
save_to_clipboard: true
|
save_to_clipboard: true
|
||||||
|
|
||||||
|
@ -67,7 +72,9 @@ colors:
|
||||||
|
|
||||||
draw_bold_text_with_bright_colors: false
|
draw_bold_text_with_bright_colors: false
|
||||||
|
|
||||||
background_opacity: {{@@ opacity @@}}
|
window:
|
||||||
|
opacity: {{@@ opacity @@}}
|
||||||
|
dynamic_padding: true
|
||||||
|
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
|
|
|
@ -5,7 +5,8 @@ PATH={{@@ env['PATH'] @@}}
|
||||||
#minute hour day month day_week cmd
|
#minute hour day month day_week cmd
|
||||||
*/30 * * * * forecast json
|
*/30 * * * * forecast json
|
||||||
*/5 * * * * checkmail update
|
*/5 * * * * checkmail update
|
||||||
*/5 * * * * vdirsyncer sync
|
*/30 * * * * vdirsyncer sync
|
||||||
|
*/30 * * * * pass git pull --rebase; pass git push
|
||||||
0 */6 * * * yes | vdirsyncer discover
|
0 */6 * * * yes | vdirsyncer discover
|
||||||
*/30 * * * * savegame_backup
|
*/30 * * * * savegame_backup
|
||||||
*/30 * * * * _gpg-unlock
|
*/30 * * * * _gpg-unlock
|
||||||
|
|
8
dotfiles/dav/todoman/config.py
Normal file
8
dotfiles/dav/todoman/config.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# {{@@ header() @@}}
|
||||||
|
|
||||||
|
# A glob expression which matches all directories relevant.
|
||||||
|
path = "~/.local/share/calendars/*"
|
||||||
|
date_format = "%Y-%m-%d"
|
||||||
|
time_format = "%H:%M"
|
||||||
|
default_list = "Personal"
|
||||||
|
default_due = 48
|
|
@ -53,9 +53,9 @@ fileext = ".vcf"
|
||||||
|
|
||||||
[storage contacts_remote]
|
[storage contacts_remote]
|
||||||
type = "carddav"
|
type = "carddav"
|
||||||
url = "https://cloud.{{@@ mail.personal.mail @@}}/remote.php/dav/addressbooks/users/{{@@ mail.personal.user @@}}/"
|
url = "https://{{@@ nextcloud.host @@}}/remote.php/dav/addressbooks/users/{{@@ nextcloud.user @@}}/"
|
||||||
username = "{{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}"
|
username = "{{@@ nextcloud.user @@}}"
|
||||||
password.fetch = [ "command", "_pass_get", "{{@@ mail.personal.mail @@}}" ]
|
password.fetch = [ "command", "_pass_get", "{{@@ nextcloud.pass @@}}" ]
|
||||||
|
|
||||||
# CALDAV
|
# CALDAV
|
||||||
[pair calendar]
|
[pair calendar]
|
||||||
|
@ -73,8 +73,8 @@ fileext = ".ics"
|
||||||
|
|
||||||
[storage calendar_remote]
|
[storage calendar_remote]
|
||||||
type = "caldav"
|
type = "caldav"
|
||||||
url = "https://cloud.{{@@ mail.personal.mail @@}}/remote.php/dav/calendars/{{@@ mail.personal.user @@}}/"
|
url = "https://{{@@ nextcloud.host @@}}/remote.php/dav/calendars/{{@@ nextcloud.user @@}}/"
|
||||||
username = "{{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}"
|
username = "{{@@ nextcloud.user @@}}"
|
||||||
password.fetch = [ "command", "_pass_get", "{{@@ mail.personal.mail @@}}" ]
|
password.fetch = [ "command", "_pass_get", "{{@@ nextcloud.pass @@}}" ]
|
||||||
|
|
||||||
# vim: ft=ini
|
# vim: ft=ini
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
"artistNameTemplate": "%artist%",
|
"artistNameTemplate": "%artist%",
|
||||||
"createAlbumFolder": true,
|
"createAlbumFolder": true,
|
||||||
"albumNameTemplate": "%album%",
|
"albumNameTemplate": "%album%",
|
||||||
"createCDFolder": true,
|
"createCDFolder": false,
|
||||||
"createStructurePlaylist": true,
|
"createStructurePlaylist": false,
|
||||||
"createSingleFolder": true,
|
"createSingleFolder": true,
|
||||||
"padTracks": true,
|
"padTracks": true,
|
||||||
"paddingSize": "0",
|
"paddingSize": "0",
|
||||||
|
|
|
@ -80,3 +80,8 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/*** END Remove webRTC indicator ***/
|
/*** END Remove webRTC indicator ***/
|
||||||
|
/*** BEGIN Remove title bar ***/
|
||||||
|
#titlebar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/*** END Remove title bar ***/
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true);
|
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true);
|
||||||
user_pref("mousewheel.with_alt.action", 1);
|
user_pref("mousewheel.with_alt.action", 1);
|
||||||
user_pref("mousewheel.with_alt.delta_multiplier_y", 5);
|
user_pref("mousewheel.with_alt.delta_multiplier_y", 5);
|
||||||
|
user_pref("middlemouse.paste", false);
|
||||||
|
|
||||||
// don't show menu bar on Alt
|
// don't show menu bar on Alt
|
||||||
user_pref("ui.key.menuAccessKeyFocuses", false);
|
user_pref("ui.key.menuAccessKeyFocuses", false);
|
||||||
|
@ -62,7 +63,7 @@ user_pref("devtools.editor.tabsize", 4);
|
||||||
user_pref("devtools.inspector.activeSidebar", "ruleview");
|
user_pref("devtools.inspector.activeSidebar", "ruleview");
|
||||||
user_pref("devtools.inspector.three-pane-enabled", false);
|
user_pref("devtools.inspector.three-pane-enabled", false);
|
||||||
user_pref("devtools.responsive.leftAlignViewport.enabled", true);
|
user_pref("devtools.responsive.leftAlignViewport.enabled", true);
|
||||||
user_pref("devtools.theme", "dark");
|
user_pref("devtools.theme", "auto");
|
||||||
|
|
||||||
// hardware acceleration
|
// hardware acceleration
|
||||||
user_pref("media.ffmpeg.vaapi.enabled", "true");
|
user_pref("media.ffmpeg.vaapi.enabled", "true");
|
||||||
|
|
|
@ -16,12 +16,14 @@ function calias
|
||||||
|
|
||||||
abbr -g mpn ncmpcpp
|
abbr -g mpn ncmpcpp
|
||||||
abbr -g dot "dotdrop install -f"
|
abbr -g dot "dotdrop install -f"
|
||||||
|
cabbr ytd "yt-dlp --merge-output-format mp4"
|
||||||
set -l root_cfg (dirname $DOTDROP_CONFIG)/root
|
|
||||||
alias rootdrop 'sudo dotdrop install -f -c "$root_cfg"'
|
|
||||||
|
|
||||||
cabbr p emerge
|
cabbr p emerge
|
||||||
|
|
||||||
|
if command -qs xbps-install
|
||||||
|
cabbr p sudo xbps-install -y
|
||||||
|
end
|
||||||
|
|
||||||
cabbr p pacman
|
cabbr p pacman
|
||||||
cabbr p pikaur
|
cabbr p pikaur
|
||||||
cabbr p yay
|
cabbr p yay
|
||||||
|
@ -32,9 +34,30 @@ cabbr p paru
|
||||||
# Editor
|
# Editor
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
|
{%@@ if editor == "kak" @@%}
|
||||||
|
function kak --wraps kak
|
||||||
|
if contains -- -s $argv > /dev/null
|
||||||
|
or contains -- -c $argv > /dev/null
|
||||||
|
command kak $argv
|
||||||
|
return
|
||||||
|
end
|
||||||
|
set -l session (
|
||||||
|
echo $PWD |
|
||||||
|
string replace -r "$HOME/?" '' |
|
||||||
|
string replace -a '/' '_'
|
||||||
|
)
|
||||||
|
if test $HOME = $PWD
|
||||||
|
set session (basename $PWD)
|
||||||
|
end
|
||||||
|
command kak -c $session $argv 2> /dev/null
|
||||||
|
or command kak -s $session $argv
|
||||||
|
or command kak $argv
|
||||||
|
end
|
||||||
|
{%@@ endif @@%}
|
||||||
|
|
||||||
cabbr v {{@@ editor @@}}
|
cabbr v {{@@ editor @@}}
|
||||||
|
|
||||||
cabbr rv sudo {{@@ editor @@}}
|
cabbr rv sudoedit
|
||||||
cabbr rv doas {{@@ editor @@}}
|
cabbr rv doas {{@@ editor @@}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -103,38 +126,12 @@ abbr -g gds 'git diff --staged'
|
||||||
abbr -g gc 'git commit'
|
abbr -g gc 'git commit'
|
||||||
abbr -g gca 'git commit --all'
|
abbr -g gca 'git commit --all'
|
||||||
abbr -g gcf 'git commit --fixup'
|
abbr -g gcf 'git commit --fixup'
|
||||||
|
abbr -g gp 'git push -u origin (git branch --show-current)'
|
||||||
|
abbr -g gw 'git switch'
|
||||||
abbr -g gr 'cd (git root)'
|
abbr -g gr 'cd (git root)'
|
||||||
abbr -g gri 'git rebase --interactive FETCH_HEAD'
|
abbr -g gri 'git rebase --interactive FETCH_HEAD'
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# work stuff
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
abbr svu sv start apache mariadb
|
|
||||||
abbr svd sv stop apache mariadb
|
|
||||||
abbr svs sv status apache mariadb
|
|
||||||
abbr pname "\
|
|
||||||
set pname (basename (pwd | sd -- - _))
|
|
||||||
sd 'DB_DATABASE=.*' DB_DATABASE=\$pname .env
|
|
||||||
test (count dump/*) -eq 1
|
|
||||||
and mv dump/* dump/\$pname.sql"
|
|
||||||
abbr msv "\
|
|
||||||
string match -r 'DB_DATABASE=(?<db>.*)\$' < .env
|
|
||||||
set margs -v -u root --password=(_pass_get work_db)"
|
|
||||||
abbr msc 'echo "CREATE DATABASE $db" | mysql $margs'
|
|
||||||
abbr msdrop 'echo "DROP DATABASE $db" | mysql $margs'
|
|
||||||
abbr msl 'mysql $margs $db < dump/$db.sql'
|
|
||||||
abbr msd 'mariadb-dump $margs $db | mysql_format > dump/$db.sql'
|
|
||||||
abbr vw 'kak (fd -E \'*.min.js\' \'.(php|less|js)$\' app/ public/assets/ resources/)'
|
|
||||||
abbr gdw 'git diff -- "*.less" "*.js" "*.blade.php"'
|
|
||||||
abbr pl 'php7 artisan serve --host 0.0.0.0 & make watch'
|
|
||||||
|
|
||||||
function mysql_format
|
|
||||||
sd "\),\(" "),\n\t(" | sd "VALUES \(" "VALUES\n\t("
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# open
|
# open
|
||||||
################################################################
|
################################################################
|
||||||
|
@ -150,7 +147,7 @@ end
|
||||||
# Copy files like graphical programs
|
# Copy files like graphical programs
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
function wl-copy-f -w wl-copy
|
function wl-copy-f
|
||||||
set -a file
|
set -a file
|
||||||
for arg in (seq 1 (count $argv))
|
for arg in (seq 1 (count $argv))
|
||||||
if test -f "$argv[$arg]"
|
if test -f "$argv[$arg]"
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
set -U fish_features stderr-nocaret qmark-noglob regex-easyesc
|
set -U fish_features stderr-nocaret qmark-noglob regex-easyesc
|
||||||
|
|
||||||
if status is-interactive
|
if status is-interactive
|
||||||
|
{%@@ if asdf @@%}
|
||||||
|
set asdf
|
||||||
|
{%@@ endif @@%}
|
||||||
|
|
||||||
source {$__fish_config_dir}/env.fish
|
source {$__fish_config_dir}/env.fish
|
||||||
source {$__fish_config_dir}/wm.fish
|
source {$__fish_config_dir}/wm.fish
|
||||||
|
@ -15,14 +18,7 @@ if status is-interactive
|
||||||
source {$__fish_config_dir}/keys.fish
|
source {$__fish_config_dir}/keys.fish
|
||||||
source {$__fish_config_dir}/tmux.fish
|
source {$__fish_config_dir}/tmux.fish
|
||||||
source {$__fish_config_dir}/colors.fish
|
source {$__fish_config_dir}/colors.fish
|
||||||
|
source {$__fish_config_dir}/plugins.fish
|
||||||
{%@@ if starship @@%}
|
|
||||||
starship init fish | source
|
|
||||||
# Set cursor shape
|
|
||||||
printf '\e[5 q' # Bar
|
|
||||||
{%@@ else @@%}
|
|
||||||
source {$__fish_config_dir}/prompt.fish
|
|
||||||
{%@@ endif @@%}
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,29 @@
|
||||||
# | _| \__ \ | | |
|
# | _| \__ \ | | |
|
||||||
# |_| |_|___/_| |_|
|
# |_| |_|___/_| |_|
|
||||||
|
|
||||||
set -x QT_QPA_PLATFORMTHEME qt5ct
|
set -x QT_QPA_PLATFORMTHEME gtk2
|
||||||
# set -x QT_QPA_PLATFOR wayland
|
|
||||||
set -x DESKTOP_APP_I_KNOW_ABOUT_GTK_INCOMPATIBILITY 1
|
set -x DESKTOP_APP_I_KNOW_ABOUT_GTK_INCOMPATIBILITY 1
|
||||||
|
set -x ALSOFT_DRIVERS "pulse," # Telegram audio library
|
||||||
set -x SDL_GAMECONTROLLERCONFIG '050000004c0500006802000000800000,Sony PLAYSTATION(R)3 Controller,a:b0,b:b1,x:b3,y:b2,back:b8,guide:b10,start:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b15,dpright:b16,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,'
|
set -x SDL_GAMECONTROLLERCONFIG '050000004c0500006802000000800000,Sony PLAYSTATION(R)3 Controller,a:b0,b:b1,x:b3,y:b2,back:b8,guide:b10,start:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b15,dpright:b16,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,'
|
||||||
|
|
||||||
for i in ~/.local/bin ~/.cargo/bin ~/.factorio/bin/*
|
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share"
|
||||||
test -d "$i";and fish_add_path "$i"
|
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
|
||||||
|
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:/usr/share"
|
||||||
|
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share"
|
||||||
|
|
||||||
|
set -x XDG_CONFIG_HOME "$HOME/.config/"
|
||||||
|
|
||||||
|
if set -q asdf
|
||||||
|
set __cargo_asdf_bin ~/.asdf/installs/rust/*/bin/
|
||||||
|
set __yarn_asdf_bin ~/.config/yarn/global/node_modules/.bin/
|
||||||
|
else
|
||||||
|
set __cargo_bin ~/.cargo/bin/
|
||||||
|
set __yarn_bin ~/.yarn/bin/
|
||||||
|
set -x NVM_DIR ~/.local/share/nvm
|
||||||
|
end
|
||||||
|
|
||||||
|
for i in ~/.local/bin $__cargo_bin $__cargo_asdf_bin $__yarn_asdf_bin ~/.yarn/bin ~/.factorio/bin/*
|
||||||
|
test -d "$i";and fish_add_path --global "$i"
|
||||||
end
|
end
|
||||||
|
|
||||||
# needed for tmux
|
# needed for tmux
|
||||||
|
@ -83,6 +99,6 @@ set -x _COLOR_TYPE "{{@@ color_type @@}}"
|
||||||
set -x _ACCENT_COLOR "{{@@ accent_color_name @@}}"
|
set -x _ACCENT_COLOR "{{@@ accent_color_name @@}}"
|
||||||
|
|
||||||
set -x DOTDROP_CONFIG "{{@@ _dotdrop_cfgpath @@}}"
|
set -x DOTDROP_CONFIG "{{@@ _dotdrop_cfgpath @@}}"
|
||||||
set -x DOTDROP_PROFILE "{{@@ profile @@}}"
|
# set -x DOTDROP_PROFILE "{{@@ profile @@}}"
|
||||||
|
|
||||||
set -x DOTDROP_WORKERS (math 2 \* (nproc))
|
set -x DOTDROP_WORKERS (math 2 \* (nproc))
|
||||||
|
|
|
@ -34,13 +34,16 @@ end
|
||||||
bind \cy 'commandline | wl-copy -n'
|
bind \cy 'commandline | wl-copy -n'
|
||||||
|
|
||||||
# Enable fzf key bindings
|
# Enable fzf key bindings
|
||||||
if test -f /usr/share/fzf/key-bindings.fish
|
if not type -q fzf_key_bindings
|
||||||
|
and test -f /usr/share/fzf/key-bindings.fish
|
||||||
source /usr/share/fzf/key-bindings.fish
|
source /usr/share/fzf/key-bindings.fish
|
||||||
|
end
|
||||||
|
if type -q fzf_key_bindings
|
||||||
fzf_key_bindings
|
fzf_key_bindings
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function rcd #{{{
|
function rcd
|
||||||
set file (mktemp)
|
set file (mktemp)
|
||||||
|
|
||||||
ranger --choosedir=$file
|
ranger --choosedir=$file
|
||||||
|
|
89
dotfiles/fish/plugins.fish
Normal file
89
dotfiles/fish/plugins.fish
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
# {{@@ header() @@}}
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# fundle fish plugin manager
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
if not functions -q fundle
|
||||||
|
and test "$USER" != root
|
||||||
|
eval (curl -sfL https://git.io/fundle-install)
|
||||||
|
end
|
||||||
|
if not set -q asdf
|
||||||
|
fundle plugin 'FabioAntunes/fish-nvm'
|
||||||
|
end
|
||||||
|
fundle plugin 'edc/bass'
|
||||||
|
fundle init
|
||||||
|
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# Source .env files
|
||||||
|
################################################################
|
||||||
|
|
||||||
|
command -qs direnv &&
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# asdf Version manager
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
if set -q asdf
|
||||||
|
if not test -d ~/.asdf
|
||||||
|
and test "$USER" != root
|
||||||
|
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0
|
||||||
|
mkdir -p ~/.config/fish/completions
|
||||||
|
and ln -s ~/.asdf/completions/asdf.fish ~/.config/fish/completions
|
||||||
|
|
||||||
|
source ~/.asdf/asdf.fish
|
||||||
|
|
||||||
|
asdf plugin add nodejs
|
||||||
|
asdf install nodejs 12.13.1
|
||||||
|
asdf install nodejs latest
|
||||||
|
asdf global nodejs latest
|
||||||
|
|
||||||
|
asdf plugin-add yarn
|
||||||
|
asdf install yarn latest
|
||||||
|
asdf global yarn latest
|
||||||
|
|
||||||
|
asdf plugin add rust
|
||||||
|
asdf install rust nightly
|
||||||
|
asdf global rust nightly
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
test -f ~/.asdf/asdf.fish
|
||||||
|
and source ~/.asdf/asdf.fish
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# Rust tools
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
command -qs rustup
|
||||||
|
or _install-rustup &> /dev/null &
|
||||||
|
|
||||||
|
command -qs sccache
|
||||||
|
or _install-sccache &> /dev/null &
|
||||||
|
# set -x RUSTC_WRAPPER sccache
|
||||||
|
|
||||||
|
command -qs rust-analyzer
|
||||||
|
or _install-rust-analyzer &> /dev/null &
|
||||||
|
|
||||||
|
command -qs trunk
|
||||||
|
or _install-trunk &> /dev/null &
|
||||||
|
|
||||||
|
command -qs diesel
|
||||||
|
and diesel completions fish | source
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# Prompt
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
{%@@ if starship @@%}
|
||||||
|
starship init fish | source
|
||||||
|
# Set cursor shape
|
||||||
|
printf '\e[5 q' # Bar
|
||||||
|
{%@@ else @@%}
|
||||||
|
source {$__fish_config_dir}/prompt.fish
|
||||||
|
{%@@ endif @@%}
|
|
@ -48,17 +48,24 @@ function _fish_prompt_git_remote_branches
|
||||||
end
|
end
|
||||||
|
|
||||||
function fish_git_prompt
|
function fish_git_prompt
|
||||||
pushd (string replace -r '/\.git(/.*)?$' '' "$PWD")
|
command -qs git
|
||||||
|
or return
|
||||||
|
|
||||||
|
set -l here (string replace -r '/\.git(/.*)?$' '' "$PWD")
|
||||||
|
|
||||||
|
test -d "$here"
|
||||||
|
or return
|
||||||
|
|
||||||
|
pushd "$here"
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
# Check if in a git repo and save branch and status
|
# Check if in a git repo and save branch and status
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
set git_branch (git branch --show-current 2> /dev/null);or return
|
set -l git_branch (git branch --show-current 2> /dev/null);or return
|
||||||
set git_detach (_fish_prompt_git_detached)
|
set -l git_detach (_fish_prompt_git_detached)
|
||||||
set git_remote (_fish_prompt_git_remote_branches)
|
set -l git_remote_branch (git rev-parse --abbrev-ref (git branch --show-current)@{u} 2> /dev/null)
|
||||||
set git_remotes (git remote)
|
set -l git_status_s (timeout 1s git status -s | string collect)
|
||||||
set git_status_s (timeout 1s git status -s | string collect)
|
|
||||||
|
|
||||||
_fish_prompt_normal " on "
|
_fish_prompt_normal " on "
|
||||||
|
|
||||||
|
@ -80,14 +87,23 @@ function fish_git_prompt
|
||||||
_fish_prompt_warn "init"
|
_fish_prompt_warn "init"
|
||||||
end
|
end
|
||||||
|
|
||||||
# print a "↑" if ahead of origin
|
# Remote has the current branch
|
||||||
for git_remote in (echo $git_remotes | sort -u)
|
if test -n "$git_remote_branch"
|
||||||
# Remote has the current branch
|
# print a "↑" if ahead of origin
|
||||||
string match -qr "$git_remote"/"$git_branch" $git_remote
|
test 0 -ne (git log --oneline "$git_remote_branch"..HEAD -- | wc -l)
|
||||||
# Check if remote is different
|
and set -l _git_sync_ahead '↑'
|
||||||
and not git diff --quiet "$git_branch" "$git_remote"/"$git_branch" --
|
|
||||||
and _fish_prompt_normal '↑'
|
# print a "↓" if behind of origin
|
||||||
and break
|
test 0 -lt (git log --oneline HEAD.."$git_remote_branch" -- | wc -l)
|
||||||
|
and set -l _git_sync_behind '↓'
|
||||||
|
|
||||||
|
if set -q _git_sync_ahead _git_sync_behind
|
||||||
|
_fish_prompt_normal '⇅'
|
||||||
|
else if set -q _git_sync_ahead
|
||||||
|
_fish_prompt_normal '↑'
|
||||||
|
else if set -q _git_sync_behind
|
||||||
|
_fish_prompt_normal '↓'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
function esway
|
function esway
|
||||||
|
|
||||||
# You get a wayland, and you get a wayland. Everybody get's a wayland!
|
# You get a wayland, and you get a wayland. Everybody get's a wayland!
|
||||||
set -x MOZ_ENABLE_WAYLAND 1
|
# set -x MOZ_ENABLE_WAYLAND 1
|
||||||
# set -x CLUTTER_BACKEND wayland
|
# set -x CLUTTER_BACKEND wayland
|
||||||
# set -x QT_QPA_PLATFORM wayland-egl
|
set -x QT_QPA_PLATFORM wayland-egl
|
||||||
# set -x ECORE_EVAS_ENGINE wayland-egl
|
# set -x ECORE_EVAS_ENGINE wayland-egl
|
||||||
# set -x ELM_ENGINE wayland_egl
|
# set -x ELM_ENGINE wayland_egl
|
||||||
# set -x SDL_VIDEODRIVER wayland
|
# set -x SDL_VIDEODRIVER wayland
|
||||||
# set -x _JAVA_AWT_WM_NONREPARENTING 1
|
set -x _JAVA_AWT_WM_NONREPARENTING 1
|
||||||
# set -x NO_AT_BRIDGE 1
|
# set -x NO_AT_BRIDGE 1
|
||||||
|
|
||||||
# Hardware acceleration
|
# Hardware acceleration
|
||||||
|
@ -39,12 +39,18 @@ function esway
|
||||||
|
|
||||||
# this should not be necessary, but whatever
|
# this should not be necessary, but whatever
|
||||||
if not pidof sway &> /dev/null
|
if not pidof sway &> /dev/null
|
||||||
|
{%@@ if supervisor == "runit" @@%}
|
||||||
pkill -HUP -u "$USER" runsvdir
|
pkill -HUP -u "$USER" runsvdir
|
||||||
exec dbus-launch --exit-with-session sway
|
exec dbus-launch --exit-with-session sway
|
||||||
|
{%@@ elif supervisor == "systemd" @@%}
|
||||||
|
exec systemd-cat --identifier=sway sway
|
||||||
|
{%@@ else @@%}
|
||||||
|
exec dbus-launch --exit-with-session sway
|
||||||
|
{%@@ endif @@%}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if test "$XDG_VTNR" = 1
|
if test (tty) = /dev/tty1
|
||||||
and test -z "$DISPLAY$WAYLAND_DISPLAY"
|
and test -z "$DISPLAY$WAYLAND_DISPLAY"
|
||||||
|
|
||||||
esway &> .swaylog
|
esway &> .swaylog
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
# title=foot
|
# title=foot
|
||||||
# locked-title=no
|
# locked-title=no
|
||||||
|
|
||||||
font={{@@ font.mono @@}}:size={{@@ font.size.small * 4/3 @@}}
|
font={{@@ font.mono @@}}:size={{@@ font.size.small @@}}
|
||||||
# font-bold=<bold variant of regular font>
|
# font-bold=<bold variant of regular font>
|
||||||
# font-italic=<italic variant of regular font>
|
# font-italic=<italic variant of regular font>
|
||||||
# font-bold-italic=<bold+italic variant of regular font>
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
@ -18,7 +18,7 @@ font={{@@ font.mono @@}}:size={{@@ font.size.small * 4/3 @@}}
|
||||||
# vertical-letter-offset=0
|
# vertical-letter-offset=0
|
||||||
# underline-offset=<font metrics>
|
# underline-offset=<font metrics>
|
||||||
# box-drawings-uses-font-glyphs=no
|
# box-drawings-uses-font-glyphs=no
|
||||||
# dpi-aware=yes
|
dpi-aware=no
|
||||||
|
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
@ -28,7 +28,7 @@ font={{@@ font.mono @@}}:size={{@@ font.size.small * 4/3 @@}}
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||||
|
|
||||||
bold-text-in-bright=yes
|
bold-text-in-bright=no
|
||||||
# bell=none
|
# bell=none
|
||||||
# word-delimiters=,│`|:"'()[]{}<>
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
# selection-target=primary
|
# selection-target=primary
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
# {{@@ header() @@}}
|
|
||||||
# _____
|
|
||||||
# | ___| _ ___ _ _ _ __ ___ __ _
|
|
||||||
# | |_ | | | / __| | | | '_ ` _ \ / _` |
|
|
||||||
# | _|| |_| \__ \ |_| | | | | | | (_| |
|
|
||||||
# |_| \__,_|___/\__,_|_| |_| |_|\__,_|
|
|
||||||
|
|
||||||
|
|
||||||
swipe:
|
|
||||||
3:
|
|
||||||
left:
|
|
||||||
command: 'swaymsg workspace next'
|
|
||||||
right:
|
|
||||||
command: 'swaymsg workspace prev'
|
|
||||||
up:
|
|
||||||
command: 'swaymsg fullscreen toggle'
|
|
||||||
down:
|
|
||||||
command: 'launcher'
|
|
||||||
# pinch:
|
|
||||||
# in:
|
|
||||||
# command: 'xdotool key ctrl+shift+plus'
|
|
||||||
# out:
|
|
||||||
# command: 'xdotool key ctrl+minus'
|
|
||||||
|
|
||||||
# threshold:
|
|
||||||
# swipe: 1
|
|
||||||
# # pinch: 0.2
|
|
||||||
|
|
||||||
# interval:
|
|
||||||
# swipe: 0.5
|
|
||||||
# # pinch: 0.2
|
|
|
@ -5,10 +5,9 @@
|
||||||
# | |_| | | |_
|
# | |_| | | |_
|
||||||
# \____|_|\__|
|
# \____|_|\__|
|
||||||
|
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = {{@@ username @@}}
|
name = {{@@ username @@}}
|
||||||
email = {{@@ mail.personal.user @@}}@{{@@ mail.personal.mail @@}}
|
email = {{@@ mail.personal.user @@}}
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
|
@ -22,6 +21,9 @@
|
||||||
[merge]
|
[merge]
|
||||||
conflictStyle = diff3
|
conflictStyle = diff3
|
||||||
|
|
||||||
|
[rerere]
|
||||||
|
enabled = true
|
||||||
|
|
||||||
[rebase]
|
[rebase]
|
||||||
abbreviateCommands = true
|
abbreviateCommands = true
|
||||||
autoSquash = true
|
autoSquash = true
|
||||||
|
@ -30,13 +32,13 @@
|
||||||
[pager]
|
[pager]
|
||||||
# differ is a program that shows word-by-word diff
|
# differ is a program that shows word-by-word diff
|
||||||
#{%@@ if editor == "kak" @@%}#
|
#{%@@ if editor == "kak" @@%}#
|
||||||
log = diffr | kak-pager
|
log = _diffr | kak-pager
|
||||||
show = diffr | kak-pager
|
show = _diffr | kak-pager
|
||||||
diff = diffr | kak-pager
|
diff = _diffr | kak-pager
|
||||||
#{%@@ else @@%}#
|
#{%@@ else @@%}#
|
||||||
log = diffr | less
|
log = _diffr | less
|
||||||
show = diffr | less
|
show = _diffr | less
|
||||||
diff = diffr | less
|
diff = _diffr | less
|
||||||
#{%@@ endif @@%}#
|
#{%@@ endif @@%}#
|
||||||
|
|
||||||
[alias]
|
[alias]
|
||||||
|
@ -55,7 +57,10 @@
|
||||||
excludesfile = {{@@ _dotfile_abs_dst @@}}/ignore
|
excludesfile = {{@@ _dotfile_abs_dst @@}}/ignore
|
||||||
; hooksPath = {{@@ _dotfile_abs_dst @@}}/hooks/
|
; hooksPath = {{@@ _dotfile_abs_dst @@}}/hooks/
|
||||||
|
|
||||||
[includeIf "gitdir:~/Projects/work/"]
|
[includeIf "gitdir:~/Projects/"]
|
||||||
path = ~/.config/git/config-work
|
path = {{@@ _dotfile_abs_dst @@}}/config-personal
|
||||||
|
|
||||||
|
[includeIf "gitdir:~/Wopus/"]
|
||||||
|
path = {{@@ _dotfile_abs_dst @@}}/config-work
|
||||||
|
|
||||||
# vim: ft=ini
|
# vim: ft=ini
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = {{@@ mail.work.user.split("@")[0] | capitalize @@}}
|
name = {{@@ mail.work.from | title @@}}
|
||||||
email = {{@@ mail.work.user.split("@")[0] @@}}@{{@@ mail.work.mail @@}}
|
email = {{@@ mail.work.user @@}}
|
||||||
|
|
||||||
# vim: ft=ini
|
# vim: ft=ini
|
||||||
|
|
|
@ -9,3 +9,6 @@
|
||||||
allow-preset-passphrase
|
allow-preset-passphrase
|
||||||
max-cache-ttl 604800
|
max-cache-ttl 604800
|
||||||
default-cache-ttl 604800
|
default-cache-ttl 604800
|
||||||
|
|
||||||
|
allow-loopback-pinentry
|
||||||
|
pinentry-mode loopback
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# |_|\_\__,_|_|\_\ |_____|____/|_|
|
# |_|\_\__,_|_|\_\ |_____|____/|_|
|
||||||
|
|
||||||
|
|
||||||
snippet_support = false
|
snippet_support = true
|
||||||
verbosity = 2
|
verbosity = 2
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
|
@ -76,9 +76,7 @@ offset_encoding = "utf-8"
|
||||||
[language.haskell]
|
[language.haskell]
|
||||||
filetypes = ["haskell"]
|
filetypes = ["haskell"]
|
||||||
roots = ["Setup.hs", "stack.yaml", "*.cabal"]
|
roots = ["Setup.hs", "stack.yaml", "*.cabal"]
|
||||||
# You might also be interested in the newer, but early stage, haskell-language-server
|
command = "haskell-language-server-wrapper"
|
||||||
# https://github.com/haskell/haskell-language-server
|
|
||||||
command = "hie-wrapper"
|
|
||||||
args = ["--lsp"]
|
args = ["--lsp"]
|
||||||
|
|
||||||
[language.html]
|
[language.html]
|
||||||
|
@ -133,7 +131,25 @@ command = "intelephense"
|
||||||
args = ["--stdio"]
|
args = ["--stdio"]
|
||||||
settings_section = "intelephense"
|
settings_section = "intelephense"
|
||||||
[language.php.settings]
|
[language.php.settings]
|
||||||
|
intelephense.format.braces = "k&r"
|
||||||
intelephense.storagePath = "/tmp/intelephense"
|
intelephense.storagePath = "/tmp/intelephense"
|
||||||
|
intelephense.environment.includePaths = [
|
||||||
|
"./vendor",
|
||||||
|
"./vendor/autoload",
|
||||||
|
"./vendor/laravel/framework/",
|
||||||
|
"./vendor/laravel/framework/src/",
|
||||||
|
"./vendor/laravel/framework/src/Illuminate/"
|
||||||
|
]
|
||||||
|
intelephense.files.exclude = [
|
||||||
|
"**/.git/**",
|
||||||
|
"**/.svn/**",
|
||||||
|
"**/.hg/**",
|
||||||
|
"**/CVS/**",
|
||||||
|
"**/.DS_Store/**",
|
||||||
|
"**/node_modules/**",
|
||||||
|
"**/bower_components/**",
|
||||||
|
"**/resources/views/**"
|
||||||
|
]
|
||||||
|
|
||||||
[language.python]
|
[language.python]
|
||||||
filetypes = ["python"]
|
filetypes = ["python"]
|
||||||
|
@ -170,22 +186,14 @@ args = ["stdio"]
|
||||||
|
|
||||||
[language.rust]
|
[language.rust]
|
||||||
filetypes = ["rust"]
|
filetypes = ["rust"]
|
||||||
roots = ["Cargo.toml"]
|
roots = ["rust-toolchain.toml", "rust-toolchain", "Cargo.toml"]
|
||||||
command = "sh"
|
command = "rust-analyzer"
|
||||||
args = [
|
|
||||||
"-c",
|
|
||||||
"""
|
|
||||||
if path=$(rustup which rust-analyzer 2>/dev/null); then
|
|
||||||
"$path"
|
|
||||||
else
|
|
||||||
rust-analyzer
|
|
||||||
fi
|
|
||||||
""",
|
|
||||||
]
|
|
||||||
[language.rust.settings.rust-analyzer]
|
[language.rust.settings.rust-analyzer]
|
||||||
|
## this can use too much space and processing power
|
||||||
|
# checkOnSave.extraArgs = ["--target-dir", "./target/check"]
|
||||||
hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
||||||
procMacro.enable = true
|
# procMacro.enable = true
|
||||||
cargo.loadOutDirsFromCheck = true
|
# cargo.loadOutDirsFromCheck = true
|
||||||
|
|
||||||
[language.terraform]
|
[language.terraform]
|
||||||
filetypes = ["terraform"]
|
filetypes = ["terraform"]
|
||||||
|
@ -199,6 +207,12 @@ roots = ["project.godot", ".git/"]
|
||||||
command = "nc"
|
command = "nc"
|
||||||
args = [ "localhost", "6008"]
|
args = [ "localhost", "6008"]
|
||||||
|
|
||||||
|
[language.clojure]
|
||||||
|
filetypes = ["clojure"]
|
||||||
|
roots = ["project.clj", ".git/"]
|
||||||
|
command = "clojure-lsp"
|
||||||
|
args = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,10 +57,17 @@ face global MenuInfo cyan
|
||||||
face global Information default,{{@@ bg_dark @@}}
|
face global Information default,{{@@ bg_dark @@}}
|
||||||
face global Error default,red+g
|
face global Error default,red+g
|
||||||
|
|
||||||
face global StatusLine default,{{@@ bg_dark @@}}
|
face global StatusLine %sh{
|
||||||
face global StatusLineMode green,{{@@ bg_dark @@}}
|
printf "rgb:"
|
||||||
face global StatusLineInfo default,{{@@ bg_dark @@}}
|
head /dev/urandom |
|
||||||
face global StatusLineValue default,{{@@ bg_dark @@}}
|
base64 |
|
||||||
|
rg --text -o '{{@@ color.random_range @@}}' |
|
||||||
|
head -n 6 |
|
||||||
|
sd '\n' ''
|
||||||
|
}
|
||||||
|
face global StatusLineMode StatusLine
|
||||||
|
face global StatusLineInfo StatusLine
|
||||||
|
face global StatusLineValue StatusLine
|
||||||
face global StatusCursor {{@@ accent_fg @@}},{{@@ accent_color @@}}
|
face global StatusCursor {{@@ accent_fg @@}},{{@@ accent_color @@}}
|
||||||
|
|
||||||
face global Prompt yellow,default
|
face global Prompt yellow,default
|
||||||
|
|
|
@ -12,6 +12,10 @@ hook global WinSetOption filetype=c %{
|
||||||
set buffer formatcmd 'clang-format'
|
set buffer formatcmd 'clang-format'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hook global BufCreate .*\.rs %{
|
||||||
|
set buffer formatcmd 'rustfmt'
|
||||||
|
}
|
||||||
|
|
||||||
hook global BufCreate .*\.html %{
|
hook global BufCreate .*\.html %{
|
||||||
set buffer formatcmd 'prettier --parser html'
|
set buffer formatcmd 'prettier --parser html'
|
||||||
}
|
}
|
||||||
|
@ -50,6 +54,20 @@ hook global WinCreate .* %{
|
||||||
hook global BufCreate .*\.jsonc %[ set buffer filetype jsonc ]
|
hook global BufCreate .*\.jsonc %[ set buffer filetype jsonc ]
|
||||||
hook global BufCreate .*\.blade.php %[ set buffer filetype blade ]
|
hook global BufCreate .*\.blade.php %[ set buffer filetype blade ]
|
||||||
hook global BufCreate .*\.less %[ set buffer filetype less ]
|
hook global BufCreate .*\.less %[ set buffer filetype less ]
|
||||||
|
hook global BufCreate .*\.(tera|askama)\.?.* %[
|
||||||
|
require-module jinja
|
||||||
|
add-highlighter buffer/jinja ref jinja
|
||||||
|
]
|
||||||
|
|
||||||
|
hook global WinSetOption filetype=rust %[
|
||||||
|
require-module rust
|
||||||
|
require-module html
|
||||||
|
add-highlighter shared/rust/html region -recurse '\{' 'html!\s*\{\K' '(?=\})' ref html
|
||||||
|
]
|
||||||
|
|
||||||
|
hook global WinSetOption filetype=sql %[
|
||||||
|
set buffer comment_line '--'
|
||||||
|
]
|
||||||
|
|
||||||
hook global WinSetOption filetype=jsonc %[
|
hook global WinSetOption filetype=jsonc %[
|
||||||
set buffer comment_line '//'
|
set buffer comment_line '//'
|
||||||
|
|
|
@ -23,7 +23,7 @@ evaluate-commands %sh{
|
||||||
|
|
||||||
define-command -override diffr %{ try %{
|
define-command -override diffr %{ try %{
|
||||||
execute-keys -draft 'ggxsdiff<ret>'
|
execute-keys -draft 'ggxsdiff<ret>'
|
||||||
execute-keys -draft '%<a-;>J| diffr<ret>'
|
execute-keys -draft '%<a-;>J| _diffr<ret>'
|
||||||
ansi-render
|
ansi-render
|
||||||
} }
|
} }
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ hook global BufOpenFile .*/COMMIT_EDITMSG %{
|
||||||
}
|
}
|
||||||
|
|
||||||
hook global RegisterModified '"' %{ nop %sh{ {
|
hook global RegisterModified '"' %{ nop %sh{ {
|
||||||
printf %s "$kak_main_reg_dquote" | wl-copy -n
|
printf %s "$kak_reg_dquote" | wl-copy -n
|
||||||
printf %s "$kak_main_reg_dquote" | xclip -i -selection clipboard
|
printf %s "$kak_reg_dquote" | xclip -i -selection clipboard
|
||||||
} > /dev/null 2>&1 < /dev/null & }}
|
} > /dev/null 2>&1 < /dev/null & }}
|
||||||
|
|
||||||
# Trim trailing whitespace
|
# Trim trailing whitespace
|
||||||
|
|
|
@ -1,40 +1,10 @@
|
||||||
# {{@@ header() @@}}
|
# {{@@ header() @@}}
|
||||||
|
|
||||||
map global normal <F2> ': lsp-rename-prompt<ret>'
|
map global normal <c-d> 10j
|
||||||
|
map global normal <c-u> 10k
|
||||||
|
|
||||||
{%@@ for old, new, gdoc, vdoc in [
|
# alt i makes searches case insensitive
|
||||||
[ "h", key.left, "line begin", "scroll left" ],
|
map global prompt <a-i> '<c-a>(?i)<c-e>'
|
||||||
[ "l", key.right, "line right", "scroll right" ],
|
|
||||||
[ "k", key.up, "buffer begin", "scroll up" ],
|
|
||||||
[ "j", key.down, "buffer end", "scroll down" ],
|
|
||||||
[ "i", key.insertMode, "first non blank", "" ],
|
|
||||||
[ "n", key.next, "", "" ],
|
|
||||||
[ "o", "h", "", "" ],
|
|
||||||
] @@%}
|
|
||||||
{%@@ set NEW, OLD = new.upper(), old.upper()@@%}
|
|
||||||
{%@@ if vdoc @@%}
|
|
||||||
map global view {{@@ old @@}} ''
|
|
||||||
map global view {{@@ new @@}} {{@@ old @@}} -docstring "{{@@ vdoc @@}}"
|
|
||||||
{%@@ endif @@%}
|
|
||||||
{%@@ if gdoc @@%}
|
|
||||||
map global goto {{@@ old @@}} ''
|
|
||||||
map global goto {{@@ new @@}} {{@@ old @@}} -docstring "{{@@ gdoc @@}}"
|
|
||||||
{%@@ endif @@%}
|
|
||||||
map global normal {{@@ new @@}} {{@@ old @@}}
|
|
||||||
map global normal {{@@ NEW @@}} {{@@ OLD @@}}
|
|
||||||
map global normal <a-{{@@ new @@}}> <a-{{@@ old @@}}>
|
|
||||||
map global normal <a-{{@@ NEW @@}}> <a-{{@@ OLD @@}}>
|
|
||||||
{%@@ endfor @@%}
|
|
||||||
|
|
||||||
{%@@ if key.layout == 'colemak' @@%}
|
|
||||||
map global normal k s
|
|
||||||
map global normal K S
|
|
||||||
map global normal <c-k> <a-s>
|
|
||||||
|
|
||||||
map global normal t e
|
|
||||||
map global normal T E
|
|
||||||
|
|
||||||
{%@@ endif @@%}
|
|
||||||
|
|
||||||
######################################################
|
######################################################
|
||||||
# Emacs-like insert
|
# Emacs-like insert
|
||||||
|
@ -56,6 +26,7 @@ map global insert <c-w> "<a-;>b<a-;>d"
|
||||||
######################################################
|
######################################################
|
||||||
|
|
||||||
map global insert <a-k> "<esc>"
|
map global insert <a-k> "<esc>"
|
||||||
|
map global insert <c-t> "<esc>"
|
||||||
|
|
||||||
|
|
||||||
######################################################
|
######################################################
|
||||||
|
|
|
@ -20,61 +20,58 @@ plug "andreyorst/plug.kak" noload config %{
|
||||||
|
|
||||||
plug 'eraserhd/kak-ansi'
|
plug 'eraserhd/kak-ansi'
|
||||||
|
|
||||||
plug 'alexherbo2/prelude.kak'
|
plug 'alexherbo2/auto-pairs.kak' config %{
|
||||||
plug 'alexherbo2/auto-pairs.kak' commit "fd735ec149ef0d9ca5f628a95b1e52858b5afbdc" config %{
|
enable-auto-pairs
|
||||||
require-module 'prelude'
|
|
||||||
require-module 'auto-pairs'
|
|
||||||
auto-pairs-enable
|
|
||||||
}
|
}
|
||||||
|
|
||||||
plug 'h-youhei/kakoune-surround'
|
plug 'lelgenio/kakoune-mirror-colemak' config %{
|
||||||
|
map global user "s" ': enter-user-mode mirror<ret>'
|
||||||
|
}
|
||||||
|
|
||||||
plug 'delapouite/kakoune-palette'
|
plug 'delapouite/kakoune-palette'
|
||||||
plug 'greenfork/active-window.kak'
|
plug 'greenfork/active-window.kak'
|
||||||
plug 'insipx/kak-crosshairs' config %{
|
plug 'lelgenio/kak-crosshairs' config %{
|
||||||
crosshairs
|
crosshairs-enable
|
||||||
}
|
}
|
||||||
|
|
||||||
# Search and replace, for every buffer
|
# Search and replace, for every buffer
|
||||||
plug 'occivink/kakoune-find'
|
plug "natasky/kakoune-multi-file"
|
||||||
|
|
||||||
|
plug "lelgenio/kakoune-colemak-neio"
|
||||||
|
|
||||||
plug 'kak-lsp/kak-lsp' do %{
|
plug 'kak-lsp/kak-lsp' do %{
|
||||||
cargo install --features "no-lto" --locked --force --path .
|
cargo install --locked --force --path .
|
||||||
} config %{
|
} config %{
|
||||||
|
map global normal <F2> ': lsp-rename-prompt<ret>'
|
||||||
set global lsp_hover_max_lines 10
|
set global lsp_hover_max_lines 10
|
||||||
# lsp-inlay-diagnostics-enable global
|
|
||||||
set global lsp_auto_highlight_references true
|
set global lsp_auto_highlight_references true
|
||||||
# set global lsp_inlay_diagnostic_sign "●"
|
set global lsp_inlay_diagnostic_sign "●"
|
||||||
# set global lsp_diagnostic_line_error_sign "●"
|
set global lsp_diagnostic_line_error_sign "●"
|
||||||
|
|
||||||
# hook global BufCreate .* %{try lsp-enable}
|
hook global BufCreate .* %{try lsp-enable}
|
||||||
|
|
||||||
# hook global -group rust-inlay-hints-auto WinSetOption filetype=rust %{
|
define-command -override -hidden lsp-next-placeholder-bind %{
|
||||||
# hook window -group rust-inlay-hints BufReload .* rust-analyzer-inlay-hints
|
map global normal <tab> ': try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
||||||
# hook window -group rust-inlay-hints NormalIdle .* rust-analyzer-inlay-hints
|
map global insert <tab> '<a-;>: try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
||||||
# hook window -group rust-inlay-hints InsertIdle .* rust-analyzer-inlay-hints
|
}
|
||||||
# hook -once -always window WinSetOption filetype=.* %{
|
lsp-next-placeholder-bind
|
||||||
# remove-hooks window rust-inlay-hints
|
map global insert <c-o> "<esc>: lsp-code-action-sync Fill<ret>"
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# define-command -override -hidden lsp-enable-decals %{
|
define-command -override -hidden lsp-enable-decals %{
|
||||||
# lsp-inlay-diagnostics-enable global
|
lsp-inlay-diagnostics-enable global
|
||||||
# try %{
|
lsp-inlay-hints-enable global
|
||||||
# add-highlighter global/rust_analyzer_inlay_hints replace-ranges rust_analyzer_inlay_hints
|
}
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# define-command -override -hidden lsp-disable-decals %{
|
define-command -override -hidden lsp-disable-decals %{
|
||||||
# lsp-inlay-diagnostics-disable global
|
lsp-inlay-diagnostics-disable global
|
||||||
# remove-highlighter global/rust_analyzer_inlay_hints
|
lsp-inlay-hints-disable global
|
||||||
# }
|
}
|
||||||
|
lsp-enable-decals
|
||||||
|
|
||||||
# hook global ModeChange '.*:insert:normal' %{lsp-enable-decals}
|
hook global ModeChange '.*:insert:normal' %{lsp-enable-decals}
|
||||||
# hook global ModeChange '.*:normal:insert' %{lsp-disable-decals}
|
hook global ModeChange '.*:normal:insert' %{lsp-disable-decals}
|
||||||
|
|
||||||
hook global WinSetOption filetype=(c|cpp|rust) %{
|
hook global WinSetOption filetype=(c|cpp|rust) %{
|
||||||
lsp-enable
|
|
||||||
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
||||||
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
||||||
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
||||||
|
@ -82,5 +79,16 @@ plug 'kak-lsp/kak-lsp' do %{
|
||||||
remove-hooks window semantic-tokens
|
remove-hooks window semantic-tokens
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare-option -hidden str modeline_progress ""
|
||||||
|
define-command -hidden -params 6 -override lsp-handle-progress %{
|
||||||
|
set global modeline_progress %sh{
|
||||||
|
if ! "$6"; then
|
||||||
|
echo "$2${5:+" ($5%)"}${4:+": $4"}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
set global modelinefmt "%%opt{modeline_progress} %opt{modelinefmt}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# {{@@ header() @@}}
|
# {{@@ header() @@}}
|
||||||
|
|
||||||
try %{
|
try %{
|
||||||
declare-user-mode surround
|
# declare-user-mode surround
|
||||||
declare-user-mode git
|
declare-user-mode git
|
||||||
declare-user-mode find
|
declare-user-mode find
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,8 @@ map global user 'z' ':zoxide ' -docstring 'zoxide'
|
||||||
map global user 'n' ': new<ret>' -docstring 'new window'
|
map global user 'n' ': new<ret>' -docstring 'new window'
|
||||||
|
|
||||||
map global user 'e' 'x|emmet<ret>{{@@ "@" if not tabs @@}}' -docstring 'process line with emmet'
|
map global user 'e' 'x|emmet<ret>{{@@ "@" if not tabs @@}}' -docstring 'process line with emmet'
|
||||||
map global user 'm' ': try format-buffer catch lsp-formatting<ret>' -docstring 'format document'
|
map global user 'm' ': try lsp-formatting-sync catch format-buffer<ret>' -docstring 'format document'
|
||||||
map global user 'M' ': try format-selections catch lsp-range-formatting<ret>' -docstring 'format selection'
|
map global user 'M' ': try lsp-range-formatting-sync catch format-selections<ret>' -docstring 'format selection'
|
||||||
|
|
||||||
map global user 'c' ': comment-line<ret>' -docstring 'comment line'
|
map global user 'c' ': comment-line<ret>' -docstring 'comment line'
|
||||||
map global user 'C' '_: comment-block<ret>' -docstring 'comment block'
|
map global user 'C' '_: comment-block<ret>' -docstring 'comment block'
|
||||||
|
@ -28,12 +28,6 @@ map global user 'b' ': find_buffer<ret>' -docstring 'switch buffer'
|
||||||
map global user 'l' ': lsp-enable-decals<ret>' -docstring 'LSP enable decals'
|
map global user 'l' ': lsp-enable-decals<ret>' -docstring 'LSP enable decals'
|
||||||
map global user 'L' ': lsp-disable-decals<ret>' -docstring 'LSP disable decals'
|
map global user 'L' ': lsp-disable-decals<ret>' -docstring 'LSP disable decals'
|
||||||
|
|
||||||
map global user 's' ': enter-user-mode surround<ret>' -docstring 'surround mode'
|
|
||||||
map global surround 's' ': surround<ret>' -docstring 'surround'
|
|
||||||
map global surround 'c' ': change-surround<ret>' -docstring 'change'
|
|
||||||
map global surround 'd' ': delete-surround<ret>' -docstring 'delete'
|
|
||||||
map global surround 'x' ': select-surround<ret>' -docstring 'select surround'
|
|
||||||
|
|
||||||
map global user 'v' ': enter-user-mode git<ret>' -docstring 'git vcs mode'
|
map global user 'v' ': enter-user-mode git<ret>' -docstring 'git vcs mode'
|
||||||
map global user 'V' ': enter-user-mode -lock git<ret>' -docstring 'git vcs mode'
|
map global user 'V' ': enter-user-mode -lock git<ret>' -docstring 'git vcs mode'
|
||||||
map global git 's' ': git status<ret>' -docstring 'status'
|
map global git 's' ': git status<ret>' -docstring 'status'
|
||||||
|
@ -58,6 +52,7 @@ map global find 'f' ': find_file<ret>' -docstring 'file'
|
||||||
map global find 'l' ': find_line<ret>' -docstring 'jump to line'
|
map global find 'l' ': find_line<ret>' -docstring 'jump to line'
|
||||||
map global find 'r' ': find_ripgrep<ret>' -docstring 'ripgrep all file'
|
map global find 'r' ': find_ripgrep<ret>' -docstring 'ripgrep all file'
|
||||||
map global find 'g' ': find_git_file<ret>' -docstring 'git files'
|
map global find 'g' ': find_git_file<ret>' -docstring 'git files'
|
||||||
|
map global find 'm' ': find_git_modified<ret>' -docstring 'git modified files'
|
||||||
map global find 'c' ': find_dir<ret>' -docstring 'change dir'
|
map global find 'c' ': find_dir<ret>' -docstring 'change dir'
|
||||||
map global find 'd' ': find_delete<ret>' -docstring 'file to delete'
|
map global find 'd' ': find_delete<ret>' -docstring 'file to delete'
|
||||||
|
|
||||||
|
@ -74,9 +69,16 @@ define-command -override -hidden find_delete \
|
||||||
} }
|
} }
|
||||||
|
|
||||||
define-command -override -hidden find_git_file \
|
define-command -override -hidden find_git_file \
|
||||||
%{ evaluate-commands -existing %sh{
|
%{ evaluate-commands %sh{
|
||||||
for line in `git ls-files | wdmenu`; do
|
for line in `git ls-files | wdmenu`; do
|
||||||
echo "edit '$line'"
|
echo "edit -existing '$line'"
|
||||||
|
done
|
||||||
|
} }
|
||||||
|
|
||||||
|
define-command -override -hidden find_git_modified \
|
||||||
|
%{ evaluate-commands %sh{
|
||||||
|
for line in `git status --porcelain | sd '^.. ' ''| wdmenu`; do
|
||||||
|
echo "edit -existing '$line'"
|
||||||
done
|
done
|
||||||
} }
|
} }
|
||||||
|
|
||||||
|
|
196
dotfiles/libinput-gestures.conf
Normal file
196
dotfiles/libinput-gestures.conf
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
# Configuration file for libinput-gestures.
|
||||||
|
# Mark Blakeney, Sep 2015
|
||||||
|
#
|
||||||
|
# The default configuration file exists at /etc/libinput-gestures.conf
|
||||||
|
# but a user can create a personal custom configuration file at
|
||||||
|
# ~/.config/libinput-gestures.conf.
|
||||||
|
#
|
||||||
|
# Lines starting with '#' and blank lines are ignored. Currently
|
||||||
|
# "gesture" and "device" configuration keywords are supported as
|
||||||
|
# described below. The keyword can optionally be appended with a ":" (to
|
||||||
|
# maintain compatibility with original format configuration files).
|
||||||
|
#
|
||||||
|
# Each gesture line has 3 [or 4] arguments separated by whitespace:
|
||||||
|
#
|
||||||
|
# action motion [finger_count] command
|
||||||
|
#
|
||||||
|
# where action and motion is either:
|
||||||
|
# swipe up
|
||||||
|
# swipe down
|
||||||
|
# swipe left
|
||||||
|
# swipe right
|
||||||
|
# swipe left_up
|
||||||
|
# swipe left_down
|
||||||
|
# swipe right_up
|
||||||
|
# swipe right_down
|
||||||
|
# pinch in
|
||||||
|
# pinch out
|
||||||
|
# pinch clockwise
|
||||||
|
# pinch anticlockwise
|
||||||
|
#
|
||||||
|
# command is the remainder of the line and is any valid shell command +
|
||||||
|
# arguments.
|
||||||
|
#
|
||||||
|
# finger_count is a single numeric digit and is optional (and is
|
||||||
|
# typically 3 or 4). If specified then the command is executed when
|
||||||
|
# exactly that number of fingers is used in the gesture. If not
|
||||||
|
# specified then the command is executed when that gesture is executed
|
||||||
|
# with any number of fingers. Gesture lines specified with finger_count
|
||||||
|
# have priority over the same gesture specified without any
|
||||||
|
# finger_count.
|
||||||
|
#
|
||||||
|
# Typically command will be _internal, or xdotool. See "man xdotool" for
|
||||||
|
# the many things you can action with that tool. Note that unfortunately
|
||||||
|
# xdotool does not work with native Wayland clients.
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# SWIPE GESTURES:
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Note the default is an "internal" command that uses wmctrl to switch
|
||||||
|
# workspaces and, unlike xdotool, works on both Xorg and Wayland (via
|
||||||
|
# XWayland). It also can be configured for vertical and horizontal
|
||||||
|
# switching over tabular workspaces, as per the example below. You can
|
||||||
|
# also add "-w" to the internal command to allow wrapping workspaces.
|
||||||
|
# Ensure you install wmctrl if you use _internal.
|
||||||
|
|
||||||
|
# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg)
|
||||||
|
gesture swipe up swaymsg fullscreen toggle
|
||||||
|
|
||||||
|
# NOTE ABOUT FINGER COUNT:
|
||||||
|
# The above command will configure this command for all fingers (i.e. 3
|
||||||
|
# for 4) but to configure it for 3 fingers only, change it to:
|
||||||
|
# gesture swipe up 3 _internal ws_up
|
||||||
|
# Then you can configure something else for 4 fingers or leave 4 fingers
|
||||||
|
# unconfigured. You can configure an explicit finger count like this for
|
||||||
|
# all example commands in this configuration file.
|
||||||
|
#
|
||||||
|
# gesture swipe up xdotool key super+Page_Down
|
||||||
|
|
||||||
|
# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg)
|
||||||
|
gesture swipe down launcher
|
||||||
|
# gesture swipe down xdotool key super+Page_Up
|
||||||
|
|
||||||
|
# Browser go forward (works only for Xorg, and Xwayland clients)
|
||||||
|
gesture swipe left swaymsg workspace next
|
||||||
|
|
||||||
|
# Browser go back (works only for Xorg, and Xwayland clients)
|
||||||
|
gesture swipe right swaymsg workspace prev
|
||||||
|
|
||||||
|
# NOTE: If you don't use "natural" scrolling direction for your touchpad
|
||||||
|
# then you may want to swap the above default left/right and up/down
|
||||||
|
# configurations.
|
||||||
|
|
||||||
|
# Optional extended swipe gestures, e.g. for browser tab navigation:
|
||||||
|
#
|
||||||
|
# Jump to next open browser tab
|
||||||
|
# gesture swipe right_up xdotool key control+Tab
|
||||||
|
#
|
||||||
|
# Jump to previous open browser tab
|
||||||
|
# gesture swipe left_up xdotool key control+shift+Tab
|
||||||
|
#
|
||||||
|
# Close current browser tab
|
||||||
|
# gesture swipe left_down xdotool key control+w
|
||||||
|
#
|
||||||
|
# Reopen and jump to last closed browser tab
|
||||||
|
# gesture swipe right_down xdotool key control+shift+t
|
||||||
|
|
||||||
|
# Example of 8 static workspaces, e.g. using KDE virtual-desktops,
|
||||||
|
# arranged in 2 rows of 4 columns across using swipe up/down/left/right
|
||||||
|
# to navigate in fixed planes. You can also add the "-w/--wrap" option
|
||||||
|
# to allow wrapping in any direction. You must configure your virtual
|
||||||
|
# desktops with the same column dimension.
|
||||||
|
# gesture swipe up _internal --cols 4 ws_up
|
||||||
|
# gesture swipe down _internal --cols 4 ws_down
|
||||||
|
# gesture swipe left _internal --cols 4 ws_left
|
||||||
|
# gesture swipe right _internal --cols 4 ws_right
|
||||||
|
#
|
||||||
|
# Example of 16 static workspaces, e.g. using KDE virtual-desktops,
|
||||||
|
# arranged in 4 rows of 4 columns across using swipe up/down/left/right
|
||||||
|
# to navigate in fixed planes, and also using swipe
|
||||||
|
# left_up/left_down/right_up/right_down to navigate diagonally. You can
|
||||||
|
# also add the "-w/--wrap" option to allow wrapping in any direction
|
||||||
|
# and/or diagonally. You must configure your virtual desktops with the
|
||||||
|
# same column dimension.
|
||||||
|
# gesture swipe up _internal --cols 4 ws_up
|
||||||
|
# gesture swipe down _internal --cols 4 ws_down
|
||||||
|
# gesture swipe left _internal --cols 4 ws_left
|
||||||
|
# gesture swipe right _internal --cols 4 ws_right
|
||||||
|
# gesture swipe left_up _internal --cols 4 ws_left_up
|
||||||
|
# gesture swipe left_down _internal --cols 4 ws_left_down
|
||||||
|
# gesture swipe right_up _internal --cols 4 ws_right_up
|
||||||
|
# gesture swipe right_down _internal --cols 4 ws_right_down
|
||||||
|
|
||||||
|
# Example virtual desktop switching for Ubuntu Unity/Compiz. The
|
||||||
|
# _internal command does not work for Compiz but you can explicitly
|
||||||
|
# configure the swipe commands to work for a Compiz virtual 2
|
||||||
|
# dimensional desktop as follows:
|
||||||
|
# gesture swipe up xdotool key ctrl+alt+Up
|
||||||
|
# gesture swipe down xdotool key ctrl+alt+Down
|
||||||
|
# gesture swipe left xdotool key ctrl+alt+Left
|
||||||
|
# gesture swipe right xdotool key ctrl+alt+Right
|
||||||
|
|
||||||
|
# Example to change audio volume:
|
||||||
|
# Note this only works on an Xorg desktop (not Wayland).
|
||||||
|
# gesture swipe up xdotool key XF86AudioRaiseVolume
|
||||||
|
# gesture swipe down xdotool key XF86AudioLowerVolume
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# PINCH GESTURES:
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# GNOME SHELL open/close overview (works for GNOME on Xorg only)
|
||||||
|
gesture pinch in xdotool key super+s
|
||||||
|
gesture pinch out xdotool key super+s
|
||||||
|
|
||||||
|
# KDE Plasma open/close overview
|
||||||
|
# gesture pinch in xdotool key ctrl+F9
|
||||||
|
# gesture pinch out xdotool key ctrl+F9
|
||||||
|
|
||||||
|
# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg)
|
||||||
|
# Note since GNOME 3.24 on Wayland this is implemented natively so no
|
||||||
|
# real point configuring for Wayland.
|
||||||
|
# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
|
||||||
|
# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
|
||||||
|
|
||||||
|
# Optional extended pinch gestures:
|
||||||
|
# gesture pinch clockwise <whatever command>
|
||||||
|
# gesture pinch anticlockwise <whatever command>
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# This application normally determines your touchpad device
|
||||||
|
# automatically. Some users may have multiple touchpads but by default
|
||||||
|
# we use only the first one found. However, you can choose to specify
|
||||||
|
# the explicit device name to use. Run "libinput list-devices" to work
|
||||||
|
# out the name of your device (from the "Device:" field). Then add a
|
||||||
|
# device line specifying that name, e.g:
|
||||||
|
#
|
||||||
|
# device DLL0665:01 06CB:76AD Touchpad
|
||||||
|
#
|
||||||
|
# If the device name starts with a '/' then it is instead considered as
|
||||||
|
# the explicit device path although since device paths can change
|
||||||
|
# through reboots this is best to be a symlink. E.g. instead of specifying
|
||||||
|
# /dev/input/event12, you should use the corresponding full path link
|
||||||
|
# under /dev/input/by-path/ or /dev/input/by-id/.
|
||||||
|
#
|
||||||
|
# You can choose to use ALL touchpad devices by setting the device name
|
||||||
|
# to "all". E.g. Do this if you have multiple touchpads which you want
|
||||||
|
# to use in parallel. This reduces performance slightly so only set this
|
||||||
|
# if you have to.
|
||||||
|
#
|
||||||
|
# device all
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# You can set a minimum travel distance threshold before swipe gestures
|
||||||
|
# are actioned using the swipe_threshold configuration command.
|
||||||
|
# Specify this value in dots. The default is 0.
|
||||||
|
# E.g. set it to 100 dots with "swipe_threshold 100".
|
||||||
|
# swipe_threshold 0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# You can set a timeout on gestures from start to end. The default is
|
||||||
|
# the value commented below. It can be any value in float secs >= 0.
|
||||||
|
# 0 = no timeout. E.g. set it to 2 secs with "timeout 2".
|
||||||
|
# timeout 1.5
|
||||||
|
|
||||||
|
# vim:ft=ini
|
|
@ -1,10 +1,10 @@
|
||||||
{%@@ for name, info in mail.items() | reverse @@%}
|
{%@@ for name, info in mail.items() | reverse @@%}
|
||||||
|
|
||||||
IMAPStore {{@@ name @@}}-remote
|
IMAPStore {{@@ name @@}}-remote
|
||||||
Host {{@@ info.mail @@}}
|
Host {{@@ info.imap @@}}
|
||||||
Port 993
|
Port 993
|
||||||
User {{@@ info.user.split("@")[0] @@}}@{{@@ info.mail @@}}
|
User {{@@ info.user @@}}
|
||||||
PassCmd "_pass_get {{@@ info.mail @@}}"
|
PassCmd "_pass_get {{@@ info.pass @@}}"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
|
20
dotfiles/neomutt/msmtprc
Normal file
20
dotfiles/neomutt/msmtprc
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Set default values for all following accounts.
|
||||||
|
defaults
|
||||||
|
auth on
|
||||||
|
tls on
|
||||||
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||||
|
logfile ~/.msmtp.log
|
||||||
|
|
||||||
|
{%@@ for name, info in mail.items() @@%}
|
||||||
|
|
||||||
|
account {{@@ name @@}}
|
||||||
|
host {{@@ info.smtp @@}}
|
||||||
|
port 587
|
||||||
|
from "{{@@ info.from @@}} <{{@@ info.user @@}}>"
|
||||||
|
user {{@@ info.user @@}}
|
||||||
|
passwordeval "_pass_get {{@@ info.pass @@}}"
|
||||||
|
|
||||||
|
{%@@ endfor @@%}
|
||||||
|
|
||||||
|
# Set a default account
|
||||||
|
account default : {{@@ (mail.keys() | list) [0] @@}}
|
|
@ -15,21 +15,17 @@ set header_cache = ~/.cache/mutt/
|
||||||
set my_mailroot = ~/.local/share/mail
|
set my_mailroot = ~/.local/share/mail
|
||||||
|
|
||||||
set use_from = yes
|
set use_from = yes
|
||||||
set ssl_force_tls = yes
|
# set ssl_force_tls = yes
|
||||||
|
|
||||||
{%@@ for name, info in mail.items() | reverse @@%}
|
{%@@ for name, info in mail.items() | reverse @@%}
|
||||||
set my_source_command = \
|
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
|
||||||
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
|
folder-hook "$my_mailroot/{{@@ name @@}}/" source "\"$my_source_command\""
|
||||||
|
source "$my_source_command"
|
||||||
folder-hook "$my_mailroot/{{@@ name @@}}/" \
|
|
||||||
source "\"$my_source_command\""
|
|
||||||
source "$my_source_command"
|
|
||||||
{%@@ endfor @@%}
|
{%@@ endfor @@%}
|
||||||
|
|
||||||
{%@@ for name, info in mail.items() @@%}
|
{%@@ for name, info in mail.items() @@%}
|
||||||
set my_source_command = \
|
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
|
||||||
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
|
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
|
||||||
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
|
|
||||||
{%@@ endfor @@%}
|
{%@@ endfor @@%}
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
@ -40,7 +36,7 @@ set sort = reverse-last-date
|
||||||
set sort_aux = last-date
|
set sort_aux = last-date
|
||||||
|
|
||||||
set mail_check_stats = yes
|
set mail_check_stats = yes
|
||||||
set mail_check_stats_interval = 60
|
set mail_check_stats_interval = 10
|
||||||
|
|
||||||
set mark_old = no # Unread mail stay unread until read
|
set mark_old = no # Unread mail stay unread until read
|
||||||
set mailcap_path = ~/.config/neomutt/mailcap
|
set mailcap_path = ~/.config/neomutt/mailcap
|
||||||
|
|
260
dotfiles/nushell/config.nu
Normal file
260
dotfiles/nushell/config.nu
Normal file
|
@ -0,0 +1,260 @@
|
||||||
|
# Nushell Config File
|
||||||
|
|
||||||
|
def create_left_prompt [] {
|
||||||
|
let path_segment = ($env.PWD)
|
||||||
|
|
||||||
|
$path_segment
|
||||||
|
}
|
||||||
|
|
||||||
|
def create_right_prompt [] {
|
||||||
|
let time_segment = ([
|
||||||
|
(date now | date format '%m/%d/%Y %r')
|
||||||
|
] | str collect)
|
||||||
|
|
||||||
|
$time_segment
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use nushell functions to define your right and left prompt
|
||||||
|
let-env PROMPT_COMMAND = { create_left_prompt }
|
||||||
|
let-env PROMPT_COMMAND_RIGHT = { create_right_prompt }
|
||||||
|
|
||||||
|
# The prompt indicators are environmental variables that represent
|
||||||
|
# the state of the prompt
|
||||||
|
let-env PROMPT_INDICATOR = "〉"
|
||||||
|
let-env PROMPT_INDICATOR_VI_INSERT = ": "
|
||||||
|
let-env PROMPT_INDICATOR_VI_NORMAL = "〉"
|
||||||
|
let-env PROMPT_MULTILINE_INDICATOR = "::: "
|
||||||
|
|
||||||
|
# Specifies how environment variables are:
|
||||||
|
# - converted from a string to a value on Nushell startup (from_string)
|
||||||
|
# - converted from a value back to a string when running external commands (to_string)
|
||||||
|
# Note: The conversions happen *after* config.nu is loaded
|
||||||
|
let-env ENV_CONVERSIONS = {
|
||||||
|
"PATH": {
|
||||||
|
from_string: { |s| $s | split row (char esep) }
|
||||||
|
to_string: { |v| $v | str collect (char esep) }
|
||||||
|
}
|
||||||
|
"Path": {
|
||||||
|
from_string: { |s| $s | split row (char esep) }
|
||||||
|
to_string: { |v| $v | str collect (char esep) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Directories to search for scripts when calling source or use
|
||||||
|
#
|
||||||
|
# By default, <nushell-config-dir>/scripts is added
|
||||||
|
let-env NU_LIB_DIRS = [
|
||||||
|
($nu.config-path | path dirname | path join 'scripts')
|
||||||
|
]
|
||||||
|
|
||||||
|
# Directories to search for plugin binaries when calling register
|
||||||
|
#
|
||||||
|
# By default, <nushell-config-dir>/plugins is added
|
||||||
|
let-env NU_PLUGIN_DIRS = [
|
||||||
|
($nu.config-path | path dirname | path join 'plugins')
|
||||||
|
]
|
||||||
|
|
||||||
|
module completions {
|
||||||
|
# Custom completions for external commands (those outside of Nushell)
|
||||||
|
# Each completions has two parts: the form of the external command, including its flags and parameters
|
||||||
|
# and a helper command that knows how to complete values for those flags and parameters
|
||||||
|
#
|
||||||
|
# This is a simplified version of completions for git branches and git remotes
|
||||||
|
def "nu-complete git branches" [] {
|
||||||
|
^git branch | lines | each { |line| $line | str find-replace '\* ' '' | str trim }
|
||||||
|
}
|
||||||
|
|
||||||
|
def "nu-complete git remotes" [] {
|
||||||
|
^git remote | lines | each { |line| $line | str trim }
|
||||||
|
}
|
||||||
|
|
||||||
|
export extern "git checkout" [
|
||||||
|
branch?: string@"nu-complete git branches" # name of the branch to checkout
|
||||||
|
-b: string # create and checkout a new branch
|
||||||
|
-B: string # create/reset and checkout a branch
|
||||||
|
-l # create reflog for new branch
|
||||||
|
--guess # second guess 'git checkout <no-such-branch>' (default)
|
||||||
|
--overlay # use overlay mode (default)
|
||||||
|
--quiet(-q) # suppress progress reporting
|
||||||
|
--recurse-submodules: string # control recursive updating of submodules
|
||||||
|
--progress # force progress reporting
|
||||||
|
--merge(-m) # perform a 3-way merge with the new branch
|
||||||
|
--conflict: string # conflict style (merge or diff3)
|
||||||
|
--detach(-d) # detach HEAD at named commit
|
||||||
|
--track(-t) # set upstream info for new branch
|
||||||
|
--force(-f) # force checkout (throw away local modifications)
|
||||||
|
--orphan: string # new unparented branch
|
||||||
|
--overwrite-ignore # update ignored files (default)
|
||||||
|
--ignore-other-worktrees # do not check if another worktree is holding the given ref
|
||||||
|
--ours(-2) # checkout our version for unmerged files
|
||||||
|
--theirs(-3) # checkout their version for unmerged files
|
||||||
|
--patch(-p) # select hunks interactively
|
||||||
|
--ignore-skip-worktree-bits # do not limit pathspecs to sparse entries only
|
||||||
|
--pathspec-from-file: string # read pathspec from file
|
||||||
|
]
|
||||||
|
|
||||||
|
export extern "git push" [
|
||||||
|
remote?: string@"nu-complete git remotes", # the name of the remote
|
||||||
|
refspec?: string@"nu-complete git branches"# the branch / refspec
|
||||||
|
--verbose(-v) # be more verbose
|
||||||
|
--quiet(-q) # be more quiet
|
||||||
|
--repo: string # repository
|
||||||
|
--all # push all refs
|
||||||
|
--mirror # mirror all refs
|
||||||
|
--delete(-d) # delete refs
|
||||||
|
--tags # push tags (can't be used with --all or --mirror)
|
||||||
|
--dry-run(-n) # dry run
|
||||||
|
--porcelain # machine-readable output
|
||||||
|
--force(-f) # force updates
|
||||||
|
--force-with-lease: string # require old value of ref to be at this value
|
||||||
|
--recurse-submodules: string # control recursive pushing of submodules
|
||||||
|
--thin # use thin pack
|
||||||
|
--receive-pack: string # receive pack program
|
||||||
|
--exec: string # receive pack program
|
||||||
|
--set-upstream(-u) # set upstream for git pull/status
|
||||||
|
--progress # force progress reporting
|
||||||
|
--prune # prune locally removed refs
|
||||||
|
--no-verify # bypass pre-push hook
|
||||||
|
--follow-tags # push missing but relevant tags
|
||||||
|
--signed: string # GPG sign the push
|
||||||
|
--atomic # request atomic transaction on remote side
|
||||||
|
--push-option(-o): string # option to transmit
|
||||||
|
--ipv4(-4) # use IPv4 addresses only
|
||||||
|
--ipv6(-6) # use IPv6 addresses only
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get just the extern definitions without the custom completion commands
|
||||||
|
use completions *
|
||||||
|
|
||||||
|
# for more information on themes see
|
||||||
|
# https://github.com/nushell/nushell/blob/main/docs/How_To_Coloring_and_Theming.md
|
||||||
|
let default_theme = {
|
||||||
|
# color for nushell primitives
|
||||||
|
separator: white
|
||||||
|
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr non effectively turns this off
|
||||||
|
header: green_bold
|
||||||
|
empty: blue
|
||||||
|
bool: white
|
||||||
|
int: white
|
||||||
|
filesize: white
|
||||||
|
duration: white
|
||||||
|
date: white
|
||||||
|
range: white
|
||||||
|
float: white
|
||||||
|
string: white
|
||||||
|
nothing: white
|
||||||
|
binary: white
|
||||||
|
cellpath: white
|
||||||
|
row_index: green_bold
|
||||||
|
record: white
|
||||||
|
list: white
|
||||||
|
block: white
|
||||||
|
hints: dark_gray
|
||||||
|
|
||||||
|
# shapes are used to change the cli syntax highlighting
|
||||||
|
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
|
||||||
|
shape_binary: purple_bold
|
||||||
|
shape_bool: light_cyan
|
||||||
|
shape_int: purple_bold
|
||||||
|
shape_float: purple_bold
|
||||||
|
shape_range: yellow_bold
|
||||||
|
shape_internalcall: cyan_bold
|
||||||
|
shape_external: cyan
|
||||||
|
shape_externalarg: green_bold
|
||||||
|
shape_literal: blue
|
||||||
|
shape_operator: yellow
|
||||||
|
shape_signature: green_bold
|
||||||
|
shape_string: green
|
||||||
|
shape_string_interpolation: cyan_bold
|
||||||
|
shape_datetime: cyan_bold
|
||||||
|
shape_list: cyan_bold
|
||||||
|
shape_table: blue_bold
|
||||||
|
shape_record: cyan_bold
|
||||||
|
shape_block: blue_bold
|
||||||
|
shape_filepath: cyan
|
||||||
|
shape_globpattern: cyan_bold
|
||||||
|
shape_variable: purple
|
||||||
|
shape_flag: blue_bold
|
||||||
|
shape_custom: green
|
||||||
|
shape_nothing: light_cyan
|
||||||
|
}
|
||||||
|
|
||||||
|
# The default config record. This is where much of your global configuration is setup.
|
||||||
|
let $config = {
|
||||||
|
filesize_metric: false
|
||||||
|
table_mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
|
||||||
|
use_ls_colors: true
|
||||||
|
rm_always_trash: false
|
||||||
|
color_config: $default_theme
|
||||||
|
use_grid_icons: true
|
||||||
|
footer_mode: "25" # always, never, number_of_rows, auto
|
||||||
|
quick_completions: true # set this to false to prevent auto-selecting completions when only one remains
|
||||||
|
partial_completions: true # set this to false to prevent partial filling of the prompt
|
||||||
|
animate_prompt: false # redraw the prompt every second
|
||||||
|
float_precision: 2
|
||||||
|
use_ansi_coloring: true
|
||||||
|
filesize_format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
|
||||||
|
edit_mode: emacs # emacs, vi
|
||||||
|
max_history_size: 10000
|
||||||
|
menu_config: {
|
||||||
|
columns: 4
|
||||||
|
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||||
|
col_padding: 2
|
||||||
|
text_style: green
|
||||||
|
selected_text_style: green_reverse
|
||||||
|
marker: "| "
|
||||||
|
}
|
||||||
|
history_config: {
|
||||||
|
page_size: 10
|
||||||
|
selector: "!"
|
||||||
|
text_style: green
|
||||||
|
selected_text_style: green_reverse
|
||||||
|
marker: "? "
|
||||||
|
}
|
||||||
|
keybindings: [
|
||||||
|
{
|
||||||
|
name: completion_menu
|
||||||
|
modifier: none
|
||||||
|
keycode: tab
|
||||||
|
mode: emacs # Options: emacs vi_normal vi_insert
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menu name: completion_menu }
|
||||||
|
{ send: menunext }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: completion_previous
|
||||||
|
modifier: shift
|
||||||
|
keycode: backtab
|
||||||
|
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
|
||||||
|
event: { send: menuprevious }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: history_menu
|
||||||
|
modifier: control
|
||||||
|
keycode: char_x
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menu name: history_menu }
|
||||||
|
{ send: menupagenext }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: history_previous
|
||||||
|
modifier: control
|
||||||
|
keycode: char_z
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menupageprevious }
|
||||||
|
{ edit: undo }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -11,7 +11,7 @@
|
||||||
set viewmode miller
|
set viewmode miller
|
||||||
|
|
||||||
# How many columns are there, and what are their relative widths?
|
# How many columns are there, and what are their relative widths?
|
||||||
set column_ratios 1,3,4
|
set column_ratios 2,4,2
|
||||||
|
|
||||||
# Which files should be hidden? (regular expression)
|
# Which files should be hidden? (regular expression)
|
||||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||||
|
@ -45,7 +45,7 @@ set vcs_aware true
|
||||||
# State of the four backends git, hg, bzr, svn. The possible states are
|
# State of the four backends git, hg, bzr, svn. The possible states are
|
||||||
# disabled, local (only show local info), enabled (show local and remote
|
# disabled, local (only show local info), enabled (show local and remote
|
||||||
# information).
|
# information).
|
||||||
set vcs_backend_git enabled
|
set vcs_backend_git disabled
|
||||||
set vcs_backend_hg disabled
|
set vcs_backend_hg disabled
|
||||||
set vcs_backend_bzr disabled
|
set vcs_backend_bzr disabled
|
||||||
set vcs_backend_svn disabled
|
set vcs_backend_svn disabled
|
||||||
|
@ -143,7 +143,7 @@ set dirname_in_tabs true
|
||||||
set mouse_enabled true
|
set mouse_enabled true
|
||||||
|
|
||||||
# Display the file size in the main column or status bar?
|
# Display the file size in the main column or status bar?
|
||||||
set display_size_in_main_column true
|
# set display_size_in_main_column true
|
||||||
set display_size_in_status_bar true
|
set display_size_in_status_bar true
|
||||||
|
|
||||||
# Display the free disk space in the status bar?
|
# Display the free disk space in the status bar?
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[{{@@ mail.personal.mail.strip("mail.").split(".")[0] @@}}]
|
[{{@@ nextcloud.name @@}}]
|
||||||
type = webdav
|
type = webdav
|
||||||
vendor = nextcloud
|
vendor = nextcloud
|
||||||
user = {{@@ username @@}}
|
user = {{@@ nextcloud.user @@}}
|
||||||
pass = {{@@ rclone_obscure(mail.personal.mail) @@}}
|
pass = {{@@ rclone_obscure(nextcloud.pass) @@}}
|
||||||
url = https://cloud.{{@@ mail.personal.mail @@}}/remote.php/webdav/
|
url = https://{{@@ nextcloud.host @@}}/remote.php/webdav/
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec _start_dbus-daemon
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec fusuma
|
|
|
@ -1,9 +1,3 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if type curl; then
|
exec _gammastep
|
||||||
loc=`curl ipinfo.io/loc | sed 's/,/:/'`
|
|
||||||
else
|
|
||||||
loc="-30:-50"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec gammastep -l "$loc"
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
PATH="/usr/lib/geoclue-2.0/demos/:/usr/libexec/geoclue-2.0/demos/"
|
|
||||||
|
|
||||||
exec agent
|
|
|
@ -1,5 +1,3 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
PATH="$PATH:/usr/lib:/usr/libexec"
|
exec _kdeconnectd
|
||||||
|
|
||||||
exec kdeconnectd --replace
|
|
||||||
|
|
2
dotfiles/runit_sv/libinput-gestures/run
Executable file
2
dotfiles/runit_sv/libinput-gestures/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec libinput-gestures
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec light -N 1
|
|
|
@ -1,2 +1,8 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
while pgrep mako; do
|
||||||
|
pkill mako
|
||||||
|
sleep .5s;
|
||||||
|
done
|
||||||
|
|
||||||
exec mako
|
exec mako
|
||||||
|
|
2
dotfiles/runit_sv/notify-mail/run
Executable file
2
dotfiles/runit_sv/notify-mail/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec _notify-mail
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec redshift
|
|
|
@ -1,8 +1,8 @@
|
||||||
# {{@@ header() @@}} #
|
# {{@@ header() @@}} #
|
||||||
|
|
||||||
group_imports = "StdExternalCrate"
|
# group_imports = "StdExternalCrate"
|
||||||
imports_granularity = "Crate"
|
# imports_granularity = "Crate"
|
||||||
imports_layout = "Vertical"
|
# imports_layout = "Vertical"
|
||||||
tab_spaces = {{@@ indent_width @@}}
|
tab_spaces = {{@@ indent_width @@}}
|
||||||
max_width = 80
|
max_width = 80
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
dotdrop install -f
|
||||||
|
|
||||||
test "{{@@ color.type @@}}" = "dark"
|
test "{{@@ color.type @@}}" = "dark"
|
||||||
and set _COLOR_TYPE "light"
|
and set _COLOR_TYPE "light"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
/usr/bin/diffr \
|
exec /usr/bin/env diffr \
|
||||||
--colors 'refine-added:foreground:green:underline' \
|
--colors 'refine-added:foreground:green:underline' \
|
||||||
--colors 'refine-added:background:none' \
|
--colors 'refine-added:background:none' \
|
||||||
--colors 'refine-removed:foreground:red:underline' \
|
--colors 'refine-removed:foreground:red:underline' \
|
9
dotfiles/scripts/_gammastep
Executable file
9
dotfiles/scripts/_gammastep
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if type curl; then
|
||||||
|
loc=`curl ipinfo.io/loc | sed 's/,/:/'`
|
||||||
|
else
|
||||||
|
loc="-30:-50"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec gammastep -l "$loc"
|
4
dotfiles/scripts/_gdm_colemak
Executable file
4
dotfiles/scripts/_gdm_colemak
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
localectl set-x11-keymap us pc104 colemak
|
||||||
|
localectl set-keymap colemak
|
16
dotfiles/scripts/_git_check_unpushed
Executable file
16
dotfiles/scripts/_git_check_unpushed
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
cd "$HOME/Projects"
|
||||||
|
|
||||||
|
fd -d5 -H '^\.git$' |
|
||||||
|
sd '\.git$' '' |
|
||||||
|
while read repo
|
||||||
|
pushd "$repo"
|
||||||
|
if git cherry -v 2> /dev/null | wc -l | xargs -n1 test 0 -lt
|
||||||
|
echo Unpushed repos $repo
|
||||||
|
break
|
||||||
|
end
|
||||||
|
popd
|
||||||
|
end
|
||||||
|
|
||||||
|
# vim: ft=fish
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
gpg-connect-agent reloadagent /bye
|
gpg-connect-agent reloadagent /bye
|
||||||
|
|
||||||
PATH="$PATH:/usr/lib:/usr/libexec"
|
PATH="$PATH:/usr/lib:/usr/libexec:/usr/lib/gnupg"
|
||||||
keygrip=$(cat "$HOME/.pam-gnupg")
|
keygrip=$(cat "$HOME/.pam-gnupg")
|
||||||
|
|
||||||
echo '{{@@ main_password @@}}' |
|
echo '{{@@ main_password @@}}' |
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
for g in docker video input audio wheel; do
|
for g in audio video input bluetooth wheel _seatd kvm docker; do
|
||||||
sudo usermod "{{@@ env['USER'] @@}}" -aG "$g"
|
if
|
||||||
|
cat /etc/group |
|
||||||
|
cut -d: -f1 |
|
||||||
|
grep "^${g}\$" > /dev/null
|
||||||
|
then
|
||||||
|
sudo usermod "$USER" -aG "$g" &
|
||||||
|
else
|
||||||
|
echo "warning: group $g does not exist"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
3
dotfiles/scripts/_install-diesel-cli
Executable file
3
dotfiles/scripts/_install-diesel-cli
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cargo install diesel_cli --no-default-features --features mysql,postgres
|
29
dotfiles/scripts/_install-rust-analyzer
Executable file
29
dotfiles/scripts/_install-rust-analyzer
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Download and install rust analyzer to ~/.local/bin
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
## Set this to get a fixed version
|
||||||
|
# PIN_VERSION="2022-05-02"
|
||||||
|
|
||||||
|
if [ -n "$PIN_VERSION" ]
|
||||||
|
then
|
||||||
|
REPO="https://github.com/rust-analyzer/rust-analyzer"
|
||||||
|
VERSION="$PIN_VERSION"
|
||||||
|
DLURL="$REPO/releases/download/$VERSION/rust-analyzer-x86_64-unknown-linux-gnu.gz"
|
||||||
|
else
|
||||||
|
API_URL="https://api.github.com/repos/rust-lang/rust-analyzer/releases/latest"
|
||||||
|
API_RESP="$(curl "$API_URL")"
|
||||||
|
VERSION=$(echo "$API_RESP" | jq -r '.tag_name')
|
||||||
|
DLURL=$(echo "$API_RESP" | jq -r '.assets[]|select(.name|match("x86_64.*gnu")).browser_download_url')
|
||||||
|
fi
|
||||||
|
|
||||||
|
GZFILE="$HOME/.cache/rust-analyzer-$VERSION-x86_64-unknown-linux-gnu.gz"
|
||||||
|
BINDIR="$HOME/.local/bin"
|
||||||
|
|
||||||
|
test -f "$GZFILE" ||
|
||||||
|
wget -O "$GZFILE" "$DLURL"
|
||||||
|
|
||||||
|
rm -f "$BINDIR/rust-analyzer"
|
||||||
|
gunzip "$GZFILE" --stdout > "$BINDIR/rust-analyzer"
|
||||||
|
chmod u+x "$BINDIR/rust-analyzer"
|
3
dotfiles/scripts/_install-rustup
Normal file
3
dotfiles/scripts/_install-rustup
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
15
dotfiles/scripts/_install-sccache
Executable file
15
dotfiles/scripts/_install-sccache
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
REPO=https://github.com/mozilla/sccache
|
||||||
|
VERSION=v0.2.15
|
||||||
|
TARFILENAME="sccache-$VERSION-x86_64-unknown-linux-musl"
|
||||||
|
TARFILEPATH="$HOME/.cache/$TARFILENAME.tar.gz"
|
||||||
|
BINDIR="$HOME/.local/bin"
|
||||||
|
|
||||||
|
test -f "$TARFILEPATH" ||
|
||||||
|
wget -qO "$TARFILEPATH" "$REPO/releases/download/$VERSION/$TARFILENAME.tar.gz"
|
||||||
|
|
||||||
|
tar -xf "$TARFILEPATH" -C "$BINDIR" --wildcards "*/sccache" --strip-components=1
|
||||||
|
chmod u+x "$BINDIR/sccache"
|
14
dotfiles/scripts/_install-trunk
Executable file
14
dotfiles/scripts/_install-trunk
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
REPO=https://github.com/thedodd/trunk
|
||||||
|
VERSION=v0.14.0
|
||||||
|
TARFILE="$HOME/.cache/trunk-$VERSION-x86_64-unknown-linux-gnu.tar.gz"
|
||||||
|
BINDIR="$HOME/.local/bin"
|
||||||
|
|
||||||
|
test -f "$TARFILE" ||
|
||||||
|
wget -qO "$TARFILE" "$REPO/releases/download/$VERSION/trunk-x86_64-unknown-linux-gnu.tar.gz"
|
||||||
|
|
||||||
|
tar -xf "$TARFILE" -C "$BINDIR" trunk
|
||||||
|
chmod u+x "$BINDIR/trunk"
|
5
dotfiles/scripts/_kdeconnectd
Executable file
5
dotfiles/scripts/_kdeconnectd
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PATH="$PATH:/usr/lib:/usr/libexec:/usr/lib/libexec"
|
||||||
|
|
||||||
|
exec kdeconnectd --replace
|
13
dotfiles/scripts/_lock
Executable file
13
dotfiles/scripts/_lock
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
swaylock -f
|
||||||
|
|
||||||
|
export SVDIR="{{@@ user_svdir @@}}"
|
||||||
|
|
||||||
|
maybe() {
|
||||||
|
command -v $1 > /dev/null &&
|
||||||
|
env "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
maybe sv up swayidle
|
||||||
|
maybe systemctl --user start sway-idle.service
|
|
@ -9,7 +9,7 @@
|
||||||
papirus-folders -uC "{{@@ accent_color_name @@}}" ||
|
papirus-folders -uC "{{@@ accent_color_name @@}}" ||
|
||||||
papirus-folders -uD
|
papirus-folders -uD
|
||||||
|
|
||||||
} &
|
} > /dev/null &
|
||||||
{%@@ endif @@%}
|
{%@@ endif @@%}
|
||||||
|
|
||||||
{%@@ if 'materia' in gtk_theme.lower() @@%}
|
{%@@ if 'materia' in gtk_theme.lower() @@%}
|
||||||
|
@ -67,7 +67,12 @@ mkdir -p "${dst_path}/${theme_name}"
|
||||||
|
|
||||||
{%@@ endif @@%}
|
{%@@ endif @@%}
|
||||||
|
|
||||||
{%@@ if 'Orchis' in gtk_theme.lower() @@%}
|
{%@@ if 'orchis' in gtk_theme.lower() @@%}
|
||||||
|
MARKER_FILE="$HOME/.themes/.orchis_installed"
|
||||||
|
|
||||||
|
test -f "$MARKER_FILE" &&
|
||||||
|
exit 0
|
||||||
|
|
||||||
TMPDIR="$HOME/.cache/share/orchis"
|
TMPDIR="$HOME/.cache/share/orchis"
|
||||||
|
|
||||||
mkdir -p "$TMPDIR" && cd "$TMPDIR"
|
mkdir -p "$TMPDIR" && cd "$TMPDIR"
|
||||||
|
@ -79,4 +84,6 @@ mkdir -p "${dst_path}/${theme_name}"
|
||||||
./install.sh \
|
./install.sh \
|
||||||
--theme "{{@@ accent_color_name.lower() @@}}" \
|
--theme "{{@@ accent_color_name.lower() @@}}" \
|
||||||
--tweaks "solid" --tweaks "compact"
|
--tweaks "solid" --tweaks "compact"
|
||||||
|
|
||||||
|
touch "$MARKER_FILE"
|
||||||
{%@@ endif @@%}
|
{%@@ endif @@%}
|
||||||
|
|
|
@ -1,16 +1,35 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
my_path="$1"
|
if test "$#" -ne "1"; then
|
||||||
my_name="$2"
|
echo "Incorrect number of arguments, expected 1, got $#" >&2
|
||||||
my_user="$3"
|
fi
|
||||||
my_host="$4"
|
|
||||||
my_pass=`_pass_get "$my_host"`
|
case "$1" in
|
||||||
|
{%@@ for name, info in mail.items() @@%}
|
||||||
|
|
||||||
|
{{@@ name @@}})
|
||||||
|
my_path="{{@@ name @@}}"
|
||||||
|
my_name="{{@@ info.from @@}}"
|
||||||
|
my_user="{{@@ info.user @@}}"
|
||||||
|
# my_host="{{@@ info.imap @@}}"
|
||||||
|
my_pass=`_pass_get "{{@@ info.pass @@}}"`
|
||||||
|
;;
|
||||||
|
|
||||||
|
{%@@ endfor @@%}
|
||||||
|
*)
|
||||||
|
echo "No valid account named $1" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
set realname = "$my_name"
|
set real_name = "$my_name"
|
||||||
set from = "${my_name}@${my_host}"
|
set from = "$my_name <$my_user>"
|
||||||
set smtp_url = 'smtps://${my_user}@${my_host}'
|
|
||||||
set smtp_pass = '$my_pass'
|
set sendmail="/usr/bin/msmtp -a $my_path -- "
|
||||||
|
|
||||||
|
# set smtp_url = 'smtps://$my_user'
|
||||||
|
# set smtp_pass = '$my_pass'
|
||||||
|
|
||||||
# set Mailboxes
|
# set Mailboxes
|
||||||
set folder = ~/.local/share/mail/${my_path}/
|
set folder = ~/.local/share/mail/${my_path}/
|
||||||
|
@ -28,3 +47,4 @@ mailboxes \
|
||||||
"=Trash" \
|
"=Trash" \
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
57
dotfiles/scripts/_notify-mail
Executable file
57
dotfiles/scripts/_notify-mail
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
set NEW_MAIL_PATH ~/.local/share/mail/*/*/new/
|
||||||
|
set ICON "/usr/share/icons/{{@@ icon_theme @@}}/symbolic/status/mail-unread-symbolic.svg"
|
||||||
|
|
||||||
|
command -qs maildir-notify-daemon
|
||||||
|
and exec maildir-notify-daemon $NEW_MAIL_PATH
|
||||||
|
|
||||||
|
inotifywait \
|
||||||
|
--monitor \
|
||||||
|
--quiet \
|
||||||
|
--format %w%f \
|
||||||
|
-e move -e create \
|
||||||
|
$NEW_MAIL_PATH |
|
||||||
|
while read new_mail_file
|
||||||
|
# clear variables
|
||||||
|
set -e from
|
||||||
|
set -e subject
|
||||||
|
set -e headers_ended
|
||||||
|
|
||||||
|
test -f "$new_mail_file"
|
||||||
|
or continue
|
||||||
|
|
||||||
|
command cat "$new_mail_file" |
|
||||||
|
while read line
|
||||||
|
# End of headers
|
||||||
|
if string match -qr '^$' "$line"
|
||||||
|
set headers_ended
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if not set -q headers_ended
|
||||||
|
# capture header information
|
||||||
|
if string match -qr '^From: ' $line
|
||||||
|
set from $line
|
||||||
|
end
|
||||||
|
if string match -qr '^Subject: ' $line
|
||||||
|
set subject $line
|
||||||
|
end
|
||||||
|
else
|
||||||
|
# capture start of message, to maybe use as replacement of subject
|
||||||
|
set msg_head $line
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# From may be formated as either "someone@example.com" or "Someone <someone@example.com>"
|
||||||
|
# Make for the seconde case, replace <.*> with nothing
|
||||||
|
set from (string replace -r '<.*>' '' $from)
|
||||||
|
|
||||||
|
# If a message lacks a subject, use the message head as one
|
||||||
|
if not test -n "$subject"
|
||||||
|
set subject "$msg_head"
|
||||||
|
end
|
||||||
|
|
||||||
|
notify-send --icon "$ICON" "$from" "$subject"
|
||||||
|
|
||||||
|
end
|
|
@ -1,8 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
gpg --list-secret-keys --with-keygrip \
|
gpg --list-secret-keys --with-keygrip |
|
||||||
"{{@@ username @@}}@{{@@ mail.personal.mail @@}}" |
|
|
||||||
awk '
|
awk '
|
||||||
/^ssb/ {
|
/^ssb/ {
|
||||||
ssb=1
|
ssb=1
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
mkdir -p "$1"
|
|
||||||
cd `dirname $1` && shift
|
|
||||||
|
|
||||||
create_logger() {
|
|
||||||
pushd sv/
|
|
||||||
for svd in */; do
|
|
||||||
pushd "$svd"
|
|
||||||
|
|
||||||
if ! test -d log; then
|
|
||||||
mkdir -p log
|
|
||||||
ln -s "$(which _default_logger)" log/run
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
enable_defaults() {
|
|
||||||
|
|
||||||
mkdir -p "runsvdir/default"
|
|
||||||
pushd "runsvdir/default"
|
|
||||||
|
|
||||||
svdir="$(readlink -f ../../sv)"
|
|
||||||
|
|
||||||
for sv; do
|
|
||||||
ln -fs "$svdir/$sv" .
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
create_logger
|
|
||||||
|
|
||||||
test -f .inited && exit 0
|
|
||||||
|
|
||||||
enable_defaults "$@"
|
|
||||||
|
|
||||||
touch .inited
|
|
7
dotfiles/scripts/_suspend
Executable file
7
dotfiles/scripts/_suspend
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
_lock
|
||||||
|
|
||||||
|
loginctl suspend &
|
||||||
|
systemctl suspend &
|
||||||
|
sudo -A zzz &
|
|
@ -3,8 +3,8 @@
|
||||||
pkill -9 swayidle
|
pkill -9 swayidle
|
||||||
|
|
||||||
exec swayidle -w \
|
exec swayidle -w \
|
||||||
before-sleep 'pkill caffeinated; swaylock -f' \
|
before-sleep 'swaylock -f' \
|
||||||
timeout 360 'pkill caffeinated; swaylock -f' \
|
timeout 360 'swaylock -f' \
|
||||||
timeout 1800 'mpc status | grep "^\[playing\]" > /dev/null ||
|
timeout 1800 'mpc status | grep "^\[playing\]" > /dev/null ||
|
||||||
swaymsg "output * dpms off"' \
|
swaymsg "output * dpms off"' \
|
||||||
resume 'swaymsg "output * dpms on"' \
|
resume 'swaymsg "output * dpms on"' \
|
||||||
|
|
16
dotfiles/scripts/_sway_idle_toggle
Executable file
16
dotfiles/scripts/_sway_idle_toggle
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export SVDIR="{{@@ user_svdir @@}}"
|
||||||
|
|
||||||
|
maybe() {
|
||||||
|
command -v $1 > /dev/null &&
|
||||||
|
env "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
if pidof swayidle > /dev/null; then
|
||||||
|
maybe sv down swayidle
|
||||||
|
maybe systemctl --user stop sway-idle.service
|
||||||
|
else
|
||||||
|
maybe sv up swayidle
|
||||||
|
maybe systemctl --user start sway-idle.service
|
||||||
|
fi
|
|
@ -7,4 +7,4 @@
|
||||||
else
|
else
|
||||||
qutebrowser $@
|
qutebrowser $@
|
||||||
fi
|
fi
|
||||||
} &> /dev/null < /dev/null & disown
|
} > /dev/null 2>&1 &
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
# wrapper around bemenu
|
# wrapper around bemenu
|
||||||
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
|
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
|
||||||
|
@ -82,7 +82,6 @@ command -qs dhist &&
|
||||||
|
|
||||||
env $wraper -- bemenu \
|
env $wraper -- bemenu \
|
||||||
$focused_output\
|
$focused_output\
|
||||||
--grab\
|
|
||||||
--ignorecase\
|
--ignorecase\
|
||||||
--bottom\
|
--bottom\
|
||||||
--no-overlap\
|
--no-overlap\
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
# Copyright Cédric Picard 2014 -- License WTFPL
|
# Copyright Cédric Picard 2014 -- License WTFPL
|
||||||
# Inspired by Ranger's -- See https://github.com/hut/ranger
|
# Inspired by Ranger's -- See https://github.com/hut/ranger
|
||||||
#
|
#
|
||||||
|
@ -37,7 +37,8 @@ sed -i -- '1d' "${namebase}.2"
|
||||||
{
|
{
|
||||||
echo '# Please review/modify this script or empty it to do nothing'
|
echo '# Please review/modify this script or empty it to do nothing'
|
||||||
echo 'run(){'
|
echo 'run(){'
|
||||||
echo ' mv -Ti -- "$1" "$2"'
|
echo ' mkdir -p "$(dirname "$2")"'
|
||||||
|
echo ' mv -T -- "$1" "$2"'
|
||||||
echo '}'
|
echo '}'
|
||||||
while read -r l1 <&3 && read -r l2 <&4; do
|
while read -r l1 <&3 && read -r l2 <&4; do
|
||||||
[ "$l1" = "$l2" ] || printf "%s\n%s\n" "$l1" "$l2"
|
[ "$l1" = "$l2" ] || printf "%s\n%s\n" "$l1" "$l2"
|
||||||
|
|
|
@ -1,54 +1,33 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if test -z "$SWAYSOCK" && pidof gnome-shell &> /dev/null
|
if test -z "$SWAYSOCK" && pidof gnome-shell > /dev/null
|
||||||
then
|
then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -z "$XDG_RUNTIME_DIR" &&
|
|
||||||
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
test "$?" = 0 ||
|
test "$?" = 0 ||
|
||||||
notify-send "Failed to sync mail" "try unlocking your gpg key"
|
notify-send "Failed to sync mail" "try unlocking your gpg key"
|
||||||
}
|
}
|
||||||
# trap die EXIT
|
# trap die EXIT
|
||||||
|
|
||||||
getnew() {
|
{%@@ for name in mail | reverse @@%}
|
||||||
pushd "$HOME/.local/share/mail/" >/dev/null
|
mkdir -p "$HOME/.local/share/mail/{{@@ name @@}}/"
|
||||||
|
{%@@ endfor @@%}
|
||||||
find */INBOX*/new -type f |
|
|
||||||
sed -E '/Duolingo|LBRY/d' |
|
|
||||||
wc -l
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
OLD=$(getnew)
|
|
||||||
|
|
||||||
if test "$1" = "update" && ! pidof mbsync; then
|
if test "$1" = "update" && ! pidof mbsync; then
|
||||||
if ! ping -c3 {{@@ mail.personal.mail @@}} &> /dev/null
|
if ! ping -c3 {{@@ mail.personal.imap @@}} > /dev/null
|
||||||
then
|
then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
timeout 120s mbsync -a ||
|
timeout 10m mbsync -a
|
||||||
timeout 120s mbsync -a ||
|
|
||||||
timeout 120s mbsync -a
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NEW=$(getnew)
|
cd "$HOME/.local/share/mail/" >/dev/null
|
||||||
|
|
||||||
if test "$NEW" -gt "$OLD"; then
|
find */INBOX*/new -type f |
|
||||||
notify-send " New E-Mails!"
|
wc -l |
|
||||||
fi
|
sed 's/^0$//'
|
||||||
|
|
||||||
echo $NEW | sed 's/^0$//'
|
|
||||||
|
|
||||||
caller=$(ps -o comm= $PPID)
|
|
||||||
if test "$caller" != "waybar"; then
|
|
||||||
pidof waybar >/dev/null &&
|
|
||||||
pkill -SIGRTMIN+4 waybar
|
|
||||||
fi
|
|
||||||
|
|
||||||
# vim:ft=sh
|
# vim:ft=sh
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
RED_ON="$(pidof redshift)"
|
RED_ON="$(pidof redshift)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
owm(){
|
owm(){
|
||||||
|
@ -82,7 +82,7 @@ owm_pango(){
|
||||||
owm_json(){
|
owm_json(){
|
||||||
owm
|
owm
|
||||||
|
|
||||||
tee > .forecast.json <<EOF
|
tee > "$HOME/.forecast.json" <<EOF
|
||||||
{
|
{
|
||||||
"min":"$MIN",
|
"min":"$MIN",
|
||||||
"max":"$MAX",
|
"max":"$MAX",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
if test (count $argv) -ne 0
|
if test (count $argv) -ne 0
|
||||||
for i in $argv
|
for i in $argv
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# {%@@ if launcher == "fuzzel" @@%} #
|
# {%@@ if launcher == "fuzzel" @@%} #
|
||||||
which fuzzel &> /dev/null &&
|
which fuzzel &> /dev/null &&
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
set fish_trace 1
|
set fish_trace 1
|
||||||
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
pidof mpd > /dev/null ||
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
mpc status | grep '^\[playing\]' > /dev/null &&
|
|
||||||
mpc current -f ' %title% - %artist% ' |
|
|
||||||
sed 's/&/and/g' ||
|
|
||||||
printf ' '
|
|
||||||
|
|
||||||
true
|
|
|
@ -1,25 +1,25 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
opts="Fone\nSpeaker\nHDMI\nPhone"
|
set opts "Fone\nSpeaker\nHDMI\nPhone"
|
||||||
out=$(printf $opts | wdmenu -p "Output: ")
|
set out (printf $opts | wdmenu -p "Output: ")
|
||||||
vol=$(pamixer --get-volume)
|
set vol (pamixer --get-volume)
|
||||||
|
|
||||||
case "$out" in
|
switch "$out"
|
||||||
Fone)
|
case Fone
|
||||||
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
||||||
pactl set-default-sink $(pactl list sinks short | grep alsa | head -n1 | cut -f2)
|
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2)
|
||||||
pactl set-sink-port @DEFAULT_SINK@ analog-output-headphones
|
pactl set-sink-port @DEFAULT_SINK@ analog-output-headphones
|
||||||
;;
|
case Speaker
|
||||||
Speaker)
|
|
||||||
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
||||||
pactl set-default-sink $(pactl list sinks short | grep alsa | head -n1 | cut -f2)
|
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2:)
|
||||||
pactl set-sink-port @DEFAULT_SINK@ analog-output-speaker
|
pactl set-sink-port @DEFAULT_SINK@ analog-output-speaker
|
||||||
;;
|
case HDMI
|
||||||
HDMI)
|
pactl set-card-profile 0 (
|
||||||
pactl set-card-profile 0 output:hdmi-stereo+input:analog-stereo
|
env LC_ALL=C pactl list cards |
|
||||||
pactl set-default-sink $(pactl list sinks short | grep hdmi | head -n1 | cut -f2)
|
string replace -raf '^\s*(output:hdmi-stereo.*?input.*?): .*' '$1' |
|
||||||
;;
|
head -n1 )
|
||||||
Phone)
|
pactl set-default-sink (pactl list sinks short | grep hdmi | head -n1 | cut -f2)
|
||||||
|
case Phone
|
||||||
pactl unload-module module-null-sink
|
pactl unload-module module-null-sink
|
||||||
pactl unload-module module-rtp-send
|
pactl unload-module module-rtp-send
|
||||||
|
|
||||||
|
@ -27,7 +27,8 @@ case "$out" in
|
||||||
pactl load-module module-rtp-send source=rtp.monitor destination=192.168.0.169 port=4010 mtu=320
|
pactl load-module module-rtp-send source=rtp.monitor destination=192.168.0.169 port=4010 mtu=320
|
||||||
|
|
||||||
pactl set-default-sink rtp
|
pactl set-default-sink rtp
|
||||||
;;
|
end
|
||||||
esac
|
|
||||||
|
|
||||||
pamixer --set-volume "$vol"
|
pamixer --set-volume "$vol"
|
||||||
|
|
||||||
|
# vim: ft=fish
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Create symbolic links from game save folders to documents folder
|
# Create symbolic links from game save folders to documents folder
|
||||||
# Useful if you sync it with syncthing or something similar
|
# Useful if you sync it with syncthing or something similar
|
||||||
|
|
||||||
set -ex
|
set -e
|
||||||
|
|
||||||
clean() {
|
clean() {
|
||||||
if test $? -ne 0; then
|
if test $? -ne 0; then
|
||||||
|
@ -19,10 +19,6 @@ command -v xdg-user-dir &>/dev/null &&
|
||||||
SAVES_DIR="$DOCUMETS/GameSaves"
|
SAVES_DIR="$DOCUMETS/GameSaves"
|
||||||
test -d "$SAVES_DIR" || exit 1
|
test -d "$SAVES_DIR" || exit 1
|
||||||
|
|
||||||
grep "^#include \.saves-ignore" "$DOCUMETS/.stignore" ||
|
|
||||||
echo "#include .saves-ignore" >"$DOCUMETS/.stignore"
|
|
||||||
rm "$DOCUMETS/.saves-ignore"
|
|
||||||
|
|
||||||
game_save() {
|
game_save() {
|
||||||
GAME_NAME="$1"
|
GAME_NAME="$1"
|
||||||
shift
|
shift
|
||||||
|
@ -43,42 +39,22 @@ game_save() {
|
||||||
if test ! -L "$INSTALL_DIR" -o ! -d "$INSTALL_DIR"; then
|
if test ! -L "$INSTALL_DIR" -o ! -d "$INSTALL_DIR"; then
|
||||||
ln -sT "$BACKUP_DIR" "$INSTALL_DIR"
|
ln -sT "$BACKUP_DIR" "$INSTALL_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$1"; then
|
|
||||||
printf "GameSaves/${GAME_NAME}/%s\n" $@ >>"$DOCUMETS/.saves-ignore"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
game_save mindustry \
|
game_save mindustry ".local/share/Mindustry"
|
||||||
".local/share/Mindustry" 'previews'
|
game_save minecraft ".minecraft/saves"
|
||||||
game_save minecraft \
|
game_save factorio_saves ".factorio/saves"
|
||||||
".minecraft/saves"
|
game_save factorio_saves "Games/factorio/saves"
|
||||||
game_save factorio \
|
game_save cuphead "Games/cuphead/drive_c/users/$USER/Application Data/Cuphead"
|
||||||
".factorio" '_autosave*.zip' 'doc-html' 'temp' 'data' 'bin'
|
game_save dusk "Games/dusk/game/saves"
|
||||||
game_save factorio \
|
game_save stardew_valley ".config/StardewValley"
|
||||||
"Games/factorio" '_autosave*.zip' 'doc-html' 'temp' 'data' 'bin'
|
game_save dishonored "Games/dishonored/drive_c/users/lelgenio"
|
||||||
game_save cuphead \
|
game_save hollow_knight ".config/unity3d/Team Cherry/Hollow Knight"
|
||||||
"Games/cuphead/drive_c/users/$USER/Application Data/Cuphead"
|
game_save carrion ".local/share/Phobia/Carrion"
|
||||||
game_save dusk \
|
game_save ULTRAKILL-wine "Games/ultrakill/drive_c/Program Files/ULTRAKILL/Saves"
|
||||||
"Games/dusk/game/saves"
|
game_save marioW "Games/super-mario-world"
|
||||||
game_save stardew_valley \
|
game_save gta_san_andreas "Games/grand-theft-auto-san-andreas/drive_c/users/$USER/Documents/GTA San Andreas User Files"
|
||||||
".config/StardewValley"
|
game_save hl1 "Games/HalfLife2Source/game/hl1/save"
|
||||||
game_save dishonored \
|
game_save hl2 "Games/HalfLife2Source/game/hl2/save"
|
||||||
"Games/dishonored/drive_c/users/lelgenio"
|
game_save hl2ep1 "Games/HalfLife2Source/game/episodic/save"
|
||||||
game_save hollow_knight \
|
game_save hl2ep2 "Games/HalfLife2Source/game/ep2/save"
|
||||||
".config/unity3d/Team Cherry/Hollow Knight"
|
|
||||||
game_save ULTRAKILL-wine \
|
|
||||||
"Games/ultrakill/drive_c/Program Files/ULTRAKILL/Saves"
|
|
||||||
game_save marioW \
|
|
||||||
"Games/super-mario-world"
|
|
||||||
game_save gta_san_andreas \
|
|
||||||
"Games/grand-theft-auto-san-andreas/drive_c/users/$USER/Documents/GTA San Andreas User Files"
|
|
||||||
|
|
||||||
game_save hl1 \
|
|
||||||
"Games/HalfLife2Source/game/hl1/save"
|
|
||||||
game_save hl2 \
|
|
||||||
"Games/HalfLife2Source/game/hl2/save"
|
|
||||||
game_save hl2ep1 \
|
|
||||||
"Games/HalfLife2Source/game/episodic/save"
|
|
||||||
game_save hl2ep2 \
|
|
||||||
"Games/HalfLife2Source/game/ep2/save"
|
|
||||||
|
|
|
@ -1,35 +1,37 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if which xdg-user-dir &>/dev/null; then
|
export XCURSOR_SIZE=40
|
||||||
DESTFOLDER=$(xdg-user-dir PICTURES)
|
export XCURSOR_THEME='Breeze_Snow'
|
||||||
|
|
||||||
|
if which xdg-user-dir >/dev/null 2>&1; then
|
||||||
|
DESTFOLDER="$(xdg-user-dir PICTURES)"
|
||||||
else
|
else
|
||||||
for i in Images Imagens Pictures Fotos ""; do
|
for i in Images Imagens Pictures Fotos ""; do
|
||||||
DESTFOLDER=$HOME/$i
|
DESTFOLDER="$HOME/$i"
|
||||||
test -d "$DESTFOLDER" &&
|
test -d "$DESTFOLDER" &&
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESTFOLDER="$DESTFOLDER/Screenshots"
|
DESTFOLDER="$DESTFOLDER/Screenshots"
|
||||||
|
mkdir -p "$DESTFOLDER"
|
||||||
|
DESTFILE="$DESTFOLDER/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')"
|
||||||
|
|
||||||
mkdir -p $DESTFOLDER
|
|
||||||
|
|
||||||
DESTFILE=$DESTFOLDER/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')
|
|
||||||
case $1 in
|
case $1 in
|
||||||
def)
|
def)
|
||||||
# Screenshot to file
|
# Screenshot to file
|
||||||
grim $DESTFILE
|
grim "$DESTFILE"
|
||||||
echo $DESTFILE
|
echo "$DESTFILE"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
area)
|
area)
|
||||||
# Screen area to file
|
# Screen area to file
|
||||||
grim -g "$(slurp -d)" $DESTFILE
|
grim -g "$(slurp -d -b 30303088)" "$DESTFILE"
|
||||||
echo $DESTFILE
|
echo "$DESTFILE"
|
||||||
;;
|
;;
|
||||||
area-clip)
|
area-clip)
|
||||||
# Screen area to clipboard
|
# Screen area to clipboard
|
||||||
grim -g "$(slurp -d)" - | wl-copy
|
grim -g "$(slurp -d -b 30303088)" - | wl-copy
|
||||||
;;
|
;;
|
||||||
|
|
||||||
clip)
|
clip)
|
||||||
|
|
|
@ -1,19 +1,15 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
get_displays(){
|
get_displays() {
|
||||||
swaymsg -t get_outputs |
|
swaymsg -t get_outputs |
|
||||||
jq -r 'map(.name)|join("\n")'
|
jq -r 'map(.name)|join("\n")'
|
||||||
}
|
}
|
||||||
|
|
||||||
actions=(
|
actions="enable disable brightness"
|
||||||
enable
|
|
||||||
disable
|
|
||||||
brightness
|
|
||||||
)
|
|
||||||
|
|
||||||
action=$(printf "%s\n" "${actions[@]}" | wdmenu)
|
action=$(printf "%s\n" $actions | wdmenu)
|
||||||
case "$action" in
|
case "$action" in
|
||||||
enable|disable)
|
enable | disable)
|
||||||
output=$(get_displays | wdmenu -p "output")
|
output=$(get_displays | wdmenu -p "output")
|
||||||
swaymsg output "$output" "$action"
|
swaymsg output "$output" "$action"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -24,8 +24,11 @@ test "$1" = "-e" && shift
|
||||||
exec alacritty --class "$CLASS"
|
exec alacritty --class "$CLASS"
|
||||||
}
|
}
|
||||||
# {%@@ elif terminal == "foot" @@%} #
|
# {%@@ elif terminal == "foot" @@%} #
|
||||||
|
if ! pidof foot; then
|
||||||
|
foot --server 2> /dev/null &
|
||||||
|
fi
|
||||||
command -v footclient > /dev/null &&
|
command -v footclient > /dev/null &&
|
||||||
exec footclient --class "$CLASS" -- $@
|
exec footclient --app-id "$CLASS" -- $@
|
||||||
# {%@@ elif terminal == "kitty" @@%} #
|
# {%@@ elif terminal == "kitty" @@%} #
|
||||||
command -v kitty > /dev/null &&
|
command -v kitty > /dev/null &&
|
||||||
exec kitty --class "$CLASS" -- $@
|
exec kitty --class "$CLASS" -- $@
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
IMG="$HOME/.local/share/windows10.img"
|
IMG="$HOME/.local/share/windows10.img"
|
||||||
|
|
||||||
if ! which qemu-system-x86_64 &>/dev/null; then
|
if ! which qemu-system-x86_64 >/dev/null; then
|
||||||
echo qemu not installed
|
echo qemu not installed
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -29,7 +29,7 @@ main() {
|
||||||
|
|
||||||
[ -n "$entry" ] || exit
|
[ -n "$entry" ] || exit
|
||||||
|
|
||||||
username=`pass show "$entry" 2>/dev/null | perl -ne 'print $1 if /^login: (.*)/'`
|
username=`pass show "$entry" 2>/dev/null | perl -ne 'print $2 if /^(login|user|email): (.*)/'`
|
||||||
password=`pass show "$entry" 2>/dev/null | head -n 1`
|
password=`pass show "$entry" 2>/dev/null | head -n 1`
|
||||||
|
|
||||||
action=`printf "Autotype\nUsername -> $username\nPassword" | "$dmenu" -p Action`
|
action=`printf "Autotype\nUsername -> $username\nPassword" | "$dmenu" -p Action`
|
||||||
|
|
|
@ -23,15 +23,15 @@ assign [class=qutebrowser] workspace 2
|
||||||
# for_window [title=Whoops!] kill
|
# for_window [title=Whoops!] kill
|
||||||
|
|
||||||
assign [app_id=firefox] workspace 2
|
assign [app_id=firefox] workspace 2
|
||||||
assign [class=firefox] workspace 2
|
assign [class=Firefox] workspace 2
|
||||||
assign [class=Chromium] workspace 2
|
assign [class=Chromium] workspace 2
|
||||||
|
|
||||||
# Books
|
# Books
|
||||||
# assign [app_id=org.pwmt.zathura] workspace 8
|
# assign [app_id=org.pwmt.zathura] workspace 8
|
||||||
|
|
||||||
# Media
|
# Media
|
||||||
assign [app_id=mpv] workspace 8
|
# assign [app_id=mpv] workspace 8
|
||||||
for_window [app_id=mpv] workspace 8
|
# for_window [app_id=mpv] workspace 8
|
||||||
|
|
||||||
# Games
|
# Games
|
||||||
assign [class=Steam] workspace 9
|
assign [class=Steam] workspace 9
|
||||||
|
@ -45,8 +45,8 @@ assign [class="Hollow Knight"] workspace 9
|
||||||
assign [class=dishonored.exe] workspace 9
|
assign [class=dishonored.exe] workspace 9
|
||||||
|
|
||||||
# Chats
|
# Chats
|
||||||
assign [app_id=telegram.?desktop] workspace 10
|
assign [app_id=".*[Tt]elegram.*"] workspace 10
|
||||||
assign [class=TelegramDesktop] workspace 10
|
assign [class=".*[Tt]elegram.*"] workspace 10
|
||||||
assign [class="Jitsi Meet"] workspace 10
|
assign [class="Jitsi Meet"] workspace 10
|
||||||
assign [class=discord] workspace 10
|
assign [class=discord] workspace 10
|
||||||
assign [title=Discord] workspace 10
|
assign [title=Discord] workspace 10
|
||||||
|
|
|
@ -22,9 +22,8 @@ set $Up {{@@ key.up @@}}
|
||||||
set $Right {{@@ key.right @@}}
|
set $Right {{@@ key.right @@}}
|
||||||
set $tabL {{@@ key.tabL @@}}
|
set $tabL {{@@ key.tabL @@}}
|
||||||
set $tabR {{@@ key.tabR @@}}
|
set $tabR {{@@ key.tabR @@}}
|
||||||
|
set $lock {{@@ key.next @@}}
|
||||||
set $menu s
|
set $menu {{@@ key.menu @@}}
|
||||||
set $mus r
|
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Includes
|
# Includes
|
||||||
|
@ -41,16 +40,20 @@ include modes
|
||||||
|
|
||||||
include assigns
|
include assigns
|
||||||
|
|
||||||
{%@@ if supervisor == "scripts" @@%}
|
{%@@ if supervisor == "runit" @@%}
|
||||||
include daemons
|
set $user_svd "{{@@ user_svdir @@}}"
|
||||||
{%@@ elif supervisor == "runit" @@%}
|
exec_always pgrep -u "$USER" "^runsvdir$" || runsvdir $user_svd
|
||||||
set $user_svd "$HOME/.config/runit/runsvdir/default"
|
exec_always env SVDIR=$user_svd sv hup kanshi
|
||||||
exec_always pgrep -u "$USER" "^runsvdir$" || runsvdir $user_svd
|
exec_always _gpg-unlock
|
||||||
exec_always env SVDIR=$user_svd sv hup kanshi
|
{%@@ elif supervisor == "systemd" @@%}
|
||||||
exec_always env SVDIR=$user_svd sv hup waybar
|
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
|
||||||
exec_always _gpg-unlock
|
{%@@ else @@%}
|
||||||
|
include daemons
|
||||||
{%@@ endif @@%}
|
{%@@ endif @@%}
|
||||||
|
|
||||||
|
exec light -N 1
|
||||||
|
exec dbus-update-activation-environment DISPLAY XAUTHORITY SWAYSOCK I3SOCK WAYLAND_DISPLAY
|
||||||
|
|
||||||
# Prevent the screen from locking if fullscreen
|
# Prevent the screen from locking if fullscreen
|
||||||
for_window [title=.*] inhibit_idle fullscreen
|
for_window [title=.*] inhibit_idle fullscreen
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,8 @@ exec udiskie
|
||||||
exec_always pidof -x fusuma || fusuma
|
exec_always pidof -x fusuma || fusuma
|
||||||
|
|
||||||
# Blue light filter
|
# Blue light filter
|
||||||
exec /usr/lib/geoclue-2.0/demos/agent
|
# exec /usr/lib/geoclue-2.0/demos/agent
|
||||||
exec_always pidof redshift || redshift
|
exec_always pidof gammastep || gammastep -l -30:-50
|
||||||
|
|
||||||
# Screen manager
|
# Screen manager
|
||||||
exec_always _sway_displays
|
exec_always _sway_displays
|
||||||
|
|
|
@ -23,7 +23,7 @@ $mod+g exec emoji
|
||||||
$mod+d exec sway-displays
|
$mod+d exec sway-displays
|
||||||
|
|
||||||
# Insert special characters
|
# Insert special characters
|
||||||
$mod+Alt+c exec pidof caffeinated && pkill caffeinated || caffeinated -d
|
$mod+Alt+c exec _sway_idle_toggle
|
||||||
|
|
||||||
# Kill focused window
|
# Kill focused window
|
||||||
$mod+x kill
|
$mod+x kill
|
||||||
|
@ -37,8 +37,11 @@ $mod+p exec wpass
|
||||||
# Reload the configuration file
|
# Reload the configuration file
|
||||||
$mod+Shift+c reload
|
$mod+Shift+c reload
|
||||||
|
|
||||||
|
# Lock Sway
|
||||||
|
$mod+$lock exec _lock
|
||||||
|
|
||||||
# Lock Sway and suspend
|
# Lock Sway and suspend
|
||||||
--locked $mod+Control+z exec loginctl suspend || systemctl suspend
|
--locked $mod+Control+z exec _suspend
|
||||||
|
|
||||||
# Exit sway
|
# Exit sway
|
||||||
Control+Alt+delete exec pkill -u "$USER" -HUP runsvdir ; exit
|
Control+Alt+delete exec pkill -u "$USER" -HUP runsvdir ; exit
|
||||||
|
|
|
@ -32,6 +32,9 @@ $mod+Alt+r exec sssway
|
||||||
# Color picker
|
# Color picker
|
||||||
$mod+c exec color-picker
|
$mod+c exec color-picker
|
||||||
|
|
||||||
|
# Apply Optical character recognition to clipboard
|
||||||
|
$mod+Control+v exec wl-paste | tesseract-ocr -l por - - | wl-copy
|
||||||
|
|
||||||
# show keys being pressed
|
# show keys being pressed
|
||||||
$mod+k exec showkeys
|
$mod+k exec showkeys
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,9 @@ bindsym --to-code {
|
||||||
{%@@ endfor @@%}
|
{%@@ endfor @@%}
|
||||||
{%@@ endfor @@%}
|
{%@@ endfor @@%}
|
||||||
|
|
||||||
|
$mod+Tab workspace next_on_output
|
||||||
|
$mod+Shift+Tab workspace prev_on_output
|
||||||
|
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Layout
|
# Layout
|
||||||
|
@ -81,8 +84,8 @@ $mod+space focus mode_toggle
|
||||||
$mod+equal focus parent
|
$mod+equal focus parent
|
||||||
$mod+minus focus child
|
$mod+minus focus child
|
||||||
|
|
||||||
$mod+tab scratchpad show
|
# $mod+tab scratchpad show
|
||||||
$mod+Shift+tab move container scratchpad
|
# $mod+Shift+tab move container scratchpad
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
16
dotfiles/systemd/gammastep.service
Normal file
16
dotfiles/systemd/gammastep.service
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# {{ header() }}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Wayland equivalent of autorandr.
|
||||||
|
Documentation=https://sr.ht/~emersion/kanshi/
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/bin/env _gammastep
|
||||||
|
Restart=always
|
||||||
|
StartLimitBurst=2
|
||||||
|
StartLimitInterval=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sway-session.target
|
16
dotfiles/systemd/kanshi.service
Normal file
16
dotfiles/systemd/kanshi.service
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# {{ header() }}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Wayland equivalent of autorandr.
|
||||||
|
Documentation=https://sr.ht/~emersion/kanshi/
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/kanshi
|
||||||
|
Restart=always
|
||||||
|
StartLimitBurst=2
|
||||||
|
StartLimitInterval=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sway-session.target
|
16
dotfiles/systemd/kdeconnect-indicator.service
Normal file
16
dotfiles/systemd/kdeconnect-indicator.service
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# {{ header() }}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Wayland equivalent of autorandr.
|
||||||
|
Documentation=https://sr.ht/~emersion/kanshi/
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/bin/env kdeconnect-indicator
|
||||||
|
Restart=always
|
||||||
|
StartLimitBurst=2
|
||||||
|
StartLimitInterval=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sway-session.target
|
16
dotfiles/systemd/kdeconnectd.service
Normal file
16
dotfiles/systemd/kdeconnectd.service
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# {{ header() }}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Wayland equivalent of autorandr.
|
||||||
|
Documentation=https://sr.ht/~emersion/kanshi/
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/bin/env _kdeconnectd
|
||||||
|
Restart=always
|
||||||
|
StartLimitBurst=2
|
||||||
|
StartLimitInterval=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sway-session.target
|
16
dotfiles/systemd/mako.service
Normal file
16
dotfiles/systemd/mako.service
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# {{ header() }}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description= Lightweight notification daemon for Wayland compositors.
|
||||||
|
Documentation=https://github.com/emersion/mako/wiki
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/mako
|
||||||
|
Restart=always
|
||||||
|
StartLimitBurst=2
|
||||||
|
StartLimitInterval=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sway-session.target
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue