• Operand
  • # (b)ring mi - belles.

gram:build

> ./prepare/launch.sh

Lenses
(coming soon!)


#!/bin/bash
set -e # end run on any error.

branch=main
login_name=${1:-access}
machine_name=$2
machine_address=$3
bridge=$4
keys=${@:5}

lineage() { hostnamectl | grep 'Operating System'; }
enroll() { passcode="$(openssl rand -hex 48)"; echo "$1=$passcode" >> ~/.access;
  useradd $1 -d /home/$1 -m -p "$passcode"; adduser $1 sudo; }
source_as() { if [ `whoami` = "$1" ]; then
  bash <(wget https://base.bingo/code/build/raw/branch/$2/$3 -O -) ${@:4}; else
  if ! id "$1" >/dev/null 2>&1; then echo "Enrolling user '$1'"; enroll $1; fi
  su -P - $1 -c bash <(wget https://base.bingo/code/build/raw/branch/$2/$3 -O -) ${@:4}; fi; }
name_machine() { if [ ! -z "$machine_name" ]; then echo "Naming machine: ${machine_name}"
  if [ $(uname) == "Darwin" ]; then scutil --set HostName "$machine_name"; fi
  if [ $(uname) == "Linux" ]; then hostnamectl set-hostname "$machine_name"; fi; fi; }
assign_address() { if ( [ -f /etc/network/interfaces ] & $(! grep -Fq gateway "/etc/network/interfaces") ); then
    echo "Assigning address: '$machine_address'"
    sed '/eth0/d' -i /etc/network/interfaces
    cat <<END >> "/etc/network/interfaces"; systemctl restart networking; fi; }

auto eth0
iface eth0 inet static
  address $machine_address
  netmask 255.255.255.0
  gateway $bridge
END

echo "Lineage: '$(lineage)'"

if ( [ $(uname) == "Linux" ] & [ $(whoami) = "root" ] ); then
  name_machine
  assign_address

  if lineage | grep -q Fedora; then source_as root $branch prepare/fedora.sh; fi
  if $(lineage | grep -q Ubuntu) || $(lineage | grep -q Debian); then source_as root $branch prepare/debian.sh; fi
fi;

# See http://brew.sh
if [ $(uname) == "Darwin" ]; then
  [ -d /usr/local/bin/brew ] || (wget https://raw.githubusercontent.com/Homebrew/install/master/install.sh -O - | bash)
  brew update; brew install git; fi

# source_as root $branch prepare/radio.sh
# source_as root $branch prepare/cosmographia.sh
source_as root $branch prepare/snap.sh || echo "Errors adding any snaps."
source_as $login_name $branch prepare/asdf.sh
source_as $login_name $branch proceed.sh $keys

source_as $login_name $branch prepare/asdf.sh
source_as $login_name $branch proceed.sh $keys
echo
echo "Login as:"
cat ~/.access