blob: c016c3a642dd58cf352f00e2876fae6ae3e90fd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
set -x SUPERSYNC_STAMP_FILE ~/.supersync.last
# Only sync the HabitsAndQuotes when it's asked for via function parameter
function supersync::worktime
set -l worktime_dir ~/git/worktime
if not test -d $worktime_dir
echo "Warning: Directory $worktime_dir does not exist"
return 1
end
cd $worktime_dir
if test (count $argv) -gt 0 -a $argv[1] = sync_quotes
if test -d ~/Notes/HabitsAndQuotes
echo "" >work-wisdoms.md.tmp
for notes in ~/Notes/random/{Productivity,Mentoring}.md
grep '^\* ' $notes >>work-wisdoms.md.tmp
end
sort -u work-wisdoms.md.tmp >work-wisdoms.md
rm work-wisdoms.md.tmp
git add work-wisdoms.md
grep '^\* ' ~/Notes/random/Exercise.md >exercises.md
git add exercises.md
end
end
find . -name '*.txt' -exec git add {} \;
find . -name '*.json' -exec git add {} \;
find . -name '*.csv' -exec git add {} \;
git commit -a -m sync
git pull origin master
git push origin master
cd -
end
function supersync::uprecords
set -l uprecords_dir ~/git/uprecords
set -l uprecords_repo git@codeberg.org:snonux/uprecords.git
if not test -d $uprecords_dir
git clone $uprecords_repo $uprecords_dir
cd $uprecords_dir
else
cd $uprecords_dir
git pull
end
make update
git commit -a -m Update
git push
cd -
end
function supersync::gitsyncer
set enable_file ~/.gitsyncer_enable
set now (date +%s)
set weekly_interval (math 7 \* 24 \* 60 \* 60)
if not test -f $enable_file
# echo Gitsyncer is not enabled
return
end
set last_run (cat $enable_file)
if test (math $now - $last_run) -lt $weekly_interval
return
end
if test -f ~/go/bin/gitsyncer
~/go/bin/gitsyncer sync bidirectional --auto-create-releases --create-repos --throttle && ~/go/bin/gitsyncer showcase
end
if test $status -eq 0
echo $now >$enable_file
end
end
function supersync::prompts
# Since files might have been added and/or modified withoug being
# committed to git yet.
if test -d ~/git/dotfiles/prompts
cd ~/git/dotfiles/prompts
find . -type f -name \*.md | xargs git add
find . -type f -name \*.md | xargs git commit -m 'update prompts'
git push
cd -
else if test -d ~/git/helpers/prompts
cd ~/git/helpers/prompts
find . -type f -name \*.md | xargs git add
find . -type f -name \*.md | xargs git commit -m 'update prompts'
git push
cd -
end
end
function supersync
if test -f ~/.supersync_disable
echo Supersync is disabled
return
end
supersync::worktime sync_quotes
taskwarrior::invoke
supersync::worktime no_sync_quotes
supersync::uprecords
supersync::prompts
if test -f ~/.gos_enable
if test -f ~/go/bin/gos
# Go social media tool
~/go/bin/gos
end
if test -f ~/go/bin/snonux
snonux::sync
end
end
supersync::gitsyncer
# update::tools
date +%s >$SUPERSYNC_STAMP_FILE.tmp
mv $SUPERSYNC_STAMP_FILE.tmp $SUPERSYNC_STAMP_FILE
end
function supersync::is_it_time_to_sync
set -l max_age 86400
set -l now (date +%s)
if test -f $SUPERSYNC_STAMP_FILE
set -l diff (math $now - (cat $SUPERSYNC_STAMP_FILE))
if test $diff -lt $max_age
return 0
end
end
read -P "It's time to run supersync! Run it? (y/n) " answer; and test "$answer" = y; and supersync
end
abbr -a supersynct 'supersync; track'
|