Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
a4d873becd | ||
|
7d541c9f7e |
38 changed files with 288 additions and 426 deletions
|
@ -1,6 +0,0 @@
|
|||
CDDBMETHOD=cdtext,musicbrainz
|
||||
FLACENCODERSYNTAX=default
|
||||
FLAC=flac
|
||||
CDROM=/dev/sr0
|
||||
OUTPUTTYPE=flac
|
||||
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}_${TRACKFILE}'
|
|
@ -1,26 +1,50 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
set -xeuo pipefail
|
||||
|
||||
export GIT_TERMINAL_PROMPT=0
|
||||
export GIT_SSH_COMMAND='ssh -oBatchMode=yes'
|
||||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
# Push some git repos
|
||||
pass git push
|
||||
|
||||
git --git-dir=$HOME/.cfg/ --work-tree=$HOME commit -am "Auto-commit $(hostnamectl --static) $(date --iso-8601=seconds)" || true
|
||||
git --git-dir=$HOME/.cfg/ --work-tree=$HOME push
|
||||
|
||||
# Fetch a fresh copy of all locally cloned git repos
|
||||
for dir in $(find /home/kunsi/git -mindepth 1 -maxdepth 1 -type d)
|
||||
do
|
||||
git -C "$dir" fetch --all || true
|
||||
git -C "$dir" fetch || true
|
||||
done
|
||||
|
||||
# Do a backup.
|
||||
sudo /usr/local/bin/generate-backup-with-retries
|
||||
printf '\a'
|
||||
(
|
||||
rsync -zaAP --numeric-ids --delete --relative \
|
||||
--rsync-path="/usr/bin/rsync --fake-super" \
|
||||
-e "ssh" --delete-excluded \
|
||||
--exclude "/home/kunsi/.cache/" \
|
||||
--exclude "/home/kunsi/.config/Ferdi/" \
|
||||
--exclude "/home/kunsi/.config/Rambox/" \
|
||||
--exclude "/home/kunsi/.local/lib/python*/site-packages/" \
|
||||
--exclude "/home/kunsi/.local/share/TelegramDesktop/tdata/user_data/cache/" \
|
||||
--exclude "/home/kunsi/.local/share/sddm/" \
|
||||
--exclude "/home/kunsi/.mozilla/firefox/*/storage/*" \
|
||||
--exclude "/home/kunsi/.npm/" \
|
||||
--exclude "/home/kunsi/.nvm/" \
|
||||
--exclude "/home/kunsi/.platformio/" \
|
||||
--exclude "/home/kunsi/.ssh/cm-*" \
|
||||
--exclude "/home/kunsi/.vdirsyncer" \
|
||||
--exclude "/home/kunsi/Downloads/" \
|
||||
--exclude "/home/kunsi/Schreibtisch/" \
|
||||
--exclude "/home/kunsi/VirtualBox VMs/" \
|
||||
--exclude "/home/kunsi/qemu/Windows_10.qcow2" \
|
||||
--exclude "/home/kunsi/tmp.*/" \
|
||||
"/home/kunsi" "kunsi-t470@home.nas":backups/
|
||||
|
||||
# Exit code 24 means some files have vanished during rsync.
|
||||
# I don't know why, but this is very common, apparently?
|
||||
exitcode=$?
|
||||
if [[ $exitcode != 0 ]] && [[ $exitcode != 24 ]]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
)
|
||||
|
||||
# Do updates
|
||||
sudo pacman -Syu
|
||||
sudo DIFFPROG='diff -u --color' pacdiff
|
||||
sudo pacman -Syu --noconfirm
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
notify-send --expire-time=9000 --app-name=i3lock "screen lock will activate shortly"
|
||||
echo 'meowww?' | osd_cat --pos middle --align center --delay 9 -O 15 -f '-*-dejavu sans-*-*-*-*-120-200-*-*-*-*-*-*'
|
||||
|
|
|
@ -30,7 +30,7 @@ try:
|
|||
|
||||
if line.startswith('volume:'):
|
||||
for speaker, absolute, percent in findall('([a-z-]+):\W+([0-9]+)\W+\/\W+([0-9]+)%', line):
|
||||
if int(percent) > 3 and int(percent) < 100:
|
||||
if int(percent) < 100:
|
||||
print(f' sink {sink_id} speaker {speaker} at {percent} % volume', flush=True)
|
||||
needs_adjusting = True
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ tmpbg="/tmp/lock_$(whoami).png"
|
|||
xset s noblank
|
||||
xset s 90 10
|
||||
|
||||
pactl set-sink-mute alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink 1
|
||||
pactl set-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source 1
|
||||
pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo 1
|
||||
pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo 1
|
||||
|
||||
i3lock -e -t -i /home/kunsi/Pictures/laptop_unbenutzbar.png
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
xinput set-prop 'TPPS/2 Elan TrackPoint' 321 0.7
|
7
.bin/voc-ansible
Executable file
7
.bin/voc-ansible
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
cd ~/git/voc-cm/ansible/
|
||||
|
||||
export KEEPASS_PW=$(pass show voc/keepass)
|
||||
|
||||
./ansible-playbook-keepass --become --become-method=sudo --user voc --inventory event $@ site.yml
|
|
@ -20,5 +20,5 @@ then
|
|||
sudo mkdir -p "/video/fuse"
|
||||
fi
|
||||
|
||||
sudo mount -t cifs -o "uid=${uid},password=" "//${device}/video" "/video"
|
||||
sudo mount -t cifs -o "uid=${uid},password=" "//${device}/fuse" "/video/fuse"
|
||||
sudo mount -t cifs -o "uid=${uid},password=" "//${device}.lan.c3voc.de/video" "/video"
|
||||
sudo mount -t cifs -o "uid=${uid},password=" "//${device}.lan.c3voc.de/fuse" "/video/fuse"
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
bell:
|
||||
duration: 100
|
||||
color: '#4d5b86'
|
||||
|
||||
colors:
|
||||
primary:
|
||||
foreground: '#D9D4CF'
|
||||
background: '#000000'
|
||||
normal:
|
||||
black: '#232323'
|
||||
red: '#FF000F'
|
||||
green: '#8CE10B'
|
||||
yellow: '#FFB900'
|
||||
blue: '#008DF8'
|
||||
magenta: '#6D43A6'
|
||||
cyan: '#00D8EB'
|
||||
white: '#FFFFFF'
|
||||
bright:
|
||||
black: '#444444'
|
||||
red: '#FF2740'
|
||||
green: '#ABE15B'
|
||||
yellow: '#FFD242'
|
||||
blue: '#4FB4FF'
|
||||
magenta: '#9A5FEB'
|
||||
cyan: '#67FFF0'
|
||||
white: '#FFFFFF'
|
||||
cursor:
|
||||
cursor: '#4d5b86'
|
||||
text: '#000000'
|
||||
|
||||
cursor:
|
||||
blinking: true
|
||||
|
||||
live_config_reload: true
|
|
@ -85,7 +85,7 @@
|
|||
|
||||
### Text ###
|
||||
|
||||
font = pango:DB Office Regular 9
|
||||
font = Monospace 8
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
|
@ -113,7 +113,7 @@
|
|||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = no
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
|
@ -129,7 +129,7 @@
|
|||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
alignment = right
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
|
|
|
@ -3,34 +3,22 @@ set -U -x MPD_HOST 172.19.138.20
|
|||
set -U fish_features stderr-nocaret qmark-noglob
|
||||
set PATH $PATH /home/kunsi/.local/bin /home/kunsi/.gem/ruby/2.6.0/bin/ /home/kunsi/.bin
|
||||
|
||||
set -U -x SSH_AUTH_SOCK $(gpgconf --list-dirs agent-ssh-socket)
|
||||
alias weechat='mosh rx300 -- tmux attach-session -d -t weechat-tmux'
|
||||
alias voc-ansible='/home/kunsi/.bin/voc-ansible'
|
||||
alias share-via-ssh='/home/kunsi/git/share-via-ssh/share-via-ssh'
|
||||
|
||||
alias tmp='cd (mktemp -d -p /home/kunsi)'
|
||||
|
||||
alias bwr='cd ~/git/bundlewrap/'
|
||||
alias cm='cd ~/git/cm/bundlewrap/'
|
||||
alias cal='cal -v -m -3'
|
||||
alias ipa='ip -brief --color=always addr show; echo; ip --color=always route show; ip -6 --color=always route show'
|
||||
alias l='ls -lAh'
|
||||
alias p='python'
|
||||
alias rm='rm --one-file-system'
|
||||
alias share-via-ssh='/home/kunsi/git/share-via-ssh/share-via-ssh'
|
||||
alias tmp='cd (mktemp -d -p /home/kunsi --suffix=.(date +%F))'
|
||||
alias v='vim -p'
|
||||
alias voc-ansible='/home/kunsi/.bin/voc-ansible'
|
||||
alias voc2gui='cd /home/kunsi/git/voctomix/ && voctogui/voctogui.py'
|
||||
alias weechat='mosh carlene.kunbox.net -- tmux attach-session -d -t weechat-tmux'
|
||||
alias wipa="watch -cn0.3 'ip --color=always -brief addr show; echo; ip --color=always route show; ip -6 --color=always route show; echo; echo; cat /etc/resolv.conf'"
|
||||
alias youtube-dl='yt-dlp --compat-options youtube-dl'
|
||||
alias l='ls -lAh'
|
||||
alias please='sudo'
|
||||
|
||||
alias lumos='mosquitto_pub -h 172.19.138.20 -t /switch/wohnzimmer/stehlampe/cmnd/POWER -m "ON"'
|
||||
alias nox='mosquitto_pub -h 172.19.138.20 -t /switch/wohnzimmer/stehlampe/cmnd/POWER -m "OFF"'
|
||||
alias coffee='mosquitto_pub -h 172.19.138.20 -t /switch/kueche/kaffeemaschine/cmnd/POWER -m "ON"'
|
||||
alias nocoffee='mosquitto_pub -h 172.19.138.20 -t /switch/kueche/kaffeemaschine/cmnd/POWER -m "OFF"'
|
||||
|
||||
alias wg_up='sudo networkctl up wg_htz-cloud_wi'
|
||||
alias wg_down='sudo networkctl down wg_htz-cloud_wi'
|
||||
alias voc_up='sudo systemctl start openvpn-client@c3voc'
|
||||
alias voc_down='sudo systemctl stop openvpn-client@c3voc'
|
||||
|
||||
alias ga.='git add .'
|
||||
alias ga='git add'
|
||||
alias gc='git commit'
|
||||
|
@ -41,16 +29,8 @@ alias gp='git push'
|
|||
alias gpu='git push -u origin HEAD'
|
||||
alias gs='git status --short'
|
||||
|
||||
alias libreoffice_present='libreoffice --impress --invisible --show'
|
||||
|
||||
set -x BW_ITEM_WORKERS 16
|
||||
set -x BW_NODE_WORKERS 16
|
||||
set -x BW_KEEPASS_FILE /home/kunsi/git/passwords/voc.kdbx
|
||||
|
||||
set -x LESS "-iRS -# 2"
|
||||
|
||||
# mollys mpd, see /etc/hosts
|
||||
set -x MPD_HOST mpd.local
|
||||
|
||||
function fish_greeting
|
||||
echo -n ""
|
||||
|
@ -67,11 +47,3 @@ end
|
|||
function config --wraps=/usr/bin/git
|
||||
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $argv;
|
||||
end
|
||||
|
||||
function cert
|
||||
echo "" | openssl s_client -connect {$argv[1]}:443
|
||||
end
|
||||
|
||||
function tomp3
|
||||
ffmpeg -i "$argv[1]" -vn -f mp3 -q:a 0 "$(basename "$argv[1]").mp3"
|
||||
end
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
__pycache__
|
||||
*.egg-info
|
|
@ -1,60 +0,0 @@
|
|||
# vim:ft=yaml
|
||||
|
||||
execute_after:
|
||||
- xset s 90 10
|
||||
- /home/kunsi/.fehbg
|
||||
- sudo rfkill unblock wifi
|
||||
|
||||
on_failure:
|
||||
- xrandr --auto
|
||||
|
||||
rules:
|
||||
- name: 'home'
|
||||
outputs_connected:
|
||||
- HDMI-A-0
|
||||
- DisplayPort-0
|
||||
configure_row:
|
||||
- DisplayPort-0
|
||||
- HDMI-A-0
|
||||
primary: eDP
|
||||
execute_after:
|
||||
- xset s off
|
||||
- sudo rfkill block wifi
|
||||
|
||||
- name: 'presentation'
|
||||
outputs_connected:
|
||||
- HDMI-A-0
|
||||
configure_row:
|
||||
- HDMI-A-0
|
||||
- eDP
|
||||
primary: eDP
|
||||
execute_after:
|
||||
- xset s off
|
||||
- systemctl --user stop redshift.service
|
||||
|
||||
- name: 'smedia'
|
||||
outputs_connected:
|
||||
- DisplayPort-0
|
||||
- DisplayPort-1
|
||||
configure_row:
|
||||
- eDP
|
||||
- DisplayPort-0
|
||||
- DisplayPort-1
|
||||
primary: DisplayPort-1
|
||||
execute_after:
|
||||
- xset s off
|
||||
- sudo light -S 100
|
||||
|
||||
- name: 'DP0'
|
||||
outputs_connected:
|
||||
- DisplayPort-0
|
||||
configure_row:
|
||||
- DisplayPort-0
|
||||
- eDP
|
||||
primary: eDP
|
||||
execute_after:
|
||||
- xset s off
|
||||
|
||||
- name: 'internal only'
|
||||
configure_single: eDP
|
||||
primary: eDP
|
42
.config/grobi/grobi.conf
Normal file
42
.config/grobi/grobi.conf
Normal file
|
@ -0,0 +1,42 @@
|
|||
# vim:ft=yaml
|
||||
|
||||
execute_after:
|
||||
- xset s 90 10
|
||||
- /home/kunsi/.fehbg
|
||||
- sudo rfkill unblock wifi
|
||||
- xrandr --output eDP1 --set "Broadcast RGB" "Full"
|
||||
|
||||
on_failure:
|
||||
- xrandr --auto
|
||||
|
||||
rules:
|
||||
- name: 'presentation'
|
||||
outputs_connected:
|
||||
- HDMI2
|
||||
configure_row:
|
||||
- HDMI2@1920x1080
|
||||
- eDP1
|
||||
primary: eDP1
|
||||
execute_after:
|
||||
- xset s off
|
||||
- systemctl --user stop redshift.service
|
||||
|
||||
- name: 'docked with dock-connector'
|
||||
outputs_connected:
|
||||
- DP2-1
|
||||
- DP2-2
|
||||
configure_row:
|
||||
- eDP1
|
||||
- DP2-2
|
||||
- DP2-1
|
||||
primary: DP2-1
|
||||
execute_after:
|
||||
- xset s off
|
||||
- sudo rfkill block wifi
|
||||
- xbacklight =100
|
||||
- xrandr --output DP2-2 --set "Broadcast RGB" "Full"
|
||||
- xrandr --output DP2-1 --set "Broadcast RGB" "Full"
|
||||
|
||||
- name: 'internal only'
|
||||
configure_single: eDP1
|
||||
primary: eDP1
|
|
@ -1,12 +1,12 @@
|
|||
set $mod Mod4
|
||||
|
||||
#font pango:B612 Regular 9
|
||||
font pango:DB Office Regular 8
|
||||
#font pango:B612 Regular 7
|
||||
font pango:DB Office Regular 9
|
||||
|
||||
floating_modifier $mod
|
||||
|
||||
bindsym $mod+Return exec kitty
|
||||
bindsym $mod+Shift+Return exec kitty --class terminal-floating -e python
|
||||
bindsym $mod+Return exec xiate
|
||||
bindsym $mod+Shift+Return exec xiate -class xiate-floating -e python
|
||||
|
||||
bindsym $mod+Shift+x kill
|
||||
|
||||
|
@ -50,7 +50,7 @@ set $ws4 "4"
|
|||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws8 "9"
|
||||
set $ws9 "9:media"
|
||||
set $ws10 "10:mail"
|
||||
|
||||
|
@ -94,11 +94,9 @@ bindsym $mod+c mode "resize"
|
|||
|
||||
default_border pixel 1
|
||||
hide_edge_borders smart
|
||||
force_display_urgency_hint 1000 ms
|
||||
focus_on_window_activation smart
|
||||
|
||||
bar {
|
||||
status_command /opt/i3pystatus/venv/bin/python ~/.config/i3pystatus/config.py
|
||||
status_command python ~/.config/i3pystatus/config.py
|
||||
position top
|
||||
tray_output primary
|
||||
workspace_buttons yes
|
||||
|
@ -108,32 +106,38 @@ for_window [window_role="pop-up"] floating enable
|
|||
for_window [class="Pavucontrol"] floating enable
|
||||
for_window [class="Gnome-calculator"] floating enable
|
||||
for_window [class="realvnc-vncviewer"] floating enable
|
||||
for_window [class="terminal-floating"] floating enable
|
||||
for_window [class="xiate-floating"] floating enable
|
||||
|
||||
workspace $ws1 output DisplayPort-0
|
||||
workspace $ws2 output DisplayPort-0
|
||||
workspace $ws3 output DisplayPort-0
|
||||
workspace $ws9 output HDMI-A-0
|
||||
workspace $ws10 output DisplayPort-0
|
||||
workspace $ws1 output DP2-2
|
||||
workspace $ws2 output DP2-1
|
||||
workspace $ws3 output DP2-2
|
||||
workspace $ws9 output eDP1
|
||||
workspace $ws10 output DP2-1
|
||||
|
||||
exec_always setxkbmap -synch
|
||||
exec_always ~/.fehbg
|
||||
exec_always sudo /home/kunsi/.bin/trackpoint-settings.sh
|
||||
exec_always xinput set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Speed" 0.8
|
||||
|
||||
exec xset s noblank && xset s 90 10 && xset -dpms
|
||||
exec xsetroot -solid "#000000"
|
||||
exec xss-lock -n /home/kunsi/.bin/notify.sh -- /home/kunsi/.bin/screenlock.sh
|
||||
#exec xinput disable 'SynPS/2 Synaptics TouchPad'
|
||||
exec xinput disable 'SynPS/2 Synaptics TouchPad'
|
||||
exec xinput disable 'ELAN Touchscreen'
|
||||
|
||||
bindsym XF86Favorites exec /home/kunsi/.bin/screenlock.sh
|
||||
#bindsym Control+$mod+l exec /home/kunsi/.bin/screenlock.sh
|
||||
bindsym XF86Tools exec /home/kunsi/.bin/screenlock.sh
|
||||
|
||||
bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+; exec wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-; exec wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindsym XF86AudioMicMute exec wpctl set-mute laptop-internal-microphone toggle
|
||||
bindsym XF86Display exec arandr
|
||||
|
||||
bindsym XF86MonBrightnessUp exec sudo light -A 5
|
||||
bindsym XF86MonBrightnessDown exec sudo light -U 5
|
||||
bindsym $mod+Prior exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
|
||||
bindsym $mod+Next exec pactl set-sink-volume @DEFAULT_SINK@ -2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle
|
||||
|
||||
bindsym XF86MonBrightnessUp exec xbacklight +5
|
||||
bindsym XF86MonBrightnessDown exec xbacklight -5
|
||||
|
||||
bindsym $mod+Print exec maim ~/screenshot_$(date +%Y-%m-%d_%H%M%S).png
|
||||
bindsym $mod+Shift+Print exec maim -i $(xdotool getactivewindow) ~/screenshot_$(date +%Y-%m-%d_%H%M%S).png
|
||||
|
|
|
@ -1,36 +1,25 @@
|
|||
from i3pystatus import Status
|
||||
|
||||
status = Status(
|
||||
logfile='/dev/stderr',
|
||||
logfile='/dev/null',
|
||||
)
|
||||
|
||||
status.register("pulseaudio",
|
||||
format="♪I {volume}%",
|
||||
format_muted="♪I -∞dB",
|
||||
step="2",
|
||||
sink="alsa_output.pci-0000_06_00.6.HiFi__hw_Generic_1__sink")
|
||||
sink="alsa_output.pci-0000_00_1f.3.analog-stereo")
|
||||
status.register("pulseaudio",
|
||||
format="♪D {volume}%",
|
||||
format_muted="♪D -∞dB",
|
||||
step="2",
|
||||
sink="@DEFAULT_SINK@")
|
||||
|
||||
#status.register("shell",
|
||||
# format="♪D {output}",
|
||||
# command="wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d: -f2",
|
||||
# interval=1)
|
||||
#status.register("shell",
|
||||
# format="{output}",
|
||||
# hints = {"markup": "pango"},
|
||||
# command="/home/kunsi/.config/i3pystatus/microphone-status.sh",
|
||||
# on_rightclick="pactl set-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source toggle",
|
||||
# interval=1)
|
||||
|
||||
status.register("backlight",
|
||||
format="{percentage}%",
|
||||
backlight="amdgpu_bl1",
|
||||
on_leftclick="sudo light -S 10",
|
||||
on_rightclick="sudo light -S 50",
|
||||
backlight="intel_backlight",
|
||||
on_leftclick="xbacklight =10",
|
||||
on_rightclick="xbacklight =50",
|
||||
interval=1)
|
||||
|
||||
status.register("shell",
|
||||
|
@ -41,9 +30,7 @@ status.register("shell",
|
|||
on_rightclick="xset s off")
|
||||
|
||||
status.register("clock",
|
||||
format="%a, %Y-%m-%d %H:%M:%S %z (W%V)")
|
||||
status.register("clock",
|
||||
format=("%Y-%m-%d %H:%M:%S UTC", "UTC"))
|
||||
format="%a, %Y-%m-%d %H:%M:%S (W%V)",)
|
||||
|
||||
status.register("battery",
|
||||
battery_ident="BAT0",
|
||||
|
@ -55,15 +42,24 @@ status.register("battery",
|
|||
"CHR": "↑",
|
||||
"FULL": "",
|
||||
})
|
||||
status.register("battery",
|
||||
battery_ident="BAT1",
|
||||
format="B1: {status}{percentage:.2f}% {remaining:%E%h:%M}",
|
||||
alert=True,
|
||||
alert_percentage=5,
|
||||
status={
|
||||
"DIS": "↓",
|
||||
"CHR": "↑",
|
||||
"FULL": "",
|
||||
})
|
||||
|
||||
status.register("load",
|
||||
format="L: {avg1}")
|
||||
status.register("amdgpu",
|
||||
format="G: {temp}°C {gpu_usage}%",
|
||||
card=1)
|
||||
format="{avg1}")
|
||||
|
||||
status.register("temp",
|
||||
format="C: {temp:.0f}°C",
|
||||
format="{temp:.0f}°C",
|
||||
hints={"markup": "pango"},
|
||||
# lm_sensors_enable=True,
|
||||
dynamic_color=True)
|
||||
|
||||
status.register("shell",
|
||||
|
@ -85,6 +81,13 @@ status.register("shell",
|
|||
on_leftclick='systemctl --user start redshift.service',
|
||||
on_rightclick='systemctl --user stop redshift.service',
|
||||
interval=1)
|
||||
status.register("shell",
|
||||
format="{output}",
|
||||
hints = {"markup": "pango"},
|
||||
command="/home/kunsi/.config/i3pystatus/touchscreen.sh",
|
||||
interval=1,
|
||||
on_leftclick="xinput enable 'ELAN Touchscreen'",
|
||||
on_rightclick="xinput disable 'ELAN Touchscreen'")
|
||||
status.register("shell",
|
||||
format="{output}",
|
||||
hints = {"markup": "pango"},
|
||||
|
@ -93,24 +96,12 @@ status.register("shell",
|
|||
on_leftclick="xinput enable 'SynPS/2 Synaptics TouchPad'",
|
||||
on_rightclick="xinput disable 'SynPS/2 Synaptics TouchPad'")
|
||||
|
||||
#status.register("wifionice", wifi_adapters=['wlan0'])
|
||||
status.register("wifionice",
|
||||
status.register("shell",
|
||||
format="{output}",
|
||||
hints = {"markup": "pango"},
|
||||
url_on_click='https://travelynx.franzi.business/s/{last_station_no}?train={train_type}%20{train_no}',
|
||||
wifi_adapters=['wlan0'],
|
||||
format_offtrain='Wann wieder Zug?',
|
||||
format_ontrain=r'{train_type} {train_no} [~ <span color="#999999">{speed}km/h</span> ]> {next_station}[ '
|
||||
r'<span color="#999999">\[{next_platform}\]</span> {arrival_time} '
|
||||
r'({arrival_in}[ | <span color="#FF0000">{delay}</span>])][ '
|
||||
r'<span color="#999999">(Net: {net_current} > \[{net_duration}\] '
|
||||
r'{net_expected})</span>]')
|
||||
#status.register("shell",
|
||||
# format="{output}",
|
||||
# hints = {"markup": "pango"},
|
||||
# command="/home/kunsi/.config/i3pystatus/ice-status.py",
|
||||
# on_leftclick="/home/kunsi/.config/i3pystatus/ice-status.py --link",
|
||||
# ignore_empty_stdout=True,
|
||||
# interval=2)
|
||||
command="/home/kunsi/.config/i3pystatus/ice-status.py",
|
||||
ignore_empty_stdout=True,
|
||||
interval=2)
|
||||
|
||||
status.register("network",
|
||||
interface="wlp4s0",
|
||||
|
@ -119,7 +110,7 @@ status.register("network",
|
|||
detect_active=True,
|
||||
freq_divisor=1000000000,
|
||||
divisor=1024,
|
||||
on_leftclick="kitty --class terminal-floating -e sudo wifi-menu",
|
||||
on_leftclick="xiate -class xiate-floating -e sudo wifi-menu",
|
||||
hints={"markup":"pango"})
|
||||
|
||||
#status.register("mpd",
|
||||
|
@ -138,7 +129,7 @@ status.register("network",
|
|||
# max_field_len=200)
|
||||
|
||||
status.register("disk",
|
||||
path="/home/kunsi",
|
||||
path="/home",
|
||||
format="{used}/{total}G",)
|
||||
|
||||
status.run()
|
||||
|
|
75
.config/i3pystatus/ice-status.py
Executable file
75
.config/i3pystatus/ice-status.py
Executable file
|
@ -0,0 +1,75 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
from datetime import datetime
|
||||
from requests import get
|
||||
from subprocess import check_output
|
||||
from sys import exit
|
||||
|
||||
|
||||
# bundlewrap.utils.text.format_duration, but trimmed down
|
||||
def format_time(seconds):
|
||||
components = []
|
||||
if seconds >= 3600:
|
||||
hours = int(seconds / 3600)
|
||||
seconds -= hours * 3600
|
||||
components.append('{}h'.format(hours))
|
||||
if seconds >= 60:
|
||||
minutes = int(seconds / 60)
|
||||
seconds -= minutes * 60
|
||||
components.append('{}m'.format(minutes))
|
||||
if not components:
|
||||
components.append('now')
|
||||
return " ".join(components)
|
||||
|
||||
|
||||
try:
|
||||
wifi_ssid = check_output("iw dev wlp4s0 link | awk '/SSID/ {print $2}'", shell=True).decode().strip().lower()
|
||||
|
||||
if wifi_ssid not in (
|
||||
'wifi@db',
|
||||
'wifionice'
|
||||
):
|
||||
exit(0)
|
||||
|
||||
now = datetime.now()
|
||||
|
||||
trip_info_req = get('https://iceportal.de/api1/rs/tripInfo/trip')
|
||||
trip_info_req.raise_for_status()
|
||||
trip_info = trip_info_req.json()['trip']
|
||||
|
||||
ice_status_req = get('https://iceportal.de/api1/rs/status')
|
||||
ice_status_req.raise_for_status()
|
||||
ice_status = ice_status_req.json()
|
||||
|
||||
next_stop_id = trip_info['stopInfo']['actualNext']
|
||||
for stop in trip_info['stops']:
|
||||
if stop['station']['evaNr'] == next_stop_id:
|
||||
if stop['timetable']['departureDelay']:
|
||||
delay = ' | <span color="#FF0000">{}</span>'.format(stop['timetable']['departureDelay'])
|
||||
else:
|
||||
delay = ''
|
||||
|
||||
arrival = datetime.fromtimestamp(stop['timetable']['actualArrivalTime']/1000)
|
||||
arrival_in = arrival - now
|
||||
|
||||
next_stop = '{} <span color="#999999">[{}]</span> {} ({}{})'.format(
|
||||
stop['station']['name'],
|
||||
stop['track']['actual'],
|
||||
arrival.strftime('%H:%M'),
|
||||
format_time(arrival_in.total_seconds()),
|
||||
delay
|
||||
)
|
||||
break
|
||||
else:
|
||||
next_stop = 'Endstation, bitte Aussteigen'
|
||||
|
||||
print('<span color="#999999">{}km/h</span> > {} <span color="#999999">(Net: {} > [{}] {})</span>'.format(
|
||||
ice_status['speed'],
|
||||
next_stop,
|
||||
ice_status['connectivity']['currentState'],
|
||||
format_time(int(ice_status['connectivity']['remainingTimeSeconds'])),
|
||||
ice_status['connectivity']['nextState'],
|
||||
))
|
||||
except Exception as e:
|
||||
print(repr(e))
|
||||
exit(0)
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
OUT="$(pactl get-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source | cut -d' ' -f2)"
|
||||
|
||||
if [ "$OUT" = "yes" ]
|
||||
then
|
||||
echo '<span color="#00FF00">M</span>'
|
||||
else
|
||||
echo '<span color="#FF0000">Microphone unmuted</span>'
|
||||
fi
|
|
@ -12,20 +12,11 @@ for line in check_output(['rfkill', '-rn']).decode('UTF-8').splitlines():
|
|||
'hard': True if hard == 'blocked' else False,
|
||||
}
|
||||
|
||||
wifi_dev = None
|
||||
for device in devices:
|
||||
if device.startswith('phy'):
|
||||
wifi_dev = device
|
||||
break
|
||||
|
||||
if not wifi_dev:
|
||||
print('No WLAN?')
|
||||
if devices['phy0']['hard']:
|
||||
wlan = '#FF0000'
|
||||
elif devices['phy0']['soft']:
|
||||
wlan = '#FF9900'
|
||||
else:
|
||||
if devices[wifi_dev]['hard']:
|
||||
wlan = '#FF0000'
|
||||
elif devices[wifi_dev]['soft']:
|
||||
wlan = '#FF9900'
|
||||
else:
|
||||
wlan = '#00FF00'
|
||||
wlan = '#00FF00'
|
||||
|
||||
print(f'<span color="{wlan}">WLAN</span>')
|
||||
print(f'<span color="{wlan}">WLAN</span>')
|
||||
|
|
|
@ -5,6 +5,8 @@ OUT="$(xset q | grep timeout | awk '{print $2}')"
|
|||
if [ "$OUT" = "0" ]
|
||||
then
|
||||
echo "OFF"
|
||||
exit 1
|
||||
else
|
||||
echo "${OUT}s"
|
||||
exit 0
|
||||
fi
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
font_size 10.0
|
||||
cursor #4d5b86
|
||||
cursor_shape block
|
||||
scrollback_lines -1
|
||||
sync_to_monitor yes
|
||||
enable_audio_bell no
|
||||
visual_bell_duration 0.1
|
||||
window_alert_on_bell yes
|
||||
|
||||
remember_window_size no
|
||||
initial_window_width 100c
|
||||
initial_window_height 30c
|
||||
|
||||
map ctrl+shift+0 change_font_size current 0
|
||||
map ctrl+shift+8 change_font_size current -2.0
|
||||
map ctrl+shift+9 change_font_size current +2.0
|
|
@ -8,19 +8,11 @@ cursor-autohide=1000
|
|||
|
||||
msg-color
|
||||
|
||||
no-audio-display
|
||||
|
||||
no-osc
|
||||
osd-on-seek=bar
|
||||
|
||||
hls-bitrate=max
|
||||
|
||||
[downmix]
|
||||
af=lavfi="pan=stereo|FL < 0.5*FC + 0.3*FLC + 0.3*FL + 0.3*BL + 0.3*SL + 0.5*LFE | FR < 0.5*FC + 0.3*FRC + 0.3*FR + 0.3*BR + 0.3*SR + 0.5*LFE",lavfi="acompressor=10"
|
||||
|
||||
[mono]
|
||||
af=lavfi=[pan=1c|c0=0.5*c0+0.5*c1]
|
||||
|
||||
[extension.gif]
|
||||
cache=no
|
||||
no-pause
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
configuration {
|
||||
modi: "drun";
|
||||
modi: "window,run,drun";
|
||||
show-icons: true;
|
||||
sidebar-mode: true;
|
||||
theme: "sidetab";
|
||||
display-window: "Window";
|
||||
display-run: "Execute";
|
||||
display-drun: "Activate";
|
||||
}
|
||||
//@theme "/usr/share/rofi/themes/sidebar.rasi"
|
||||
//@theme "/usr/share/rofi/themes/paper-float.rasi"
|
||||
//@theme "/usr/share/rofi/themes/dmenu.rasi"
|
||||
//@theme "/usr/share/rofi/themes/android_notification.rasi"
|
||||
//@theme "/usr/share/rofi/themes/Arc-Dark.rasi"
|
||||
@theme "/usr/share/rofi/themes/sidebar.rasi"
|
||||
|
|
|
@ -1 +1 @@
|
|||
/usr/lib/systemd/user/grobi.service
|
||||
/home/kunsi/.config/systemd/user/grobi.service
|
11
.config/systemd/user/grobi.service
Normal file
11
.config/systemd/user/grobi.service
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Automatically configure monitors/outputs for Xorg via RANDR
|
||||
|
||||
[Service]
|
||||
ExecStart=/home/kunsi/git/grobi/grobi watch --verbose --config=/home/kunsi/.config/grobi/grobi.conf
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -1,13 +0,0 @@
|
|||
rule = {
|
||||
matches = {
|
||||
{
|
||||
{ "node.name", "equals", "bluez_output.38_18_4C_BF_65_26.1" },
|
||||
},
|
||||
},
|
||||
apply_properties = {
|
||||
["node.description"] = "WH-1000XM3 (Franzi)",
|
||||
["node.nick"] = "bluetooth-WH-1000XM3",
|
||||
},
|
||||
}
|
||||
|
||||
table.insert(bluez_monitor.rules, rule)
|
|
@ -1,13 +0,0 @@
|
|||
rule = {
|
||||
matches = {
|
||||
{
|
||||
{ "node.name", "equals", "alsa_input.pci-0000_07_00.6.HiFi__hw_Generic_1__source" },
|
||||
},
|
||||
},
|
||||
apply_properties = {
|
||||
["node.description"] = "Laptop Headphones Microphone",
|
||||
["node.nick"] = "laptop-headphones-mic",
|
||||
},
|
||||
}
|
||||
|
||||
table.insert(alsa_monitor.rules, rule)
|
|
@ -1,13 +0,0 @@
|
|||
rule = {
|
||||
matches = {
|
||||
{
|
||||
{ "node.name", "equals", "alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source" },
|
||||
},
|
||||
},
|
||||
apply_properties = {
|
||||
["node.description"] = "Laptop internal Microphone",
|
||||
["node.nick"] = "laptop-internal-mic",
|
||||
},
|
||||
}
|
||||
|
||||
table.insert(alsa_monitor.rules, rule)
|
|
@ -1,13 +0,0 @@
|
|||
rule = {
|
||||
matches = {
|
||||
{
|
||||
{ "node.name", "equals", "alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink" },
|
||||
},
|
||||
},
|
||||
apply_properties = {
|
||||
["node.description"] = "Laptop Speakers/Headphones",
|
||||
["node.nick"] = "laptop-internal-out",
|
||||
},
|
||||
}
|
||||
|
||||
table.insert(alsa_monitor.rules, rule)
|
|
@ -1,33 +0,0 @@
|
|||
# Have service and author in the file name.
|
||||
--output '%(title)s [%(extractor)s %(id)s %(uploader_id)s].%(ext)s'
|
||||
|
||||
# Try to download live streams from the start (use --no-live-from-start to disable).
|
||||
--live-from-start
|
||||
# Wait for scheduled streams to become available, retry after 10 seconds.
|
||||
--wait-for-video 10
|
||||
|
||||
# Display progress in console title.
|
||||
--console-title
|
||||
|
||||
# Create SponsorBlock chapters.
|
||||
--sponsorblock-mark all
|
||||
|
||||
# embed some stuff
|
||||
--embed-chapters
|
||||
--embed-metadata
|
||||
--embed-subs
|
||||
--embed-thumbnail
|
||||
--video-multistreams
|
||||
--audio-multistreams
|
||||
--merge-output-format mkv
|
||||
|
||||
# The following options are basically presets for different use cases.
|
||||
|
||||
# Create a new option `--archive` that will embed all video and audio streams
|
||||
# and as much information as possible in the video as well as create a sidecar
|
||||
# file with full metadata.
|
||||
--alias archive '--write-info-json --no-clean-info-json'
|
||||
|
||||
# Create a `--mp4` option that will optimize for getting an MP4 file, for
|
||||
# sharing on the Fedi etc. `-S ext` does the heavy lifting here.
|
||||
--alias mp4 '-S ext --merge-output-format mp4'
|
2
.fehbg
2
.fehbg
|
@ -1,2 +1,2 @@
|
|||
#!/bin/sh
|
||||
feh --no-fehbg --bg-fill '/home/kunsi/Pictures/IMG_20231013_175516.jpg'
|
||||
feh --no-fehbg --bg-scale '/home/kunsi/Pictures/2021-08-28_The-Treasure_by-David-Revoy.jpg'
|
||||
|
|
|
@ -23,8 +23,3 @@
|
|||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[core]
|
||||
excludesFile = ~/.config/gitignore-global
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
default = current
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
default-cache-ttl 120
|
||||
default-cache-ttl-ssh 120
|
||||
max-cache-ttl 600
|
||||
max-cache-ttl-ssh 1800
|
||||
default-cache-ttl 2
|
||||
default-cache-ttl-ssh 5
|
||||
max-cache-ttl 2
|
||||
max-cache-ttl-ssh 30
|
||||
no-allow-external-cache
|
||||
enable-ssh-support
|
||||
ignore-cache-for-signing
|
||||
pinentry-program /usr/bin/pinentry
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
gtk-theme-name="Skeuos-Teal-Dark"
|
||||
gtk-theme-name="breeze-dark"
|
||||
|
||||
gtk-enable-animations=1
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ set imap_pass="PASSWORD"
|
|||
|
||||
set from=""
|
||||
|
||||
set folder="imaps://USERNAME@rx300.kunbox.net/"
|
||||
set smtp_url="smtp://USERNAME:PASSWORD@rx300.kunbox.net:587/"
|
||||
set folder="imaps://USERNAME@mx0.kunbox.net/"
|
||||
set smtp_url="smtp://USERNAME:PASSWORD@mx0.kunbox.net:587/"
|
||||
|
||||
set spoolfile="+INBOX"
|
||||
set record="+Sent"
|
||||
|
|
4
.muttrc
4
.muttrc
|
@ -34,11 +34,11 @@ set mailcap_path=~/.mutt/mailcap
|
|||
alternative_order text/plain text/html
|
||||
auto_view text/html
|
||||
|
||||
set index_format="%4C %Z %{%F %T %z} %-25.25L (%?l?%4l&%4c?) %s"
|
||||
set index_format="%4C %Z %{%b %d} %-25.25L (%?l?%4l&%4c?) %s"
|
||||
|
||||
set editor="vim -c 'set spell spelllang=de,en'"
|
||||
|
||||
source /usr/share/doc/neomutt/samples/gpg.rc
|
||||
source ~/.mutt/gpg.rc
|
||||
|
||||
set pgp_use_gpg_agent=yes
|
||||
set pgp_timeout=60
|
||||
|
|
59
.ssh/config
59
.ssh/config
|
@ -5,50 +5,29 @@ Host *
|
|||
|
||||
Include ~/.ssh/bwnodes
|
||||
|
||||
Host 172.19.138.10
|
||||
User root
|
||||
Host luther-netcup
|
||||
HostName 46.38.249.46
|
||||
User sub4632_80
|
||||
|
||||
Host 172.19.138.95
|
||||
User of
|
||||
Host shells
|
||||
HostName shells.entropia.de
|
||||
Port 22
|
||||
User kunsi
|
||||
|
||||
Host 2a01:4f9:6b:2d99::c0ff:ee
|
||||
User root
|
||||
Host voellerei
|
||||
HostName voellerei.club.entropia.de
|
||||
Port 22
|
||||
User entropia
|
||||
|
||||
#Host ch-jump
|
||||
# Hostname jump.chaos-at-home.org
|
||||
# Port 2342
|
||||
# User c3voc
|
||||
#
|
||||
#Host 10.73.7.*
|
||||
# ProxyJump ch-jump
|
||||
Host raeumlichkeit
|
||||
HostName raeumlichkeit.club.entropia.de
|
||||
Port 22
|
||||
User kunsi
|
||||
|
||||
Host akamai.lan.c3voc.de
|
||||
User root
|
||||
|
||||
Host cloudflare.lan.c3voc.de
|
||||
User root
|
||||
|
||||
Host fastly.lan.c3voc.de
|
||||
User root
|
||||
|
||||
Host *.lan.c3voc.de 172.19.138.10 172.19.138.117
|
||||
SetEnv TERM=xterm-256color
|
||||
# for info-beamer and openwrt
|
||||
HostKeyAlgorithms +ssh-rsa
|
||||
PubkeyAcceptedKeyTypes +ssh-rsa
|
||||
#User voc
|
||||
|
||||
Host voc-servercase-switch
|
||||
HostName 10.73.200.200
|
||||
KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
|
||||
HostKeyAlgorithms ssh-rsa
|
||||
Ciphers aes128-cbc,3des-cbc
|
||||
SetEnv TERM=xterm-256color
|
||||
User admin
|
||||
|
||||
Host proxmox-backupstorage
|
||||
HostName 2a01:4f9:6b:2d99::c0ff:ee
|
||||
User root
|
||||
Host poc
|
||||
HostName poc-gw.entropia.de
|
||||
Port 22
|
||||
User kunsi
|
||||
|
||||
Host router-remote
|
||||
HostName franzi-home.kunbox.net
|
||||
|
|
1
.vimrc
1
.vimrc
|
@ -1,4 +1,3 @@
|
|||
set ttymouse=sgr
|
||||
set number
|
||||
set lbr
|
||||
set fdc=0
|
||||
|
|
Loading…
Reference in a new issue