Compare commits

..

105 Commits

Author SHA1 Message Date
4cd270ac54 Merge remote-tracking branch 'origin/master' into debian 2024-03-17 17:58:12 +01:00
553d15e38b updated/ generalised backup scripts 2024-03-17 17:58:00 +01:00
e37268fd88 Merge remote-tracking branch 'origin/master' into debian 2024-03-17 14:14:57 +01:00
46e9aea2dd fix: make functions known before usage 2024-03-17 14:14:34 +01:00
f23a40f524 Merge remote-tracking branch 'origin/master' into debian 2024-03-17 14:09:24 +01:00
7b1d0ef251 made script more robust 2024-03-17 14:08:34 +01:00
36e122b62c improved/ modernised "ex"-function 2024-03-17 14:01:36 +01:00
96893dff23 Merge remote-tracking branch 'origin/master' into debian 2024-01-18 16:29:16 +01:00
707b581b88 updated config 2024-01-18 16:15:59 +01:00
31e618be9e Merge remote-tracking branch 'origin/master' into debian 2024-01-18 15:53:02 +01:00
91d3d1d98d new script for easy archiving and compression and reversal of both 2024-01-18 15:51:40 +01:00
d79688f50f new script for easier transcoding 2024-01-18 15:51:11 +01:00
34baf7e029 simplified finding the home dir 2024-01-18 15:50:34 +01:00
3820ea0297 updated more or less common characters that could need escaping 2024-01-18 15:50:08 +01:00
43a70bb9de updated settings 2024-01-18 15:49:21 +01:00
c926e32cda accomodate for filenames with e.g.spaces 2024-01-18 15:43:43 +01:00
0848db107c updated edi backup script 2024-01-18 15:40:05 +01:00
236672fd44 Merge remote-tracking branch 'origin/master' into debian 2023-09-24 15:20:56 +02:00
e2f4267b7a fixed output 2023-09-24 15:11:14 +02:00
6f16c5e710 Merge remote-tracking branch 'origin/master' into debian 2023-09-17 14:43:55 +02:00
784818b510 mount unabhängig der clientmaschine 2023-09-17 14:43:44 +02:00
afbfeef4d2 Revert "mount unabhängig von der clientmaschine"
This reverts commit 937fe0142d.
2023-09-17 14:43:11 +02:00
8e29301d96 Merge remote-tracking branch 'origin/master' into debian 2023-09-17 14:33:42 +02:00
937fe0142d mount unabhängig von der clientmaschine 2023-09-17 14:33:20 +02:00
6fb25215b5 Merge remote-tracking branch 'origin/master' into debian 2023-08-20 17:32:10 +02:00
3837b797d0 fixed alias 2023-08-20 17:31:59 +02:00
812805ced5 Merge remote-tracking branch 'origin/master' into debian 2023-08-20 14:49:40 +02:00
32c066fe4d alias for quick start of x11vnc server 2023-08-20 14:49:07 +02:00
8ebda1aa12 new font: STIX 2 2023-08-20 14:48:02 +02:00
632a0c6741 Merge remote-tracking branch 'origin/master' into debian 2023-07-30 09:56:57 +02:00
e08fa4f6a6 updated ignores 2023-07-30 09:55:42 +02:00
fc13f9b73e project not needed
workspace too unsteady to commit
2023-07-30 09:53:27 +02:00
1ab292fe6f added linking via cp and rsync
added usage comments for sed
2023-07-30 09:52:07 +02:00
25065ea703 Merge remote-tracking branch 'origin/master' into debian 2023-07-06 15:39:29 +02:00
bb48fa187f activate dotglob permanently 2023-07-06 15:39:11 +02:00
fd9dba9f12 Merge remote-tracking branch 'origin/master' into debian 2023-07-06 13:00:17 +02:00
ba623040b9 - minor semantic changes (semicolons at the end of the line)
- added convenient updateSystem command
2023-07-06 12:51:55 +02:00
3d740f1c3b Merge branch 'master' into debian 2023-06-02 16:03:05 +02:00
647831e860 improved automatic updates via executeAndNotify to enable fire-and-forget 2023-06-02 15:57:57 +02:00
8358af1077 - added useful shell features
- cosmetics: whitespace
2023-06-02 15:54:37 +02:00
4cab17e726 - added shebang line, so nano etc. get the syntax highlighting right
- added function to automatically update flatpaks
2023-06-02 15:52:22 +02:00
452fd7600d new function to update debian based systems 2023-05-31 10:55:35 +02:00
d84d9e6933 Merge branch 'debian' of ssh://git.szimnau.de:222/fabian/sync into debian 2023-05-31 10:42:56 +02:00
12e5c3e2b1 - commented out options not working in ancient debian version 2023-05-31 10:42:41 +02:00
49335145fd Revert "Revert "old raspi version of nanorc cannot handle certain settings""
This reverts commit 844fe85d6d.
2023-05-31 10:42:41 +02:00
0aeb3b770f use alternative aac encoder 2023-05-31 10:39:33 +02:00
aaf96cd5c7 file only for import -> does not need to be executable 2023-05-31 10:38:17 +02:00
976100ec25 no distinction any more between internal and external 2023-05-31 10:37:32 +02:00
571e03680f using opus/ogg now mainly and alternative aac_at encoder when needed 2023-05-31 10:35:47 +02:00
ec5a09da64 Merge remote-tracking branch 'origin/master' into debian 2023-05-27 18:14:45 +02:00
ec5815b10b new sublime project folder for repository 2023-05-27 18:14:23 +02:00
daf4250a7e file not needed in vcs 2023-05-27 18:13:33 +02:00
13446c6d89 use opus since it yields better audio quality 2023-05-27 18:12:52 +02:00
f501c081df better output dir naming 2023-05-27 18:12:05 +02:00
7accc4c185 escape additional characters 2023-05-27 18:11:37 +02:00
ad1cfc5344 fixed alias 2023-05-27 18:11:04 +02:00
bb277234ea Merge branch 'master' into debian 2023-05-19 18:34:17 +02:00
c4e3c60eec added new alias with more detailed time info 2023-05-19 18:33:49 +02:00
2d4027379b Merge branch 'master' into debian 2023-05-19 15:14:21 +02:00
a73cf71925 new alias for better diff 2023-05-19 15:13:26 +02:00
d59183ad63 Merge branch 'master' into debian 2023-05-14 12:50:49 +02:00
43607cba6e - fixed argument evaluation 2023-05-14 12:50:14 +02:00
2233d47782 Merge remote-tracking branch 'origin/master' into debian 2023-05-14 12:20:09 +02:00
1d3d82aa5b Merge branch 'debian' of git.szimnau.de:fabian/sync into debian 2023-05-14 12:19:05 +02:00
d6cc45381e - commented out options not working in ancient debian version 2023-05-14 12:18:13 +02:00
0b57ddfaaf - modernised rsync verbosity
- fixed alias by setting correct quotes
2023-05-14 12:16:44 +02:00
de22a1668e Merge remote-tracking branch 'origin/master' into debian 2023-05-06 15:19:37 +02:00
c8d95342e2 fixed: correct quote signs for alias 2023-05-06 15:18:39 +02:00
6c283839fb Merge remote-tracking branch 'origin/master' into debian 2023-05-06 06:10:23 +02:00
e7464580c2 fixed script 2023-05-06 06:09:42 +02:00
682dc5f18a Merge remote-tracking branch 'origin/master' into debian 2023-05-06 05:45:19 +02:00
1acf2a2305 updated other sync files 2023-05-06 05:44:49 +02:00
16de7c94da cleanup/ whitespace 2023-05-06 05:44:19 +02:00
ea7c081bd4 Merge remote-tracking branch 'origin/master' into debian 2023-05-06 04:57:15 +02:00
3337e168c7 whitespace 2023-05-06 04:54:15 +02:00
e43b887413 updated to working, mostly automated script 2023-05-06 04:52:14 +02:00
5881642a40 Revert "Revert "old raspi version of nanorc cannot handle certain settings""
This reverts commit 844fe85d6d.
2023-05-06 04:11:17 +02:00
844fe85d6d Revert "old raspi version of nanorc cannot handle certain settings"
This reverts commit cf3d18414a.
2023-05-06 03:51:53 +02:00
586f3ea533 removed deprecated ignores 2023-05-06 03:46:17 +02:00
6d16a23c24 ignore local aliases file 2023-05-06 03:43:50 +02:00
400f1051ff stub of a script for backing up data from garrus (boot drive) to citadel 2023-05-05 18:21:28 +02:00
fdac96925a first version (template) for backing up edi
- to garrus
- from locally to the backup dir
2023-05-04 19:47:41 +02:00
cf3d18414a old raspi version of nanorc cannot handle certain settings 2023-05-04 19:12:17 +02:00
4c6a94a0b3 uuh idk 2023-05-01 23:01:30 +02:00
2ec6883629 - made script actually executable 2023-05-01 22:59:33 +02:00
f6c161cc83 fixed paths 2023-05-01 17:34:42 +02:00
b114c139b1 - added new docker command for all containers
- corrected param parsing
2023-05-01 17:28:10 +02:00
b5f66ebcb8 file to quickly bulk rename filenames and escape/ replace sequences 2023-04-28 21:32:21 +02:00
bf419bfd98 ignore debug output files 2023-03-05 17:26:26 +01:00
7f1b122a53 new files to more easily sync from and to git 2023-03-05 17:23:33 +01:00
fd8f96a54d updated color scheme 2023-03-05 17:22:36 +01:00
b8611eb590 fixed logical operator 2023-03-05 17:22:21 +01:00
8dd5e34e4d cosmetics: whitespace 2023-03-05 15:13:08 +01:00
a44879dfb9 added information/ commented options from template file 2023-03-05 15:12:54 +01:00
e6c05c9739 disallow short-circuit code evaluation 2023-03-05 15:11:52 +01:00
23949e1098 removed obsolete aliases + functions 2023-02-26 20:52:58 +01:00
57e382cff8 removed files that are no longer needed in git 2023-02-26 20:49:43 +01:00
64f10c1350 unified and reworked docker container actions 2023-02-26 20:45:39 +01:00
99d177099a unset IFS variable - weird behaviour otherwise
trim unnecessary newlines
2023-02-26 20:42:38 +01:00
e9d35afb8b default theme and color scheme 2023-02-24 17:44:42 +01:00
f73cd39593 - merged with oashi time settings
- sorted lines
2023-02-24 17:21:13 +01:00
b720ba07ec added config file 2023-02-24 17:20:20 +01:00
08483c6330 reworked parameter handling 2023-02-24 16:10:42 +01:00
1d97ba199e removed obsolete save file 2023-02-24 16:10:12 +01:00
3d60a7cca4 file not meant to be executable - only a template for imports 2023-02-24 16:09:42 +01:00
51 changed files with 719 additions and 3802 deletions

4
.gitignore vendored
View File

@ -1,3 +1,3 @@
/backup
/home_internal
/root_internal
output.txt
/.sublime

View File

@ -1,10 +1,14 @@
#!/usr/bin/env bash
if [ "$TERM" == 'xterm-kitty' ]; then
alias ssh='kitty +kitten ssh'
alias diff='kitty +kitten diff'
fi
DEFAULT_RSYNC='--verbose --recursive --progress --delay-updates --human-readable --links --hard-links --perms'
DEFAULT_RSYNC='--info=ALL --recursive --delay-updates --human-readable --links --hard-links --perms'
alias l='ls -l -v --all --human-readable --classify --group-directories-first' # -lvahF --group-directories-first
alias lt=='l --time-style=long-iso'
alias r='reset'
alias ..='cd ..'
alias refresh_bashrc='. ~/.bashrc' # alternatively: 'source ~/.bashrc'
@ -12,13 +16,13 @@ alias rsync_default="rsync $DEFAULT_RSYNC --checksum"
# source /usr/share/bash-completion/completions/rsync
# complete -F _rsync rsync_default
alias rsync_backup="rsync $DEFAULT_RSYNC --checksum --times --group --owner --delete"
alias rsync_move='rsync $DEFAULT_RSYNC --checksum --remove-source-files'
alias rsync_move="rsync $DEFAULT_RSYNC --checksum --remove-source-files"
alias rsync_update="rsync $DEFAULT_RSYNC --update --times"
alias rsync_copy="rsync $DEFAULT_RSYNC --ignore-times"
alias copy_link='cp --no-dereference --recursive --preserve=all --link' # not --force to make it optional
alias off='systemctl poweroff'
alias nnn='nnn -dHrR'
alias nn='n -dHrR'
alias finds='find $* 2>/dev/null'
alias c='clear'
alias sort_dirs_by_size='du --block-size=1K --human-readable --max-depth=1 | sort --human-numeric-sort --reverse' # 'du -kh --max-depth=1 | sort -hr'
alias sd='sudo ' # alias, so sudo can use aliases: "If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion."
@ -26,16 +30,56 @@ alias mountdrive='udisksctl mount -b'
alias unmountdrive='udisksctl unmount -b'
alias fssizes='df -kh --output=size,used,avail,pcent,target | sort -hr'
alias dirsizes='du -kh --apparent-size --max-depth=1 | sort -hr'
# sed -ie 's/Beispiel/Ersetzung/' *.xml
# sed -Eie 's/(Beispiel)/\1Anhang/' *.xml
alias start_x11_vnc="x11vnc -many -display :0 -no6 -rfbport 5900 -auth /var/run/lightdm/root/:0 -rfbauth $HOME/.vnc/passwd"
rsyncLink() {
source=$1;
linkSource="$(realpath $source)";
linkSource=${linkSource%/}; # cut off trailing "/"
shift;
dest=$1;
shift;
rsync $DEFAULT_RSYNC --one-file-system --link-dest=$linkSource $source $dest $*;
}
updateSystem() {
executeAndNotify "doUpdateSystem $1" "system updated" "system update failed"
}
doUpdateSystem() {
updatePackages $1;
updateFlatpak $1;
}
updateFlatpak() {
noconfirm=
if [[ $1 == "-y" ]]; then
noconfirm="--assumeyes";
fi
executeAndNotify "doUpdateFlatpak $noconfirm" "flatpaks updated" "flatpak update failed";
}
doUpdateFlatpak() {
flatpak update $1;
flatpak remove --unused $1;
}
# executes command and notifies upon failure
execute() {
dir="$(pwd)";
dir=${dir##*/};
if [ -n "$2" ]; then
errLog=$2
if [[ -n "$2" ]]; then
errLog=$2;
else
errLog="execution of \"$1\" failed"
errLog="execution of \"$1\" failed";
fi
if ! $1; then
@ -48,34 +92,33 @@ execute() {
# executes command and notifies upon success or failure
executeAndNotify () {
dir="$(pwd)";
dir=${dir##*/};
if [ -n "$2" ]; then
winLog=$2
dir=${dir##*/}; # cut off previous path (/path/to/foo.txt -> foo.txt)
if [[ -n "$2" ]]; then
winLog=$2;
else
winLog="execution of \"$1\" succeeded"
winLog="execution of \"$1\" succeeded";
fi
if ! execute "$1" "$3"; then # arguments in quotes so they are interpreted as ONE argument each by execute()
return 1;
fi
notifyInfo "$dir: $winLog"
notifyInfo "$dir: $winLog";
}
# find file but don't print errors (e.g. can't access directory etc.)
: 'seems to be working as alias as well:
finds () {
find $* 2>/dev/null
}'
find $* 2>/dev/null;
}
# sends a desktop-notification with an icon signalling an error
notifyError () {
notify-send "$1" --icon=data-warning
notify-send "$1" --icon=data-warning;
}
# sends a desktop-notification with an icon signalling a simple information
notifyInfo () {
notify-send "$1" --icon=preferences-desktop-notification
notify-send "$1" --icon=preferences-desktop-notification;
}

View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
updatePackages() {
noconfirm=
if [[ $1 == "-y" ]]; then
noconfirm="--assume-yes"
fi
full=
if [[ $2 == "--full" ]]; then
full="full-"
fi
executeAndNotify "doUpdatePackages $noconfirm $full" "system updated" "system update failed";
}
doUpdatePackages() {
sudo apt update;
sudo apt ${2}upgrade $1;
sudo apt autoremove $1;
}

View File

@ -1,10 +0,0 @@
alias mount_garrus='sshMount fabian FabisDokumente && sshMount media Filme'
alias unmount_garrus='sshUnmount FabisDokumente && sshUnmount Filme'
sshMount() {
sshfs fabian@garrus:/citadel/$1/ /home/fabian/$2/ -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=8
}
sshUnmount() {
fusermount -u /home/fabian/$1
}

View File

@ -2,6 +2,9 @@
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
set -o pipefail
# set -u
# If not running interactively, don't do anything
if [[ $- != *i* ]]; then
return
@ -43,6 +46,8 @@ shopt -s checkwinsize
# match all files and zero or more directories and subdirectories.
shopt -s globstar
shopt -s dotglob
# make less more friendly for non-text input files, see lesspipe(1)
if [ -x /usr/bin/lesspipe ]; then
eval "$(SHELL=/bin/sh lesspipe)"
@ -181,34 +186,41 @@ colours() {
# ex - archive extractor
# usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
ex() {
if [[ ! -f "$1" ]]; then
echo "'$1' is not a valid file"
return 1;
fi
# FIXME 7z kann (theoretisch) tar
outdir=${1%.*}
case "$1" in
*.tar.bz2 | *.tbz | *.tbz2)
tar xjf $1 -C $outdir;;
*.tar.gz | *.tgz)
tar xzf $1 -C $outdir;;
*.tar)
tar xf $1 -C $outdir;;
*.7z | *.zip | *.gz | *.bz | *.bz2)
7z x -o$outdir $1;;
*.rar)
unrar x $1;;
*.Z)
uncompress $1;;
*)
echo "'$1' cannot be extracted via ex()";;
esac
}
# BEGIN_KITTY_SHELL_INTEGRATION
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
if [[ -n "$KITTY_INSTALLATION_DIR" && -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash" ]]; then
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash";
fi
# END_KITTY_SHELL_INTEGRATION
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
if [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]]; then
source "$HOME/.sdkman/bin/sdkman-init.sh"
fi
export PATH=$PATH:/sync/scripts

View File

@ -1,17 +1,307 @@
## Sample initialization file for GNU nano.
##
## For the options that take parameters, the default value is shown.
## Other options are unset by default. To make sure that an option
## is disabled, you can use "unset <option>".
##
## Characters that are special in a shell should not be escaped here.
## Inside string parameters, quotes should not be escaped -- the last
## double quote on the line will be seen as the closing quote.
## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
## stop at word ends instead of at beginnings.
# even more unintuitive than normal behaviour
# set afterends
## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
set atblanks
## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
set autoindent
## Back up files to the current filename plus a tilde.
# set backup
## The directory to put unique backup files in.
# set backupdir ""
## Use bold text instead of reverse video text.
# set boldtext
## Treat any line with leading whitespace as the beginning of a paragraph.
# set bookstyle
## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters. Only closing punctuation,
## optionally followed by these closing brackets, can end sentences.
set brackets ""')>]}"
## Automatically hard-wrap the current line when it becomes overlong.
# set breaklonglines
## Do case-sensitive searches by default.
# set casesensitive
## Constantly display the cursor position in the status bar or minibar.
set constantshow
# set fill 121 # only works with hard wrap which atblanks
## Use cut-from-cursor-to-end-of-line by default.
# set cutfromcursor
## Do not use the line below the title bar, leaving it entirely blank.
# set emptyline
## Set the target width for automatic hard-wrapping and for justifying
## paragraphs. If the specified value is 0 or less, the wrapping point
## will be the terminal's width minus this number.
# only works with hard wrap which does not work with atblanks
# set fill -8
## mark soft wrap indicator ##
set guidestripe 121
## Remember the used search/replace strings for the next session.
# set historylog
## Display a "scrollbar" on the righthand side of the edit window.
set indicator
## Scroll the buffer contents per half-screen instead of per line.
# set jumpyscrolling
## Display line numbers to the left (and any anchors in the margin).
set linenumbers
## Enable vim-style lock-files. This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa. There are
## no plans to implement vim-style undo state in these files.
# set locking
## Fall back to slow libmagic to try and determine an applicable syntax.
# set magic
## The opening and closing brackets that can be found by bracket
## searches. They cannot contain blank characters. The former set must
## come before the latter set, and both must be in the same order.
set matchbrackets "(<[{)>]}"
set minibar
## Suppress title bar and show file name and editor state at the bottom.
# set minibar
## Enable mouse support, if available for your system. When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts. The mouse will work in the X
## Window System, and on the console when gpm is running.
# unintuitive
# set mouse
## Switch on multiple file buffers (inserting a file will put it into
## a separate buffer).
# set multibuffer
## Don't convert files from DOS/Mac format.
# set noconvert
## Don't display the helpful shortcut lists at the bottom of the screen.
# set nohelp
## Don't automatically add a newline when a file does not end with one.
# set nonewlines
## Set operating directory. nano will not read or write files outside
## this directory and its subdirectories. Also, the current directory
## is changed to here, so any files are inserted from this dir. A blank
## string means the operating-directory feature is turned off.
# set operatingdir ""
## Remember the cursor position in each file for the next editing session.
# set positionlog
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
## The characters treated as closing punctuation when justifying
## paragraphs. They cannot contain blank characters. Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
# set punct "!.?"
## Make status-bar messages disappear after 1 keystroke instead of after 20.
# set quickblank
## The regular expression that matches quoting characters in email
## or line-comment introducers in source code. The default is:
# set quotestr "^([ ]*([!#%:;>|}]|//))+"
## Try to work around a mismatching terminfo terminal description.
# set rawsequences
## Fix Backspace/Delete confusion problem.
# set rebinddelete
## Do regular-expression searches by default.
## Regular expressions are of the extended type (ERE).
# set regexp
## Save a changed buffer automatically on exit; don't prompt.
# set saveonexit
## (The old form of this option, 'set tempfile', is deprecated.)
## Put the cursor on the highlighted item in the file browser, and show
## the cursor in the help viewer; useful for people who use a braille
## display and people with poor vision.
# set showcursor
## Make the Home key smarter. When Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
## cursor is already at that position, it will jump to the true
## beginning of the line.
set smarthome
## Spread overlong lines over multiple screen lines.
set softwrap
## Use this spelling checker instead of the internal one. This option
## does not have a default value.
# set speller "aspell -x -c"
## Use the end of the title bar for some state flags: I = auto-indenting,
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
set stateflags
## Allow nano to be suspended (with ^Z by default).
# set suspendable
## (The old form of this option, 'set suspend', is deprecated.)
## Use this tab size instead of the default; it must be greater than 0.
set tabsize 3
## Convert typed tabs to spaces.
set tabstospaces
## Snip whitespace at the end of lines when justifying or hard-wrapping.
set trimblanks
## The two single-column characters used to display the first characters
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
## The default when in a UTF-8 locale:
# set whitespace "»·"
## The default otherwise:
# set whitespace ">."
## Detect word boundaries differently by treating punctuation
## characters as parts of words.
# set wordbounds
## The characters (besides alphanumeric ones) that should be considered
## as parts of words. This option does not have a default value. When
## set, it overrides option 'set wordbounds'.
# set wordchars "<_>."
## Let an unmodified Backspace or Delete erase the marked region (instead
## of a single character, and without affecting the cutbuffer).
# set zap
## Paint the interface elements of nano. These are examples; there are
## no colors by default, except for errorcolor and spotlightcolor.
# set titlecolor bold,lightwhite,blue
# set promptcolor lightwhite,lightblack
# set statuscolor bold,lightwhite,green
# set errorcolor bold,lightwhite,red
# set spotlightcolor black,lime
# set selectedcolor lightwhite,magenta
# set stripecolor ,yellow
# set scrollercolor cyan
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green
## In root's .nanorc you might want to use:
# set titlecolor bold,lightwhite,magenta
# set promptcolor black,yellow
# set statuscolor bold,lightwhite,magenta
# set errorcolor bold,lightwhite,red
# set spotlightcolor black,orange
# set selectedcolor lightwhite,cyan
# set stripecolor ,yellow
# set scrollercolor magenta
# set numbercolor magenta
# set keycolor lightmagenta
# set functioncolor magenta
## === Syntax coloring ===
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
## To include most of the existing syntax definitions, you can do:
include "/usr/share/nano/*.nanorc"
## Or you can select just the ones you need. For example:
# include "/usr/share/nano/html.nanorc"
# include "/usr/share/nano/python.nanorc"
# include "/usr/share/nano/sh.nanorc"
## In /usr/share/nano/extra/ you can find some syntaxes that are
## specific for certain distros or for some less common languages.
## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
# extendsyntax python tabgives " "
## If <Tab> should always produce an actual TAB when editing a Makefile:
# extendsyntax makefile tabgives " "
## === Key bindings ===
## For all details, see 'man nanorc', section REBINDING KEYS.
## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
## the ASCII character for backspace, so it is bound by default to the
## backspace function. The <Backspace> key itself produces a different
## keycode, which is hard-bound to the backspace function. So, if you
## normally use <Backspace> for backspacing and not ^H, you can make
## <Ctrl+Backspace> delete the word to the left of the cursor with:
# bind ^H chopwordleft main
## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
#bind ^Q exit all
#bind ^S savefile main
#bind ^W writeout main
#bind ^O insert main
#bind ^H help all
#bind ^H exit help
#bind ^F whereis all
#bind ^G findnext all
#bind ^B wherewas all
#bind ^D findprevious all
#bind ^R replace main
#bind M-X flipnewbuffer all
#bind ^X cut all
#bind ^C copy main
#bind ^V paste all
#bind ^P location main
#bind ^A mark main
#unbind ^K main
#unbind ^U all
#unbind ^N main
#unbind ^Y all
#unbind M-J main
#unbind M-T main
#bind ^T gotoline main
#bind ^T gotodir browser
#bind ^Y speller main
#bind M-U undo main
#bind M-R redo main
#bind ^U undo main
#bind ^E redo main
#set multibuffer

View File

@ -139,13 +139,13 @@ configuration {
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
timeout {
/* timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directories-first: true;
sorting-method: "name";
}
}*/
}
@theme "/usr/share/rofi/themes/Arc-Dark.rasi"

View File

@ -1,5 +1,16 @@
[
{ "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} },
{ "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} },
{ "keys": ["ctrl+tab"], "command": "next_view" },
{ "keys": ["ctrl+shift+tab"], "command": "prev_view" },
{ "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["alt+keypad_plus"], "command": "jump_forward" },
{ "keys": ["ctrl+b"], "command": "none" },
{ "keys": ["ctrl+keypad_enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },
// { "keys": ["shift+tab"], "command": "insert", "args": {"characters": "\t"} },
// { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} } // can't unset this. fuck you.
{ "keys": ["ctrl+alt+n"], "command": "new_snippet" },
{ "keys": ["ctrl+alt+f"], "command": "auto_indent" }
// { "keys": [""], "command": "lower_case" }
// { "keys": [""], "command": "upper_case" }
]

View File

@ -1,12 +0,0 @@
{
"bootstrapped": true,
"in_process_packages":
[
],
"installed_packages":
[
"Compare Side-By-Side",
"nginx",
"Package Control",
],
}

View File

@ -1,25 +1,48 @@
// Settings in here override those in "Default/Preferences.sublime-settings",
// and are overridden in turn by syntax-specific settings.
{
"tab_size": 3,
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": false,
"wrap_width": 120,
"always_show_minimap_viewport": true,
"highlight_line": true,
"scroll_past_end": false,
"draw_white_space": ["all_mixed"],
"trim_trailing_white_space_on_save": "all",
"ensure_newline_at_eof_on_save": true,
"auto_complete_commit_on_tab": true,
"auto_complete_with_fields": true,
"auto_complete_trailing_symbols": true,
"auto_complete_with_fields": true,
"bold_folder_labels": true,
"color_scheme": "Mariana.sublime-color-scheme",
"drag_text": false,
"draw_white_space": ["selection", "all_mixed"],
"enable_tab_scrolling": false,
"ensure_newline_at_eof_on_save": true,
"fade_fold_buttons": false,
"fallback_encoding": "UTF-8",
"font_size": 11,
"font_face": "JetBrains Mono Regular",
"highlight_line": true,
"highlight_modified_tabs": true,
"remember_full_screen": true,
"ignored_packages":
[
"Vintage",
],
"font_size": 10,
"indent_to_bracket": false,
"margin": 0,
"rulers":
[
0,
3,
120
],
"shift_tab_unindent": true,
"show_encoding": true,
"show_line_endings": true,
"tab_completion": false,
"remember_full_screen": true,
"scroll_past_end": false,
"tab_size": 3,
"theme": "Adaptive.sublime-theme",
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": false,
"trim_trailing_white_space_on_save": "all",
"ui_scale": 1.1,
"use_tab_stops": false,
"word_wrap": true,
"wrap_width": 120,
"index_files": true,
}

View File

@ -12,7 +12,7 @@
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
. "$HOME/.bashrc"
fi
fi

View File

@ -63,10 +63,6 @@ PasswordAuthentication no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
# FIXME! outdated/ replaced by KbdInteractiveAuthentication?
ChallengeResponseAuthentication no
# Change to no to disable s/key passwords
KbdInteractiveAuthentication no
# Kerberos options
@ -86,7 +82,7 @@ KbdInteractiveAuthentication no
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
@ -122,10 +118,10 @@ PrintMotd no # pam does that
AcceptEnv LANG LC_*
# override default of no subsystems
# DEACTIVATED because no need for sftp and differences between debian and arch
# debian
Subsystem sftp /usr/lib/openssh/sftp-server
# arch
# DEACTIVATED because no need for sftp and differences between debian and arch
# Subsystem sftp /usr/lib/ssh/sftp-server
# Example of overriding settings on a per-user basis
@ -134,3 +130,5 @@ Subsystem sftp /usr/lib/openssh/sftp-server
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
PubkeyAuthOptions verify-required

View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
source=${1%/}; # cut off trailing "/"
tar cfv $source.tar $source && xz $source.tar;

41
scripts/backup_edi.sh Normal file → Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -euo pipefail
source /sync/scripts/backup_resources.sh
# FSFIXME expand_aliases still needed?
shopt -s expand_aliases # make aliases work
###############################
### update local backup dir ###
###############################
BACKUP_DIR=/sync/backup
ensureDirectory $BACKUP_DIR
BACKUP_DIR_HOME=$BACKUP_DIR/home
ensureDirectory $BACKUP_DIR_HOME
backupDirectory $HOME/.ssh/ $BACKUP_DIR_HOME/.ssh/
BACKUP_DIR_ROOT=$BACKUP_DIR/root/etc
ensureRootDirectory $BACKUP_DIR_ROOT
sd rsync_backup /etc/hosts $BACKUP_DIR_ROOT/
sd rsync_backup /etc/ddclient.conf $BACKUP_DIR_ROOT/
backupRootDirectory /etc/ddclient/ $BACKUP_DIR_ROOT/ddclient/
backupRootDirectory /etc/letsencrypt/ $BACKUP_DIR_ROOT/letsencrypt/
backupRootDirectory /etc/nginx/ $BACKUP_DIR_ROOT/nginx/
backupRootDirectory /etc/ssh/ $BACKUP_DIR_ROOT/ssh/
backupRootDirectory /etc/wireguard/ $BACKUP_DIR_ROOT/wireguard/
backupRootDirectory /etc/docker/daemon.json $BACKUP_DIR_ROOT/docker/
#####################
### upload backup ###
#####################
if [[ "$1" == "--noupload" ]]; then
exit 0;
fi
sd rsync_backup -e "ssh -i /home/edi/.ssh/id_ed25519" --filter="P /home/docker" /sync/backup/ fabian@garrus:/citadel/backup/edi/
sd rsync_backup -e "ssh -i /home/edi/.ssh/id_ed25519" /home/edi/docker/ fabian@garrus:/citadel/backup/edi/home/docker/
echo "Note: remember to keep /citadel in sync!"

39
scripts/backup_garrus.sh Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -euo pipefail
source /sync/scripts/backup_resources.sh
# FSFIXME expand_aliases still needed?
shopt -s expand_aliases # make aliases work
###############################
### update local backup dir ###
###############################
BACKUP_DIR=/sync/backup
ensureDirectory $BACKUP_DIR
BACKUP_DIR_HOME=$BACKUP_DIR/home
ensureDirectory $BACKUP_DIR_HOME
BACKUP_DIR_ROOT=$BACKUP_DIR/root/etc
ensureRootDirectory $BACKUP_DIR_ROOT
backupRootDirectory /etc/ssh/ $BACKUP_DIR_ROOT/ssh/
if [[ !(-d $BACKUP_DIR_ROOT/udev/rules.d) ]]; then
mkdir $BACKUP_DIR_ROOT/udev/rules.d
fi
if [[ !(/etc/udev/rules.d/69-hdparm.rules -ef $BACKUP_DIR_ROOT/udev/rules.d/69-hdparm.rules) ]]; then
ln /etc/udev/rules.d/69-hdparm.rules $BACKUP_DIR_ROOT/udev/rules.d/69-hdparm.rules
fi
backupRootDirectory /etc/ssh/ $BACKUP_DIR_ROOT/ssh/
#####################
### upload backup ###
#####################
echo 'upload of backup still manual for now.\nplease execute the following commands:'
echo 'su garrus'
echo "sd rsync_backup $BACKUP_DIR/ /citadel/backup/garrus/"
exit 0
su garrus
sd rsync_backup $BACKUP_DIR/ /citadel/backup/garrus/

View File

@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -euo pipefail
source /sync/home_external/.bash_aliases
shopt -s expand_aliases # make aliases work
backupRootDirectory() {
ensureRootDirectory $2
sd rsync_backup $1 $2
}
backupDirectory() {
ensureDirectory $2
rsync_backup $1 $2
}
ensureRootDirectory() {
ensureDirectory $1
sudo chown root:root $1
}
ensureDirectory() {
if [[ ! -d $1 ]]; then
mkdir -p $1
fi
}

27
scripts/backup_shepard.sh Normal file → Executable file
View File

@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -euo pipefail
source /sync/scripts/backup_resources.sh
# FSFIXME expand_aliases still needed?
shopt -s expand_aliases # make aliases work
###############################
### update local backup dir ###
###############################
BACKUP_DIR=/sync/backup
ensureDirectory $BACKUP_DIR
BACKUP_DIR_HOME=$BACKUP_DIR/home
ensureDirectory $BACKUP_DIR_HOME
backupDirectory $HOME/.ssh/ $BACKUP_DIR_HOME/.ssh/
#####################
### upload backup ###
#####################
if [[ "$1" == "--noupload" ]]; then
exit 0;
fi
sd rsync_backup -e "ssh -i /home/fabian/.ssh/id_ed25519" $BACKUP_DIR/ fabian@garrus:/citadel/backup/shepard/

View File

@ -1,7 +0,0 @@
cd /var/tmp/
git clone https://aur.archlinux.org/ffmpeg-libfdk_aac.git
cd ffmpeg-libfdk_aac/
makepkg -csr
pacman -Ud
cd ..
rm -r ffmpeg-libfdk_aac/

View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
source=$1;
archive=${source%.xz}; # cut off trailing ".xz"
unxz $source && tar xfv $archive

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -euo pipefail
upDownContainers() {
# evaluate options through given arguments
docker_root=~/docker;
while [[ $# > 0 ]]; do
case $1 in
--dir) docker_root=$2; shift 2;;
* ) break ;; # Anything else stops command line processing.
esac
done
for subdir in $docker_root/*; do
if [[ !(-d $subdir) ]]; then
continue;
fi
cd $subdir;
docker-compose $@;
done
}

View File

@ -1,19 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
if [[ $# > 0 ]]; then
DOCKER_ROOT=$1;
else
DOCKER_ROOT=$(pwd);
fi
# echo $DOCKER_ROOT;
source /sync/scripts/dockerContainerAction.sh
for subdir in $DOCKER_ROOT/*; do
if [[ !(-d $subdir) || ${subdir##*/} == "matrix_synapse" || ${subdir##*/} == "pydio_cells" || ${subdir##*/} == "mattermost" ]]; then
continue;
fi
# echo $subdir;
cd $subdir;
# echo $(pwd);
docker-compose down;
done
# FIXME!!! implement possibility to pass down directory
upDownContainers down

33
scripts/escapeFilenames.sh Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail
# for i in *placehoder*; do mv "$i" "${i//placeholder/replacement}" done
replacements=
declare -A replacements
unset replacements[0]
replacements[' ']='_';
replacements[':']='_';
replacements["'"]='_';
replacements['(']='_';
replacements[')']='_';
replacements['[']='_';
replacements[']']='_';
while [[ $# > 0 ]]; do
replacements["$1"]="$2";
shift 2;
done
for toReplace in "${!replacements[@]}"; do
echo "$toReplace"
replacement=${replacements[$toReplace]}
echo "$replacement"
for i in *; do
echo "$i"
if [[ ! -e "$i" || "$i" == "${i//$toReplace/$replacement}" ]]; then
continue; # weird behaviour with single space makes this necessary
fi
echo "mv $i -> ${i//$toReplace/$replacement}";
mv "$i" "${i//$toReplace/$replacement}";
done
done

View File

@ -1,41 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# this script is supposed to apply changes in /sync/{home,root}_external to /sync/{home,root}_external and thus to / resp. ~/
# FIXME!!! WIP
# FIXME!!! syncing root stuff not yet implemented
# FIXME!!! user name/ group name/ home dir hard coded for now...
externalDir=/sync/home_external/
internalDir=/sync/home_internal/
userHome=/home/fabian/
user=fabian
group=fabian
if [[ -z "$1" ]]; then
echo "Error. No file(s) for import given"
exit 1
fi
file="$(find $internalDir -name $1)"
# if a file is merely changed, copy its content into the existing target directory
if [[ -e "$file" ]]; then
echo "copying file content of $1 to $file"
cat $1 > $file
exit 0
fi
# if a new file/ dir is created, copy it into the $internalDir retaining the relative path
# after that, copy/ hard link it to the $userHome directory and assign the correct user/ group
# NOTE: one could solve that by having the same user + group on every system
relPath="$(realpath --relative-to=$externalDir $1)" # should also contain the leaf name
echo "new file/dir. relative path: $relPath"
if [[ -f "$1" ]]; then
install -Dv $1 "$internalDir$relPath"
else
mkdir -pv "$internalDir$relPath"
fi
cp -lrv "$internalDir$relPath" $userHome
chown -v "$user:$group" "$userHome$relPath"
exit 0

View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
source /sync/scripts/mount_general.sh

View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
source /sync/scripts/mount_general.sh

8
scripts/mount_general.sh Executable file → Normal file
View File

@ -1,13 +1,13 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
sshMount () {
serverUser=$1;
serverHost=$2;
shift 2;
args=($@)
args=(${args[@]:2})
for ((i=0; i < ${#args[@]}; i=i + 2)); do
sshfs $1@$2:/citadel/${args[$i]}/ /home/fabian/${args[$i + 1]}/ -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=8
sshfs ${serverUser}@${serverHost}:/citadel/${args[$i]}/ $HOME/${args[$i + 1]}/ -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=8
done
}

7
scripts/pullContainers.sh Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
source /sync/scripts/dockerContainerAction.sh
# FIXME!!! implement possibility to pass down directory
upDownContainers pull

View File

@ -2,9 +2,10 @@
set -euo pipefail
# ensure existence of destination folder
dest=../reencode
dir="$(pwd)"
dest=${dir%/*}/${dir##*/}_reencode
if [[ !(-d $dest) ]]; then
mkdir $dest
mkdir "$dest"
fi
for file in ./*.$1; do

View File

@ -6,9 +6,9 @@ map=
vbr=
while [[ $# > 0 ]]; do
case $1 in
-map) map='-map 0:0'; shift;;
-vbr) vbr='libfdk_aac -profile:a aac_he -b:a 64k'; shift;;
* ) break ;; # Anything else stops command line processing.
-map) map='-map 0:0'; shift;;
-vbr) vbr='aac_at -profile:a aac_he -b:a 64k'; shift;;
* ) break ;; # Anything else stops command line processing.
esac
done
@ -18,9 +18,10 @@ if [[ -z $vbr ]]; then
fi
# ensure existence of destination folder
dest=../reencode
dir="$(pwd)"
dest=${dir%/*}/${dir##*/}_reencode
if [[ !(-d $dest) ]]; then
mkdir $dest
mkdir "$dest"
fi
for file in ./*.m4a; do

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
for file in ./*.m4a; do
map='';
if [[ $# > 0 && $1 == 'map' ]]; then
map='-map 0:0';
fi
vbr='';
if [[ $# > 1 && $2 == 'vbr' ]]; then
vbr='libfdk_aac -profile:a aac_he -b:a 64k';
else
map="$map copy"
fi
dest=../reencode
if [[ !(-d $dest) ]]; then
mkdir $dest
fi
echo "ffmpeg -i '$file' -c:a $vbr $map -movflags +faststart '$dest/$file'";
ffmpeg -i "$file" -c:a $vbr $map -movflags +faststart "$dest/$file";
done

View File

@ -2,7 +2,7 @@
set -euo pipefail
# evaluate options through given arguments
file_suffix=
file_suffix='wav'
map=
while [[ $# > 0 ]]; do
case $1 in
@ -13,12 +13,13 @@ while [[ $# > 0 ]]; do
done
# ensure existence of destination folder
dest=../transcode_m4a
dir="$(pwd)"
dest=${dir%/*}/${dir##*/}_flac
if [[ !(-d $dest) ]]; then
mkdir $dest
mkdir "$dest"
fi
for file in ./*.$file_suffix; do
echo "ffmpeg -i '$file' -c:a libfdk_aac -profile:a aac_he -b:a 64k $map -movflags +faststart '$dest/${file%$file_suffix}m4a'";
ffmpeg -i "$file" -c:a libfdk_aac -profile:a aac_he -b:a 64k $map -movflags +faststart "$dest/${file%$file_suffix}m4a";
echo "ffmpeg -i '$file' -c:a flac $map '$dest/${file%$file_suffix}flac'";
ffmpeg -i "$file" -c:a flac $map "$dest/${file%$file_suffix}flac";
done

26
scripts/transcode_opus.sh Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
# evaluate options through given arguments
file_suffix=
map=
while [[ $# > 0 ]]; do
case $1 in
-t | --type) file_suffix=$2; shift 2;;
-map ) map='-map 0:0'; shift;;
* ) break ;; # Anything else stops command line processing.
esac
done
# ensure existence of destination folder
dir="$(pwd)"
dest=${dir%/*}/${dir##*/}_ogg
if [[ !(-d $dest) ]]; then
mkdir "$dest"
fi
for file in ./*.$file_suffix; do
# `-vbr on -application audio` should be default, but let's be sure
echo "ffmpeg -i '$file' -c:a libopus -b:a 64k -vbr on -application audio $map '$dest/${file%$file_suffix}ogg'";
ffmpeg -i "$file" -c:a libopus -b:a 64k -vbr on -application audio $map "$dest/${file%$file_suffix}ogg";
done

View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
source /sync/scripts/unmount_general.sh

View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
source /sync/scripts/unmount_general.sh

2
scripts/unmount_general.sh Executable file → Normal file
View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
sshUnmount () {
args=($@)

View File

@ -1,19 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
if [[ $# > 0 ]]; then
DOCKER_ROOT=$1;
else
DOCKER_ROOT=$(pwd);
fi
# echo $DOCKER_ROOT;
source /sync/scripts/dockerContainerAction.sh
for subdir in $DOCKER_ROOT/*; do
if [[ !(-d $subdir) || ${subdir##*/} == "matrix_synapse" || ${subdir##*/} == "pydio_cells" || ${subdir##*/} == "mattermost" ]]; then
continue;
fi
# echo $subdir;
cd $subdir;
# echo $(pwd);
docker-compose up -d;
done
# FIXME!!! implement possibility to pass down directory
upDownContainers up -d