Compare commits

..

2 commits

Author SHA1 Message Date
Danielle McLean
fb1ae514b3
Add .editorconfig to Stow's global ignores 2023-10-23 15:20:55 +11:00
Danielle McLean
bddf272d82
Migrate from .stow-rename to --dotfiles 2023-10-23 15:14:31 +11:00
3 changed files with 17 additions and 6 deletions

View file

@ -1,2 +0,0 @@
config => .config
local => .local

View file

@ -5,6 +5,7 @@
global_ignore=( global_ignore=(
'\.git.*' '\.git.*'
'README\.md' 'README\.md'
'\.editorconfig'
'\.stow-no-folding' '\.stow-no-folding'
'\.stow-rename' '\.stow-rename'
'\.mypy_cache' '\.mypy_cache'
@ -15,16 +16,28 @@ bootstrap() {
echo 'Bootstrapping your dotfiles...' >&2 echo 'Bootstrapping your dotfiles...' >&2
mkdir -p $DOTFILES mkdir -p $DOTFILES
touch $DOTFILES/.stow touch $DOTFILES/.stow
if (( ! $+commands[stow] )); then if (( $+commands[stow] )); then
local stow_version=${"$(stow -V)"#stow*version }
if [[ $stow_version != 2.3.2-fixbug56727 ]]; then
echo "GNU Stow is installed, but version $stow_version is bugged." >&2
echo 'See https://github.com/aspiers/stow/issues/33 for info.' >&2
echo 'Will fetch patched version of Stow...' >&2
install-custom-gnu-stow || return $?
fi
else
echo 'GNU Stow is not installed, fetching it...' >&2 echo 'GNU Stow is not installed, fetching it...' >&2
clone-one stow || return $? install-custom-gnu-stow || return $?
STOW=$DOTFILES/stow/local/bin/stow
fi fi
clone dots git vim zsh || return $? clone dots git vim zsh || return $?
link link
} }
install-custom-gnu-stow() {
clone-one stow || return $?
STOW=$DOTFILES/stow/dot-local/bin/stow
}
clone() { clone() {
echo "Requested packages: $argv" >&2 echo "Requested packages: $argv" >&2
for package in $argv; do for package in $argv; do
@ -63,7 +76,7 @@ link() {
for nofold in $DOTFILES/${^packages}/.stow-no-folding(N); process-stow-no-folding $nofold for nofold in $DOTFILES/${^packages}/.stow-no-folding(N); process-stow-no-folding $nofold
$STOW -d $DOTFILES -t ~ --ignore=${^global_ignore} $packages $STOW --dotfiles -d $DOTFILES -t ~ --ignore=${^global_ignore} $packages
} }
process-stow-no-folding() { process-stow-no-folding() {