dotfiles/build-nix.sh

25 lines
837 B
Bash
Executable File

#!/bin/sh
# Make sure that the script exits if any command returns a non-zero exit code
set -e
# Define the path to the system configuration file
NIXOS_CONFIG_PATH="/etc/nixos/configuration.nix"
echo "Checking for sudo access..."
# Ensure the script is being run with superuser privileges
sudo -v
echo "Backing up current configuration..."
# Create a backup of the current configuration file with a timestamp
sudo cp "${NIXOS_CONFIG_PATH}" "${NIXOS_CONFIG_PATH}-backup-$(date +%F-%H-%M-%S)"
echo "Copying new configuration..."
# Copy the local configuration.nix to the system configuration location
sudo cp ./configuration.nix "${NIXOS_CONFIG_PATH}"
echo "Rebuilding NixOS configuration..."
# Rebuild the NixOS configuration and make the changes effective
sudo nixos-rebuild switch
echo "NixOS configuration updated successfully."