From 5cb1026fc268d1624bdb63aff5baf0e7993eb5ef Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 15 Jul 2024 20:24:47 +0200 Subject: [PATCH] Load `git` config from `nix` --- scripts/Common/Software/git/main.fish | 59 +++++++++++++-------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/scripts/Common/Software/git/main.fish b/scripts/Common/Software/git/main.fish index 0951fcec..085bb717 100644 --- a/scripts/Common/Software/git/main.fish +++ b/scripts/Common/Software/git/main.fish @@ -1,8 +1,12 @@ #!/bin/env fish begin + set -l dir (status dirname) source "$(status dirname)/../../Scripts/software.fish" - function configureSW -S + function configureSW -S -V dir + source "$dir/../../Scripts/config.fish" + set -l branch "valhalla.git.defaultBranch" + function setConfig sudo git config --system $argv end @@ -19,46 +23,41 @@ begin pushd "$dir" > /dev/null begin + set -l key valhalla.git.flow + set -l mainKey "$key.mainBranch" + set -l devKey "$key.devBranch" + git init git commit --allow-empty -m "Initial commit" > /dev/null git branch master || true &> /dev/null git branch main || true &> /dev/null git branch dev || true &> /dev/null yes "" | git flow init &> /dev/null - sudo git flow config set --system master main > /dev/null - sudo git flow config set --system develop dev > /dev/null + + if isSet "$mainKey" + sudo git flow config set --system master (getConfig "$mainKey") > /dev/null + else + true + end + + if isSet "$devKey" + sudo git flow config set --system develop (getConfig "$devKey") > /dev/null + else + true + end end popd > /dev/null rm -rf "$dir" end - setConfig alias.ahfange init - setConfig alias.tuedezue add - setConfig alias.beschuldig blame - setConfig alias.zieh pull - setConfig alias.druck push - setConfig alias.machnah clone - setConfig alias.hol fetch - setConfig alias.zwiigab branch - setConfig alias.buechiih commit - setConfig alias.eich rebase - setConfig alias.erd rebase - setConfig alias.gahufwiifelde rebase - setConfig alias.vergliich diff - setConfig alias.tuezemme merge - setConfig alias.versorg stash - setConfig alias.markier tag - setConfig alias.pflueckoepfel cherry-pick - setConfig alias.pflueckhimbeeri cherry-pick - setConfig alias.buechuus checkout - setConfig alias.quaetsch 'merge --squash' - setConfig alias.pfudle 'push --force' - setConfig alias.beschuldigung blame - setConfig alias.zwiigli branch - setConfig alias.tagebuech log - setConfig alias.versteck stash - setConfig alias.zuestand status - setConfig alias.markierig tag + begin # Aliases + set -l key valhalla.git.aliases + set -l aliases (getConfig "$key" --json) + + for name in (echo "$aliases" | jq 'keys[]' --raw-output0 | string split0) + setConfig "alias.$name" (getConfig "$key.$name") + end + end end end