diff --git a/install.sh b/install.sh index c48afba..285e3c6 100755 --- a/install.sh +++ b/install.sh @@ -1,10 +1,110 @@ -cp /etc/nixos/hardware-configuration.nix hosts/nixos/hardware-configuration.nix -sleep 1 -mkdir -p ~/Music -mkdir -p ~/Documents -mkdir -p ~/Pictures/wallpapers/others -sleep 1 -cp wallpapers/wallpaper.png ~/Pictures/wallpapers -cp wallpapers/otherWallpaper/* ~/Pictures/wallpapers/others/ -sleep 1 -sudo nixos-rebuild switch --flake .#nixos \ No newline at end of file +#!/usr/bin/env bash + +init() { + # Vars + CURRENT_USERNAME='frostphoenix' + + # Colors + NORMAL=$(tput sgr0) + WHITE=$(tput setaf 7) + BLACK=$(tput setaf 0) + RED=$(tput setaf 1) + GREEN=$(tput setaf 2) + YELLOW=$(tput setaf 3) + BLUE=$(tput setaf 4) + MAGENTA=$(tput setaf 5) + CYAN=$(tput setaf 6) + BRIGHT=$(tput bold) + UNDERLINE=$(tput smul) +} + +comfirm() { + echo -en "[${GREEN}y${NORMAL}/${RED}n${NORMAL}]: " + read -n 1 -r + echo + if [[ $REPLY =~ ^[Nn]$ ]] + then + exit 0 + fi +} + +print_header() { + echo -E "$CYAN + _____ _ ____ _ _ + | ___| __ ___ ___| |_| _ \| |__ ___ ___ _ __ (_)_ __ + | |_ | '__/ _ \/ __| __| |_) | '_ \ / _ \ / _ \ '_ \| \ \/ / + | _|| | | (_) \__ \ |_| __/| | | | (_) | __/ | | | |> < + |_| |_| \___/|___/\__|_| |_| |_|\___/ \___|_| |_|_/_/\_\ + _ _ _ ___ ___ _ _ _ + | \ | (_)_ __/ _ \ ___ |_ _|_ __ ___| |_ __ _| | | ___ _ __ + | \| | \ \/ / | | / __| | || '_ \/ __| __/ _' | | |/ _ \ '__| + | |\ | |> <| |_| \__ \ | || | | \__ \ || (_| | | | __/ | + |_| \_|_/_/\_\\\\___/|___/ |___|_| |_|___/\__\__,_|_|_|\___|_| + + + $BLUE https://github.com/Frost-Phoenix $RED + ! TO MAKE SURE EVERYTHING RUNS CORRECTLY RUN AS ROOT ! $GREEN + -> '"sudo bash install.sh"' $NORMAL + + " +} + +get_username() { + echo -en "Enter your$GREEN username$NORMAL : $YELLOW" + read username + echo -en "$NORMAL" + echo -en "Use$YELLOW "$username"$NORMAL as ${GREEN}username${NORMAL} ? " + comfirm +} + +set_username() { + sed -i -e "s/${CURRENT_USERNAME}/${username}/g" ./flake.nix + sed -i -e "s/${CURRENT_USERNAME}/${username}/g" ./modules/home/audacious/config +} + +install() { + echo -e "\n${RED}START INSTALL PHASE${NORMAL}\n" + sleep 0.2 + + # Create basic directories + echo -e "Creating folders:" + echo -e " - ${MAGENTA}~/Music${NORMAL}" + echo -e " - ${MAGENTA}~/Documents${NORMAL}" + echo -e " - ${MAGENTA}~/Pictures/wallpapers/others${NORMAL}" + mkdir -p ~/Music + mkdir -p ~/Documents + mkdir -p ~/Pictures/wallpapers/others + sleep 0.2 + + # Copy the wallpapers + echo -e "Copying all ${MAGENTA}wallpapers${NORMAL}" + cp wallpapers/wallpaper.png ~/Pictures/wallpapers + cp wallpapers/otherWallpaper/* ~/Pictures/wallpapers/others/ + sleep 0.2 + + # Get the hardware configuration + echo -e "Copying ${MAGENTA}/etc/nixos/hardware-configuration.nix${NORMAL} to ${MAGENTA}./hosts/nixos/${NORMAL}\n" + cp /etc/nixos/hardware-configuration.nix hosts/nixos/hardware-configuration.nix + sleep 0.2 + + # Last Confirmation + echo -en "You are about to start the system build, do you want to process ? " + comfirm + + # Build the systhem (flakes + home manager) + echo -e "\nBuilding the system...\n" + # sudo nixos-rebuild switch --flake .#nixos +} + +main() { + init + + print_header + + get_username + set_username + + install +} + +main && exit 0 \ No newline at end of file