Compare commits

...

58 Commits
main ... main

Author SHA1 Message Date
Franzi 6fb300621b
Auto-commit kunsi-p14s.kunbox.net 2024-03-23 12:52:38 2024-03-23 12:52:38 +01:00
Franzi ff1b8f2449
Auto-commit kunsi-p14s.kunbox.net 2024-03-23 12:52:13 2024-03-23 12:52:13 +01:00
Franzi 0184d9e183
Auto-commit kunsi-p14s.kunbox.net 2024-03-01 20:36:09 2024-03-01 20:36:09 +01:00
Franzi 393c9b31a4
Auto-commit kunsi-p14s.kunbox.net 2024-03-01 20:34:58 2024-03-01 20:34:59 +01:00
Franzi 6899ba8fd2
Auto-commit kunsi-p14s.kunbox.net 2023-11-11 14:23:59 2023-11-11 14:23:59 +01:00
Franzi e7371b3e83
stuff 2023-01-22 15:58:23 +01:00
Franzi 0083bc65b7
pipewire stuff 2023-01-22 15:58:06 +01:00
Franzi fd005e4585
feh: new background 2022-09-25 18:31:35 +02:00
Franzi 4434d2ab2b
mutt: fix some options 2022-09-25 18:31:08 +02:00
Franzi bfbdb70f4c
i3: switch terminal to alacritty, add second clock 2022-09-25 18:30:18 +02:00
Franzi 67b24fb663
alacritty: disable window decorations 2022-09-25 18:29:51 +02:00
Franzi 391bc96f7d
i3pystatus uses native wifionice module now 2022-08-08 08:12:20 +02:00
Franzi 910d8b91d0
git: auto setup remotes 2022-08-08 08:11:57 +02:00
Franzi 8ef0e8835b
voc uses bundlewrap now 2022-08-08 08:11:31 +02:00
Franzi fc772c25a0
give alacritty a try 2022-08-08 08:09:52 +02:00
Franzi 98a1a1ea64
i3pystatus: add amdgpu and wifionice modules 2022-07-06 08:31:05 +02:00
Franzi 2957373488
i3pystatus: try to use scheduledArrivalTime if actual arrival time does not exist 2022-07-03 14:08:12 +02:00
Franzi e486f477bb
i3pystatus: make travelynx url configurable to user 2022-07-02 18:30:50 +02:00
Franzi cd6ada85d9
i3pystatus: add magic link option to check in to travelynx 2022-07-02 15:56:49 +02:00
Franzi 92280706ee
Auto-commit kunsi-p14s.kunbox.net 2022-06-05 12:28:01 +02:00
Franzi 438e7441fe
add global gitignore 2022-06-05 12:18:43 +02:00
Franzi 57c5e442a9
i3pystatus: fix Exception on empty arrival time 2022-03-26 18:19:39 +01:00
Franzi 9f83f9e908
ssh: add afra-{open,close} 2022-03-26 13:31:35 +01:00
Franzi 5a5e6231d1
i3pystatus: fix disk space usage display 2022-03-26 13:31:13 +01:00
Franzi 352a35bf55
i3: use XF86Favorites for locking the screen 2022-03-26 13:30:45 +01:00
Franzi 7c544daf0e
dunst/i3: use DB Office Regular 9pt 2022-03-26 13:30:17 +01:00
Franzi b89bf2f691
backup-and-update-system: run pacdiff after update 2022-03-26 13:29:29 +01:00
Franzi bd8c68235e
i3pystatus/ice-status: only show net info if we actually have information 2022-03-19 10:31:01 +01:00
Franzi b295fd359a
i3pystatus: fix wifi device detection 2022-03-06 18:05:56 +01:00
Franzi b170187208
add abdce config 2022-03-05 14:13:35 +01:00
Franzi d93735a60c
feh: new background 2022-03-01 06:47:02 +01:00
Franzi a4406b81e2
grobi: add configuration for DisplayPort5+6
Sometimes after suspending, the docked displays will get detected
as DP5+6 instead of 3+4
2022-03-01 06:46:37 +01:00
Franzi 83797204b3
fish: add alias for rm --one-file-system 2022-03-01 06:45:20 +01:00
Franzi 8f11b1320b
backup-and-update-system: remove unneeded and outdated backup_ssh variable 2022-03-01 06:44:44 +01:00
Franzi f0bde065fa
add kitty config 2022-02-14 20:49:55 +01:00
Franzi 5c85dcdbf6
mute correct source/sink when locking 2022-02-14 20:18:44 +01:00
Franzi 0599466e2c
add i3bar indicator for microphone status 2022-02-14 20:17:20 +01:00
Franzi 0a9ca8b889
moar new computer 2022-02-14 20:05:39 +01:00
Franzi f23e8f5e65
new computer, who dis? 2022-02-13 08:47:44 +01:00
Franzi f453eed9e0
i3: persist trackpoint settings 2022-01-15 08:16:18 +01:00
Franzi 86ac556225
ssh: proxmox-backupstorage changed ips 2022-01-15 06:32:19 +01:00
Franzi a4ec8c6660
i3: some more options 2022-01-15 06:31:55 +01:00
Franzi 6b222023c8
backup-and-update-system: use pacman input 2022-01-15 06:31:29 +01:00
Franzi dd9302c48e
fish: add date to temp dirs 2022-01-09 08:14:29 +01:00
Franzi 8a54702823
backup-and-update-system: fix rotation 2022-01-09 08:14:05 +01:00
Franzi 3fa132b42a
ssh: add qzwi-backup 2022-01-06 19:23:42 +01:00
Franzi f721f26ef2
backup-and-update-system: use new rotating mechanism 2022-01-06 19:22:44 +01:00
Franzi e2ec525831
ssh: remove some leftover hosts 2022-01-04 18:09:31 +01:00
Franzi b52bb09713
backup-and-update-system: move to new backup server 2022-01-04 18:04:22 +01:00
Franzi 60b069259b
mpv: add downmix and mono profiles 2021-12-30 16:18:36 +01:00
Franzi 928edb1a9d
i3: fix workspace 8 naming 2021-12-30 16:18:18 +01:00
Franzi 0afb0abb3c
switch to yt-dlp 2021-12-30 16:17:50 +01:00
Franzi 149df0bc97
backup-and-update-system: add missing newline 2021-12-30 16:17:29 +01:00
Franzi 28ac266087
ssh: add qzwi 2021-12-22 09:05:01 +01:00
Franzi defa59dfe2
ice-status: fix int conversion 2021-12-10 15:53:20 +01:00
Franzi 88ed4d22f0
i3pystatus/ice-status.py: fix error when seconds is None
As recommended by vonbirne in kunsi/dotfiles#2
2021-12-09 10:45:43 +01:00
vonbirne 239d003192 fix some bugs (#1)
* change base url of api requests because the cert for portal.imice.de expired some weeks ago

* cast arguments of format_time() to int because it threw a type error
** there might be nicer solutions

Co-authored-by: Von Birne <>
Reviewed-on: kunsi/dotfiles#1
Co-authored-by: vonbirne <vonbirne@noreply.git.franzi.business>
Co-committed-by: vonbirne <vonbirne@noreply.git.franzi.business>
2021-12-05 14:31:53 +00:00
Franzi 27a5932bcc
update some stuff 2021-11-30 18:46:31 +01:00
35 changed files with 389 additions and 281 deletions

6
.abcde.conf Normal file
View File

@ -0,0 +1,6 @@
CDDBMETHOD=cdtext,musicbrainz
FLACENCODERSYNTAX=default
FLAC=flac
CDROM=/dev/sr0
OUTPUTTYPE=flac
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}_${TRACKFILE}'

View File

@ -1,50 +1,23 @@
#!/bin/sh
#!/bin/bash
set -euo pipefail
set -x
set -xeuo pipefail
# Push some git repos
pass git push
git --git-dir=$HOME/.cfg/ --work-tree=$HOME commit -am "Auto-commit $(hostnamectl --static) $(date '+%F %T')"
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 || true
git -C "$dir" fetch --all || true
done
# Do a backup.
(
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
)
sudo /usr/local/bin/generate-backup-with-retries
printf '\a'
# Do updates
sudo pacman -Syu --noconfirm
sudo pacman -Syu
sudo DIFFPROG='diff -u --color' pacdiff

View File

@ -1,3 +1,3 @@
#!/bin/bash
echo 'meowww?' | osd_cat --pos middle --align center --delay 9 -O 15 -f '-*-dejavu sans-*-*-*-*-120-200-*-*-*-*-*-*'
notify-send --expire-time=9000 --app-name=i3lock "screen lock will activate shortly"

View File

@ -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) < 100:
if int(percent) > 3 and int(percent) < 100:
print(f' sink {sink_id} speaker {speaker} at {percent} % volume', flush=True)
needs_adjusting = True

View File

@ -5,8 +5,8 @@ tmpbg="/tmp/lock_$(whoami).png"
xset s noblank
xset s 90 10
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
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
i3lock -e -t -i /home/kunsi/Pictures/laptop_unbenutzbar.png

3
.bin/trackpoint-settings.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
xinput set-prop 'TPPS/2 Elan TrackPoint' 321 0.7

View File

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

View File

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

View File

@ -85,7 +85,7 @@
### Text ###
font = Monospace 8
font = pango:DB Office Regular 9
# 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 = full
markup = no
# 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 = right
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.

View File

@ -3,22 +3,33 @@ 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
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)'
set -U -x SSH_AUTH_SOCK $(gpgconf --list-dirs agent-ssh-socket)
alias bwr='cd ~/git/bundlewrap/'
alias v='vim -p'
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 please='sudo'
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 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'
@ -29,8 +40,14 @@ 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
# mollys mpd, see /etc/hosts
set -x MPD_HOST mpd.local
function fish_greeting
echo -n ""

2
.config/gitignore-global Normal file
View File

@ -0,0 +1,2 @@
__pycache__
*.egg-info

60
.config/grobi.conf Normal file
View File

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

View File

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

View File

@ -1,12 +1,12 @@
set $mod Mod4
#font pango:B612 Regular 7
font pango:DB Office Regular 9
#font pango:B612 Regular 9
font pango:DB Office Regular 8
floating_modifier $mod
bindsym $mod+Return exec xiate
bindsym $mod+Shift+Return exec xiate -class xiate-floating -e python
bindsym $mod+Return exec kitty
bindsym $mod+Shift+Return exec kitty --class terminal-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 "9"
set $ws8 "8"
set $ws9 "9:media"
set $ws10 "10:mail"
@ -94,9 +94,11 @@ 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 python ~/.config/i3pystatus/config.py
status_command /opt/i3pystatus/venv/bin/python ~/.config/i3pystatus/config.py
position top
tray_output primary
workspace_buttons yes
@ -106,38 +108,31 @@ 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="xiate-floating"] floating enable
for_window [class="terminal-floating"] floating enable
workspace $ws1 output DP2-2
workspace $ws2 output DP2-1
workspace $ws3 output DP2-2
workspace $ws9 output eDP1
workspace $ws10 output DP2-1
workspace $ws1 output DisplayPort-0
workspace $ws2 output HDMI-A-0
workspace $ws3 output DisplayPort-0
workspace $ws10 output HDMI-A-0
exec_always setxkbmap -synch
exec_always ~/.fehbg
exec_always xinput set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Speed" 0.8
exec_always sudo /home/kunsi/.bin/trackpoint-settings.sh
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 'ELAN Touchscreen'
#bindsym Control+$mod+l exec /home/kunsi/.bin/screenlock.sh
bindsym XF86Tools exec /home/kunsi/.bin/screenlock.sh
bindsym XF86Favorites exec /home/kunsi/.bin/screenlock.sh
bindsym XF86Display exec arandr
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 $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 XF86MonBrightnessUp exec sudo light -A 5
bindsym XF86MonBrightnessDown exec sudo light -U 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

View File

@ -1,25 +1,36 @@
from i3pystatus import Status
status = Status(
logfile='/dev/null',
logfile='/dev/stderr',
)
status.register("pulseaudio",
format="♪I {volume}%",
format_muted="♪I -∞dB",
step="2",
sink="alsa_output.pci-0000_00_1f.3.analog-stereo")
sink="alsa_output.pci-0000_06_00.6.HiFi__hw_Generic_1__sink")
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="intel_backlight",
on_leftclick="xbacklight =10",
on_rightclick="xbacklight =50",
backlight="amdgpu_bl1",
on_leftclick="sudo light -S 10",
on_rightclick="sudo light -S 50",
interval=1)
status.register("shell",
@ -30,7 +41,9 @@ status.register("shell",
on_rightclick="xset s off")
status.register("clock",
format="%a, %Y-%m-%d %H:%M:%S (W%V)",)
format=("%a, %Y-%m-%d %H:%M:%S %z (W%V)", "Europe/Berlin"))
status.register("clock",
format=("%Y-%m-%d %H:%M:%S UTC", "UTC"))
status.register("battery",
battery_ident="BAT0",
@ -42,22 +55,13 @@ 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="{avg1}")
#status.register("amdgpu",
# format="G: {temp}°C {gpu_usage}%")
status.register("temp",
format="{temp:.0f}°C",
format="C: {temp:.0f}°C",
hints={"markup": "pango"},
# lm_sensors_enable=True,
dynamic_color=True)
@ -81,13 +85,6 @@ 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"},
@ -96,12 +93,24 @@ status.register("shell",
on_leftclick="xinput enable 'SynPS/2 Synaptics TouchPad'",
on_rightclick="xinput disable 'SynPS/2 Synaptics TouchPad'")
status.register("shell",
format="{output}",
#status.register("wifionice", wifi_adapters=['wlan0'])
status.register("wifionice",
hints = {"markup": "pango"},
command="/home/kunsi/.config/i3pystatus/ice-status.py",
ignore_empty_stdout=True,
interval=2)
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='{train_type} {train_no} [~ <span color="#999999">{speed}km/h</span> ]> {next_station}[ '
'<span color="#999999">\[{next_platform}\]</span> {arrival_time} '
'({arrival_in}[ | <span color="#FF0000">{delay}</span>])][ '
'<span color="#999999">(Net: {net_current} > \[{net_duration}\] '
'{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)
status.register("network",
interface="wlp4s0",
@ -110,7 +119,7 @@ status.register("network",
detect_active=True,
freq_divisor=1000000000,
divisor=1024,
on_leftclick="xiate -class xiate-floating -e sudo wifi-menu",
on_leftclick="kitty --class terminal-floating -e sudo wifi-menu",
hints={"markup":"pango"})
#status.register("mpd",
@ -129,7 +138,7 @@ status.register("network",
# max_field_len=200)
status.register("disk",
path="/home",
path="/home/kunsi",
format="{used}/{total}G",)
status.run()

View File

@ -1,75 +0,0 @@
#!/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://portal.imice.de/api1/rs/tripInfo/trip')
trip_info_req.raise_for_status()
trip_info = trip_info_req.json()['trip']
ice_status_req = get('https://portal.imice.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(ice_status['connectivity']['remainingTimeSeconds']),
ice_status['connectivity']['nextState'],
))
except Exception as e:
print(repr(e))
exit(0)

View File

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

View File

@ -12,11 +12,20 @@ for line in check_output(['rfkill', '-rn']).decode('UTF-8').splitlines():
'hard': True if hard == 'blocked' else False,
}
if devices['phy0']['hard']:
wlan = '#FF0000'
elif devices['phy0']['soft']:
wlan = '#FF9900'
else:
wlan = '#00FF00'
wifi_dev = None
for device in devices:
if device.startswith('phy'):
wifi_dev = device
break
print(f'<span color="{wlan}">WLAN</span>')
if not wifi_dev:
print('No WLAN?')
else:
if devices[wifi_dev]['hard']:
wlan = '#FF0000'
elif devices[wifi_dev]['soft']:
wlan = '#FF9900'
else:
wlan = '#00FF00'
print(f'<span color="{wlan}">WLAN</span>')

View File

@ -5,8 +5,6 @@ OUT="$(xset q | grep timeout | awk '{print $2}')"
if [ "$OUT" = "0" ]
then
echo "OFF"
exit 1
else
echo "${OUT}s"
exit 0
fi

16
.config/kitty/kitty.conf Normal file
View File

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

View File

@ -13,6 +13,12 @@ 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

View File

@ -1,9 +1,14 @@
configuration {
modi: "window,run,drun";
modi: "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"

View File

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

View File

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

View File

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

View File

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

View File

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

2
.fehbg
View File

@ -1,2 +1,2 @@
#!/bin/sh
feh --no-fehbg --bg-scale '/home/kunsi/Pictures/2021-08-28_The-Treasure_by-David-Revoy.jpg'
feh --no-fehbg --bg-fill '/home/kunsi/Pictures/IMG_20231013_175516.jpg'

View File

@ -23,3 +23,7 @@
[init]
defaultBranch = main
[core]
excludesFile = ~/.config/gitignore-global
[push]
autoSetupRemote = true

View File

@ -1,7 +1,8 @@
default-cache-ttl 2
default-cache-ttl-ssh 5
max-cache-ttl 2
max-cache-ttl-ssh 30
default-cache-ttl 120
default-cache-ttl-ssh 120
max-cache-ttl 600
max-cache-ttl-ssh 1800
no-allow-external-cache
enable-ssh-support
ignore-cache-for-signing
pinentry-program /usr/bin/pinentry

View File

@ -1,4 +1,4 @@
gtk-theme-name="breeze-dark"
gtk-theme-name="Skeuos-Teal-Dark"
gtk-enable-animations=1

View File

@ -7,8 +7,8 @@ set imap_pass="PASSWORD"
set from=""
set folder="imaps://USERNAME@mx0.kunbox.net/"
set smtp_url="smtp://USERNAME:PASSWORD@mx0.kunbox.net:587/"
set folder="imaps://USERNAME@rx300.kunbox.net/"
set smtp_url="smtp://USERNAME:PASSWORD@rx300.kunbox.net:587/"
set spoolfile="+INBOX"
set record="+Sent"

View File

@ -34,11 +34,11 @@ set mailcap_path=~/.mutt/mailcap
alternative_order text/plain text/html
auto_view text/html
set index_format="%4C %Z %{%b %d} %-25.25L (%?l?%4l&%4c?) %s"
set index_format="%4C %Z %{%F %T %z} %-25.25L (%?l?%4l&%4c?) %s"
set editor="vim -c 'set spell spelllang=de,en'"
source ~/.mutt/gpg.rc
source /usr/share/doc/neomutt/samples/gpg.rc
set pgp_use_gpg_agent=yes
set pgp_timeout=60

View File

@ -5,29 +5,71 @@ Host *
Include ~/.ssh/bwnodes
Host luther-netcup
HostName 46.38.249.46
User sub4632_80
Host 172.19.138.10
User root
Host shells
HostName shells.entropia.de
Port 22
User kunsi
Host 172.19.138.95
User of
Host mixer191.lan.c3voc.de
Hostname 10.73.191.1
Host encoder191.lan.c3voc.de
Hostname 10.73.191.3
Host ch-jump
Hostname jump.chaos-at-home.org
Port 2342
User c3voc
Host 10.73.7.*
ProxyJump ch-jump
Host wrt194
Hostname 178.250.162.46
User root
Localforward 127.0.0.1:8080 127.0.0.1:80
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-dss,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 voellerei
HostName voellerei.club.entropia.de
Port 22
User entropia
Host raeumlichkeit
HostName raeumlichkeit.club.entropia.de
Port 22
User kunsi
Host poc
HostName poc-gw.entropia.de
Port 22
User kunsi
Host router-remote
HostName franzi-home.kunbox.net
Host afra-open
HostName 172.23.42.69
User open
Host afra-close
HostName 172.23.42.69
User close

1
.vimrc
View File

@ -1,3 +1,4 @@
set ttymouse=sgr
set number
set lbr
set fdc=0