1
0
mirror of https://github.com/artizirk/dotfiles.git synced 2025-06-17 11:24:14 +03:00

Compare commits

...

32 Commits

Author SHA1 Message Date
bef9896118 fix sid laptop lid on/off 2025-05-30 00:21:12 +03:00
84ed0b01b8 Enable battery empty nag 2025-05-29 13:41:04 +03:00
44cb9c112e Move systemd-resolved configuration to the end 2025-05-29 13:39:43 +03:00
a607346209 NeoVim changed vless script location 2025-04-24 15:31:30 +03:00
16c9af02ff Snapshots to create_container 2025-04-14 15:09:09 +03:00
e26a30d88e Disable Minio CLI pager 2025-04-14 15:08:25 +03:00
0bb59ae237 Add sleep blocker script 2025-04-02 10:15:47 +03:00
9a19debb44 Don't record cursor when taking a screenshot 2025-02-17 15:33:54 +02:00
45a31ffdd0 We no longer use Drata 2025-02-17 15:33:32 +02:00
4f2775b4e4 Sway changed display naming 2025-02-17 15:32:59 +02:00
09883c3d40 Switch to dulcepan sway screenshot tool 2025-01-20 14:56:00 +02:00
9515ff6317 Fixup slack wayland patch script 2024-12-18 12:16:28 +02:00
d12e19aeb6 Add create_contaier script 2024-12-03 18:40:41 +02:00
d1cdea99af Force home-office monitor layout 2024-11-04 14:39:22 +02:00
3761124be7 Fix Wayland support for apps running under systemd 2024-11-04 14:38:36 +02:00
e50989e39a Always read custom venv prompt from config file
And ignore VIRTUAL_ENV_PROMPT variable for now as it is different
between venv and virtualenv implementations:

* https://github.com/python/cpython/pull/106726
* https://github.com/pypa/virtualenv/pull/2606
2024-10-29 16:21:14 +02:00
ee48d1a87a Switch from Krakul to Messente git config 2024-10-28 16:26:23 +02:00
8101774f52 Move global git config under XDG_CONFIG_HOME 2024-10-28 16:25:43 +02:00
7b13c2aca1 Make Evolution alarms/reminders window floating 2024-10-17 10:21:29 +03:00
7b1f76aa47 Force telegram to use GTK file dialogs 2024-10-08 22:58:41 +03:00
63d1b1b493 Swayosd-server as systemd service
for automatic restarts
2024-10-08 22:57:54 +03:00
293dabc125 Run things as systemd service and cleanup 2024-10-08 22:55:43 +03:00
6a63da1134 Add drata-agent autostart 2024-08-06 14:06:25 +03:00
08e0456290 Cleanup zshrc k8s krew config 2024-07-11 11:32:33 +03:00
f5dc53aa6d Add useful git options from blog post
* https://jvns.ca/blog/2024/02/16/popular-git-config-options/
2024-07-11 11:31:48 +03:00
7d816c971b Switch to tessen pass client 2024-06-20 16:38:15 +03:00
f42b5eb4ac Switch from tvolnoti to swayosd 2024-06-15 11:26:24 +03:00
b16c433a20 Avoid fancy chars to fix swaybar height fluctuations 2024-06-12 12:28:08 +03:00
1eabf5b21f Fix T14s scroll direction 2024-06-11 19:55:26 +03:00
df06a7af7b Try to fix xdg-desktop-portal-{gtk,wrl} 2024-06-11 16:22:43 +03:00
4a87e5957f Work PC config 2024-06-11 16:22:24 +03:00
9fe7853f49 Fix Firefox Profile switcher to use correct bin
https://github.com/null-dev/firefox-profile-switcher-connector/issues/14
2024-06-11 16:14:19 +03:00
25 changed files with 339 additions and 65 deletions

136
.bin/create_container Executable file
View File

@ -0,0 +1,136 @@
#!/bin/bash
set -euo pipefail
DEFAULT_SUITE="bookworm"
BASE="/var/lib/machines"
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
function show_help {
cat <<-EOF
Usage: $0 -h | -n NAME [-s SUITE] [-t [SNAPSHOT_NAME] -r] [-d]
Create a nspanw container called NAME
-h help
-n container name
-s debian suite (default: ${DEFAULT_SUITE})
-t snapshot container
-r rollback to snapshot
-d delete container
EOF
}
while getopts 'hn:s:t:rd' flag; do
case "${flag}" in
h) show_help; exit 0;;
n) name="${OPTARG}" ;;
s) suite="${OPTARG}" ;;
t) snapshot="${OPTARG}" ;;
r) rollback=1 ;;
d) delete=1 ;;
*) echo "Unexpected option ${flag}" ;;
esac
done
SUITE=${suite:-$DEFAULT_SUITE}
if [[ -z ${name:-} ]]; then
echo "Container name is unset"
echo
show_help
exit;
else
echo "Container name is $name and suite is ${SUITE}"
fi
if [[ -n ${snapshot:-} ]]; then
dest_snapshot_name="${BASE}/.${name}_${snapshot}"
if [[ -n ${rollback:-} ]]; then
if [[ -d ${dest_snapshot_name} ]]; then
btrfs subvolume delete "${BASE}/${name}"
btrfs subvolume snapshot "${dest_snapshot_name}" "${BASE}/${name}"
exit 0
else
echo "Can't rollback as '${snapshot}' does not exist"
exit 1
fi
else
btrfs subvolume snapshot -r "${BASE}/${name}" "${dest_snapshot_name}"
exit 0
fi
fi
if [[ -n ${delete:-} ]]; then
btrfs subvolume delete "${BASE}/${name}" "${BASE}/.${name}_"*
exit 0
fi
btrfs subvolume create "${BASE}/${name}"
APT_CACHE_DIR="/var/cache/apt/archives"
if [[ -d ${APT_CACHE_DIR} ]]; then
CACHE_ARGS="--cache-dir=${APT_CACHE_DIR}"
else
CACHE_ARGS=""
fi
debootstrap ${CACHE_ARGS} "${SUITE}" "${BASE}/${name}"
mkdir -p "$BASE/$name/root/.ssh"
chmod 700 "$BASE/$name/root/.ssh"
if [ -f "/root/.ssh/authorized_keys" ]; then
cp -v /root/.ssh/authorized_keys "$BASE/$name/root/.ssh/authorized_keys"
chmod 600 "$BASE/$name/root/.ssh/authorized_keys"
echo "added ssh keys to root"
fi
if [[ -e "$BASE/$name/etc/resolv.conf" ]]; then
rm "$BASE/$name/etc/resolv.conf"
fi
if [[ -e "$BASE/$name/etc/hostname" ]]; then
rm "$BASE/$name/etc/hostname"
fi
systemd-nspawn --console=pipe -D "$BASE/$name" /bin/bash <<'EOF'
echo "Now running inside nspawn $(pwd)"
source /etc/os-release
if [[ "$ID" == "ubuntu" ]]; then
sed -i '1 s/$/ restricted universe multiverse/' /etc/apt/sources.list
elif [[ "$ID" == "debian" ]]; then
if [[ $VERSION_ID -le 11 ]]; then
sed -i '1 s/$/ contrib non-free/' /etc/apt/sources.list
else
sed -i '1 s/$/ contrib non-free non-free-firmware/' /etc/apt/sources.list
fi
fi
apt-get update
apt-get install --yes --no-install-recommends locales dbus ssh python3
echo "locales locales/default_environment_locale select en_US.UTF-8" | debconf-set-selections
echo "locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8, et_EE.UTF-8 UTF-8" | debconf-set-selections
rm /etc/locale.gen
dpkg-reconfigure --frontend noninteractive locales
ln -fs /usr/share/zoneinfo/Europe/Tallinn /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
apt install --yes --no-install-recommends neovim
update-alternatives --set editor /usr/bin/nvim
ln -sf /usr/share/nvim/runtime/macros/less.sh /usr/local/bin/vless
systemctl enable systemd-networkd
# systemd-resolved package also replaces /etc/resolv.conf with a symlink that breaks DNS in our current pre setup environment
apt install --yes --no-install-recommends libnss-resolve
# Needed by libnss-resolve config in /etc/nsswitch.conf
systemctl enable systemd-resolved
EOF

3
.bin/no-sleep Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
systemd-inhibit --what=sleep:idle --mode=block bash -c 'while true; do sleep 1; done'

View File

@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/usr/bin/env bash
udo sed -i -e 's#Exec=/usr/bin/slack %U#Exec=/usr/bin/slack\ %U\ --enable-features=WebRTCPipeWireCapturer#' /usr/share/applications/slack.desktop sudo sed -i -e 's#^Exec=/usr/bin/slack -s %U$#Exec=/usr/bin/slack\ -s\ %U --enable-features=WebRTCPipeWireCapturer,UseOzonePlatform --ozone-platform=wayland#' /usr/share/applications/slack.desktop

View File

@ -4,7 +4,7 @@ pactl subscribe | grep --line-buffered "sink" |
while read; do while read; do
VOL=$(amixer get Master | grep -Po "[0-9]+(?=%)" | tail -1) VOL=$(amixer get Master | grep -Po "[0-9]+(?=%)" | tail -1)
if [[ $VOL != $OLD_VOL ]]; then if [[ $VOL != $OLD_VOL ]]; then
tvolnoti-show $VOL swayosd-client --output-volume=+0
OLD_VOL=$VOL OLD_VOL=$VOL
fi fi
done done

View File

@ -1,4 +1,18 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""
Sway screenshot tool. Saved screenshots are also added to GTK recents list for easy access.
Uses following tools
* grim
* slurp
* https://codeberg.org/vyivel/dulcepan
* jq
Region selection uses dulcepan. It works by first freezing the screen so that popups sway visible.
Then it allows selection of the region you want to screenshot.
"""
import gi import gi
gi.require_version('Gtk', '3.0') gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GLib from gi.repository import Gtk, GLib
@ -28,16 +42,7 @@ else:
sys.exit(0) sys.exit(0)
elif sys.argv[1] == '--region': elif sys.argv[1] == '--region':
outputs = run(['swaymsg', '-t', 'get_outputs'], check=True, capture_output=True) run(["dulcepan", "-o", file_name], check=True)
for output in json.loads(outputs.stdout):
if not output.get("focused"):
continue
image = Popen(["grim", "-o", f"{output.get('name')}", '-'], stdout=PIPE)
viewer = Popen(['swayimg', '-f', '-o', f'{output.get("name")}','-'], stdin=image.stdout)
image_viewers.append(viewer)
region = run('slurp', check=True, capture_output=True)
run(["grim", '-g', '-', file_name], check=True, input=region.stdout)
elif sys.argv[1] == '--window': elif sys.argv[1] == '--window':
tree = run(['swaymsg', '-t', 'get_tree'], check=True, capture_output=True) tree = run(['swaymsg', '-t', 'get_tree'], check=True, capture_output=True)

47
.config/dulcepan.cfg Normal file
View File

@ -0,0 +1,47 @@
# An example configuration.
# RRGGBB or RRGGBBAA
unselected-color = ffffff40
selected-color = 00000000
#border-color = ffffff
border-color = 000000
#border-secondary-color = 000000
border-secondary-color = ffffff
# 0 to disable borders
border-size = 2
# Border gradient type:
# - none: only the primary border color is used
# - linear: uses a linear gradient relative to the selection
# - loop: uses a repeated linear gradient
border-gradient = none
# For "linear" gradient mode
# Counterclockwise, in degrees
gradient-angle = 45
# For "loop" gradient mode
# The distance between gradient stops
loop-step = 100
# For "linear" and "loop" gradient modes
# In milliseconds, 0 to disable animation
# With "linear" mode: the time it takes for the pattern to make one full turn
# With "loop" mode: the time it takes for the pattern to move by double the loop step
animation-duration = 1000
# If true, dulcepan will save immediately when interactive selection is stopped
# or when a whole output is selected with a mouse button.
quick-select = true
# If true, dulcepan will remember selection between runs.
# The state is stored at $XDG_CACHE_HOME/dulcepan.
persistence = false
# PNG (zlib) compression level, 0-9
png-compression = 6
# Key bindings
quit-key = Escape
save-key = Space

View File

@ -0,0 +1,2 @@
--enable-features=WaylandWindowDecorations
--ozone-platform-hint=auto

View File

@ -0,0 +1 @@
ELECTRON_OZONE_PLATFORM_HINT="auto"

View File

@ -0,0 +1 @@
LIBVA_DRIVER_NAME=i965

View File

@ -0,0 +1,2 @@
QT_QPA_PLATFORM="wayland;xcb"
QT_QPA_PLATFORMTHEME="qt5ct"

View File

@ -0,0 +1 @@
XCURSOR_SIZE=24

View File

@ -1,2 +1,3 @@
XDG_CURRENT_DESKTOP=sway XDG_CURRENT_DESKTOP=sway
GDK_BACKEND=wayland GDK_BACKEND=wayland
GDK_DEBUG=portals

View File

@ -0,0 +1 @@
{"browser_binary": "/usr/bin/firefox-developer-edition"}

View File

@ -4,6 +4,7 @@
[merge] [merge]
tool = meld tool = meld
conflictStyle = zdiff3 conflictStyle = zdiff3
keepbackup = false
[alias] [alias]
plog = log --graph --pretty=format:'%h -%d %s %n' --abbrev-commit --date=relative --branches plog = log --graph --pretty=format:'%h -%d %s %n' --abbrev-commit --date=relative --branches
@ -27,6 +28,7 @@
smtpServerPort = 587 smtpServerPort = 587
[diff] [diff]
wsErrorHighlight = all wsErrorHighlight = all
algorithm = histogram
[cola] [cola]
spellcheck = false spellcheck = false
[push] [push]
@ -52,9 +54,15 @@
fixes = Fixes: %h (\"%s\") fixes = Fixes: %h (\"%s\")
[tag] [tag]
sort = v:refname sort = v:refname
[url "ssh://git@github.com/krakul"]
insteadOf = https://github.com/krakul
[protocol "file"] [protocol "file"]
allow = always allow = always
[column] [column]
ui = auto ui = auto
[rebase]
autosquash = true
[branch]
sort = -committerdate
[fetch]
prune = true
[includeIf "gitdir:~/code/messente/"]
path = ~/code/messente/gitconfig

View File

@ -7,9 +7,9 @@ if [[ "${INSTANCE}" != "" ]]; then
ARGUMENTS="--player ${INSTANCE}" ARGUMENTS="--player ${INSTANCE}"
fi fi
ICON_PLAY="" ICON_PLAY="( |> )"
ICON_PAUSE="" ICON_PAUSE="( II )"
ICON_STOP="[]" ICON_STOP="( [] )"
CUR_ICON="" CUR_ICON=""
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then

View File

@ -1,4 +1,5 @@
configuration { configuration {
font: "Terminus 12"; font: "Terminus 12";
run-command: "bash -c 'systemd-run --user --unit=app-rofi-\$(systemd-escape \"{cmd}\")-\$RANDOM {cmd}'";
} }
@theme "/usr/share/rofi/themes/android_notification.rasi" @theme "/usr/share/rofi/themes/android_notification.rasi"

View File

@ -2,20 +2,22 @@
for_window [workspace=$chat_workspace] layout tabbed for_window [workspace=$chat_workspace] layout tabbed
for_window [app_id="evolution"] move to workspace $chat_workspace for_window [app_id="evolution"] move to workspace $chat_workspace
exec evolution for_window [app_id="org.gnome.Evolution"] move to workspace $chat_workspace
exec systemd-run --user --unit=evolution /usr/bin/evolution
for_window [app_id="org.kde.quassel"] move to workspace $chat_workspace for_window [app_id="org.kde.quassel"] move to workspace $chat_workspace
for_window [app_id="quasselclient"] move to workspace $chat_workspace for_window [app_id="quasselclient"] move to workspace $chat_workspace
exec quasselclient exec systemd-run --user --unit=quasselclient /usr/bin/quasselclient
for_window [class="Element"] move to workspace $chat_workspace for_window [class="Element"] move to workspace $chat_workspace
exec element-desktop for_window [app_id="Element"] move to workspace $chat_workspace
exec systemd-run --user --unit=element-desktop /usr/bin/element-desktop
for_window [class="Slack"] move to workspace $chat_workspace for_window [class="Slack"] move to workspace $chat_workspace
for_window [app_id="Slack"] move to workspace $chat_workspace for_window [app_id="Slack"] move to workspace $chat_workspace
exec slack --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer --ozone-platform-hint=auto exec systemd-run --user --unit=slack /usr/bin/slack --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer --ozone-platform-hint=auto
exec flatpak run com.slack.Slack exec systemd-run --user --unit=slack-flatpak /usr/bin/flatpak run com.slack.Slack
for_window [app_id="telegramdesktop"] move to workspace $chat_workspace for_window [app_id="telegramdesktop"] move to workspace $chat_workspace
for_window [app_id="org.telegram.desktop"] move to workspace $chat_workspace for_window [app_id="org.telegram.desktop"] move to workspace $chat_workspace
exec telegram-desktop exec systemd-run --user --unit=telegram /usr/bin/env XDG_CURRENT_DESKTOP=GNOME telegram-desktop

View File

@ -1,12 +0,0 @@
# Work computer
set $left_disp "Dell Inc. DELL U2719D 3PFNP83"
set $right_disp "Dell Inc. DELL U2719D JNFNP83"
set $chat_workspace 10
output $left_disp pos 0 0
output $right_disp pos 2560 0
input * {
xkb_numlock disabled
}

View File

@ -53,7 +53,7 @@ exec xrdb -load ~/.Xresources
exec mako exec mako
# Volume and Brightness notification # Volume and Brightness notification
exec tvolnoti -n -T dark #exec swayosd-server # started via systemd for Restart=always
# Monitor volume changes # Monitor volume changes
exec ~/.bin/volume_subscribe.sh exec ~/.bin/volume_subscribe.sh
@ -75,7 +75,8 @@ exec card_eventmgr config_file=.config/pam_pkcs11/card_eventmgr.conf
exec swayidle \ exec swayidle \
timeout 300 '$lockcmd' \ timeout 300 '$lockcmd' \
timeout 600 'swaymsg "output * dpms off"' \ timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \ resume 'swaymsg "output * dpms on"' \
after-resume 'swaymsg "output * enable"' \
before-sleep '$lockcmd' \ before-sleep '$lockcmd' \
lock '$lockcmd' \ lock '$lockcmd' \
unlock 'pkill -9 swaylock' unlock 'pkill -9 swaylock'
@ -86,18 +87,13 @@ for_window [class="Firefox"] inhibit_idle fullscreen
# wayland vesion # wayland vesion
for_window [app_id="firefox"] inhibit_idle fullscreen for_window [app_id="firefox"] inhibit_idle fullscreen
# Start autotiling script
#exec autotiling
# Lock screen with scroll lock button # Lock screen with scroll lock button
bindsym Scroll_Lock exec $lockcmd bindsym Scroll_Lock exec $lockcmd
# Alt+Tab window switcher # Alt+Tab window switcher
bindsym Alt+Tab exec ~/.bin/switch_window.py bindsym Alt+Tab exec ~/.bin/switch_window.py
# ClickUp Time Tracker util bindsym $mod+p exec tessen
bindsym $mod+c exec foot --app-id=cucli --title=cucli --window-size-chars=200x40 --working-directory=/home/arti/code/krakul/internal/cucli /home/arti/code/krakul/internal/cucli/venv/bin/cucli
for_window [app_id="cucli"] floating enable
# Hack that adds a emoji to all window titles so that title height is somewhat constant # Hack that adds a emoji to all window titles so that title height is somewhat constant
# You can read mode about this here https://github.com/swaywm/sway/issues/3114 # You can read mode about this here https://github.com/swaywm/sway/issues/3114
@ -261,8 +257,8 @@ bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
#brightness control #brightness control
bindsym XF86MonBrightnessUp exec brightnessctl -m set +5% | cut -d',' -f4 | cut -d'%' -f1 | xargs -n1 tvolnoti-show -s ~/.config/tvolnoti/themes/dark/display_brightness.svg bindsym XF86MonBrightnessUp exec swayosd-client --brightness=+5
bindsym XF86MonBrightnessDown exec brightnessctl -m set 5%- | cut -d',' -f4 | cut -d'%' -f1 | xargs -n1 tvolnoti-show -s ~/.config/tvolnoti/themes/dark/display_brightness.svg bindsym XF86MonBrightnessDown exec swayosd-client --brightness=-5
# Authy 2FA window # Authy 2FA window
for_window [title="^Authy$"] floating enable for_window [title="^Authy$"] floating enable
@ -277,9 +273,8 @@ for_window [class="Rofi"] floating enable
for_window [instance="Browser" window_role="About"] floating enable for_window [instance="Browser" window_role="About"] floating enable
for_window [title="Firefox - Jagamise indikaator"] floating enable for_window [title="Firefox - Jagamise indikaator"] floating enable
# Work TK app # Evolution Alarms window
for_window [title="Device Programmer"] floating enable for_window [app_id="evolution-alarm-notify"] floating enable
for_window [app_id="eu.krakul.SportScientiaTool"] floating enable
# JetBrains # JetBrains
@ -299,6 +294,7 @@ for_window [title="Microsoft Teams Notification"] move absolute position 0 px 0
for_window [title="Slack \| mini panel"] move scratchpad for_window [title="Slack \| mini panel"] move scratchpad
for_window [class="Simplicity Studio™" title="Find\/Replace "] floating enable for_window [class="Simplicity Studio™" title="Find\/Replace "] floating enable
for_window [app_id="gnome-calculator"] floating enable for_window [app_id="gnome-calculator"] floating enable
for_window [class="drata-agent"] move absolute position 2160 px 0 px
# screenshots # screenshots
bindsym Print exec ~/.bin/wscreenshot.py bindsym Print exec ~/.bin/wscreenshot.py
@ -358,6 +354,10 @@ input 1267:32:Elan_TrackPoint {
accel_profile "flat" accel_profile "flat"
} }
input 1267:12693:ELAN0676:00_04F3:3195_Touchpad {
natural_scroll enabled
}
input 1133:16534:Logitech_ERGO_M575 { input 1133:16534:Logitech_ERGO_M575 {
pointer_accel 0.5 pointer_accel 0.5
scroll_method on_button_down scroll_method on_button_down
@ -365,4 +365,8 @@ input 1133:16534:Logitech_ERGO_M575 {
} }
include /etc/sway/config.d/* include /etc/sway/config.d/*
exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway
exec systemctl --user set-environment DESKTOP_SESSION=sway
exec systemctl --user set-environment XDG_SESSION_DESKTOP=sway
exec systemctl --user set-environment XDG_SESSION_TYPE=wayland
include autostart include autostart

25
.config/sway/hiir Normal file
View File

@ -0,0 +1,25 @@
# Work computer
exec /usr/bin/swaynag-battery --threshold 5
set $left_disp "Dell Inc. DELL U2724DE C9YPBP3"
set $right_disp "Dell Inc. DELL U2724D J3XFCP3"
#set $left_disp "Dell Inc. DELL S2721DGF 8SVBP83"
output "Dell Inc. DELL S2721DGF 8SVBP83" pos 0 0
#set $right_disp "Dell Inc. DELL U2715H GH85D66Q08QS"
output "Dell Inc. DELL U2715H GH85D66Q08QS" pos 2560 0
set $chat_workspace 10
output $left_disp pos 0 0
output $left_disp mode 2560x1440@120.000Hz
output $right_disp pos 2560 0
output $right_disp mode 2560x1440@120.000Hz
set $laptop eDP-1
bindswitch lid:on output $laptop disable
bindswitch lid:off output $laptop enable
input * {
xkb_numlock disabled
}

View File

@ -5,5 +5,10 @@ exec /usr/bin/swaynag-battery --threshold 5
#set $right_disp "Unknown 0x0791 0x00000000" #set $right_disp "Unknown 0x0791 0x00000000"
set $chat_workspace 10 set $chat_workspace 10
set $laptop eDP-1
bindswitch lid:on output $laptop disable
bindswitch lid:off output $laptop enable
output $left_disp pos 0 0 output $left_disp pos 0 0
output $right_disp pos 370 1440 output $right_disp pos 370 1440

View File

@ -0,0 +1 @@
/home/arti/.config/systemd/user/swayosd-server.service

View File

@ -0,0 +1,11 @@
[Unit]
Description=SwayOSD Server
[Service]
Type=simple
ExecStart=/usr/bin/swayosd-server
Restart=always
RestartSec=10s
[Install]
WantedBy=default.target

View File

@ -0,0 +1,22 @@
[Desktop Entry]
Name=Telegram Desktop
Comment=Official desktop version of Telegram messaging app
TryExec=env XDG_CURRENT_DESKTOP=GNOME telegram-desktop
Exec=env XDG_CURRENT_DESKTOP=GNOME telegram-desktop -- %u
Icon=telegram
Terminal=false
StartupWMClass=TelegramDesktop
Type=Application
Categories=Chat;Network;InstantMessaging;Qt;
MimeType=x-scheme-handler/tg;x-scheme-handler/tonsite;
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
Actions=quit;
DBusActivatable=true
SingleMainWindow=true
X-GNOME-UsesNotifications=true
X-GNOME-SingleWindow=true
[Desktop Action quit]
Exec=env XDG_CURRENT_DESKTOP=GNOME telegram-desktop -quit
Name=Quit Telegram
Icon=application-exit

41
.zshrc
View File

@ -5,11 +5,8 @@ zmodload zsh/pcre
# Virtualenv support # Virtualenv support
function _virtual_env_prompt () { function _virtual_env_prompt () {
# new pyvenv has a seperate variable for custom prompt value
REPLY=${VIRTUAL_ENV_PROMPT+${VIRTUAL_ENV_PROMPT}}
# Try to read the prompt name form pyvenv.cfg # Try to read the prompt name form pyvenv.cfg
if [[ -z "${REPLY}" && -f "$VIRTUAL_ENV/pyvenv.cfg" ]]; then if [[ -f "$VIRTUAL_ENV/pyvenv.cfg" ]]; then
# Matches lines with following syntax # Matches lines with following syntax
# prompt = 'cool prompt' # prompt = 'cool prompt'
# prompt = "cool prompt" # prompt = "cool prompt"
@ -32,7 +29,7 @@ function _virtual_env_prompt () {
fi fi
fi fi
# support old-school virtualenv # fall back to using venv folder name as prompt name
if [[ -z "${REPLY}" ]]; then if [[ -z "${REPLY}" ]]; then
REPLY=${VIRTUAL_ENV+(${VIRTUAL_ENV:t}) } REPLY=${VIRTUAL_ENV+(${VIRTUAL_ENV:t}) }
fi fi
@ -98,14 +95,14 @@ function config {
# git based dotfiles setup end # git based dotfiles setup end
# GRML profiles # GRML profiles
zstyle ':chpwd:profiles:/home/arti/code/krakul(|/|/*)' profile krakul zstyle ':chpwd:profiles:/home/arti/code/messente(|/|/*)' profile messente
function chpwd_profile_krakul() { function chpwd_profile_messente() {
[[ ${profile} == ${CHPWD_PROFILE} ]] && return 1 [[ ${profile} == ${CHPWD_PROFILE} ]] && return 1
export GIT_AUTHOR_EMAIL="arti@krakul.eu" export GIT_AUTHOR_EMAIL="arti.zirk@messente.com"
export GIT_COMMITTER_EMAIL="arti@krakul.eu" export GIT_COMMITTER_EMAIL="arti.zirk@messente.com"
} }
function chpwd_leave_profile_krakul() { function chpwd_leave_profile_messente() {
[[ ${profile} == ${CHPWD_PROFILE} ]] && return 1 [[ ${profile} == ${CHPWD_PROFILE} ]] && return 1
unset GIT_AUTHOR_EMAIL \ unset GIT_AUTHOR_EMAIL \
@ -121,11 +118,11 @@ zstyle ':completion:*:*:git:*' user-commands subrepo:'perform git-subrepo operat
# First clear grml-zsh-config provided directory hashes # First clear grml-zsh-config provided directory hashes
hash -d -r hash -d -r
# shorten dir name in prompt # shorten dir name in prompt
hash -d krakul=~/code/krakul hash -d messente=~/code/messente
function hash_projects() { function hash_projects() {
# hash everything under krakul projects # hash everything under messente projects
local project_folder local project_folder
for project_folder in ~/code/krakul/*; do for project_folder in ~/code/messente/*; do
hash -d "${project_folder:t}"="${project_folder}" hash -d "${project_folder:t}"="${project_folder}"
done done
unset project_folder unset project_folder
@ -251,19 +248,27 @@ else
ruby_gem_user_dir='' ruby_gem_user_dir=''
fi fi
# kubectl plugin manager Krew
export KREW_ROOT="~/.config/krew"
if [[ -d "${KREW_ROOT}/bin" ]]; then
krew_bin_path="${KREW_ROOT}/bin"
else
krew_bin_path=''
fi
# ZSH allows $PATH to be used as an array # ZSH allows $PATH to be used as an array
path=( path=(
~/.bin ~/.bin
~/.local/bin ~/.local/bin
${ruby_gem_user_dir}
${krew_bin_path}
/usr/bin/site_perl /usr/bin/site_perl
/usr/bin/vendor_perl /usr/bin/vendor_perl
/usr/bin/core_perl /usr/bin/core_perl
"${ruby_gem_user_dir}"
$path $path
) )
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
HISTSIZE=100000 HISTSIZE=100000
SAVEHIST=100000 SAVEHIST=100000
@ -314,6 +319,8 @@ function ssh {
# i don't like that systemd by default uses a pager # i don't like that systemd by default uses a pager
export SYSTEMD_PAGER='' export SYSTEMD_PAGER=''
# Minio CLI is also stupid
export MC_DISABLE_PAGER=1
# set man max width # set man max width
export MANWIDTH=80 export MANWIDTH=80
@ -328,7 +335,7 @@ fi
# https://neovim.io/doc/user/various.html#less # https://neovim.io/doc/user/various.html#less
function vless { function vless {
/usr/share/nvim/runtime/macros/less.sh $@ /usr/share/nvim/runtime/scripts/less.sh $@
} }
# If running under windows with pageagent then use it # If running under windows with pageagent then use it