Compare commits

...

34 Commits

Author SHA1 Message Date
de535944f3 feat(sway): add f13-f24 input and bind mic mute 2026-02-16 10:09:58 +01:00
6e56e1d203 fix(git): includeif config location and syntax 2026-02-11 19:02:04 +01:00
5721cebb57 feat(sway): update BoltLauncher for_window rule 2026-02-11 19:00:42 +01:00
15e72a654d feat(zsh): add git push origin alias gpo 2026-02-10 08:36:54 +01:00
8864557b02 feat(sway): add swayfx theming 2026-02-02 18:28:39 +01:00
f9da29cc0d feat(sway): consistent border theming 2026-02-02 18:28:04 +01:00
0cbd1bf856 chore(sway): format autostart file 2026-02-02 12:11:58 +01:00
c905c4cdb6 feat(sway): add multi host multi output support 2026-01-31 01:23:29 +01:00
6f11a13f1f feat(sway): reorganize the config 2026-01-31 01:07:03 +01:00
cc7511a954 feat(flameshot): add initial config 2026-01-30 10:24:20 +01:00
0c2dc97daf feat(swayidle): keep monitors on for 10min 2026-01-30 10:23:15 +01:00
79c6004043 feat(sway): add wlsunset and flameshot 2026-01-30 10:22:39 +01:00
3753805996 feat(sway): add osrs window rules 2026-01-29 20:47:57 +01:00
02be4c6a24 feat(swaylock): invert ring colors 2026-01-29 20:47:36 +01:00
91275b9688 feat(git): add dumps to gitignore 2026-01-29 20:45:59 +01:00
29bda01e31 fix(git): import correct config for flare 2026-01-29 20:45:20 +01:00
a41d24ab47 feat(sway): add wob 2026-01-26 10:55:09 +01:00
5c8f94abd6 feat(swayidle): lock screen after 300s 2026-01-23 10:02:07 +01:00
58e9f2cc91 feat(swaylock): use european date format 2026-01-23 00:39:48 +01:00
654916042a feat(swayidle): add initial swayidle config 2026-01-22 00:06:40 +01:00
bd1c560b03 feat(swaylock): add initial swaylock config 2026-01-22 00:06:19 +01:00
5091854f84 feat(sway): add initial sway config 2026-01-22 00:05:49 +01:00
63358a8f89 feat(zsh): add conditional logic for mac 2026-01-21 23:49:15 +01:00
54deab7cab feat(ghostty): add minimum-contrast 1.1 2026-01-21 23:37:21 +01:00
af1fe008a1 feat(starship): add nix to prompt 2026-01-21 23:22:49 +01:00
00ba9863bc feat(zsh): ignore commented hosts in sshconfig in ssh-menu 2026-01-21 23:09:06 +01:00
374d4a6100 feat(zsh): update aliases 2026-01-21 23:06:14 +01:00
ce2181f9c2 feat(zsh): add tmux_attach function and alias to t 2026-01-21 23:05:34 +01:00
621572a3db feat(tmux): add update-environment to config 2026-01-21 23:00:05 +01:00
73eaef8411 feat(git): refactor config and add some qol 2026-01-21 22:58:12 +01:00
3aa8bd8ff1 feat(tmux): update tmux config and scripts 2025-12-10 09:08:06 +01:00
e65c556cc5 feat(nvim): remove nvim submodule 2025-10-11 20:59:29 +02:00
360afecb75 feat(starship): always display on hostname 2025-01-19 23:39:18 +01:00
5fb9b3618b feat(ghostty): disable paste protection 2025-01-18 20:10:50 +01:00
35 changed files with 428 additions and 59 deletions

30
.gitignore vendored
View File

@@ -8,7 +8,6 @@
# allow some stuff to be pushed
!alacritty
!nvim
!.pyenv
# zsh
@@ -17,7 +16,7 @@ zsh/*
!zsh/.zshrc
!zsh/.zshenv
!zsh/.zprofile
!zsh/.zsh_plugins.txt
!zsh/.zsh_plugins*.txt
!zsh/scripts.zsh
!zsh/aliases.zsh
!zsh/completions/.keep
@@ -42,11 +41,34 @@ tmux/*
!git
git/*
!git/config
!git/gitignore
!git/aflabs
!git/ignore
!git/config.d
git/config.d/*
!git/config.d/aflabs.conf
!git/config.d/flare.conf
# ghostty
!ghostty
ghostty/*
!ghostty/config
!ghostty/themes
# sway
!sway
sway/*
!sway/config
!sway/config.d
!sway/host.d
!swaylock
swaylock/*
!swaylock/config
!swayidle
swayidle/*
!swayidle/config
# flameshot
!flameshot
flameshot/*
!flameshot/flameshot.ini

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "nvim"]
path = nvim
url = git@git.janezic.dev:janezicmatej/nvim.git

16
flameshot/flameshot.ini Normal file
View File

@@ -0,0 +1,16 @@
[General]
contrastOpacity=188
contrastUiColor=#000000
disabledGrimWarning=true
drawColor=#00ffff
saveAfterCopy=true
savePath=/home/matej/screens
showHelp=false
showMagnifier=true
showSelectionGeometryHideTime=3000
uiColor=#ffffff
useGrimAdapter=true
[Shortcuts]
TYPE_ACCEPT=
TYPE_COPY=Space

View File

@@ -2,6 +2,8 @@
# theme = light:gruvbox-material-soft-light,dark:gruvbox-material-soft-dark
theme = gruvbox-material-soft-dark
minimum-contrast = 1.1
# cursor
cursor-style = block
cursor-style-blink = true
@@ -12,9 +14,8 @@ mouse-hide-while-typing = true
# font stuff
font-family = JetBrainsMono Nerd Font
font-size = 15
font-thicken = true
bold-is-bright = true
# disable ligatures
font-feature=-calt
font-feature=-liga
font-feature=-dlig
@@ -40,3 +41,6 @@ shell-integration = zsh
# gtk
gtk-titlebar = false
# paste protection
clipboard-paste-protection = false

View File

@@ -1,3 +0,0 @@
[user]
name = Matej Janežič
email = matej.janezic@aflabs.si

View File

@@ -1,18 +1,56 @@
[user]
name = Matej Janežič
email = janezic.mj@gmail.com
[core]
autocrlf = input
excludesfile = ~/.config/git/gitignore
editor = nvim
[include]
path = ~/.config/git/alias
[include]
path = ~/.config/git/commitsign
[includeIf "gitdir:~/Desktop/git/git.aflabs.org/"]
path = ~/.config/git/aflabs
[user]
signingkey = AF349EECC849D87B790E88FF6318FFB7DB374B7D
[commit]
gpgsign = true
; NOTE:(@janezicmatej) github/gitlab don't support these
; [push]
; gpgsign = true
[init]
defaultBranch = main
[alias]
blame = "!f() { [ -f .git-blame-ignore-revs ] && git blame --ignore-revs-file .git-blame-ignore-revs \"$@\" || git blame \"$@\"; }; f"
[diff]
tool = "nvimdiff"
[difftool]
prompt = true
[difftool "nvimdiff"]
cmd = nvim -d "$LOCAL" "$REMOTE"
[maintenance]
auto = true
strategy = incremental
[merge]
tool = "nvimdiff"
[mergetool]
prompt = true
keepBackup = false
writeToTemp = true
[mergetool "nvimdiff"]
layout = "LOCAL,BASE,REMOTE / MERGED"
[includeIf "gitdir:~/git/git.aflabs.org/**"]
path = ~/.config/git/config.d/aflabs.conf
[includeIf "gitdir:~/git/gitlab.com/flarenetwork/**"]
path = ~/.config/git/config.d/flare.conf
[includeIf "gitdir:~/git/gitlab.com/flare-foundation/**"]
path = ~/.config/git/config.d/flare.conf

2
git/config.d/aflabs.conf Normal file
View File

@@ -0,0 +1,2 @@
[user]
email = matej.janezic@aflabs.com

2
git/config.d/flare.conf Normal file
View File

@@ -0,0 +1,2 @@
[user]
email = matej@flare.network

View File

@@ -1,10 +1,6 @@
# mac files
.DS_Store
# i usually make test.* files for local testing
# test.*
# test
# i don't like pushing .vscode and .idea folders, i will force add if needed
.vscode
.idea
@@ -12,9 +8,15 @@
# pyenv
.python-version
# nix venv hook
.nix-venv
.dev
# i use .ignore for nvim
.ignore
# todo files
TODO.md
# db dumps files
dumps

1
nvim

Submodule nvim deleted from d97244ca10

View File

@@ -1,7 +1,7 @@
add_newline = false
format = """\
$username$hostname\
$hostname\
[$directory](cyan)\
$git_branch\
$git_commit\
@@ -11,6 +11,7 @@ $character\
"""
right_format = """\
$nix_shell\
$golang\
$lua\
$nodejs\
@@ -19,6 +20,10 @@ $rust\
$cmd_duration\
"""
[nix_shell]
disabled = false
format = '[n(\($name\))](bold blue) '
[character]
success_symbol = '[>](bold green)'
error_symbol = '[>](bold red)'
@@ -52,10 +57,7 @@ python_binary = 'python'
pyenv_version_name = false
detect_files = [ '.python-version' ]
[username]
format = '[$user@]($style)'
[hostname]
ssh_only = false
style = 'bold yellow'
format = '[$ssh_symbol$hostname]($style) '
ssh_symbol = ''
format = '[$hostname]($style) on '

3
sway/config Normal file
View File

@@ -0,0 +1,3 @@
include host.d/"$(hostname)".conf
include config.d/*
include /etc/sway/config.d/*

View File

@@ -0,0 +1,27 @@
set $mod Mod4
# vim style
set $left h
set $down j
set $up k
set $right l
# programs
set $term ghostty
set $menu wofi --show drun -iIG -w 2
set $browser google-chrome-stable
set $lockscreen swaylock
# other
set $wobs /tmp/wob.sock
# style
set $border 3
# colors
set $bg0 #32302f
set $bg1 #252423
set $bg_overlay #45403d
set $fg #d4be98
set $red #ea6962
set $gray #928374

View File

@@ -0,0 +1 @@
output * bg ~/.assets/wallpaper.png fill

View File

@@ -0,0 +1,5 @@
input "type:keyboard" {
xkb_options "fkeys:basic_13-24"
repeat_delay 150
repeat_rate 35
}

View File

@@ -0,0 +1,12 @@
font pango:JetBrainsMono Nerd Font Bold 10
default_floating_border normal $border
default_border normal $border
titlebar_border_thickness $border
# class border bground text indicator child_border
client.focused $fg $bg0 $fg $fg $fg
client.focused_inactive $bg1 $bg1 $gray $bg1 $bg1
client.unfocused $bg1 $bg1 $gray $bg1 $bg1
client.urgent $red $red $bg0 $red $red
client.placeholder $bg1 $bg1 $fg $bg1 $bg1

View File

@@ -0,0 +1,8 @@
titlebar_separator disable
shadows enable
shadow_blur_radius 25
shadow_color #0000007F
shadow_offset 0 5
blur enable

View File

@@ -0,0 +1,118 @@
# sway
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
floating_modifier $mod normal
# programs
bindsym $mod+Return exec $term
bindsym $mod+d exec $menu
bindsym $mod+u exec $lockscreen
bindsym $mod+Shift+Ctrl+Alt+space exec 1password --quick-access
bindsym Print exec flameshot gui
# programs'
bindsym $mod+Shift+q kill
# move focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# move to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
bindsym $mod+Ctrl+1 workspace number 1 output current
bindsym $mod+Ctrl+2 workspace number 2 output current
bindsym $mod+Ctrl+3 workspace number 3 output current
bindsym $mod+Ctrl+4 workspace number 4 output current
bindsym $mod+Ctrl+5 workspace number 5 output current
bindsym $mod+Ctrl+6 workspace number 6 output current
bindsym $mod+Ctrl+7 workspace number 7 output current
bindsym $mod+Ctrl+8 workspace number 8 output current
bindsym $mod+Ctrl+9 workspace number 9 output current
bindsym $mod+Ctrl+0 workspace number 10 output current
# layout
bindsym $mod+b splith
bindsym $mod+v splitv
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# fullscreen
bindsym $mod+f fullscreen
# focus
bindsym $mod+Shift+space floating toggle; [floating] border pixel $border; [tiling] border normal $border
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
# scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# xf86-volume
bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
bindsym --locked XF86AudioLowerVolume exec pamixer -d 5 && pamixer --get-volume > $wobs
bindsym --locked XF86AudioRaiseVolume exec pamixer -i 5 && pamixer --get-volume > $wobs
bindsym --locked F16 exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# xf86-brightnes
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# xf86-audio
bindsym --locked XF86AudioNext exec playerctl next
bindsym --locked XF86AudioPause exec playerctl play-pause
bindsym --locked XF86AudioPlay exec playerctl play-pause
bindsym --locked XF86AudioPrev exec playerctl previous
# resize
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"

View File

@@ -0,0 +1,18 @@
# additional theming
for_window [floating] border pixel $border
for_window [tiling] border normal $border
# workspace assignment
assign [app_id="google-chrome"] workspace 2
assign [app_id="thunderbird"] workspace 3
assign [app_id="Cider"] workspace 4
assign [app_id=".*BoltLauncher.*"] workspace 5
assign [class="net-runelite.*"] workspace 5
assign [app_id="vesktop"] workspace 8
assign [app_id="Slack"] workspace 8
assign [app_id="org.telegram.desktop"] workspace 8
assign [class="Rocket.Chat"] workspace 8
# rules
for_window [class="net-runelite.*"] floating enable
no_focus [class="net-runelite.*"]

View File

@@ -0,0 +1,3 @@
bar {
swaybar_command waybar
}

View File

@@ -0,0 +1,20 @@
# deamon
exec swayidle -w
exec wlsunset -l 46.1 -L 14.5
exec rm -f $wobs \
&& mkfifo $wobs \
&& tail -f $wobs \
| wob
exec protonmail-bridge -n
# traditional "start when os starts" programs
exec $term
exec $browser
exec thunderbird
exec cider-2
exec bolt-launcher
exec vesktop
exec slack
exec Telegram
exec rocketchat-desktop
exec 1password --silent

View File

@@ -0,0 +1,2 @@
output HDMI-A-1 resolution 2560x1440 position 0,0
output DP-2 resolution 2560x1440 position 2560,0

3
swayidle/config Normal file
View File

@@ -0,0 +1,3 @@
timeout 300 'swaylock -f'
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"'
before-sleep 'swaylock -f'

31
swaylock/config Normal file
View File

@@ -0,0 +1,31 @@
image=~/.assets/lockscreen.png
clock
datestr=%A, %d/%m/%y
indicator-radius=150
indicator-thickness=7
indicator-idle-visible
indicator-y-position=300
indicator-x-position=1200
inside-color=000000
text-color=ffffff
ring-color=ffffff
inside-ver-color=000000
text-ver-color=000000
ring-ver-color=ffffff
inside-clear-color=000000
text-clear-color=ffffff
ring-clear-color=ffffff
inside-wrong-color=000000
text-wrong-color=ffffff
ring-wrong-color=ffffff
key-hl-color=000000
bs-hl-color=000000
caps-lock-key-hl-color=000000
caps-lock-bs-hl-color=000000

View File

@@ -5,12 +5,14 @@ source "$XDG_CONFIG_HOME/zsh/scripts.zsh"
if [[ $# -eq 1 ]]; then
selected=$1
else
read -p "ssh url: " selected
read -p "url: " selected
fi
if [[ -z $selected ]]; then
exit 0
fi
ggman clone "$selected"
ggcompile
ggman clone $selected
echo ""
read -p "press enter to continue..."

View File

@@ -3,7 +3,7 @@
if [[ $# -eq 1 ]]; then
selected=$1
else
selected=$(ggman exec pwd 2>&1 >/dev/null \
selected=$(ggman ls \
| fzf --cycle \
--bind 'tab:toggle-up,btab:toggle-down' \
--header "Navigate with ARROW KEYS or TAB/S-TAB. Select with ENTER." \
@@ -18,12 +18,8 @@ if [[ -z $selected ]]; then
exit 0
fi
path=$selected
while [[ "$path" != "" && ! -e "$path/.sessionizer" ]]; do
path=${path%/*}
done
selected_name="$(echo $selected | shasum -a 256 | head -c 4)_$(basename $selected | tr . _ | head -c 10)"
selected_name="$(cat $path/.sessionizer)_$(basename $selected | tr . _ | head -c 10)_$(echo $selected | shasum -a 256 | head -c 4)"
tmux_running=$(pgrep tmux)
if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then

View File

@@ -44,7 +44,7 @@ function main() {
if [[ $# -eq 1 ]]; then
selected=$1
else
selected="$(rg -N --no-heading 'Host .*' ~/.ssh \
selected="$(rg -N --no-heading '^Host .*' ~/.ssh \
| sed 's/Host \(.*\)/\1/' \
| SHELL=$(which bash) fzf --cycle \
--bind 'tab:toggle-up,btab:toggle-down' \

View File

@@ -1,9 +1,13 @@
set -g default-terminal "xterm-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
set -ga terminal-overrides ",xterm-256color:RGB"
set -ga terminal-features ",xterm-256color:clipboard"
set -g allow-passthrough on
set -g set-clipboard on
set -s escape-time 0
set-option -g focus-events on
set -g update-environment "SSH_AUTH_SOCK SSH_CONNECTION SSH_TTY DISPLAY"
unbind C-b
set-option -g prefix C-s
@@ -11,7 +15,7 @@ set-option -g prefix C-s
bind r source-file "$XDG_CONFIG_HOME/tmux/tmux.conf"
set -g base-index 1
set -g status-style 'bg=#45403d fg=#d4be98'
set -g status-style 'bg=default fg=default'
set -g status-left-length 20
set-window-option -g mode-keys vi

View File

@@ -9,6 +9,3 @@ ohmyzsh/ohmyzsh path:plugins/git
# popular fish-like plugins
zsh-users/zsh-autosuggestions
# nvm
lukechilds/zsh-nvm

View File

@@ -0,0 +1 @@
lukechilds/zsh-nvm

View File

@@ -14,7 +14,9 @@ export PATH="/opt/homebrew/sbin:$PATH"
export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/lib"
# cargo
source "$HOME/.cargo/env"
if [[ "$OSTYPE" == "darwin"* ]]; then
source "$HOME/.cargo/env"
fi
# language environment
export LANG=en_US.UTF-8
@@ -46,7 +48,7 @@ export POETRY_HOME="$XDG_DATA_HOME/poetry"
command -v poetry >/dev/null || export PATH="$POETRY_HOME/bin:$PATH"
# gnupg
export GPG_TTY=$TTY
export GPG_TTY=$(tty)
# aflabs
export USER_UID=$(id -u)

View File

@@ -12,11 +12,20 @@ export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ffffff,bg=cyan,bold,underline"
source $ZDOTDIR/.antidote/antidote.zsh
antidote load
if [[ "$OSTYPE" == "darwin"* ]]; then
antidote load ${ZDOTDIR:-~}/.zsh_plugins_darwin.txt
fi
unsetopt autocd
# pyenv
eval "$(pyenv init - zsh)"
eval "$(pyenv virtualenv-init - zsh)"
if [[ "$OSTYPE" == "darwin"* ]]; then
eval "$(pyenv init - zsh)"
eval "$(pyenv virtualenv-init - zsh)"
fi
if [[ "$OSTYPE" == "darwin"* ]]; then
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
fi
# ggman
eval "$(ggman shellrc)"

View File

@@ -1,9 +1,19 @@
alias z="exec zsh"
alias t="tmux a || ~/.config/tmux/tmux-sessionizer ~"
alias n=nvim_ve
# alias vim=nvim_ve
alias t=tmux_attach
if [[ "$OSTYPE" == "darwin"* ]]; then
alias n=nvim_ve
alias vim=nvim_ve
elif [[ "$OSTYPE" == "linux"* ]]; then
alias n=nvim
fi
alias s="ssh-menu"
# docker
alias dp="docker ps --format 'table {{.Names}}\t{{.Ports}}'"
alias dcp="docker compose ps --format 'table {{.Name}}\t{{.Ports}}'"
# navigation
alias cdgit="cd $GGROOT"
alias icloud="cd $HOME/Library/Mobile\ Documents/com\~apple\~CloudDocs"
@@ -14,8 +24,10 @@ alias accenton="defaults write -g ApplePressAndHoldEnabled -bool true"
alias accentoff="defaults write -g ApplePressAndHoldEnabled -bool false"
# git
alias gpo="git push origin"
alias gros="git reset origin/$(git_current_branch) --soft"
alias gcan="git commit -v --amend --no-edit"
alias glogaa="git log --oneline --graph --all --pretty=format:\"%C(auto)%h %C(blue)(%aL/%cL)%C(auto)%(decorate) %s%Creset\""
# unsorted
alias ci="glab ci list"
@@ -24,7 +36,7 @@ alias grow="~/.local/bin/cbonsai -liWC -M 15 -t 2 -w 60 -s $(date +%s)"
alias clean_ds_store='find . -name ".DS_Store" -type f -delete -print'
# ruff
alias ruffme="ruff format && ruff check --fix"
alias ruffme="ruff check --fix && ruff format"
# clipboard
alias xcp="xclip -selection c"

View File

@@ -8,8 +8,6 @@ function nvim_ve {
fi
}
alias nvim=nvim_ve
function afm {
RES=$(curl -s "https://$1/api/monitoring/requirements")
COUNT=$(echo "$RES" | grep -c $2)
@@ -79,3 +77,19 @@ function tssh {
ssh -t "$@" "command -v tmux && (tmux a || tmux new-session -s gorazd -c ~) || bash"
}
function tmux_attach {
tmux_running=$(pgrep tmux)
if ! [[ -z ${TMUX} ]]; then
echo "already attached; refreshing env"
source <(tmux show-environment | sed -n 's/^\(.*\)=\(.*\)$/export \1="\2"/p')
return 1
fi
if [[ -z $tmux_running ]]; then
~/.config/tmux/tmux-sessionizer ~
else
tmux a
fi
}

View File

@@ -49,8 +49,8 @@ EOF
export -f _ssh_menu_preview
function ssh-menu {
selected="$(rg -N --no-heading 'Host .*' ~/.ssh \
| sed 's/Host \(.*\)/\1/' \
selected="$(rg -N --no-heading '^Host .*' ~/.ssh \
| sed 's/Host \(.*\)/\1/' | sort \
| SHELL=$(which bash) fzf --cycle \
--bind 'tab:toggle-up,btab:toggle-down' \
--delimiter ':' \