mirror of
https://codeberg.org/diginaut/dotfiles.git
synced 2026-09-19 14:29:06 +02:00
18 lines
848 B
Bash
Executable File
18 lines
848 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# SSH config merge
|
|
if [ -e ~/.ssh/config.d ]; then
|
|
#if find ~/.ssh/config.d -mindepth 1 -print -quit | grep -q .; then
|
|
# Do we have config files in that directory?
|
|
if find ~/.ssh/config.d -print -quit | grep -q .; then
|
|
newestconfig=$(find ~/.ssh/config.d/* -printf '%TY-%Tm-%Td %.8TT %p\n' | sort -r | head -n1 | awk '{print $3}')
|
|
if [ "$newestconfig" -nt ~/.ssh/config ]; then
|
|
# We found a config that's newer than the generated config file, re-generate
|
|
[ -e ~/.ssh/config ] && mv ~/.ssh/config ~/.ssh/config.bak.$(date -Is)
|
|
# Lets preserve order, so you can have 00_generic 10_homestuff 20_work1 21_work2 and such
|
|
find ~/.ssh/config.d/* -type f -print0 | sort -z | xargs -0 -n1 cat > ~/.ssh/config
|
|
chmod 600 ~/.ssh/config
|
|
fi
|
|
fi
|
|
fi
|