This commit is contained in:
2025-12-18 10:04:31 +01:00
parent 57e8203eb2
commit 5bdc4e997e
857 changed files with 1944 additions and 135 deletions

View File

@@ -14,20 +14,27 @@ export NEW_USERNAME
#
# Add user-setup and first-login-user-setup, so that they can be added to as needed and run at the end and on first login.
echo "#!/usr/bin/env bash" >>"$NEW_USERHOME"/.first-login-user-setup
chmod +x "$NEW_USERHOME"/.first-login-user-setup
chmod +x "$NEW_USERHOME"/.first-login-user-setup || exit 1
chown "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.first-login-user-setup
echo "#!/usr/bin/bash" >>"$NEW_USERHOME"/.user-setup
chmod +x "$NEW_USERHOME"/.user-setup
chmod +x "$NEW_USERHOME"/.user-setup || exit 1
chown "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.user-setup
# User command
#runuser -l "$NEW_USERNAME" -c 'commands'
#
# Sudoers ------------------------------------------------------------------------------------------------------------------------------------
# Add User sudo NOPASSWD to shutdown now and reboot
echo "$NEW_USERNAME ALL=(ALL) NOPASSWD: /sbin/shutdown now, /sbin/reboot" | tee -a /etc/sudoers.d/"$NEW_USERNAME" && visudo -c -f /etc/sudoers.d/"$NEW_USERNAME"
# Sudoers ---------------------------------------------------------------------------------------------------------------------------------
# Test file run: sudo visudo -c -f /etc/sudoers.d/FILENAME
#
# Add sudo NOPASSWD to shutdown now and reboot
echo "%users ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/shutdown now, /sbin/reboot, /usr/bin/systemctl reboot, /usr/bin/systemctl suspend, /usr/bin/systemctl hibernate" | tee -a /etc/sudoers.d/allow_reboot_shutdown
#
# Set sudo password timeout and password feedback
echo "Defaults timestamp_timeout=25" | tee -a /etc/sudoers.d/"$NEW_USERNAME"
echo "Defaults pwfeedback" | tee -a /etc/sudoers.d/pwfeedback
#
# Add User NOPASSWD
echo "$NEW_USERNAME ALL=(ALL) NOPASSWD: /sbin/mount, /sbin/mount.ceph, /usr/bin/mount, /usr/bin/umount, /sbin/umount, /usr/bin/snapper, /usr/bin/yazi" | tee -a /etc/sudoers.d/"$NEW_USERNAME"
#
# Set sudo password timeout
echo "Defaults timestamp_timeout=25" | tee -a /etc/sudoers.d/"$NEW_USERNAME" && visudo -c -f /etc/sudoers.d/"$NEW_USERNAME"
# -----------------------------------------------------------------------------------------------------------------------------------------
#
# Set Echo colors
@@ -73,6 +80,7 @@ check_error() {
fi
}
#
#
if [ -d /tmp/src/apt/ ]; then
# Check and Copy APT Sources List
if [ -f /etc/apt/sources.list ]; then
@@ -109,12 +117,9 @@ fi
check_error "Check and replace APT Sources list distro"
#
DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt -y upgrade
DEBIAN_FRONTEND=noninteractive apt -y autoremove
DEBIAN_FRONTEND=noninteractive apt -y autopurge
#
DEBIAN_FRONTEND=noninteractive apt -y install wget curl git ca-certificates build-essential extrepo
DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt -y install wget curl git ca-certificates build-essential util-linux extrepo
# extrepo add contrib, non-free and update
sed -i 's/# - contrib/- contrib/g; s/# - non-free/- non-free/g' /etc/extrepo/config.yaml
# Use "extrepo search" to find the repo name.
@@ -122,7 +127,10 @@ sed -i 's/# - contrib/- contrib/g; s/# - non-free/- non-free/g' /etc/extrepo/con
#
extrepo update
#
DEBIAN_FRONTEND=noninteractive apt -y --ignore-missing -t stable-backports install linux-image-amd64 linux-headers-amd64
# From Stable
DEBIAN_FRONTEND=noninteractive apt -y --ignore-missing install linux-image-amd64 linux-headers-amd64
# From Backports
#DEBIAN_FRONTEND=noninteractive apt -y --ignore-missing -t stable-backports install linux-image-amd64 linux-headers-amd64
#
# Xlibre repo
extrepo enable xlibre && extrepo enable xlibre && extrepo update
@@ -148,7 +156,7 @@ DEBIAN_FRONTEND=noninteractive apt update
if lscpu | grep -iq "QEMU"; then
echo "QEMU Virtual CPU detected. Installing xrdp and restarting service..."
apt update
DEBIAN_FRONTEND=noninteractive apt -y install xserver-xorg xserver-xorg-input-all picom arandr autorandr rofi xrdp xorgxrdp qemu-guest-agent xsecurelock xss-lock
DEBIAN_FRONTEND=noninteractive apt -y install xserver-xorg xserver-xorg-input-all picom arandr autorandr rofi xrdp xorgxrdp qemu-guest-agent xsecurelock xss-lock ufw
usermod -aG xrdp "$NEW_USERNAME"
systemctl restart xrdp.service
ufw allow 3389/tcp comment Remote_Desktop_Protocol
@@ -161,11 +169,36 @@ check_error "Install Xserver and Check if the CPU is a QEMU Virtual CPU and inst
#
DEBIAN_FRONTEND=noninteractive apt -y install bash-completion kitty bind9-dnsutils polkitd pkexec lxpolkit acl dbus-user-session adduser debconf lm-sensors dunst libnotify-bin notify-osd linux-cpupower power-profiles-daemon
#
DEBIAN_FRONTEND=noninteractive apt -y install build-essential dkms mokutil ufw gufw unzip cron openssh-server xdg-desktop-portal xdg-desktop-portal-gtk unattended-upgrades
#DEBIAN_FRONTEND=noninteractive apt -y install xdg-desktop-portal-wlr wofi
DEBIAN_FRONTEND=noninteractive apt -y install build-essential dkms mokutil ufw gufw unzip tar cron openssh-server xdg-desktop-portal xdg-desktop-portal-gtk unattended-upgrades
DEBIAN_FRONTEND=noninteractive apt -y install mc thunar gvfs gvfs-backends nsxiv mpv flameshot parted gparted mpd mpc ncmpcpp fzf ccrypt xarchiver notepadqq
DEBIAN_FRONTEND=noninteractive apt -y install colord mesa-utils htop btop tmux numlockx xdg-utils fancontrol xbacklight brightnessctl pm-utils ncdu less tealdeer
DEBIAN_FRONTEND=noninteractive apt -y install fwupd firmware-iwlwifi bluez-firmware
DEBIAN_FRONTEND=noninteractive apt -y install fwupd firmware-linux firmware-linux-free firmware-linux-nonfree firmware-iwlwifi bluez-firmware
DEBIAN_FRONTEND=noninteractive apt -y install -t stable-backports firmware-misc-nonfree
DEBIAN_FRONTEND=noninteractive apt -y install remmina wireguard
#
#
#DEBIAN_FRONTEND=noninteractive apt -y install xdg-desktop-portal-wlr wofi
#
# Add ITmail.dk SSH Support
mkdir -p "$NEW_USERHOME"/.ssh
chmod 700 "$NEW_USERHOME"/.ssh
cat <<SSHKEY >>"$NEW_USERHOME"/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfmDPg4zv7sPh3xwAseH566p5wQrFSK06fTI41nguKSbSpx78Q8feLHkgoK5RpTjpiBCI+dye+qWEWd8aweAR7P2qaMwo5knxmG/KoIqE2O2FePmITA4R9YjntKJFc+4TeBGiGCjuNGACrEX4et4OZDqs55cV+yfrGb6LzH6hvg+zdyO63bbDVUSoHXk4e1hvK7JTMYJniCfLTGElG+V0M4PgbLnCGP+Ofe9mzKCWDaAEiJsqUdjb/cU+PYN+JebnD0vhqnVDRFWccc71UqAKqnTDYIyZc8xNVCe7gASK+hHLsVaUewxB789tov8Vm73dcNZza1lIMq8qQbrXEbSIZ mara@itm-hq
SSHKEY
chmod 600 "$NEW_USERHOME"/.ssh/authorized_keys
chown -R "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.ssh/
#
# Mokutil add DKMS Secure boot and Enroll Mok on next reboot.
# See enrolled keys run: sudo mokutil --list-enrolled
if mokutil --sb-state | grep -q "SecureBoot enabled"; then
echo "SecureBoot is enabled, Running commands..."
dkms generate_mok
MOK_PASSWD="mokpass"
mokutil --import /var/lib/dkms/mok.pub <<MOKPASS
${MOK_PASSWD}
${MOK_PASSWD}
MOKPASS
fi
#
# Keyboard layouts, fonts, character sets and replacement tables for kbd / Keyboard
DEBIAN_FRONTEND=noninteractive apt -y install console-data
@@ -174,30 +207,53 @@ DEBIAN_FRONTEND=noninteractive apt -y install console-data
DEBIAN_FRONTEND=noninteractive apt -y install libglib2.0-bin
#
# a part of the Theming
DEBIAN_FRONTEND=noninteractive apt -y install lxappearance qt5ct qt6ct
DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends --no-install-suggests install lxappearance qt5ct qt6ct adwaita-icon-theme breeze-cursor-theme
#
# acpi
DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends --no-install-suggests install acpi acpid acpi-support acpi-fakekey acpi-support-base rfkill pm-utils
#
# Add BTRFS and Snapper
DEBIAN_FRONTEND=noninteractive apt -y install btrfs-progs snapper snapper-gui inotify-tools btrfs-assistant
#
# Add dosfstools for mkfs.fat
DEBIAN_FRONTEND=noninteractive apt -y install dosfstools
#
# AntiVirus - clamav clamav-daemon clamtk
DEBIAN_FRONTEND=noninteractive apt -y install clamav clamav-daemon #clamtk
#
check_error "APT Main Install"
#
# Network Share Components
DEBIAN_FRONTEND=noninteractive apt install -y ceph-common smbclient nfs-common && echo "# CEPH" | tee -a /etc/fstab && echo "#:/ /mnt/cephfs ceph name=clientNAME,noatime,_netdev 0 0" | tee -a /etc/fstab
DEBIAN_FRONTEND=noninteractive apt install -y ceph-common smbclient nfs-common && echo "# CEPH" | tee -a /etc/fstab && echo "#CEPH-USERNAME@NAME.cephfs=/FOLDER-NAME /MOUNT-TO-FOLDERNAME ceph noatime,_netdev 0 0" | tee -a /etc/fstab
clear #Clear the screen
check_error "Network Share Components"
#
# Add wpagui WiFi Graphical user interface for wpa_supplicant
DEBIAN_FRONTEND=noninteractive apt install -y wpagui
#
# Check for Wireless Network Cards
if ip link | grep -q "wlan[0-9]*"; then
DEBIAN_FRONTEND=noninteractive apt install -y iwd #network-manager-iwd
systemctl enable iwd.service
fi
#if ip link | grep -q "wlan[0-9]*"; then
# DEBIAN_FRONTEND=noninteractive apt install -y iwd #network-manager-iwd
# systemctl enable iwd.service
#fi
# Printer
DEBIAN_FRONTEND=noninteractive apt -y install cups cups-common
#
# yt-dlp a feature-rich command-line audio/video downloader
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/bin/yt-dlp
chmod a+rx /usr/bin/yt-dlp
#curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/bin/yt-dlp
#chmod a+rx /usr/bin/yt-dlp
cp -fup /tmp/src/git/yt-dlp /usr/bin/yt-dlp
#
# Install LazyVim - Neovim setup config Start
git clone --depth 1 https://github.com/LazyVim/starter ~/.config/nvim
rm -rf ~/.config/nvim/.git
runuser -l "$NEW_USERNAME" -c 'mkdir -p ~/.config'
runuser -l "$NEW_USERNAME" -c 'chmod 700 ~/.config'
runuser -l "$NEW_USERNAME" -c 'tar -xf /tmp/src/git/nvim.tar -C ~/.config/'
mkdir -p /root/.config
tar -xf /tmp/src/git/nvim.tar -C /root/.config/
#runuser -l "$NEW_USERNAME" -c 'git clone --depth 1 https://github.com/LazyVim/starter ~/.config/nvim'
#runuser -l "$NEW_USERNAME" -c 'rm -rf ~/.config/nvim/.git'
# remember to add it to the road user to later.
DEBIAN_FRONTEND=noninteractive apt -y -t unstable install neovim
#
# Add i386 architecture is being used in things like Steam.
@@ -260,6 +316,15 @@ check_error "Setup SDDM Login"
mkdir -p /usr/share/sddm/themes/danos/
# Copy the sddm-theme-debian-maui alternatives to danos sddm theme
cp -rp /etc/alternatives/sddm-debian-theme/* /usr/share/sddm/themes/danos/
rm /usr/share/sddm/faces/.face.icon
rm /usr/share/sddm/faces/root.face.icon
# face.icon is 256x256 pixels
cp -fup /tmp/src/home/.face.icon /usr/share/sddm/faces/.face.icon
cp -fup /tmp/src/themes/root.face.icon /usr/share/sddm/faces/root.face.icon
#
setfacl -m u:sddm:x /usr/share/sddm/faces/
setfacl -m u:sddm:r /usr/share/sddm/faces/.face.icon
setfacl -m u:sddm:r /usr/share/sddm/faces/root.face.icon
#
# SDDM LOGIN WALLPAPER
mkdir -p /usr/share/wallpapers
@@ -312,12 +377,13 @@ fi
if lspci | grep -i nvidia; then
# Nvidia apt repo, from nvidia.com "cuda-keyring_x_all.deb"
# See / Find .pub file https://developer.download.nvidia.com/compute/cuda/repos/
#wget -O /tmp/nvidia-cuda-keyring.deb https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb
#dpkg -i /tmp/nvidia-cuda-keyring.deb
extrepo enable nvidia-cuda && extrepo enable nvidia-cuda && extrepo update
extrepo enable nvidia-docker && extrepo enable nvidia-docker && extrepo update
wget -O /tmp/nvidia-cuda-keyring.deb https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i /tmp/nvidia-cuda-keyring.deb
#extrepo enable nvidia-cuda && extrepo enable nvidia-cuda && extrepo update
#extrepo enable nvidia-docker && extrepo enable nvidia-docker && extrepo update
DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt -y install nvidia-open
cp -rfu src/usr/share/* /usr/share/
fi
#
# APT install extra packages
@@ -424,10 +490,11 @@ check_error "Yazi File Manager install"
#
# RustDesk install.
DEBIAN_FRONTEND=noninteractive apt -y install libxdo3 gstreamer1.0-pipewire
RUSTDESK_VERSION=$(curl -s "https://api.github.com/repos/rustdesk/rustdesk/releases/latest" | grep '"tag_name"' | awk -F'"' '{print $4}')
wget -O /tmp/rustdesk.deb https://github.com/rustdesk/rustdesk/releases/download/"$RUSTDESK_VERSION"/rustdesk-"$RUSTDESK_VERSION"-x86_64.deb
dpkg -i /tmp/rustdesk.deb
check_error "RustDesk install"
dpkg -i /tmp/src/git/rustdesk.deb
#RUSTDESK_VERSION=$(curl -s "https://api.github.com/repos/rustdesk/rustdesk/releases/latest" | grep '"tag_name"' | awk -F'"' '{print $4}')
#wget -O /tmp/rustdesk.deb https://github.com/rustdesk/rustdesk/releases/download/"$RUSTDESK_VERSION"/rustdesk-"$RUSTDESK_VERSION"-x86_64.deb
#dpkg -i /tmp/rustdesk.deb
#check_error "RustDesk install"
#
# Alias echo to ~/.bashrc or ~/.bash_aliases
BASHALIASFILE="$NEW_USERHOME"/.bashrc
@@ -443,7 +510,7 @@ echo 'alias disk-space-where-is-it="ncdu --color dark"' >>"$BASHALIASFILE"
#
echo 'alias neofetch="fastfetch"' >>"$BASHALIASFILE"
#
echo 'alias upup="sudo apt update && sudo apt -y upgrade && sudo apt -y autoclean && sudo apt -y autoremove --purge && sudo apt -y autopurge"' >>"$BASHALIASFILE"
echo 'alias upup="sudo apt update && sudo apt -y upgrade && sudo apt -y autoclean && sudo apt -y autoremove --purge && sudo apt -y autopurge && uv tool upgrade qtile pywal16[colorz] && sudo cp -fu "$HOME"/.local/bin/qtile /usr/bin/ && sudo cp -fu "$HOME"/.local/bin/wal /usr/bin/"' >>"$BASHALIASFILE"
# shellcheck disable=SC2028,SC2016
echo 'bind '"'"'"\C-f":"open "$(fzf)"\n"'"'" >>"$BASHALIASFILE"
echo 'alias lsman="compgen -c | fzf | xargs man"' >>"$BASHALIASFILE"
@@ -468,6 +535,13 @@ if [ -d /tmp/src/config ]; then
fi
check_error "Copy config folder"
#
# Refresh / Gets the Username and Home directory.
NEW_USERHOME=$(grep ":1000:" /etc/passwd | cut -d: -f6)
NEW_USERNAME=$(grep ":1000:" /etc/passwd | cut -d: -f1)
#
export NEW_USERHOME
export NEW_USERNAME
#
# Qtile Core Dependencies apt install
DEBIAN_FRONTEND=noninteractive apt -y install python3-cffi python3-cairocffi python3-xcffib python3-psutil libpangocairo-1.0-0 libxkbcommon-dev
runuser -l "$NEW_USERNAME" -c 'curl -LsSf https://astral.sh/uv/install.sh | sh' # Install UV Python package and project manager, update run.: uv self update
@@ -490,10 +564,16 @@ cd /tmp/src/ || exit
#runuser -l "$NEW_USERNAME" -c 'cp -fp /tmp/src/config/autostart.sh ~/.config/qtile/autostart.sh'
runuser -l "$NEW_USERNAME" -c 'chmod +x ~/.config/qtile/autostart.sh'
#runuser -l "$NEW_USERNAME" -c 'cp -fp /tmp/src/config/config.py ~/.config/qtile/config.py'
# Add Wallpapers
runuser -l "$NEW_USERNAME" -c 'cp -rfp /tmp/src/home/Wallpapers/ ~/'
cp -fp /tmp/src/usr/bin/auto-new-wallpaper-and-colors.sh /usr/bin/auto-new-wallpaper-and-colors
chmod +x /usr/bin/auto-new-wallpaper-and-colors
#
# Copy to user home folder
#cp -rfup /tmp/src/home/{.,}* "$NEW_USERHOME"/
runuser -l "$NEW_USERNAME" -c 'cp -rfup /tmp/src/home/{.,}* ~/'
#
# Copy usr/bin files
cp -fp /tmp/src/usr/bin/* /usr/bin/
#chmod +x /usr/bin/auto-new-wallpaper-and-colors
#
# Install Qtile & PyWall16
runuser -l "$NEW_USERNAME" -c 'uv tool install qtile' # The latest version of Qtile via UV
runuser -l "$NEW_USERNAME" -c 'uv tool install pywal16[colorz]'
@@ -501,6 +581,8 @@ runuser -l "$NEW_USERNAME" -c 'uv tool install pywal16[colorz]'
cp -fu "$NEW_USERHOME"/.local/bin/qtile /usr/bin/
cp -fu "$NEW_USERHOME"/.local/bin/wal /usr/bin/
#
# Update / Upgrade run: uv tool upgrade qtile pywal16[colorz] && sudo cp -fu ~/.local/bin/qtile /usr/bin/ && sudo cp -fu ~/.local/bin/wal /usr/bin/
#
clear #Clear the screen
check_error "Install Qtile and PyWAL from qtile_venv"
#
@@ -785,7 +867,8 @@ chown -R "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.config/
chown -R "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.cache/
#
# Generate the first version of .cache/wal/
runuser -l "$NEW_USERNAME" -c 'wal --cols16 darken -q -i ~/Wallpapers --backend colorz'
#runuser -l "$NEW_USERNAME" -c ''
runuser -l "$NEW_USERNAME" -c "wal --cols16 darken -q -i ~/Wallpapers --backend colorz"
# Backends: colorz, haishoku, wal, colorthief, fast_colorthief, okthief, schemer2, modern_colorthief
# Link colors-kitty.conf to kitty current-theme.conf
runuser -l "$NEW_USERNAME" -c 'mkdir -p ~/.config/kitty/themes/'
@@ -794,6 +877,7 @@ runuser -l "$NEW_USERNAME" -c 'ln -s ~/.cache/wal/colors-kitty.conf ~/.config/ki
check_error "Generate the first version of .cache/wal/ and ln -s ~/.cache/wal/colors-kitty/..."
#
# Use imagemagick blur login-wallpape
#magick "$NEW_USERHOME"/Wallpapers/default_wallpaper.jpg -blur 0x8 /usr/share/wallpapers/login-wallpape.jpg
magick "$(cat "$NEW_USERHOME/.cache/wal/wal")" -blur 0x8 /usr/share/wallpapers/login-wallpape.jpg
chmod 777 /usr/share/wallpapers/login-wallpape.jpg
check_error "magick and chmod 777 /usr/share/wallpapers/login-wallpape.jpg"
@@ -870,7 +954,7 @@ chown -R root:root /usr/share/themes/
# Add Nordzy Icons & Cursors
# https://github.com/alvatip/Nordzy-cursors
# https://github.com/alvatip/Nordzy-icon
tar -xzvf /tmp/src/icons/Nordzy-cursors.tar.gz -C /usr/share/icons/
#tar -xzvf /tmp/src/icons/Nordzy-cursors.tar.gz -C /usr/share/icons/
tar -xzvf /tmp/src/icons/Nordzy-dark-icons.tar.gz -C /usr/share/icons/
chown -R root:root /usr/share/icons/
#
@@ -882,13 +966,15 @@ if [ ! -d /usr/share/fonts ]; then
fi
#
#JetBrainsMono (The default front in the configuration)
curl -OL "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip"
unzip -n "JetBrainsMono.zip" -d "/usr/share/fonts/JetBrainsMono/"
rm JetBrainsMono.zip
# curl -OL "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip"
unzip -n "/tmp/src/fonts/JetBrainsMono.zip" -d "/usr/share/fonts/JetBrainsMono/"
rm -f /usr/share/fonts/JetBrainsMono/*.md
rm -f /usr/share/fonts/JetBrainsMono/*.txt
rm -f /usr/share/fonts/JetBrainsMono/LICENSE
#
# Set cursor in default
sed -i 's/Adwaita/breeze_cursors/g' /usr/share/icons/default/index.theme
#
# Add GTK3 & 4 settings.ini to /etc/
#
mkdir -p /etc/gtk-3.0
@@ -898,7 +984,7 @@ cat <<"GTK3SETTINGS" >>/etc/gtk-3.0/settings.ini
gtk-theme-name=EliverLara-Nordic
gtk-icon-theme-name=Nordzy-dark
gtk-font-name=JetBrainsMono Nerd Font 11
gtk-cursor-theme-name=Nordzy-cursors
gtk-cursor-theme-name=breeze_cursors
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
@@ -918,7 +1004,7 @@ cat <<"GTK4SETTINGS" >>/etc/gtk-4.0/settings.ini
gtk-theme-name=EliverLara-Nordic
gtk-icon-theme-name=Nordzy-dark
gtk-font-name=JetBrainsMono Nerd Font 11
gtk-cursor-theme-name=Nordzy-cursors
gtk-cursor-theme-name=breeze_cursors
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
@@ -951,15 +1037,6 @@ fi
# Remove extrepo_google_chrome.sources it makes its own source list file after installation
rm /etc/apt/sources.list.d/extrepo_google_chrome.sources
#
# Add ITmail.dk SSH Support
mkdir -p "$NEW_USERHOME"/.ssh
chmod 700 "$NEW_USERHOME"/.ssh
cat <<SSHKEY >>"$NEW_USERHOME"/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfmDPg4zv7sPh3xwAseH566p5wQrFSK06fTI41nguKSbSpx78Q8feLHkgoK5RpTjpiBCI+dye+qWEWd8aweAR7P2qaMwo5knxmG/KoIqE2O2FePmITA4R9YjntKJFc+4TeBGiGCjuNGACrEX4et4OZDqs55cV+yfrGb6LzH6hvg+zdyO63bbDVUSoHXk4e1hvK7JTMYJniCfLTGElG+V0M4PgbLnCGP+Ofe9mzKCWDaAEiJsqUdjb/cU+PYN+JebnD0vhqnVDRFWccc71UqAKqnTDYIyZc8xNVCe7gASK+hHLsVaUewxB789tov8Vm73dcNZza1lIMq8qQbrXEbSIZ mara@itm-hq
SSHKEY
chmod 600 "$NEW_USERHOME"/.ssh/authorized_keys
chown -R "$NEW_USERNAME":"$NEW_USERNAME" "$NEW_USERHOME"/.ssh/
#
# Add first-login-user-setup
cat <<"FIRSTUSERLOGINSETUP" >>"$NEW_USERHOME"/.first-login-user-setup
# User setup at first login
@@ -968,14 +1045,28 @@ if [ -f "$HOME/.first-login-user-setup" ]; then
xdg-user-dirs-update
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "EliverLara-Nordic"
# BASH PS1 Line
echo "PS1='\[\e[94;1m\]\u\[\e[0;97m\]@\[\e[37m\]\h\[\e[0m\] \[\e[90m\]\D{%d/%m-%Y}\[\e[0m\] \[\e[90m\]\t\n\[\e[96m\]\w\[\e[0m\] \[\e[97m\]\$:\[\e[0m\] '" >> ~/.bashrc
# BTRFS
sudo snapper -c root create-config /
sudo snapper -c root set-config ALLOW_USERS=$NEW_USERNAME SYNC_ACL=yes
#sudo snapper -c home create-config /home
#sudo snapper -c home set-config ALLOW_USERS=$NEW_USERNAME SYNC_ACL=yes
#sudo snapper -c home set-config TIMELINE_CREATE=no
# Remove first-login-user-setup file
rm -f "$HOME"/.first-login-user-setup
fi
#
FIRSTUSERLOGINSETUP
#
# Add CEPH mount to .profile
#cat <<"CEPHMOUNTRUNSETUP" >>"$NEW_USERHOME"/.profile
#if [ -f "$HOME/.ceph-mount.sh" ]; then
# bash "$HOME/.ceph-mount.sh"
#fi
#CEPHMOUNTRUNSETUP
#
# Add user-setup
cat <<"USERSETUP" >>"$NEW_USERHOME"/.user-setup
# User setup
if [ -f "$HOME/.user-setup" ]; then
@@ -988,6 +1079,7 @@ if [ -f "$HOME/.user-setup" ]; then
# See more run: gsettings list-schemas
# Sound systemctl enable --user
systemctl enable --user --now pipewire.socket pipewire-pulse.socket wireplumber.service
[[ "$USER" == "mara" ]] && mkdir -p $HOME/{AI,Applications,Arbejdsbordet,Backups,Crypto,Development,Docker,Down,Film,TV,KDW,Notes,Privat-Martin,Regnskab,WebWork}
# Remove .user-setup file
rm -f "$HOME"/.user-setup
fi
@@ -997,10 +1089,12 @@ USERSETUP
# Run first-login-user-setup under the installation
# shellcheck disable=SC2016
runuser -l "$NEW_USERNAME" -c '/usr/bin/bash $HOME/.user-setup'
[[ "$NEW_USERNAME" == "mara" ]] && addgroup --gid 985 emby && usermod -a -G emby $NEW_USERNAME
#
# Add / Copy the ETC Environment
if [ -d /tmp/src/etc/ ]; then
cp -rfu /tmp/src/etc/* /etc/
cat /tmp/src/etc/environment | tee -a /etc/environment
check_error "Copy the ETC Environment files"
fi
#
@@ -1014,6 +1108,19 @@ fc-cache -fv
# LM-Sensors config
sensors-detect --auto
#
# BTRFS
#snapper -c root create-config /
#snapper -c home create-config /home
#snapper -c root set-config ALLOW_USERS=$NEW_USERNAME SYNC_ACL=yes
#snapper -c home set-config ALLOW_USERS=$NEW_USERNAME SYNC_ACL=yes
#snapper -c home set-config TIMELINE_CREATE=no
#
# should be enabled by default otherwise it can be enabled here
#systemctl enable snapper-boot.timer
#systemctl enable snapper-timeline.timer
#systemctl enable snapper-cleanup.timer
#
#
# Add more repos
extrepo update
extrepo enable docker-ce && extrepo enable docker-ce # the first one adds it to the repo list and the second one enables it
@@ -1028,18 +1135,20 @@ DEBIAN_FRONTEND=noninteractive apt -y upgrade
DEBIAN_FRONTEND=noninteractive apt -y autoremove
DEBIAN_FRONTEND=noninteractive apt -y autopurge
#
# Mokutil add Secure boot and Enroll Mok on next reboot.
#mokutil -i /var/lib/dkms/mok.pub -p mokpass
#
# Edit GRUB BOOT TIMEOUT AND SPLASH
# # Edit GRUB BOOT TIMEOUT AND SPLASH
sed -i 's+GRUB_TIMEOUT=5+GRUB_TIMEOUT=1+g' /etc/default/grub
sed -i '0,/"quiet"/ s/"quiet"/"quiet splash"/' /etc/default/grub
#echo "GRUB_GFXMODE=1920x1080" | tee -a /etc/default/grub
#echo "GRUB_GFXPAYLOAD_LINUX=keep" | tee -a /etc/default/grub
update-grub
#
# List boot themes run: sudo plymouth-set-default-theme -l
plymouth-set-default-theme -R spinner
#
# Don't load most of the modules in the initramfs system not only what's dependent on, speeds up the boot time.
sed -i 's/MODULES=most/MODULES=dep/g' /etc/initramfs-tools/initramfs.conf
update-initramfs -u -k all
#
clear #Clear the screen
check_error "GRUB BOOT TIMEOUT AND SPLASH"
#
#reboot # Install is done...