Compare commits

..

1 Commits
main ... void

Author SHA1 Message Date
lelgenio 370b8f2db8 scripts: add install void meta script 2021-12-08 10:52:15 -03:00
137 changed files with 688 additions and 2670 deletions

View File

@ -1,252 +0,0 @@
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

View File

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

View File

@ -23,8 +23,7 @@ variables:
bar_pos: top
tmux: false
starship: false
asdf: false
user_svdir: $HOME/.config/runit
supervisor: runit
accent_fg: '#ffffff'
@ -38,30 +37,15 @@ variables:
mail:
personal:
from: Leonardo Eugênio
user: lelgenio@disroot.org
imap: disroot.org
smtp: disroot.org
pass: disroot.org
user: lelgenio
mail: disroot.org
work:
from: Leonardo Eugênio
user: leonardo@wopus.com.br
imap: imap.wopus.com.br
smtp: smtp.wopus.com.br
pass: Work/wopus_email
mail: wopus.com.br
nextcloud:
name: disroot
user: lelgenio
host: cloud.disroot.org
pass: disroot.org
###############################################################
profiles:
###############################################################
###############################################################
# Themes
###############################################################
dark:
@ -78,7 +62,6 @@ profiles:
txt: '#FFFFFF'
nontxt: '#252525'
random_range: "[a-f]"
normal:
black: '#404040'
red: '#AB4642'
@ -107,7 +90,6 @@ profiles:
txt: '#303030'
nontxt: '#D0D0D0'
random_range: "[0-4]"
normal:
black: '#555555'
red: '#D54E53'
@ -153,7 +135,6 @@ profiles:
tabR: Y
insertMode: s
insertQuit: kk
menu: s
qwerty:
variables:
@ -169,107 +150,30 @@ profiles:
tabR: O
insertMode: i
insertQuit: jj
menu: d
###############################################################
common:
# Main profile
###############################################################
main:
variables:
# gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
gtk_theme: "Orchis-{{@@ accent_color_name.capitalize() @@}}-{{@@ color.type.capitalize() @@}}"
gtk_theme: "Orchis-{{@@ accent_color_name.lower() @@}}-{{@@ 'dark' if color.type == 'dark' else 'light' @@}}"
kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}"
# icon_theme: "Mint-Y-{{@@ 'Dark' if color.type == 'dark' else 'Darker' @@}}-{{@@ accent_color_name.capitalize() @@}}"
icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}"
cursor_theme: "Breeze_Obsidian"
# cursor_theme: "Breeze_Snow"
# cursor_theme: "capitaine-cursors"
dotfiles:
- ALL
include:
- "{{@@ key_layout @@}}"
- "{{@@ color_type @@}}"
- "accent_{{@@ accent_color_name @@}}"
dotfiles:
- alacritty
- backgrounds
- bat
- blender
- clang-format
- code-oss
- crontab
- dav
- deemix
- firefox
- fish
- fonts
- foot
- git
- gpg-agent
- i3
- imv
- kak-lsp
- kakoune
- kanshi
- kitty
- lesskey
- libinput-gestures
- mako
- mangohud
- mime
- mpd
- mpv
- mutt
- mypy
- nvim
- pqivrc
- prettierrc
- qutebrowser
- ranger
- rclone
- rustfmt
- scripts
- starship
- sway
- swaylock
- telegram-theme
- theme
- thunar
- tmux
- vscode
- waybar
- wofi
- xdpw
- zathura
###############################################################
# Os profiles
###############################################################
voidlinux:
include:
- "common"
variables:
supervisor: runit
dotfiles:
- runit_services
artixlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
variables:
supervisor: runit
archlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
- systemd
variables:
supervisor: systemd
###############################################################
config:
@ -296,7 +200,7 @@ dynvariables:
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
deezer_arl: pass show Entertainment/Deezer | awk '/^arl:/ {print $2}'
main_password: _pass_get "{{@@ mail.personal.pass @@}}" | base64
main_password: _pass_get "{{@@ mail.personal.mail @@}}" | base64
###############################################################
actions:
@ -310,26 +214,12 @@ actions:
true
reload_sway: swaymsg reload & disown
reload_mako: makoctl reload
reload_waybar: pkill -SIGUSR2 waybar
reload_runit_sv:
which sv 2> /dev/null &&
env SVDIR="{{@@ user_svdir @@}}" sv reload "{0}" ||
true
restart_systemd_sv:
systemctl --user restart "${0}"
enable_systemd_sv:
systemctl --user enable --now "{0}" &
reload_mako: pkill -SIGHUP mako
reload_waybar: env SVDIR=$HOME/.config/runit/sv sv hup waybar
reload_xsettingsd: env SVDIR=$HOME/.config/runit/sv sv hup xsettingsd
groups_install: _groups_install
lesskey: lesskey
reload_fish: pkill -SIGHUP fish
dotdrop_completions: |
comp_path="$HOME/.config/fish/completions/dotdrop.fish"
comp_url="https://raw.githubusercontent.com/deadc0de6/dotdrop/master/completion/dotdrop.fish"
if ! test -f "$comp_path"; then
wget -qO "$comp_path" "$comp_url" ||
rm "$comp_path"
fi
reload_qutebrowser: qutemsg config-source & disown
@ -346,30 +236,29 @@ actions:
crontab ~/.local/share/crontab
vdirsyncer: |
yes | vdirsyncer discover &
yes | vdirsyncer discover & disown
lnMail: |
ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc
ln -fs ~/.config/neomutt/urlview ~/.urlview
ln -fs ~/.config/neomutt/msmtprc ~/.msmtprc
ranger_icons:
git clone
https://github.com/alexanderjeurissen/ranger_devicons
~/.config/ranger/plugins/ranger_devicons
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
pam_gpg: _pam-gpg-strap
make_theme: _make_theme
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_meta: install_meta
install_mpv: _mpv_install
filter_backgrounds: _backgrouds_filter
apply_gsetting_gnome: gsettings set org.gnome.desktop.interface {0} {1}
###############################################################
dotfiles: # Just a bunch of paths and action mappings
@ -393,7 +282,6 @@ dotfiles: # Just a bunch of paths and action mappings
src: fish
dst: ~/.config/fish
actions:
- dotdrop_completions
- reload_fish
starship:
@ -489,34 +377,11 @@ dotfiles: # Just a bunch of paths and action mappings
- make_theme
- groups_install
runit_services:
services:
src: runit_sv
dst: ~/.config/runit
systemd:
src: systemd
dst: ~/.config/systemd/user
dst: ~/.config/runit/sv
actions:
- 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
- start_services
deemix:
src: deemix
@ -546,12 +411,7 @@ dotfiles: # Just a bunch of paths and action mappings
src: theme
dst: ~/
actions:
- 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 @@}}'
- reload_xsettingsd
prettierrc:
src: prettierrc.toml
@ -571,11 +431,11 @@ dotfiles: # Just a bunch of paths and action mappings
actions:
- pam_gpg
arch-packages:
packages:
src: meta.PKGBUILD
dst: ~/.local/share/metapkg/PKGBUILD
actions:
- install_arch_meta
- install_meta
kak-lsp:
src: kak-lsp.toml
@ -583,7 +443,7 @@ dotfiles: # Just a bunch of paths and action mappings
rustfmt:
src: rustfmt.toml
dst: ~/.config/rustfmt/rustfmt.toml
dst: ~/.rustfmt.toml
###############################################################
# Big pahts
@ -593,10 +453,6 @@ dotfiles: # Just a bunch of paths and action mappings
src: vscode.jsonc
dst: "~/.config/Code - OSS/User/settings.json"
vscode:
src: vscode.jsonc
dst: "~/.config/Code/User/settings.json"
telegram-theme:
src: ./telegram.palette
dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
@ -616,9 +472,9 @@ dotfiles: # Just a bunch of paths and action mappings
alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" }
bat: { "src":"bat", "dst":"~/.config/bat/config" }
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" }
kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" }
mangohud: { "src":"MangoHud.conf", "dst":"~/.config/MangoHud/MangoHud.conf" }
mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" }
paru: { "src":"paru.conf", "dst":"~/.config/paru/paru.conf" }
pqivrc: { "src":"pqiv.ini", "dst":"~/.config/pqivrc" }

View File

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

View File

@ -4,11 +4,6 @@
# Behaviour
############################################################
shell:
program: /usr/bin/env
args:
- {{@@ shell @@}}
selection:
save_to_clipboard: true
@ -72,9 +67,7 @@ colors:
draw_bold_text_with_bright_colors: false
window:
opacity: {{@@ opacity @@}}
dynamic_padding: true
background_opacity: {{@@ opacity @@}}
############################################################

View File

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

View File

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

View File

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

View File

@ -9,8 +9,8 @@
"artistNameTemplate": "%artist%",
"createAlbumFolder": true,
"albumNameTemplate": "%album%",
"createCDFolder": false,
"createStructurePlaylist": false,
"createCDFolder": true,
"createStructurePlaylist": true,
"createSingleFolder": true,
"padTracks": true,
"paddingSize": "0",

View File

@ -80,8 +80,3 @@
display: none;
}
/*** END Remove webRTC indicator ***/
/*** BEGIN Remove title bar ***/
#titlebar {
display: none;
}
/*** END Remove title bar ***/

View File

@ -10,7 +10,6 @@
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true);
user_pref("mousewheel.with_alt.action", 1);
user_pref("mousewheel.with_alt.delta_multiplier_y", 5);
user_pref("middlemouse.paste", false);
// don't show menu bar on Alt
user_pref("ui.key.menuAccessKeyFocuses", false);
@ -63,7 +62,7 @@ user_pref("devtools.editor.tabsize", 4);
user_pref("devtools.inspector.activeSidebar", "ruleview");
user_pref("devtools.inspector.three-pane-enabled", false);
user_pref("devtools.responsive.leftAlignViewport.enabled", true);
user_pref("devtools.theme", "auto");
user_pref("devtools.theme", "dark");
// hardware acceleration
user_pref("media.ffmpeg.vaapi.enabled", "true");

View File

@ -16,14 +16,12 @@ function calias
abbr -g mpn ncmpcpp
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
if command -qs xbps-install
cabbr p sudo xbps-install -y
end
cabbr p pacman
cabbr p pikaur
cabbr p yay
@ -34,30 +32,9 @@ cabbr p paru
# Editor
################################################################
{%@@ if editor == "kak" @@%}
function kak --wraps kak
if contains -- -s $argv > /dev/null
or contains -- -c $argv > /dev/null
command kak $argv
return
end
set -l session (
echo $PWD |
string replace -r "$HOME/?" '' |
string replace -a '/' '_'
)
if test $HOME = $PWD
set session (basename $PWD)
end
command kak -c $session $argv 2> /dev/null
or command kak -s $session $argv
or command kak $argv
end
{%@@ endif @@%}
cabbr v {{@@ editor @@}}
cabbr rv sudoedit
cabbr rv sudo {{@@ editor @@}}
cabbr rv doas {{@@ editor @@}}
@ -126,12 +103,38 @@ abbr -g gds 'git diff --staged'
abbr -g gc 'git commit'
abbr -g gca 'git commit --all'
abbr -g gcf 'git commit --fixup'
abbr -g gp 'git push -u origin (git branch --show-current)'
abbr -g gw 'git switch'
abbr -g gr 'cd (git root)'
abbr -g gri 'git rebase --interactive FETCH_HEAD'
################################################################
# work stuff
################################################################
abbr svu sv start apache mariadb
abbr svd sv stop apache mariadb
abbr svs sv status apache mariadb
abbr pname "\
set pname (basename (pwd | sd -- - _))
sd 'DB_DATABASE=.*' DB_DATABASE=\$pname .env
test (count dump/*) -eq 1
and mv dump/* dump/\$pname.sql"
abbr msv "\
string match -r 'DB_DATABASE=(?<db>.*)\$' < .env
set margs -v -u root --password=(_pass_get work_db)"
abbr msc 'echo "CREATE DATABASE $db" | mysql $margs'
abbr msdrop 'echo "DROP DATABASE $db" | mysql $margs'
abbr msl 'mysql $margs $db < dump/$db.sql'
abbr msd 'mariadb-dump $margs $db | mysql_format > dump/$db.sql'
abbr vw 'kak (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
################################################################
@ -147,7 +150,7 @@ end
# Copy files like graphical programs
################################################################
function wl-copy-f
function wl-copy-f -w wl-copy
set -a file
for arg in (seq 1 (count $argv))
if test -f "$argv[$arg]"

View File

@ -8,9 +8,6 @@
set -U fish_features stderr-nocaret qmark-noglob regex-easyesc
if status is-interactive
{%@@ if asdf @@%}
set asdf
{%@@ endif @@%}
source {$__fish_config_dir}/env.fish
source {$__fish_config_dir}/wm.fish
@ -18,7 +15,14 @@ if status is-interactive
source {$__fish_config_dir}/keys.fish
source {$__fish_config_dir}/tmux.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

View File

@ -5,29 +5,13 @@
# | _| \__ \ | | |
# |_| |_|___/_| |_|
set -x QT_QPA_PLATFORMTHEME gtk2
set -x QT_QPA_PLATFORMTHEME qt5ct
# set -x QT_QPA_PLATFOR wayland
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 XDG_DATA_DIRS "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:/usr/share"
set -x XDG_DATA_DIRS "$XDG_DATA_DIRS:$HOME/.local/share"
set -x XDG_CONFIG_HOME "$HOME/.config/"
if set -q asdf
set __cargo_asdf_bin ~/.asdf/installs/rust/*/bin/
set __yarn_asdf_bin ~/.config/yarn/global/node_modules/.bin/
else
set __cargo_bin ~/.cargo/bin/
set __yarn_bin ~/.yarn/bin/
set -x NVM_DIR ~/.local/share/nvm
end
for i in ~/.local/bin $__cargo_bin $__cargo_asdf_bin $__yarn_asdf_bin ~/.yarn/bin ~/.factorio/bin/*
test -d "$i";and fish_add_path --global "$i"
for i in ~/.local/bin ~/.cargo/bin ~/.factorio/bin/*
test -d "$i";and fish_add_path "$i"
end
# needed for tmux
@ -99,6 +83,6 @@ set -x _COLOR_TYPE "{{@@ color_type @@}}"
set -x _ACCENT_COLOR "{{@@ accent_color_name @@}}"
set -x DOTDROP_CONFIG "{{@@ _dotdrop_cfgpath @@}}"
# set -x DOTDROP_PROFILE "{{@@ profile @@}}"
set -x DOTDROP_PROFILE "{{@@ profile @@}}"
set -x DOTDROP_WORKERS (math 2 \* (nproc))

View File

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

View File

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

View File

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

View File

@ -11,13 +11,13 @@
function esway
# 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 QT_QPA_PLATFORM wayland-egl
# set -x QT_QPA_PLATFORM wayland-egl
# set -x ECORE_EVAS_ENGINE wayland-egl
# set -x ELM_ENGINE wayland_egl
# set -x SDL_VIDEODRIVER wayland
set -x _JAVA_AWT_WM_NONREPARENTING 1
# set -x _JAVA_AWT_WM_NONREPARENTING 1
# set -x NO_AT_BRIDGE 1
# Hardware acceleration
@ -39,18 +39,12 @@ function esway
# this should not be necessary, but whatever
if not pidof sway &> /dev/null
{%@@ if supervisor == "runit" @@%}
pkill -HUP -u "$USER" runsvdir
exec dbus-launch --exit-with-session sway
{%@@ elif supervisor == "systemd" @@%}
exec systemd-cat --identifier=sway sway
{%@@ else @@%}
exec dbus-launch --exit-with-session sway
{%@@ endif @@%}
end
end
if test (tty) = /dev/tty1
if test "$XDG_VTNR" = 1
and test -z "$DISPLAY$WAYLAND_DISPLAY"
esway &> .swaylog

View File

@ -8,7 +8,7 @@
# title=foot
# locked-title=no
font={{@@ font.mono @@}}:size={{@@ font.size.small @@}}
font={{@@ font.mono @@}}:size={{@@ font.size.small * 4/3 @@}}
# font-bold=<bold variant of regular font>
# font-italic=<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 @@}}
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
dpi-aware=no
# dpi-aware=yes
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
@ -28,7 +28,7 @@ dpi-aware=no
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
bold-text-in-bright=no
bold-text-in-bright=yes
# bell=none
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary

31
dotfiles/fusuma.yml Normal file
View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@
# |_|\_\__,_|_|\_\ |_____|____/|_|
snippet_support = true
snippet_support = false
verbosity = 2
[server]
@ -76,7 +76,9 @@ offset_encoding = "utf-8"
[language.haskell]
filetypes = ["haskell"]
roots = ["Setup.hs", "stack.yaml", "*.cabal"]
command = "haskell-language-server-wrapper"
# You might also be interested in the newer, but early stage, haskell-language-server
# https://github.com/haskell/haskell-language-server
command = "hie-wrapper"
args = ["--lsp"]
[language.html]
@ -131,25 +133,7 @@ command = "intelephense"
args = ["--stdio"]
settings_section = "intelephense"
[language.php.settings]
intelephense.format.braces = "k&r"
intelephense.storagePath = "/tmp/intelephense"
intelephense.environment.includePaths = [
"./vendor",
"./vendor/autoload",
"./vendor/laravel/framework/",
"./vendor/laravel/framework/src/",
"./vendor/laravel/framework/src/Illuminate/"
]
intelephense.files.exclude = [
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"**/.DS_Store/**",
"**/node_modules/**",
"**/bower_components/**",
"**/resources/views/**"
]
[language.python]
filetypes = ["python"]
@ -186,14 +170,22 @@ args = ["stdio"]
[language.rust]
filetypes = ["rust"]
roots = ["rust-toolchain.toml", "rust-toolchain", "Cargo.toml"]
command = "rust-analyzer"
roots = ["Cargo.toml"]
command = "sh"
args = [
"-c",
"""
if path=$(rustup which rust-analyzer 2>/dev/null); then
"$path"
else
rust-analyzer
fi
""",
]
[language.rust.settings.rust-analyzer]
## this can use too much space and processing power
# checkOnSave.extraArgs = ["--target-dir", "./target/check"]
hoverActions.enable = false # kak-lsp doesn't support this at the moment
# procMacro.enable = true
# cargo.loadOutDirsFromCheck = true
procMacro.enable = true
cargo.loadOutDirsFromCheck = true
[language.terraform]
filetypes = ["terraform"]
@ -207,12 +199,6 @@ roots = ["project.godot", ".git/"]
command = "nc"
args = [ "localhost", "6008"]
[language.clojure]
filetypes = ["clojure"]
roots = ["project.clj", ".git/"]
command = "clojure-lsp"
args = []

View File

@ -57,17 +57,10 @@ face global MenuInfo cyan
face global Information default,{{@@ bg_dark @@}}
face global Error default,red+g
face global StatusLine %sh{
printf "rgb:"
head /dev/urandom |
base64 |
rg --text -o '{{@@ color.random_range @@}}' |
head -n 6 |
sd '\n' ''
}
face global StatusLineMode StatusLine
face global StatusLineInfo StatusLine
face global StatusLineValue StatusLine
face global StatusLine default,{{@@ bg_dark @@}}
face global StatusLineMode green,{{@@ bg_dark @@}}
face global StatusLineInfo default,{{@@ bg_dark @@}}
face global StatusLineValue default,{{@@ bg_dark @@}}
face global StatusCursor {{@@ accent_fg @@}},{{@@ accent_color @@}}
face global Prompt yellow,default

View File

@ -12,10 +12,6 @@ hook global WinSetOption filetype=c %{
set buffer formatcmd 'clang-format'
}
hook global BufCreate .*\.rs %{
set buffer formatcmd 'rustfmt'
}
hook global BufCreate .*\.html %{
set buffer formatcmd 'prettier --parser html'
}
@ -54,20 +50,6 @@ hook global WinCreate .* %{
hook global BufCreate .*\.jsonc %[ set buffer filetype jsonc ]
hook global BufCreate .*\.blade.php %[ set buffer filetype blade ]
hook global BufCreate .*\.less %[ set buffer filetype less ]
hook global BufCreate .*\.(tera|askama)\.?.* %[
require-module jinja
add-highlighter buffer/jinja ref jinja
]
hook global WinSetOption filetype=rust %[
require-module rust
require-module html
add-highlighter shared/rust/html region -recurse '\{' 'html!\s*\{\K' '(?=\})' ref html
]
hook global WinSetOption filetype=sql %[
set buffer comment_line '--'
]
hook global WinSetOption filetype=jsonc %[
set buffer comment_line '//'

View File

@ -23,7 +23,7 @@ evaluate-commands %sh{
define-command -override diffr %{ try %{
execute-keys -draft 'ggxsdiff<ret>'
execute-keys -draft '%<a-;>J| _diffr<ret>'
execute-keys -draft '%<a-;>J| diffr<ret>'
ansi-render
} }
@ -39,8 +39,8 @@ hook global BufOpenFile .*/COMMIT_EDITMSG %{
}
hook global RegisterModified '"' %{ nop %sh{ {
printf %s "$kak_reg_dquote" | wl-copy -n
printf %s "$kak_reg_dquote" | xclip -i -selection clipboard
printf %s "$kak_main_reg_dquote" | wl-copy -n
printf %s "$kak_main_reg_dquote" | xclip -i -selection clipboard
} > /dev/null 2>&1 < /dev/null & }}
# Trim trailing whitespace

View File

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

View File

@ -20,58 +20,61 @@ plug "andreyorst/plug.kak" noload config %{
plug 'eraserhd/kak-ansi'
plug 'alexherbo2/auto-pairs.kak' config %{
enable-auto-pairs
plug 'alexherbo2/prelude.kak'
plug 'alexherbo2/auto-pairs.kak' commit "fd735ec149ef0d9ca5f628a95b1e52858b5afbdc" config %{
require-module 'prelude'
require-module 'auto-pairs'
auto-pairs-enable
}
plug 'lelgenio/kakoune-mirror-colemak' config %{
map global user "s" ': enter-user-mode mirror<ret>'
}
plug 'h-youhei/kakoune-surround'
plug 'delapouite/kakoune-palette'
plug 'greenfork/active-window.kak'
plug 'lelgenio/kak-crosshairs' config %{
crosshairs-enable
plug 'insipx/kak-crosshairs' config %{
crosshairs
}
# Search and replace, for every buffer
plug "natasky/kakoune-multi-file"
plug "lelgenio/kakoune-colemak-neio"
plug 'occivink/kakoune-find'
plug 'kak-lsp/kak-lsp' do %{
cargo install --locked --force --path .
cargo install --features "no-lto" --locked --force --path .
} config %{
map global normal <F2> ': lsp-rename-prompt<ret>'
set global lsp_hover_max_lines 10
# lsp-inlay-diagnostics-enable global
set global lsp_auto_highlight_references true
set global lsp_inlay_diagnostic_sign "●"
set global lsp_diagnostic_line_error_sign "●"
# set global lsp_inlay_diagnostic_sign "●"
# set global lsp_diagnostic_line_error_sign "●"
hook global BufCreate .* %{try lsp-enable}
# hook global BufCreate .* %{try lsp-enable}
define-command -override -hidden lsp-next-placeholder-bind %{
map global normal <tab> ': try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
map global insert <tab> '<a-;>: try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
}
lsp-next-placeholder-bind
map global insert <c-o> "<esc>: lsp-code-action-sync Fill<ret>"
# hook global -group rust-inlay-hints-auto WinSetOption filetype=rust %{
# hook window -group rust-inlay-hints BufReload .* rust-analyzer-inlay-hints
# hook window -group rust-inlay-hints NormalIdle .* rust-analyzer-inlay-hints
# hook window -group rust-inlay-hints InsertIdle .* rust-analyzer-inlay-hints
# hook -once -always window WinSetOption filetype=.* %{
# remove-hooks window rust-inlay-hints
# }
# }
define-command -override -hidden lsp-enable-decals %{
lsp-inlay-diagnostics-enable global
lsp-inlay-hints-enable global
}
# define-command -override -hidden lsp-enable-decals %{
# lsp-inlay-diagnostics-enable global
# try %{
# add-highlighter global/rust_analyzer_inlay_hints replace-ranges rust_analyzer_inlay_hints
# }
# }
define-command -override -hidden lsp-disable-decals %{
lsp-inlay-diagnostics-disable global
lsp-inlay-hints-disable global
}
lsp-enable-decals
# define-command -override -hidden lsp-disable-decals %{
# lsp-inlay-diagnostics-disable global
# remove-highlighter global/rust_analyzer_inlay_hints
# }
hook global ModeChange '.*:insert:normal' %{lsp-enable-decals}
hook global ModeChange '.*:normal:insert' %{lsp-disable-decals}
# hook global ModeChange '.*:insert:normal' %{lsp-enable-decals}
# hook global ModeChange '.*:normal:insert' %{lsp-disable-decals}
hook global WinSetOption filetype=(c|cpp|rust) %{
lsp-enable
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
@ -79,16 +82,5 @@ plug 'kak-lsp/kak-lsp' do %{
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}"
}

View File

@ -1,7 +1,7 @@
# {{@@ header() @@}}
try %{
# declare-user-mode surround
declare-user-mode surround
declare-user-mode git
declare-user-mode find
}
@ -13,8 +13,8 @@ map global user 'z' ':zoxide ' -docstring 'zoxide'
map global user 'n' ': new<ret>' -docstring 'new window'
map global user 'e' 'x|emmet<ret>{{@@ "@" if not tabs @@}}' -docstring 'process line with emmet'
map global user 'm' ': try lsp-formatting-sync catch format-buffer<ret>' -docstring 'format document'
map global user 'M' ': try lsp-range-formatting-sync catch format-selections<ret>' -docstring 'format selection'
map global user 'm' ': try format-buffer catch lsp-formatting<ret>' -docstring 'format document'
map global user 'M' ': try format-selections catch lsp-range-formatting<ret>' -docstring 'format selection'
map global user 'c' ': comment-line<ret>' -docstring 'comment line'
map global user 'C' '_: comment-block<ret>' -docstring 'comment block'
@ -28,6 +28,12 @@ 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-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 -lock git<ret>' -docstring 'git vcs mode'
map global git 's' ': git status<ret>' -docstring 'status'
@ -52,7 +58,6 @@ map global find 'f' ': find_file<ret>' -docstring 'file'
map global find 'l' ': find_line<ret>' -docstring 'jump to line'
map global find 'r' ': find_ripgrep<ret>' -docstring 'ripgrep all file'
map global find 'g' ': find_git_file<ret>' -docstring 'git files'
map global find 'm' ': find_git_modified<ret>' -docstring 'git modified files'
map global find 'c' ': find_dir<ret>' -docstring 'change dir'
map global find 'd' ': find_delete<ret>' -docstring 'file to delete'
@ -69,16 +74,9 @@ define-command -override -hidden find_delete \
} }
define-command -override -hidden find_git_file \
%{ evaluate-commands %sh{
%{ evaluate-commands -existing %sh{
for line in `git ls-files | wdmenu`; do
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'"
echo "edit '$line'"
done
} }

View File

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

View File

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

View File

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

View File

@ -15,17 +15,21 @@ set header_cache = ~/.cache/mutt/
set my_mailroot = ~/.local/share/mail
set use_from = yes
# set ssl_force_tls = yes
set ssl_force_tls = yes
{%@@ for name, info in mail.items() | reverse @@%}
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
folder-hook "$my_mailroot/{{@@ name @@}}/" source "\"$my_source_command\""
source "$my_source_command"
set my_source_command = \
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
folder-hook "$my_mailroot/{{@@ name @@}}/" \
source "\"$my_source_command\""
source "$my_source_command"
{%@@ endfor @@%}
{%@@ for name, info in mail.items() @@%}
set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
set my_source_command = \
"_mutt_get-mail '{{@@ name @@}}' '{{@@ info.user.split("@")[0] @@}}' '{{@@ info.user @@}}' '{{@@ info.mail @@}}' |"
macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
{%@@ endfor @@%}
# }}}
@ -36,7 +40,7 @@ set sort = reverse-last-date
set sort_aux = last-date
set mail_check_stats = yes
set mail_check_stats_interval = 10
set mail_check_stats_interval = 60
set mark_old = no # Unread mail stay unread until read
set mailcap_path = ~/.config/neomutt/mailcap

View File

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

View File

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

View File

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

View File

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

2
dotfiles/runit_sv/fusuma/run Executable file
View File

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

View File

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

5
dotfiles/runit_sv/geoclue/run Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
PATH="/usr/lib/geoclue-2.0/demos/:/usr/libexec/geoclue-2.0/demos/"
exec agent

View File

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

View File

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

View File

2
dotfiles/runit_sv/light/run Executable file
View File

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

View File

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

View File

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

2
dotfiles/runit_sv/redshift/run Executable file
View File

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

View File

@ -1,8 +1,8 @@
# {{@@ header() @@}} #
# group_imports = "StdExternalCrate"
# imports_granularity = "Crate"
# imports_layout = "Vertical"
group_imports = "StdExternalCrate"
imports_granularity = "Crate"
imports_layout = "Vertical"
tab_spaces = {{@@ indent_width @@}}
max_width = 80

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
gpg-connect-agent reloadagent /bye
PATH="$PATH:/usr/lib:/usr/libexec:/usr/lib/gnupg"
PATH="$PATH:/usr/lib:/usr/libexec"
keygrip=$(cat "$HOME/.pam-gnupg")
echo '{{@@ main_password @@}}' |

View File

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

View File

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

View File

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

View File

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

View File

@ -1,15 +0,0 @@
#!/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"

View File

@ -1,14 +0,0 @@
#!/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"

115
void.freeze → dotfiles/scripts/_install_meta_void Normal file → Executable file
View File

@ -1,77 +1,59 @@
ImageMagick
MangoHud
#!/bin/bash
# xbps
Thunar
Vulkan-Tools
Waybar
alacritty
alsa-lib-devel
alacritty-terminfo
apache
atool
bamf-devel
base-system
bat
bc
bemenu
blender
bluez
bpytop
breeze-cursors
breeze-obsidian-cursor-theme
caffeine-ng
cargo-edit
chromium
clang
clyrics
cmake
cmatrix
composer
cool-retro-term
cronie
cryptsetup
curl
dconf
diffr
direnv
docker
docker-compose
dust
efibootmgr
elogind
elogind-devel
engrampa
entr
exa
fail2ban
fd
figlet
firefox
fish-shell
flatpak
font-hack-ttf
foot
fuse-sshfs
fzf
gammastep
gcc
gdb
gettext
gimp
git
glib-devel
grim
grub
grub-x86_64-efi
gst-plugins-bad1
gst-plugins-good1
gst-plugins-ugly1
gtk+-devel
gtk+3-devel
gtk3-nocsd
gvfs
gvfs-mtp
htop
inetutils
inkscape
inotify-tools
intel-media-driver
intel-video-accel
inxi
@ -81,31 +63,21 @@ iwd
j4-dmenu-desktop
jnettop
jq
kak-lsp
kakoune
kanshi
kdeconnect
kdenlive
khal
khard
kitty
kvantum
libappindicator
libbsd-devel
liberation-fonts-ttf
libgee08-devel
libgepub
libinput-gestures
libmariadbclient-devel
libgsf
libopenraw
libpipewire0.2
libreoffice
libva-utils
light
linux
lld
lldb
lshw
lsof
lutris
lxappearance
lynx
@ -113,23 +85,14 @@ make
mako
man-db
mariadb
mariadb-client
mesa
mesa-32bit
mesa-dri
mesa-dri-32bit
mesa-intel-dri-32bit
mesa-vulkan-intel
mesa-vulkan-intel-32bit
meson
micro
miniupnpc
mpDris2
mpc
mpd
mpv
mpv-mpris
msmtp
mtr
nano
ncmpcpp
@ -140,42 +103,31 @@ nerd-fonts
net-tools
netcat
nmap
nodejs
notify-send.sh
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-ttf
noto-fonts-ttf-extra
ntp
openjdk17-jre
openssl-devel
overpass-otf
p7zip
pamixer
papirus-folders
papirus-icon-theme
par
pass
patch
pavucontrol
php
php-apache
php-intl
php-mysql
phpMyAdmin
pipewire
pkg-config
plank-devel
playerctl
playonlinux
polkit
postgresql-client
powertop
poppler-glib
pqiv
preload
procs
protontricks
pulseaudio
pulsemixer
pup
python3-ipython
python3-neovim
python3-pip
@ -187,24 +139,20 @@ qt5ct
qutebrowser
ranger
rclone
recode
ripgrep
rofi
rsync
rundird
rust-analyzer
rustup
sassc
sd
seatd
shfmt
shotcut
slurp
so
socklog
socklog-void
source-sans-pro
speedtest-cli
sqlite-devel
starship
swappy
sway
@ -213,16 +161,10 @@ swaylock
syncthing
tealdeer
telegram-desktop
tesseract-ocr-eng
tesseract-ocr-por
thefuck
thunar-archive-plugin
thunar-volman
thunderbird
tlp
tmux
todoman
topgrade
tor
translate-shell
transmission
@ -230,33 +172,32 @@ transmission-remote-gtk
trash-cli
tumbler
udiskie
unrar
urlview
vala
vdirsyncer
vdpauinfo
void-repo-multilib
void-repo-nonfree
vscode
wayland-devel
wayland-protocols
wget
wine
wine-32bit
wine-mono
wireplumber
winetricks
wl-clipboard
wol
wtype
xdg-desktop-portal-wlr
xdg-user-dirs
xorg
xdg-utils
xorg-minimal
xsettingsd
xtools
xz
yarn
yt-dlp
zathura
zathura-pdf-poppler
zoxide
# yarn
blade-formatter
less
prettier
uglify-js

View File

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

View File

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

View File

@ -9,7 +9,7 @@
papirus-folders -uC "{{@@ accent_color_name @@}}" ||
papirus-folders -uD
} > /dev/null &
} &
{%@@ endif @@%}
{%@@ if 'materia' in gtk_theme.lower() @@%}
@ -67,12 +67,7 @@ mkdir -p "${dst_path}/${theme_name}"
{%@@ endif @@%}
{%@@ if 'orchis' in gtk_theme.lower() @@%}
MARKER_FILE="$HOME/.themes/.orchis_installed"
test -f "$MARKER_FILE" &&
exit 0
{%@@ if 'Orchis' in gtk_theme.lower() @@%}
TMPDIR="$HOME/.cache/share/orchis"
mkdir -p "$TMPDIR" && cd "$TMPDIR"
@ -84,6 +79,4 @@ mkdir -p "${dst_path}/${theme_name}"
./install.sh \
--theme "{{@@ accent_color_name.lower() @@}}" \
--tweaks "solid" --tweaks "compact"
touch "$MARKER_FILE"
{%@@ endif @@%}

View File

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

View File

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

View File

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

42
dotfiles/scripts/_runit_config Executable file
View File

@ -0,0 +1,42 @@
#!/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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
#!/usr/bin/env fish
#!/bin/fish
# wrapper around bemenu
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
@ -82,6 +82,7 @@ command -qs dhist &&
env $wraper -- bemenu \
$focused_output\
--grab\
--ignorecase\
--bottom\
--no-overlap\

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/sh
# {%@@ if launcher == "fuzzel" @@%} #
which fuzzel &> /dev/null &&

View File

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

11
dotfiles/scripts/mpd-status Executable file
View File

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

View File

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

View File

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

View File

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

View File

@ -1,15 +1,19 @@
#!/bin/sh
get_displays() {
get_displays(){
swaymsg -t get_outputs |
jq -r 'map(.name)|join("\n")'
jq -r 'map(.name)|join("\n")'
}
actions="enable disable brightness"
actions=(
enable
disable
brightness
)
action=$(printf "%s\n" $actions | wdmenu)
action=$(printf "%s\n" "${actions[@]}" | wdmenu)
case "$action" in
enable | disable)
enable|disable)
output=$(get_displays | wdmenu -p "output")
swaymsg output "$output" "$action"
;;

View File

@ -24,11 +24,8 @@ test "$1" = "-e" && shift
exec alacritty --class "$CLASS"
}
# {%@@ elif terminal == "foot" @@%} #
if ! pidof foot; then
foot --server 2> /dev/null &
fi
command -v footclient > /dev/null &&
exec footclient --app-id "$CLASS" -- $@
exec footclient --class "$CLASS" -- $@
# {%@@ elif terminal == "kitty" @@%} #
command -v kitty > /dev/null &&
exec kitty --class "$CLASS" -- $@

View File

@ -2,7 +2,7 @@
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
exit 1
fi

View File

@ -29,7 +29,7 @@ main() {
[ -n "$entry" ] || exit
username=`pass show "$entry" 2>/dev/null | perl -ne 'print $2 if /^(login|user|email): (.*)/'`
username=`pass show "$entry" 2>/dev/null | perl -ne 'print $1 if /^login: (.*)/'`
password=`pass show "$entry" 2>/dev/null | head -n 1`
action=`printf "Autotype\nUsername -> $username\nPassword" | "$dmenu" -p Action`

View File

@ -23,15 +23,15 @@ assign [class=qutebrowser] workspace 2
# for_window [title=Whoops!] kill
assign [app_id=firefox] workspace 2
assign [class=Firefox] workspace 2
assign [class=firefox] workspace 2
assign [class=Chromium] workspace 2
# Books
# assign [app_id=org.pwmt.zathura] workspace 8
# Media
# assign [app_id=mpv] workspace 8
# for_window [app_id=mpv] workspace 8
assign [app_id=mpv] workspace 8
for_window [app_id=mpv] workspace 8
# Games
assign [class=Steam] workspace 9
@ -45,8 +45,8 @@ assign [class="Hollow Knight"] workspace 9
assign [class=dishonored.exe] workspace 9
# Chats
assign [app_id=".*[Tt]elegram.*"] workspace 10
assign [class=".*[Tt]elegram.*"] workspace 10
assign [app_id=telegram.?desktop] workspace 10
assign [class=TelegramDesktop] workspace 10
assign [class="Jitsi Meet"] workspace 10
assign [class=discord] workspace 10
assign [title=Discord] workspace 10

View File

@ -22,8 +22,9 @@ set $Up {{@@ key.up @@}}
set $Right {{@@ key.right @@}}
set $tabL {{@@ key.tabL @@}}
set $tabR {{@@ key.tabR @@}}
set $lock {{@@ key.next @@}}
set $menu {{@@ key.menu @@}}
set $menu s
set $mus r
###############################################################
# Includes
@ -40,20 +41,16 @@ include modes
include assigns
{%@@ if supervisor == "runit" @@%}
set $user_svd "{{@@ user_svdir @@}}"
exec_always pgrep -u "$USER" "^runsvdir$" || runsvdir $user_svd
exec_always env SVDIR=$user_svd sv hup kanshi
exec_always _gpg-unlock
{%@@ elif supervisor == "systemd" @@%}
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
{%@@ else @@%}
include daemons
{%@@ if supervisor == "scripts" @@%}
include daemons
{%@@ elif supervisor == "runit" @@%}
set $user_svd "$HOME/.config/runit/runsvdir/default"
exec_always pgrep -u "$USER" "^runsvdir$" || runsvdir $user_svd
exec_always env SVDIR=$user_svd sv hup kanshi
exec_always env SVDIR=$user_svd sv hup waybar
exec_always _gpg-unlock
{%@@ endif @@%}
exec light -N 1
exec dbus-update-activation-environment DISPLAY XAUTHORITY SWAYSOCK I3SOCK WAYLAND_DISPLAY
# Prevent the screen from locking if fullscreen
for_window [title=.*] inhibit_idle fullscreen

View File

@ -49,8 +49,8 @@ exec udiskie
exec_always pidof -x fusuma || fusuma
# Blue light filter
# exec /usr/lib/geoclue-2.0/demos/agent
exec_always pidof gammastep || gammastep -l -30:-50
exec /usr/lib/geoclue-2.0/demos/agent
exec_always pidof redshift || redshift
# Screen manager
exec_always _sway_displays

View File

@ -23,7 +23,7 @@ $mod+g exec emoji
$mod+d exec sway-displays
# Insert special characters
$mod+Alt+c exec _sway_idle_toggle
$mod+Alt+c exec pidof caffeinated && pkill caffeinated || caffeinated -d
# Kill focused window
$mod+x kill
@ -37,11 +37,8 @@ $mod+p exec wpass
# Reload the configuration file
$mod+Shift+c reload
# Lock Sway
$mod+$lock exec _lock
# Lock Sway and suspend
--locked $mod+Control+z exec _suspend
--locked $mod+Control+z exec loginctl suspend || systemctl suspend
# Exit sway
Control+Alt+delete exec pkill -u "$USER" -HUP runsvdir ; exit

View File

@ -32,9 +32,6 @@ $mod+Alt+r exec sssway
# 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
$mod+k exec showkeys

View File

@ -57,9 +57,6 @@ bindsym --to-code {
{%@@ endfor @@%}
{%@@ endfor @@%}
$mod+Tab workspace next_on_output
$mod+Shift+Tab workspace prev_on_output
###############################################################
# Layout
@ -84,8 +81,8 @@ $mod+space focus mode_toggle
$mod+equal focus parent
$mod+minus focus child
# $mod+tab scratchpad show
# $mod+Shift+tab move container scratchpad
$mod+tab scratchpad show
$mod+Shift+tab move container scratchpad
}

View File

@ -1,16 +0,0 @@
# {{ 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

View File

@ -1,16 +0,0 @@
# {{ 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

View File

@ -1,16 +0,0 @@
# {{ 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

View File

@ -1,16 +0,0 @@
# {{ 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

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