#!/bin/bash # Function to create user if it doesn't exist create_user() { if ! id "$1" &>/dev/null; then echo "Creating user: $1" useradd -m "$1" fi } # Function to set password for user set_password() { echo "Setting password for $1" echo "$1:$2" | chpasswd } # Function to modify GNOME settings modify_gnome_settings() { #dconf write /org/gnome/desktop/session/idle-delay 0 #dconf write /org/gnome/desktop/interface/clock-show-seconds true #dconf write /org/gnome/desktop/interface/show-battery-percentage true #dconf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'" #dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type "'nothing'" #dconf write /org/gnome/mutter/experimental-features "['scale-monitor-framebuffer','variable-refresh-rate']" #dconf write /org/gnome/desktop/screensaver/idle-activation-enabled false #dconf write /org/gnome/software/download-updates false sudo mkdir -p /etc/dconf/db/local.d/locks/ sudo touch /etc/dconf/db/local.d/locks/00-wallpaper sudo touch /etc/dconf/db/local.d/locks/01-session sudo touch /etc/dconf/db/local.d/locks/02-interface sudo touch /etc/dconf/db/local.d/locks/03-power sudo touch /etc/dconf/db/local.d/locks/04-experimental-features sudo touch /etc/dconf/db/local.d/locks/05-screensaver sudo touch /etc/dconf/db/local.d/locks/06-software-update echo -e "/org/gnome/desktop/background/picture-uri\n/org/gnome/desktop/background/picture-options\n/org/gnome/desktop/background/primary-color\n/org/gnome/desktop/background/secondary-color" | sudo tee -a /etc/dconf/db/local.d/locks/00-wallpaper echo -e "/org/gnome/desktop/session/idle-delay" | sudo tee /etc/dconf/db/local.d/locks/01-session echo -e "/org/gnome/desktop/interface/clock-show-seconds\n/org/gnome/desktop/interface/show-battery-percentage\n/org/gnome/desktop/interface/color-scheme\ngtk-theme" | sudo tee /etc/dconf/db/local.d/locks/02-interface echo -e "/org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type" | sudo tee /etc/dconf/db/local.d/locks/03-power echo -e "/org/gnome/mutter/experimental-features" | sudo tee /etc/dconf/db/local.d/locks/04-experimental-features echo -e "/org/gnome/desktop/screensaver/idle-activation-enabled" | sudo tee /etc/dconf/db/local.d/locks/05-screensaver echo -e "/org/gnome/software/download-updates" | sudo tee /etc/dconf/db/local.d/locks/06-software-update sudo touch /etc/dconf/db/local.d/00-wallpaper sudo touch /etc/dconf/db/local.d/01-session sudo touch /etc/dconf/db/local.d/02-interface sudo touch /etc/dconf/db/local.d/03-power sudo touch /etc/dconf/db/local.d/04-experimental-features sudo touch /etc/dconf/db/local.d/05-screensaver sudo touch /etc/dconf/db/local.d/06-software-update echo -e "[org/gnome/desktop/session]\n\nidle-delay=0" | sudo tee /etc/dconf/db/local.d/01-session echo -e "[org/gnome/desktop/interface]\n\nclock-show-seconds=true\nshow-battery-percentage=true\ncolor-scheme='prefer-dark'" | sudo tee /etc/dconf/db/local.d/02-interface echo -e "[org/gnome/settings-daemon/plugins/power]\n\nsleep-inactive-ac-type='nothing'" | sudo tee /etc/dconf/db/local.d/03-power echo -e "[org/gnome/mutter]\n\nexperimental-features=['scale-monitor-framebuffer','variable-refresh-rate','parental-controls']" | sudo tee /etc/dconf/db/local.d/04-experimental-features echo -e "[org/gnome/desktop/screensaver]\nidle-activation-enabled=false" | sudo tee /etc/dconf/db/local.d//05-screensaver echo -e "[org/gnome/software]\ndownload-updates=false" | sudo tee /etc/dconf/db/local.d//06-software-update sudo dconf update } install_apps() { sudo rpm-ostree install wine openssl -y flatpak install --system -y --noninteractive app/org.onlyoffice.desktopeditors/x86_64/stable flatpak install fedora --system -y --noninteractive app/org.audacityteam.Audacity/x86_64/stable } system_update() { sudo flatpak update -y sudo rpm-ostree cancel sudo rpm-ostree upgrade } # Check and create users create_user eleve create_user prof create_user admin # Set passwords if [ "$(id -u)" = "0" ]; then set_password prof "IPRprof2398" set_password admin "Lprsnm4ehk26-" passwd -d eleve modify_gnome_settings if [ "$(grep '^VERSION_ID=' /etc/os-release | cut -d'=' -f2)" = "40" ]; then rpm-ostree rebase fedora:fedora/40/x86_64/silverblue fi install_apps system_update else echo "Password setting and GNOME settings modification require root privileges. Please run as root." fi