diff --git a/config/.config/env b/config/.config/env index 93bc524..6323512 100755 --- a/config/.config/env +++ b/config/.config/env @@ -1,4 +1,3 @@ -#!/bin/sh export EDITOR="nvim" export TERMINAL="kitty" export LANG=en_US.UTF-8 diff --git a/env/.config/environment.d/10-base.conf b/env/.config/environment.d/10-base.conf new file mode 100644 index 0000000..6e789ca --- /dev/null +++ b/env/.config/environment.d/10-base.conf @@ -0,0 +1,9 @@ +EDITOR=nvim +TERMINAL=kitty +LANG=en_US.UTF-8 +XDG_CONFIG_HOME=%h/.config +XDG_CACHE_HOME=%h/.cache +XDG_DATA_HOME=%h/.local/share +XDG_STATE_HOME=%h/.local/state +ZDOTDIR=%h/.config/zsh + diff --git a/local-bin/.local/bin/stowme b/local-bin/.local/bin/stowme new file mode 100755 index 0000000..fb13d8f --- /dev/null +++ b/local-bin/.local/bin/stowme @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +set -e + +DOTFILES_REPO=~/dotfiles +DRYRUN=0 + +# Parseo de dry-run +if [[ "$1" == "--dry-run" || "$1" == "-n" ]]; then + DRYRUN=1 + shift +fi + +if [ "$#" -ne 2 ]; then + echo "Uso: $0 [--dry-run] " + echo "Ejemplo: $0 .zshrc zsh" + exit 1 +fi + +SRC_ORIGINAL="$1" +SUBDIR="$2" + +# Obtener path absoluto del archivo origen +SRC="$(realpath "$SRC_ORIGINAL")" + +# Obtener nombre relativo (ej: .zshrc o config/nvim/init.vim) +BASENAME=$(basename "$SRC_ORIGINAL") +DST_DIR="$DOTFILES_REPO/$SUBDIR" +DST="$DST_DIR/$BASENAME" + +if [ ! -e "$SRC" ]; then + echo "❌ El archivo $SRC no existe." + exit 1 +fi + +if [ "$DRYRUN" -eq 1 ]; then + echo "=== DRY RUN ===" + echo "📁 Crear directorio si no existe: $DST_DIR" + echo "📦 Mover: $SRC → $DST" + echo "🔗 Ejecutar: (cd $DOTFILES_REPO && stow -nv $SUBDIR)" +else + echo "📁 Creando directorio: $DST_DIR" + mkdir -p "$DST_DIR" + + echo "📦 Moviendo archivo: $SRC → $DST" + mv "$SRC" "$DST" + + echo "🔗 Ejecutando stow" + cd "$DOTFILES_REPO" + stow "$SUBDIR" + + echo "✅ Listo: $BASENAME stoweado." +fi diff --git a/sway/.config/sway/config b/sway/.config/sway/config index 0df1b0e..ad90336 100644 --- a/sway/.config/sway/config +++ b/sway/.config/sway/config @@ -119,7 +119,6 @@ bindsym { $mod+c kill $mod+f fullscreen toggle $mod+space floating toggle - $mod+a focus parent # Layout $mod+s layout stacking @@ -189,13 +188,13 @@ bindsym $mod+Shift+u exec --no-startup-id $term --class="uy.com.mzunino" # Other Special Bindings bindsym { - $mod+g exec --no-startup-id gromit-mpx -t 0 F4 exec switch-windows $mod+r exec --no-startup-id ~/.bin/wlrecord.sh $mod+p exec --no-startup-id grim -g "$(slurp -d)" - | swappy -f - $mod+shift+p exec --no-startup-id ~/.bin/screenshot-upload $mod+F5 exec --no-startup-id ~/.bin/pause-notifications $mod+Escape exec ~/.bin/lock.sh + $mod+shift+d exec ~/.local/bin/satty-window } # 5. Multimedia Keys @@ -305,30 +304,17 @@ output * adaptive_sync off exec { ~/.bin/randwall ~/.bin/waybar.sh - - # System services - lxsession includes polkit - lxsession - - # System tray applets - blueman-applet - nm-applet - - # Background services - easyeffects --gapplication-service - swaync - wlsunset -l -34.9 -L -56.2 -t 4500 -g 0.9 - - # Applications $term --class="uy.com.mzunino" slack davmail betterbird - legcord - - # Browser - using gtk-launch instead of BROWSER variable zen-browser - # Commented out for reference - # gtk-launch correo - swayidle -w + /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 + blueman-applet + nm-applet + swaync + wlsunset -l -34.9 -L -56.2 -t 4500 -g 0.9 + easyeffects --gapplication-service } + diff --git a/zsh/.config/zsh/opts.zsh b/zsh/.config/zsh/opts.zsh index 341bd0f..543a122 100644 --- a/zsh/.config/zsh/opts.zsh +++ b/zsh/.config/zsh/opts.zsh @@ -32,3 +32,5 @@ export FZF_DEFAULT_COMMAND='fd --type f' export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 export COREPACK_ENABLE_NETWORK_RESOLUTION=1 export COREPACK_ENABLE_STRICT_VERIFICATION=0 +export MANPAGER="nvim +Man!" + diff --git a/zsh/.zprofile b/zsh/.zprofile new file mode 100644 index 0000000..4fc56ac --- /dev/null +++ b/zsh/.zprofile @@ -0,0 +1,27 @@ +# === Variables específicas para sesión gráfica (Wayland/Sway) === +export ZDOTDIR=~/.config/zsh +export MOZ_ENABLE_WAYLAND=1 +export QT_QPA_PLATFORM=wayland-egl +export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 +export QT_QPA_PLATFORMTHEME=qt5ct +export QT_STYLE_OVERRIDE=kvantum +export CLUTTER_BACKEND=wayland +export GDK_BACKEND=wayland +export ECORE_EVAS_ENGINE=wayland_egl +export ELM_ENGINE=wayland_wgl +export SDL_VIDEODRIVER=wayland +export _JAVA_AWT_WM_NONREPARENTING=1 +export XDG_CURRENT_DESKTOP=sway +export XDG_SESSION_TYPE=wayland + +unset SSH_AGENT_PID +if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then + export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" +fi +export GPG_TTY=$(tty) +gpg-connect-agent updatestartuptty /bye >/dev/null + +if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then + exec sway +fi + diff --git a/zsh/.zshenv b/zsh/.zshenv index 0c33138..ac87eee 100644 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -1,4 +1,28 @@ -source ~/.config/env +export EDITOR="nvim" +export TERMINAL="kitty" +export LANG=en_US.UTF-8 -# If running from tty1 start sway -[ "$(tty)" = "/dev/tty1" ] && exec dbus-run-session sway +# XDG Base Directory Spec +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" +export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" +export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" +export ZDOTDIR=${ZDOTDIR:-$XDG_CONFIG_HOME/zsh} + +# Configuración de programas basada en XDG +export WAKATIME_HOME=$XDG_CONFIG_HOME/wakatime +export ZSH_WAKATIME_BIN=$XDG_CONFIG_HOME/wakatime/.wakatime/wakatime-cli +export W3M_DIR=$XDG_DATA_HOME/w3m +export RANDFILE=$XDG_CACHE_HOME/.rnd +export SOLARGRAPH_CACHE=$XDG_CACHE_HOME/solargraph +export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc +export NODE_REPL_HISTORY=$XDG_DATA_HOME/node_repl_history +export GRADLE_USER_HOME=$XDG_DATA_HOME/gradle +export GOPATH=$XDG_DATA_HOME/go +export DOCKER_CONFIG=$XDG_CONFIG_HOME/docker +export CARGO_HOME=$XDG_DATA_HOME/cargo +export HISTFILE=${XDG_STATE_HOME}/bash/history +export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" +export WGETRC="$XDG_CONFIG_HOME/wgetrc" +export JAVA_HOME="/usr/lib/jvm/default" +export PATH="$HOME/.local/bin:$PATH"