diff options
author | Mathias Magnusson <mathias@magnusson.space> | 2025-06-29 22:28:05 +0200 |
---|---|---|
committer | Mathias Magnusson <mathias@magnusson.space> | 2025-06-29 22:47:23 +0200 |
commit | a0b32034f7c557bcaa38e3610c8a97eeee7a00a8 (patch) | |
tree | 3f4f1b7252958ccd8fa3158a35aeb34cdacf94c1 /init | |
download | sleipner-a0b32034f7c557bcaa38e3610c8a97eeee7a00a8.tar.gz |
Initial commit
Diffstat (limited to 'init')
-rwxr-xr-x | init | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -0,0 +1,29 @@ +#!/usr/bin/env fish + +set homedirs dot-config dot-local-bin + +for dir in $homedirs + set -l target_base $HOME/(string replace '-' '/' (string replace -r '^dot-' '.' $dir)) + + for file in (find $dir -type f) + set -l src "$(pwd)/$file" + set -l dst (string replace -r "^$dir/" "$target_base/" $file) + if [ -L $dst -a "$(readlink $dst)" = $src ] + continue + end + mkdir -p "$(dirname $dst)" + ln -vs $src $dst + end +end + +for file in (find etc -type f) + set -l src "$(pwd)/$file" + set -l dst /$file + if [ -f $dst ] + if [ "$(sha1sum < $dst)" = "$(sha1sum < $src)" ] + continue + end + end + sudo -p "[sudo] password to copy $dst: " mkdir -p "$(dirname $dst)" + sudo cp -v $src $dst +end |