111 lines
3 KiB
Bash
Executable file
111 lines
3 KiB
Bash
Executable 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
|