39 lines
963 B
Bash
39 lines
963 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -euo pipefail
|
||
|
|
||
|
PRIMARY="\033[0;35m"
|
||
|
LOG="\033[0;36m"
|
||
|
SUCCESS="\033[0;32m"
|
||
|
NC="\033[0m"
|
||
|
BRAND="[nix-stow]"
|
||
|
|
||
|
function log {
|
||
|
echo -e "${PRIMARY}${BRAND} ${LOG}$1${NC}"
|
||
|
}
|
||
|
|
||
|
function success {
|
||
|
echo -e "${PRIMARY}${BRAND} ${SUCCESS}$1${NC}"
|
||
|
}
|
||
|
|
||
|
NIX_DOTFILES="${NIX_DOTFILES:=$(pwd)/nix}"
|
||
|
NIX_WORK_DOTFILES="${NIX_WORK_DOTFILES:=$(pwd)/dot-work/nix}"
|
||
|
NIX_PRIVATE_DOTFILES="${NIX_PRIVATE_DOTFILES:=$(pwd)/dot-private/nix}"
|
||
|
|
||
|
WORK_MACHINE="knuth"
|
||
|
CURRENT_MACHINE="$(hostname)"
|
||
|
|
||
|
log "Stowing common home-manager config."
|
||
|
stow $@ -d "$NIX_DOTFILES" -t "$HOME" home-manager
|
||
|
|
||
|
if [[ "$WORK_MACHINE" == "$CURRENT_MACHINE" ]]
|
||
|
then
|
||
|
log "Detected work system. Stowing work-specific home-manager config."
|
||
|
stow $@ -d "$NIX_WORK_DOTFILES" -t "$HOME" home-manager
|
||
|
else
|
||
|
log "Detected personal system. Stowing private home-manager config."
|
||
|
stow $@ -d "$NIX_PRIVATE_DOTFILES" -t "$HOME" home-manager
|
||
|
fi
|
||
|
|
||
|
success "Finished stowing Nix files."
|