This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Wrapper over docker-compose to run on remote server. | |
# Usage: | |
# Takes same arguments as docker-compose. | |
# Typical usage: | |
# remote-compose server down |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# put this in ~/.bashrc | |
export SSH_AUTH_SOCK=/tmp/.ssh-socket | |
ssh-add -l > /dev/null | |
if [ $? = 2 ]; then | |
rm -f $SSH_AUTH_SOCK | |
echo Starting new ssh-agent... | |
eval $(ssh-agent -a $SSH_AUTH_SOCK) > /dev/null | |
ssh-add && echo "ssh-agent set up successfully with the following keys:" && ssh-add -l | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Interpolates variables in a text file | |
# $1 = template filename | |
templatefile="$1" | |
shift | |
eval "$(echo -e "cat <<HEREX\n$(cat "$templatefile")\nHEREX\n")" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# More seemless integration between git-bash/WSL/Cygwin and Docker for Windows | |
set -euo pipefail | |
( [ -d 'C:\'] && cygpath . > /dev/null; ) || \ | |
{ echo 'Must be run from GitBash, Msys or Cygwin'; exit 1; } | |
export MSYS_NO_PATHCONV=1 | |
USER="$(whoami)" | |
docker run \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
usage() { sed 's/^ //' >&2 <<<USAGETEXT | |
#TODO: Description of script here. | |
Usage: | |
$(sed -r 's/^#@@ (.*)$/ \1/p' < "${BASH_SOURCE[0]}") | |
Variables: | |
$(sed -r 's/^#@# (.*)$/ \1/p' < "${BASH_SOURCE[0]}") | |
USAGETEXT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Thorough syntax check for #!/bin/sh scripts. | |
# (For bash scripts, shellcheck by itself is enough) | |
set -eu | |
for f in "$@"; do | |
dash -n "$f" && \ | |
shellcheck -x "$f" && \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function notify($notificationTitle) { | |
$app = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe' | |
[void][Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | |
# Fetch empty template | |
$templateType = [Windows.UI.Notifications.ToastTemplateType]::ToastText01 | |
$template = [xml]([Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent($templateType).getXml()) | |
#Convert to .NET type for XML manipuration | |
[void]$template.GetElementsByTagName("text").AppendChild($template.CreateTextNode($notificationTitle)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Create and launch an alpine chroot | |
# If /tmp is not tmpfs, change this to /dev/shm | |
rootfs=/tmp/alpine | |
set -eu | |
if ! [ -f $rootfs/etc/resolv.conf ]; then | |
if ! [ -f ~/Downloads/alpine.tar.gz ]; then | |
curl -Lf -o ~/Downloads/alpine.tar.gz http://dl-cdn.alpinelinux.org/alpine/v3.11/releases/x86_64/alpine-minirootfs-3.11.6-x86_64.tar.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This goes in ~/.gradle/init.d/tmpfs.gradle | |
def ramdir='/tmp/gradle' | |
gradle.projectsLoaded { | |
rootProject.allprojects { | |
buildDir = "${ramdir}${project.path}/build" | |
//println "${project.name}.buildDir = ${buildDir}" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Workaround docker wrapper for git-bash/Msys/Cygwin quirks | |
# Copy this to ~/bin/docker or /usr/local/bin/docker | |
set -euo pipefail | |
export MSYS_NO_PATHCONV=1 | |
export MSYS2_ARG_CONV_EXCL='*' | |
os="$(uname -o)" |
OlderNewer