Remove Oh My ZSH dependency of my ZSH configuration

This commit is contained in:
Fabio Scotto di Santolo
2025-08-18 12:40:41 +02:00
parent 5e0d5ae0cf
commit 77d6198480
10 changed files with 737 additions and 150 deletions

57
zsh/.profile.d/runwm.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
# XDG Settings Basic
export XDG_CONFIG_HOME=${HOME}/.config
export XDG_DATA_HOME=${HOME}/.local/share
export XDG_CACHE_HOME=${HOME}/.local/cache
export XDG_STATE_HOME=${HOME}/.local/state
# XDG_CONFIG_HOME
export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtk-2.0/gtkrc-2.0
# Reduces crashs for some gdk apps, like evolution
# ! Do not set as global variable. Electron Apps will not start !
# export GDK_BACKEND=wayland
# Required for tray icons on waybar
export XDG_CURRENT_DESKTOP=sway
# Enable QT apps to have gtk theme
export QT_QPA_PLATFORMTHEME=qt5ct
# Force wayland on qt apps
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# Explicitly set to '96' instead of 'physical' because some apps have problems
# Looking at you nextcloud client!
# https://github.com/nextcloud/desktop/issues/1079
# https://github.com/swaywm/sway/issues/2424
export QT_WAYLAND_FORCE_DPI=96
# Make Qt apps honour DPI settings.
export QT_AUTO_SCREEN_SCALE_FACTOR=1
# Mozilla Wayland support + hardware video decoding
export MOZ_ENABLE_WAYLAND=1
export MOZ_WAYLAND_USE_VAAPI=1
# SDL
export SDL_VIDEODRIVER=wayland
# Java under Xwayland
export _JAVA_AWT_WM_NONREPARENTING=1
# Session Type for later screensharing
export XDG_SESSION_TYPE=wayland
# SSH socket
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
exec dbus-launch --exit-with-session sway
else
echo "Cannot found dbus session: Sway don't work"
fi
fi

25
zsh/.profile.d/ssh-agent.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
start_keychain() {
local ssh_key="$1"
local gpg_key="$2"
# Check if keychain is installed
if command -v keychain >/dev/null 2>&1; then
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
# Start keychain quietly with no GUI prompts for ssh agents
eval "$(keychain --quiet --nogui $ssh_key $gpg_key)"
# Get the filenames to store/lookup the environment from
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
# Source environment settings.
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
else
echo "Warning: keychain is not installed. Please install keychain to manage ssh/gpg agents."
fi
}
# start_keychain "$HOME/.ssh/id_ed25519_nymph"