- Custom Ansible roles can be stored in the `roles/custom` directory - The list `custom_roles` determines which roles are included
		
			
				
	
	
		
			89 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/bash
 | 
						|
#
 | 
						|
# patch 'Tausch' and 'Nextcloud' into dolphin's bookmarks
 | 
						|
#
 | 
						|
set -eu
 | 
						|
 | 
						|
file="${1:-$HOME/.local/share/user-places.xbel}"
 | 
						|
 | 
						|
[[ -e "$file" ]] || exit 0
 | 
						|
 | 
						|
if grep -q "Tausch\|Nextcloud" "$file" ; then
 | 
						|
    echo "Your Dolphin seems to already contain 'Tausch' and/or 'Nextcloud'." | tee "$file.lmn"
 | 
						|
    exit 0
 | 
						|
fi
 | 
						|
 | 
						|
id="$(grep ID "$file" | sed -E "s|^.+ID>([[:digit:]]+)/([[:digit:]]+)</ID.+$|\1:\2|" \
 | 
						|
	    | sort -n -t: -k2 | tail -1 )"
 | 
						|
 | 
						|
if id | grep -q teachers; then
 | 
						|
  NETHOME=/srv/samba/schools/default-school/teachers/$USER
 | 
						|
else
 | 
						|
  NETHOME=(/srv/samba/schools/default-school/students/*/"$USER")
 | 
						|
fi
 | 
						|
[[ -d $NETHOME ]] || exit 0
 | 
						|
 | 
						|
IDENTITY="${id%%:*}"
 | 
						|
NUM0="${id##*:}"
 | 
						|
NUM1=$(( NUM0 + 1 ))
 | 
						|
NUM2=$(( NUM0 + 2 ))
 | 
						|
NUM3=$(( NUM0 + 3 ))
 | 
						|
 | 
						|
if [[ $HOME =~ ^/home/ ]]; then
 | 
						|
  HOMEONSERVER="+ <bookmark href=\"file://$NETHOME\">
 | 
						|
+  <title>Home@Server</title>
 | 
						|
+  <info>
 | 
						|
+   <metadata owner=\"http://freedesktop.org\">
 | 
						|
+    <bookmark:icon name=\"user-home-symbolic\"/>
 | 
						|
+   </metadata>
 | 
						|
+   <metadata owner=\"http://www.kde.org\">
 | 
						|
+    <ID>$IDENTITY/${NUM1}</ID>
 | 
						|
+    <isSystemItem>true</isSystemItem>
 | 
						|
+   </metadata>
 | 
						|
+  </info>
 | 
						|
+ </bookmark>"
 | 
						|
else
 | 
						|
  HOMEONSERVER=$'+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+'
 | 
						|
fi
 | 
						|
 | 
						|
patch="
 | 
						|
--- a/$file
 | 
						|
+++ b/$file
 | 
						|
@@ -98,9 +98,45 @@
 | 
						|
     <isSystemItem>true</isSystemItem>
 | 
						|
    </metadata>
 | 
						|
   </info>
 | 
						|
  </bookmark>
 | 
						|
$HOMEONSERVER
 | 
						|
+ <bookmark href=\"file:///srv/samba/schools/default-school/share\">
 | 
						|
+  <title>Tausch</title>
 | 
						|
+  <info>
 | 
						|
+   <metadata owner=\"http://freedesktop.org\">
 | 
						|
+    <bookmark:icon name=\"folder-publicshare\"/>
 | 
						|
+   </metadata>
 | 
						|
+   <metadata owner=\"http://www.kde.org\">
 | 
						|
+    <ID>$IDENTITY/${NUM2}</ID>
 | 
						|
+    <isSystemItem>true</isSystemItem>
 | 
						|
+   </metadata>
 | 
						|
+  </info>
 | 
						|
+ </bookmark>
 | 
						|
+ <bookmark href=\"file:///lmn/media/$USER/nextcloud\">
 | 
						|
+  <title>Nextcloud</title>
 | 
						|
+  <info>
 | 
						|
+   <metadata owner=\"http://freedesktop.org\">
 | 
						|
+    <bookmark:icon name=\"folder-cloud\"/>
 | 
						|
+   </metadata>
 | 
						|
+   <metadata owner=\"http://www.kde.org\">
 | 
						|
+    <ID>$IDENTITY/${NUM3}</ID>
 | 
						|
+    <isSystemItem>true</isSystemItem>
 | 
						|
+   </metadata>
 | 
						|
+  </info>
 | 
						|
+ </bookmark>
 | 
						|
  <bookmark href=\"remote:/\">
 | 
						|
   <title>Network</title>
 | 
						|
   <info>
 | 
						|
    <metadata owner=\"http://freedesktop.org\">
 | 
						|
     <bookmark:icon name=\"folder-network\"/>
 | 
						|
"
 | 
						|
 | 
						|
echo "$patch" | patch -z '.lmn' --fuzz=0 --backup "$file"
 |