diff --git a/nixos/default.nix b/nixos/default.nix index 879c422..88f79bc 100755 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -82,7 +82,6 @@ in { fonts plasma printing - regreet sddm steam sysstat diff --git a/profiles/user0/files/modnix.sh b/profiles/user0/files/modnix.sh new file mode 100755 index 0000000..55466e2 --- /dev/null +++ b/profiles/user0/files/modnix.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# Define the path to the configuration file +CONFIG_FILE="/etc/nixos/configuration.nix" + +# Backup the original configuration file +cp "$CONFIG_FILE" "$CONFIG_FILE.bak" + +# Add experimental features +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." diff --git a/profiles/user0/files/reinstall.sh b/profiles/user0/files/reinstall.sh new file mode 100755 index 0000000..87c36b0 --- /dev/null +++ b/profiles/user0/files/reinstall.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# Disable all swap +swapoff -a + +# Create necessary directories +mkdir -p /var/lib/sops-nix +mkdir -p ~/.config/sops/age + +# Copy key files +cp /run/media/nick/crypt/key.txt ~/.config/sops/age/ +cp /run/media/nick/crypt/keys.txt /var/lib/sops-nix/keys.txt + +# Slam the tomb +tomb slam + +# Re-enable swap +swapon -a + +# Define the source and destination files +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." +