#!/bin/bash # ============================================================================ # DarkForge Linux Installer — User Module # ============================================================================ # Creates root password and user account. # Default: username 'danny', added to wheel/video/audio/input groups. # ============================================================================ INSTALL_USERNAME="" INSTALL_HOSTNAME="" setup_users() { # --- Hostname --- ask "Hostname [darkforge]: " read -r INSTALL_HOSTNAME INSTALL_HOSTNAME="${INSTALL_HOSTNAME:-darkforge}" export INSTALL_HOSTNAME # --- Root password --- echo "" info "Set the root password:" chroot "${MOUNT_POINT}" /bin/bash -c "passwd root" # --- User account --- echo "" ask "Username [danny]: " read -r INSTALL_USERNAME INSTALL_USERNAME="${INSTALL_USERNAME:-danny}" export INSTALL_USERNAME info "Creating user '${INSTALL_USERNAME}'..." chroot "${MOUNT_POINT}" /bin/bash -c " useradd -m -G wheel,video,audio,input,kvm -s /bin/zsh '${INSTALL_USERNAME}' " info "Set password for '${INSTALL_USERNAME}':" chroot "${MOUNT_POINT}" /bin/bash -c "passwd '${INSTALL_USERNAME}'" # Install user shell profile if [ -f "/install/configs/zprofile" ]; then cp "/install/configs/zprofile" "${MOUNT_POINT}/home/${INSTALL_USERNAME}/.zprofile" chroot "${MOUNT_POINT}" chown "${INSTALL_USERNAME}:${INSTALL_USERNAME}" "/home/${INSTALL_USERNAME}/.zprofile" fi # Update inittab with the correct username for auto-login sed -i "s/--autologin danny/--autologin ${INSTALL_USERNAME}/" \ "${MOUNT_POINT}/etc/inittab" ok "User '${INSTALL_USERNAME}' created" }