feat: added reinstall scripts

This commit is contained in:
Nick 2024-10-12 03:30:15 -05:00
parent be599e1ff3
commit b8f37412b2
2 changed files with 9 additions and 54 deletions

View file

@ -1,20 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Define the path to the configuration file cp /etc/nixos/configuration.nix /etc/nixos/configuration.nix.backup
CONFIG_FILE="/etc/nixos/configuration.nix"
# Backup the original configuration file sed -i '/services\.printing\.enable = true;/a\ nix.settings.experimental-features = ["nix-command" "flakes"];\n services.openssh.enable = true;' /etc/nixos/configuration.nix
cp "$CONFIG_FILE" "$CONFIG_FILE.bak" sed -i '/thunderbird/a\ git\n vscode\n tomb' /etc/nixos/configuration.nix
swapoff -a
# Add experimental features echo "/etc/nixos/configuration.nix updated successfully."
sed -i '/nix.settings.experimental-features/a\ nix.settings.experimental-features = ["nix-command" "flakes"]; # Added by script' "$CONFIG_FILE"
# Enable OpenSSH daemon
sed -i '/services.openssh.enable = true;/i\ services.openssh.enable = true; # Added by script' "$CONFIG_FILE"
# Add user packages
sed -i '/packages = with pkgs; \[/a\ git # Added by script' "$CONFIG_FILE"
sed -i '/git/a\ vscode # Added by script' "$CONFIG_FILE"
sed -i '/vscode/a\ tomb # Added by script' "$CONFIG_FILE"
echo "Configurations have been added to $CONFIG_FILE."

View file

@ -1,45 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Disable all swap
swapoff -a
# Create necessary directories
mkdir -p /var/lib/sops-nix mkdir -p /var/lib/sops-nix
mkdir -p ~/.config/sops/age mkdir -p /home/nick/.config/sops/age
# Copy key files cp /run/media/nick/crypt/key.txt /home/nick/.config/sops/age/keys.txt
cp /run/media/nick/crypt/key.txt ~/.config/sops/age/ cp /run/media/nick/crypt/key.txt /var/lib/sops-nix/key.txt
cp /run/media/nick/crypt/keys.txt /var/lib/sops-nix/keys.txt
# Slam the tomb
tomb slam
# Re-enable swap
swapon -a swapon -a
# Define the source and destination files echo "SOPS keys transferred successfully."
SOURCE_FILE="/etc/nixos/hardware-configuration.nix"
TARGET_FILE="$HOME/dotfiles/systems/desktop/filesystem.nix"
# Extract new UUIDs from the source file
new_uuids=$(grep -E 'device = "/dev/disk/by-uuid|swapDevices =' "$SOURCE_FILE" | \
sed -E 's/.*device = "([^"]+)".*/\1/; s/.*swapDevices = \[(.*)\].*/\1/' | \
tr -d '{}; ' | \
awk -F'/' '{print $5}' | tr '\n' ' ')
# Split the new UUIDs into an array
read -r -a uuid_array <<< "$new_uuids"
# Check if we have at least 3 UUIDs (root, boot, swap)
if [ "${#uuid_array[@]}" -lt 3 ]; then
echo "Not enough UUIDs found in the source file."
exit 1
fi
# Replace old UUIDs in the target file
sed -i -E "s|(/dev/disk/by-uuid/[0-9a-f-]+)|${uuid_array[0]}|; \
s|(/dev/disk/by-uuid/[0-9a-f-]+)|${uuid_array[1]}|; \
s|(/dev/disk/by-uuid/[0-9a-f-]+)|${uuid_array[2]}|" "$TARGET_FILE"
echo "UUIDs in $TARGET_FILE have been replaced with those from $SOURCE_FILE."