#!/usr/bin/env bash # Install my dotfiles on a variety of systems set -ex echo "PWD: $PWD" # Coder dotfiles (and most other ways of doing this) will not do a recursive clone, so do that in install script. git submodule init && git submodule update # Match case insensitively to make things easier for this part shopt -s nocasematch echo "Installing dotfiles..." if [ -f /etc/os-release ]; then echo "Idenitfying OS to install GNU stow..." if [ "${CODER_OS_FAMILY:-}" == "Ubuntu" ] || grep -q -i debian /etc/os-release; then echo "Detected OS as Ubuntu, using apt"; sudo apt-get update; sudo apt-get install -y stow; installers/install-nix.sh elif grep -q -i rhel /etc/os-release || grep -q -i fedora /etc/os-release; then echo "You've got RedHat (or maybe Fedora)! Which is unsupported right now sorry!"; # sudo yum install -y stow; # sudo yum clean all; exit 1 elif grep -q -i alpine /etc/os-release; then echo "You've got Alpine! Which is unsupported right now sorry!"; exit 1; # apk add --no-cache jq curl; else echo "ERROR: Unable to identify OS!" 1>&2; exit 1; fi; else if [ "${CODER_TEMPLATE_TYPE}" == "Devcontainer" ]; then installers/install-nix.sh fi echo "ERROR: Unable to find '/etc/os-release' information!" 1>&2; exit 1; fi shopt -u nocasematch # Apply the dotfiles with stow echo "Running apply dotfiles" ./apply-dotfiles echo "Dotfiles applied successfully"