dotfiles/scripts/config-sysnix.sh

36 lines
1.0 KiB
Bash
Raw Normal View History

2022-11-30 02:37:28 +00:00
#!/usr/bin/env sh
2022-12-03 10:17:50 +00:00
## Configures a new nixos system to this repository
## Blame: Hung Tran (Pegasust) <pegasucksgg@gmail.com>
2022-11-30 02:37:28 +00:00
set -xv
HOSTNAME=${1}
if [ -z $HOSTNAME ]; then
current_hostname=$(hostname)
echo "Missing hostname as first param."
echo "Type the hostname you want to be here"
read -p "[${current_hostname}] > " HOSTNAME
HOSTNAME=${HOSTNAME:-${current_hostname}}
read -p "Using hostname: ${HOSTNAME}. Press ENTER to continue." _WHATEVER_
2022-11-30 02:37:28 +00:00
fi
# Where is this script located
SCRIPT_DIR=$(realpath $(dirname $0))
echo "SCRIPT_DIR: ${SCRIPT_DIR}"
2022-12-03 00:01:48 +00:00
SYSNIX_DIR="${SCRIPT_DIR}/../nix-conf/system"
2022-11-30 02:37:28 +00:00
# Copy hardware-configuration of existing machine onto our version control
SYSNIX_PROF="${SYSNIX_DIR}/profiles/${HOSTNAME}"
HARDWARE_CONF="${SYSNIX_PROF}/hardware-configuration.nix"
2022-12-03 10:17:50 +00:00
if [ ! -f "${HARDWARE_CONF}" ]; then
mkdir "$SYSNIX_PROF"
2022-11-30 02:37:28 +00:00
sudo cp /etc/nixos/hardware-configuration.nix ${HARDWARE_CONF}
fi
git add "${HARDWARE_CONF}"
2022-11-30 02:37:28 +00:00
echo "Apply nixos-rebuild"
sudo nixos-rebuild switch --flake "${SYSNIX_DIR}#${HOSTNAME}"