#!/bin/bash
# Set up my desktop/laptop with all default setttings that I want.
#
# uses salt-call masterless configuration.

DOTFILES_REPO="$HOME/.dotfiles"
DOTFILES_REMOTE="https://git.rre.nu:443/jonas/dotfiles.git"

### NO Changes below this line

set -aeo pipefail

function new_log(){
    # script output
    printf "[*] - $*\n"
}

function log(){
    printf "     $*\n"
}

function gnome_key_bindings(){
    local KEY_PATH="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
    local CMD="gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$KEY_PATH"
    gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['$KEY_PATH/custom0/']"

    # Open Terminator
    $CMD/custom0/ name "Open Terminator"
    $CMD/custom0/ command "terminator"
    $CMD/custom0/ binding "<Primary><Alt>Return"
}

function setup_dotfiles(){
    local dotf="/usr/bin/git --git-dir="$DOTFILES_REPO" --work-tree=$HOME"
    new_log "Setting up dotf (dotfiles)"

    log "creating git repo in $DOTFILES_REPO"
    mkdir "$HOME/.dotfiles"
    git init --bare "$DOTFILES_REPO"
    $dotf config --local status.showUntrackedFiles no

    log "adding remote repo ($DOTFILES_REMOTE)"
    $dotf remote add origin "$DOTFILES_REMOTE"
    $dotf branch --set-upstream-to=origin/master master
    $dotf pull.ff only

    if [[ -f "$HOME/.bachrc" ]];then
        log "renaming local .bashrc to .bashrc.bak"
        mv "$HOME/.bashrc" "$HOME/.bashrc.bak"
    fi

    log "pulling dotfiles"
    $dotf pull
}

setup_dotfiles