Compare commits
64 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d2eb6b70b | |||
| 9b389346cb | |||
| 79363564a6 | |||
| c3f4e19b0c | |||
| e26506c103 | |||
| 3493e9f136 | |||
| 6f0113f280 | |||
| 9f397457bb | |||
| 20d7b4ccec | |||
| ba74687168 | |||
| 23a066b880 | |||
| 4060782192 | |||
| 25bb613200 | |||
| 845c33f8df | |||
| fb98d432c9 | |||
| e74ff7974b | |||
| 79f47577f3 | |||
| 2e69ff9bbf | |||
| 9ca3c3b727 | |||
| 931127bb2e | |||
| cadfdbabf9 | |||
| ad91ff199a | |||
| 41dc9242f8 | |||
| bea8685209 | |||
| be2235ac3a | |||
| d86fc47629 | |||
| 133b26ff64 | |||
| 17832f8430 | |||
| d92c60e300 | |||
| e2a84e8c48 | |||
| 3509d25072 | |||
| 868814e03a | |||
| 3fceca6056 | |||
| 301d383001 | |||
| ab79c488c9 | |||
| 5597b961b6 | |||
| 992e2a5500 | |||
| c332bfffbc | |||
| fd2aebefc0 | |||
| 36a34d5e2b | |||
| 9eff92a1bb | |||
| c2770f49ed | |||
| 1228a3f5f3 | |||
| 7908a461d5 | |||
| f9a909621f | |||
| 662e59ff42 | |||
| c5cd30de0a | |||
| c5082087d3 | |||
| abd173ca61 | |||
| b2181285c0 | |||
| 5b2107b348 | |||
| 21f2a07264 | |||
| 7a31afc969 | |||
| 69dccc0555 | |||
| e15cd6060e | |||
| b2b11b98eb | |||
| cb66491c26 | |||
| 13724fb125 | |||
| ee1a82046e | |||
| 4768265ceb | |||
| d26c1035ba | |||
| 86c8d48fc4 | |||
| d42e1bf7af | |||
| 9de946b3bf |
@@ -1,305 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (no tput)
|
||||
##########################
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
CYAN='\033[0;36m'
|
||||
PURPLE='\033[0;35m'
|
||||
BLUE='\033[0;34m'
|
||||
GRAY='\033[0;37m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED='' GREEN='' YELLOW='' CYAN='' PURPLE='' BLUE='' GRAY='' BOLD='' RESET=''
|
||||
fi
|
||||
|
||||
color_yellow() { printf '%b' "$YELLOW"; }
|
||||
color_cyan() { printf '%b' "$CYAN"; }
|
||||
color_red() { printf '%b' "$RED"; }
|
||||
color_green() { printf '%b' "$GREEN"; }
|
||||
color_reset() { printf '%b' "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Script Version Selection
|
||||
##########################
|
||||
echo "Select script version:"
|
||||
echo " 1) v1 (legacy)"
|
||||
echo " 2) v2 (stable)"
|
||||
# Added a 10-second timeout and default to 2
|
||||
if ! read -t 10 -rp "Enter choice [1/2] (default: 2): " ver_choice; then
|
||||
ver_choice=2
|
||||
echo -e "\nTimeout reached, defaulting to v2."
|
||||
fi
|
||||
|
||||
case "$ver_choice" in
|
||||
1) SCRIPT_VERSION="v1" ;;
|
||||
*) SCRIPT_VERSION="v2" ;;
|
||||
esac
|
||||
|
||||
echo
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Selected Script Version: $SCRIPT_VERSION"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
|
||||
if [[ ! -d "./${SCRIPT_VERSION}" ]]; then
|
||||
color_red
|
||||
echo "ERROR: Version folder not found: ${SCRIPT_VERSION}"
|
||||
color_reset
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##########################
|
||||
# OS Detection
|
||||
##########################
|
||||
echo
|
||||
color_yellow
|
||||
echo "################################################################"
|
||||
echo "################### Start OS Detection"
|
||||
echo "################################################################"
|
||||
color_reset
|
||||
echo
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
OS_ID="${ID,,}"
|
||||
OS_LIKE="${ID_LIKE:-}"
|
||||
OS_LIKE="${OS_LIKE,,}"
|
||||
OS_VERSION="${VERSION_ID:-unknown}"
|
||||
OS_PRETTY="$PRETTY_NAME"
|
||||
OS=""
|
||||
|
||||
case "$OS_ID" in
|
||||
arch) OS="arch" ;;
|
||||
debian) OS="debian" ;;
|
||||
ubuntu) OS="ubuntu" ;;
|
||||
fedora) OS="fedora" ;;
|
||||
*)
|
||||
if [[ "$OS_LIKE" == *"ubuntu"* ]]; then
|
||||
OS="ubuntu"
|
||||
elif [[ "$OS_LIKE" == *"arch"* ]]; then
|
||||
OS="arch"
|
||||
elif [[ "$OS_LIKE" == *"debian"* ]]; then
|
||||
OS="debian"
|
||||
elif [[ "$OS_LIKE" == *"fedora"* || "$OS_LIKE" == *"rhel"* ]]; then
|
||||
OS="fedora"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n "$OS" ]]; then
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Detected OS: $OS ($OS_PRETTY)"
|
||||
echo "Version: $OS_VERSION"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
else
|
||||
color_red
|
||||
echo "################################################################################"
|
||||
echo "ERROR: Unsupported or unknown Linux distribution."
|
||||
echo "Detected: ID=$OS_ID, ID_LIKE=${OS_LIKE:-empty}"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##########################
|
||||
# Desktop Environment Detection / Selection
|
||||
##########################
|
||||
echo
|
||||
color_yellow
|
||||
echo "################################################################"
|
||||
echo "################### Desktop Environment Selection"
|
||||
echo "################################################################"
|
||||
color_reset
|
||||
echo
|
||||
|
||||
DE_RAW="${XDG_CURRENT_DESKTOP:-${DESKTOP_SESSION:-}}"
|
||||
DE=""
|
||||
|
||||
case "${DE_RAW,,}" in
|
||||
*xfce*) DE="xfce" ;;
|
||||
*plasma*|*kde*) DE="plasma" ;;
|
||||
*gnome*) DE="gnome" ;;
|
||||
""|none) DE="" ;;
|
||||
esac
|
||||
|
||||
if [[ -n "$DE" ]]; then
|
||||
echo
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Detected Desktop Environment: $DE (${DE_RAW})"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
else
|
||||
echo
|
||||
echo "No Desktop Environment detected. Select one to install:"
|
||||
while true; do
|
||||
echo " 1) XFCE"
|
||||
echo " 2) Plasma"
|
||||
echo " 3) GNOME"
|
||||
echo " x) None (default)"
|
||||
# Added timeout to avoid hanging
|
||||
if ! read -t 15 -rp "Enter choice [1/2/3/x] (default: x): " choice; then
|
||||
choice="x"
|
||||
fi
|
||||
|
||||
case "${choice,,}" in
|
||||
1) DE="xfce"; break ;;
|
||||
2) DE="plasma"; break ;;
|
||||
3) DE="gnome"; break ;;
|
||||
x|"") DE="none"; break ;;
|
||||
*) echo "Invalid option. Please enter 1, 2, 3, or x." ;;
|
||||
esac
|
||||
done
|
||||
echo
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Selected Desktop Environment: $DE"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
fi
|
||||
|
||||
##########################
|
||||
# Tiling Window Manager Selection
|
||||
##########################
|
||||
echo
|
||||
color_yellow
|
||||
echo "################################################################"
|
||||
echo "################### Tiling WM Selection"
|
||||
echo "################################################################"
|
||||
color_reset
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo
|
||||
echo "Select a tiling window manager:"
|
||||
echo " 1) CHADWM"
|
||||
echo " 2) Hyprland"
|
||||
echo " 3) Niri"
|
||||
echo " x) None (default)"
|
||||
if ! read -t 15 -rp "Enter choice [1/2/3/x] (default: x): " choice; then
|
||||
choice="x"
|
||||
fi
|
||||
|
||||
case "${choice,,}" in
|
||||
1) TWM="chadwm"; break ;;
|
||||
2) TWM="hyprland"; break ;;
|
||||
3) TWM="niri"; break ;;
|
||||
x|"") TWM="none"; break ;;
|
||||
*) echo "Invalid option. Please enter 1, 2, 3 or x." ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Selected Tiling WM: $TWM"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
|
||||
##########################
|
||||
# Installation Level Selection
|
||||
##########################
|
||||
echo
|
||||
color_yellow
|
||||
echo "################################################################"
|
||||
echo "################### Installation Level Selection"
|
||||
echo "################################################################"
|
||||
color_reset
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo
|
||||
echo "Select installation level:"
|
||||
echo " 1) minimal"
|
||||
echo " 2) full"
|
||||
echo " 3) workstation"
|
||||
echo " 4) server"
|
||||
if ! read -t 15 -rp "Enter choice [1/2/3/4] (default: 1): " choice; then
|
||||
choice="1"
|
||||
fi
|
||||
|
||||
case "$choice" in
|
||||
1|"") INSTALL_LEVEL="minimal"; break ;;
|
||||
2) INSTALL_LEVEL="full"; break ;;
|
||||
3) INSTALL_LEVEL="workstation"; break ;;
|
||||
4) INSTALL_LEVEL="server"; break ;;
|
||||
*) echo "Invalid option. Please enter 1, 2, 3, or 4." ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo
|
||||
color_cyan
|
||||
echo "################################################################################"
|
||||
echo "Selected Installation Level: $INSTALL_LEVEL"
|
||||
echo "################################################################################"
|
||||
color_reset
|
||||
|
||||
##########################
|
||||
# Export selections for OS script
|
||||
##########################
|
||||
export DETECTED_OS="$OS"
|
||||
export DETECTED_DE="$DE_RAW"
|
||||
export SELECTED_DE="$DE"
|
||||
export SELECTED_TWM="$TWM"
|
||||
export INSTALL_LEVEL
|
||||
|
||||
##########################
|
||||
# Determine OS script
|
||||
##########################
|
||||
case "$OS" in
|
||||
debian) OS_SCRIPT="./${SCRIPT_VERSION}/debian.sh" ;;
|
||||
ubuntu) OS_SCRIPT="./${SCRIPT_VERSION}/ubuntu.sh" ;;
|
||||
arch) OS_SCRIPT="./${SCRIPT_VERSION}/arch.sh" ;;
|
||||
fedora) OS_SCRIPT="./${SCRIPT_VERSION}/fedora.sh" ;;
|
||||
*)
|
||||
color_red
|
||||
echo
|
||||
echo "No OS script available for $OS"
|
||||
color_reset
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
##########################
|
||||
# Preflight check & run
|
||||
##########################
|
||||
if [[ ! -f "$OS_SCRIPT" ]]; then
|
||||
color_red
|
||||
echo
|
||||
echo "ERROR: OS script not found: $OS_SCRIPT"
|
||||
color_reset
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -x "$OS_SCRIPT" ]]; then
|
||||
chmod +x "$OS_SCRIPT"
|
||||
fi
|
||||
|
||||
echo
|
||||
color_cyan
|
||||
echo "Running OS script: $OS_SCRIPT"
|
||||
color_reset
|
||||
bash "$OS_SCRIPT" || {
|
||||
color_red
|
||||
echo
|
||||
echo "ERROR: OS script failed: $OS_SCRIPT"
|
||||
color_reset
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo
|
||||
color_yellow
|
||||
echo "################################################################"
|
||||
echo "End Detection"
|
||||
echo "################################################################"
|
||||
color_reset
|
||||
Vendored
Executable
+144
@@ -0,0 +1,144 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Map the exported variables to your local names with fallbacks to satisfy set -u
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-full}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
color_cyan "Starting Fedora Full setup..."
|
||||
echo
|
||||
|
||||
#------------------------------------------
|
||||
# Helper functions
|
||||
#------------------------------------------
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
# Run minimal first
|
||||
source "$SCRIPT_DIR/fedora-minimal.sh"
|
||||
|
||||
# Add extra packages
|
||||
# install_packages
|
||||
# temp disabled packages
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# install SDDM-theme
|
||||
color_yellow "Installing SDDM Theme"
|
||||
|
||||
GIT_DIR="$HOME/git"
|
||||
REPO_DIR="$GIT_DIR/SilentSDDM"
|
||||
REPO_URL="https://github.com/uiriansan/SilentSDDM"
|
||||
|
||||
mkdir -p "$GIT_DIR"
|
||||
|
||||
if [ -d "$REPO_DIR/.git" ]; then
|
||||
echo "SilentSDDM already exists. Updating repository..."
|
||||
cd "$REPO_DIR" && git pull --rebase
|
||||
else
|
||||
echo "Cloning SilentSDDM..."
|
||||
git clone -b main --depth=1 "$REPO_URL" "$REPO_DIR"
|
||||
fi
|
||||
|
||||
echo "Running installer..."
|
||||
|
||||
# Move into the directory safely
|
||||
cd "$REPO_DIR" || {
|
||||
color_red "Error: Failed to enter $REPO_DIR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
chmod +x install.sh
|
||||
|
||||
# Temporarily disable pipefail so SIGPIPE doesn't register as a fatal script crash
|
||||
set +o pipefail
|
||||
|
||||
yes | ./install.sh
|
||||
INSTALL_STATUS=$?
|
||||
|
||||
# Instantly restore pipefail for the remaining application scripts
|
||||
set -o pipefail
|
||||
|
||||
# Verify the installer script's actual status code
|
||||
if [ $INSTALL_STATUS -ne 0 ]; then
|
||||
color_red "Error: SDDM theme installer encountered a genuine runtime issue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
color_green "SDDM theme installer completed successfully!"
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# replace bashrc
|
||||
color_yellow "making backup of bashrc"
|
||||
sudo cp -v /etc/skel/.bashrc /etc/skel/.bashrc.starburst
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# Add workstation repo
|
||||
sudo dnf install -y fedora-workstation-repositories
|
||||
|
||||
color_cyan "Install Office packages"
|
||||
install_packages libreoffice
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install editors packages"
|
||||
# temp removed packages:
|
||||
# sublime-text-4
|
||||
flatpak install -y flathub com.vscodium.codium
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install internet packages"
|
||||
sudo dnf config-manager setopt google-chrome.enabled=1
|
||||
install_packages google-chrome-stable
|
||||
# temp removed packages
|
||||
# discord firefox insync brave-bin
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install theming packages"
|
||||
# variety
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install media packages"
|
||||
install_packages mpv flameshot
|
||||
# temp removed packages
|
||||
# vlc gimp inkscape spotify lollypop
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install shell packages"
|
||||
install_packages zsh zsh-syntax-highlighting
|
||||
# temp removed packages
|
||||
# fish oh-my-zsh-git zsh-completions
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install system-tools"
|
||||
install_packages @development-tools wget cmake ninja-build pkgconf-pkg-config
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_cyan "Install tools"
|
||||
install_packages system-config-printer system-config-printer-applet system-config-printer-libs ripgrep meld btop htop
|
||||
# temp removed packages
|
||||
# wttr
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# End of script
|
||||
color_green "Full setup completed."
|
||||
|
||||
###### TODO
|
||||
### autostart flameshot tray icon
|
||||
### autostart insync tray icon
|
||||
### autostart volumeicon
|
||||
### autostart clipboard manager
|
||||
### set google chrome as default browser
|
||||
Executable
+138
@@ -0,0 +1,138 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Map the exported variables to your local names with fallbacks to satisfy set -u
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
color_cyan "Starting Fedora Minimal setup..."
|
||||
echo
|
||||
|
||||
#------------------------------------------
|
||||
# Helper functions
|
||||
#------------------------------------------
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
remove_packages() {
|
||||
local packages_to_remove=()
|
||||
for pkg in "$@"; do
|
||||
if is_package_installed "$pkg"; then
|
||||
packages_to_remove+=("$pkg")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#packages_to_remove[@]} -gt 0 ]; then
|
||||
color_cyan "Removing packages: ${packages_to_remove[*]}"
|
||||
sudo dnf remove -y "${packages_to_remove[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
# 1. Base Dependencies & Repos
|
||||
#------------------------------------------
|
||||
color_cyan; echo "Installing base dependencies..."
|
||||
# dnf-plugins-core is required for COPR
|
||||
install_packages dnf-plugins-core wget
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 2. Main Package Installation
|
||||
#------------------------------------------
|
||||
color_yellow; echo "Installing essential tools..."
|
||||
|
||||
# 1. Install universal base packages (minus the polkit agent)
|
||||
install_packages \
|
||||
fastfetch bash-completion alacritty \
|
||||
hwinfo lshw duf chrony \
|
||||
man-db tree xdg-user-dirs rsync time bat \
|
||||
thunar thunar-archive-plugin thunar-volman \
|
||||
baobab gvfs-smb hddtemp squashfs-tools \
|
||||
zip gzip p7zip unace unrar xarchiver chromium \
|
||||
feh gnome-font-viewer dconf-editor hardinfo2 lsb_release \
|
||||
powertop inxi acpi plocate nm-connection-editor \
|
||||
python3-pylint qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia \
|
||||
arandr catfish galculator NetworkManager network-manager-applet \
|
||||
NetworkManager-openvpn numlockx pipewire pipewire-alsa pipewire-pulse \
|
||||
wireplumber pavucontrol playerctl gparted xfce4-pulseaudio-plugin xfce4-clipman-plugin
|
||||
# temp disabled packages
|
||||
# xfce4-indicator-plugin
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# 2. Inject the correct Polkit agent & PeaZip based on environment
|
||||
color_cyan; echo "Tailoring toolkits for $DE / $TWM..."
|
||||
if [[ "$DE" == "plasma" || "$TWM" == "hyprland" ]]; then
|
||||
install_packages polkit-kde-agent-1 peazip-common peazip-qt6
|
||||
else
|
||||
# XFCE, GNOME, Niri, CHADWM (Uses lightweight generic toolkits)
|
||||
install_packages xfce-polkit peazip-common peazip-gtk3
|
||||
fi
|
||||
|
||||
if ! command -v starship &> /dev/null; then
|
||||
color_cyan; echo "Installing Starship shell prompt..."
|
||||
curl -sS https://starship.rs/install.sh | sh -s -- -y
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 3. Fonts (RobotoMono Nerd Font)
|
||||
#------------------------------------------
|
||||
FONT_DIR="$HOME/.local/share/fonts"
|
||||
DOWNLOAD_NAME="RobotoMono"
|
||||
if ! find "$FONT_DIR" -name "*RobotoMonoNerdFont*" | grep -q .; then
|
||||
color_yellow; echo "Installing ${DOWNLOAD_NAME} Nerd Font..."
|
||||
mkdir -p "$FONT_DIR"
|
||||
FONT_ZIP="/tmp/${DOWNLOAD_NAME}.zip"
|
||||
curl -L "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${DOWNLOAD_NAME}.zip" -o "$FONT_ZIP"
|
||||
unzip -oq "$FONT_ZIP" -d "$FONT_DIR"
|
||||
fc-cache -fv
|
||||
rm "$FONT_ZIP"
|
||||
color_green; echo "${DOWNLOAD_NAME} installed."
|
||||
else
|
||||
color_yellow; echo "RobotoMono Nerd Font already installed."
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 4. Enable Services
|
||||
#------------------------------------------
|
||||
color_cyan "Enabling services..."
|
||||
|
||||
sudo systemctl enable --now fstrim.timer
|
||||
sudo systemctl enable --now chronyd || true
|
||||
|
||||
# Ensure NetworkManager manages all interfaces
|
||||
color_yellow "Ensuring NetworkManager service is enabled and running..."
|
||||
sudo systemctl enable --now NetworkManager
|
||||
|
||||
color_yellow "Setting NetworkManager to globally manage all devices..."
|
||||
sudo tee /etc/NetworkManager/conf.d/10-globally-managed-devices.conf > /dev/null <<'EOF'
|
||||
[ifupdown]
|
||||
managed=true
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices=
|
||||
EOF
|
||||
|
||||
color_yellow "Restarting NetworkManager service..."
|
||||
sudo systemctl restart NetworkManager
|
||||
|
||||
color_yellow "Waiting for NetworkManager to reconnect..."
|
||||
sleep 15
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# Enable pipewire
|
||||
systemctl --user enable pipewire pipewire-pulse wireplumber
|
||||
|
||||
pause_if_debug
|
||||
|
||||
color_green "Fedora Minimal setup completed."
|
||||
Executable
+109
@@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Map the exported variables to your local names with fallbacks to satisfy set -u
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-full}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
color_cyan "Starting Fedora Full setup..."
|
||||
echo
|
||||
|
||||
#------------------------------------------
|
||||
# Helper functions
|
||||
#------------------------------------------
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
detect_de() {
|
||||
# Check if a desktop session is currently running or XFCE is available
|
||||
if [ "${XDG_CURRENT_DESKTOP:-}" ]; then
|
||||
echo "${XDG_CURRENT_DESKTOP,,}" # lowercase the output
|
||||
elif command -v xfce4-session >/dev/null 2>&1; then
|
||||
echo "xfce"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
detect_display_manager() {
|
||||
# Fedora/Systemd way to check the active DM symlink
|
||||
if [ -L /etc/systemd/system/display-manager.service ]; then
|
||||
basename "$(readlink /etc/systemd/system/display-manager.service)" | sed 's/\.service//'
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
switch_display_manager() {
|
||||
local target_dm="$1"
|
||||
local current_dm
|
||||
current_dm=$(detect_display_manager)
|
||||
|
||||
if [[ "$current_dm" != "$target_dm" ]]; then
|
||||
if [[ -n "$current_dm" ]]; then
|
||||
color_yellow "Disabling existing display manager: $current_dm"
|
||||
sudo systemctl disable "$current_dm"
|
||||
fi
|
||||
color_yellow "Enabling $target_dm..."
|
||||
sudo systemctl enable "$target_dm"
|
||||
fi
|
||||
sudo systemctl set-default graphical.target
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
# Start installation
|
||||
#------------------------------------------
|
||||
color_yellow "Starting Niri setup..."
|
||||
|
||||
CURRENT_DE="$(detect_de)"
|
||||
CURRENT_DM="$(detect_display_manager)"
|
||||
|
||||
# Add Terra repo
|
||||
sudo dnf install -y --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# Core components for Niri & Noctalia setup
|
||||
NIRI_PACKAGES=(niri fuzzel swaybg swaylock noctalia-shell)
|
||||
|
||||
if [[ -z "$CURRENT_DE" || "$CURRENT_DE" == "none" || "$CURRENT_DE" == "sway" ]]; then
|
||||
color_cyan "No Desktop Environment detected. Installing Niri + Noctalia Shell..."
|
||||
|
||||
# 1. Add the repo first
|
||||
add_terra_repo
|
||||
|
||||
# 2. Install everything
|
||||
install_packages sddm "${NIRI_PACKAGES[@]}"
|
||||
switch_display_manager "sddm"
|
||||
|
||||
color_green "Niri, Noctalia, and SDDM installed successfully."
|
||||
|
||||
else
|
||||
color_cyan "Detected existing Desktop Environment: $CURRENT_DE"
|
||||
|
||||
# Always install the window manager packages
|
||||
install_packages "${NIRI_PACKAGES[@]}"
|
||||
|
||||
if [[ "$CURRENT_DM" == "lightdm" ]]; then
|
||||
color_yellow "LightDM is currently active. Replacing with SDDM..."
|
||||
|
||||
# Fedora equivalent to purge lightdm safely
|
||||
sudo dnf remove -y lightdm lightdm-gtk
|
||||
|
||||
install_packages sddm
|
||||
switch_display_manager "sddm"
|
||||
|
||||
color_green "LightDM removed and replaced with SDDM."
|
||||
else
|
||||
color_cyan "Current display manager: ${CURRENT_DM:-none}. Leaving it to handle Niri login sessions."
|
||||
fi
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# End of script
|
||||
color_green "Niri / SDDM setup completed."
|
||||
Executable
+167
@@ -0,0 +1,167 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Map the exported variables to your local names with fallbacks to satisfy set -u
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DE="${SELECTED_DE:-xfce}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
color_cyan "Starting Fedora XFCE setup..."
|
||||
echo
|
||||
|
||||
#------------------------------------------
|
||||
# Helper functions
|
||||
#------------------------------------------
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
detect_de() {
|
||||
echo "${XDG_CURRENT_DESKTOP:-${DESKTOP_SESSION:-}}"
|
||||
}
|
||||
|
||||
detect_display_manager() {
|
||||
if systemctl is-active --quiet sddm; then
|
||||
echo "sddm"
|
||||
elif systemctl is-active --quiet lightdm; then
|
||||
echo "lightdm"
|
||||
elif systemctl is-active --quiet gdm; then
|
||||
echo "gdm"
|
||||
else
|
||||
echo "none"
|
||||
fi
|
||||
}
|
||||
|
||||
enable_graphical_target() {
|
||||
sudo systemctl set-default graphical.target
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
# Main Execution Flow
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "Starting XFCE installation..."
|
||||
|
||||
CURRENT_DE="$(detect_de)"
|
||||
CURRENT_DM="$(detect_display_manager)"
|
||||
|
||||
if [[ -z "$CURRENT_DE" || "$CURRENT_DE" == "none" ]]; then
|
||||
color_cyan "No Desktop Environment detected. Installing XFCE (light setup with SDDM)..."
|
||||
|
||||
# 1. Install core XFCE desktop components + SDDM
|
||||
install_packages sddm xfce4-session xfce4-settings xfwm4 xfce4-panel xfdesktop Thunar xorg-x11-xinit xorg-x11-server-Xorg xhost
|
||||
|
||||
# 2. Install the XFCE core plugins safely via DNF group/virtual syntax
|
||||
install_packages @xfce-extra-plugins
|
||||
|
||||
enable_graphical_target
|
||||
sudo systemctl enable sddm
|
||||
|
||||
color_green "XFCE with SDDM installed successfully. You can reboot now to start XFCE."
|
||||
else
|
||||
color_cyan "Detected existing Desktop Environment: $CURRENT_DE"
|
||||
|
||||
if [[ "$CURRENT_DM" == "lightdm" ]]; then
|
||||
color_yellow "LightDM is currently active. Replacing with SDDM..."
|
||||
|
||||
sudo systemctl disable lightdm
|
||||
sudo dnf remove -y lightdm lightdm-gtk-greeter
|
||||
|
||||
install_packages sddm
|
||||
sudo systemctl enable sddm
|
||||
enable_graphical_target
|
||||
|
||||
color_green "LightDM removed and replaced with SDDM."
|
||||
else
|
||||
color_cyan "Current display manager: ${CURRENT_DM}. Leaving unchanged."
|
||||
fi
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# XFCE-specific configuration
|
||||
#------------------------------------------
|
||||
if [[ "${DE}" == "xfce" || "${DDE}" == "xfce" ]]; then
|
||||
echo
|
||||
color_cyan "Applying XFCE defaults: fonts, browser, and terminal..."
|
||||
|
||||
# Ensure xfconf-query exists (for XFCE settings)
|
||||
if ! command -v xfconf-query >/dev/null 2>&1; then
|
||||
color_yellow "xfconf-query not found — installing xfce4-settings..."
|
||||
install_packages xfce4-settings
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# Set fonts via xfconf-query
|
||||
if command -v xfconf-query >/dev/null 2>&1; then
|
||||
# Interface font (UI)
|
||||
xfconf-query -c xsettings -p /Gtk/FontName -s "RobotoMono Nerd Font Regular 10" || true
|
||||
# Monospace font (terminals, editors)
|
||||
xfconf-query -c xsettings -p /Gtk/MonospaceFontName -s "RobotoMono Nerd Font Mono Regular 10" || true
|
||||
|
||||
color_green "XFCE fonts updated successfully!"
|
||||
else
|
||||
color_yellow "xfconf-query not found — skipping XFCE font config (will apply at first login)."
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
# Set default terminal to Alacritty (Configured unconditionally)
|
||||
color_cyan "Pre-configuring XFCE default terminal settings for Alacritty..."
|
||||
|
||||
# Making sure alacritty is installed
|
||||
install_packages alacritty
|
||||
|
||||
# 1. Force initialize the base XDG/XFCE config hierarchy
|
||||
mkdir -p "$HOME/.config/xfce4"
|
||||
mkdir -p "$HOME/.config/menus"
|
||||
|
||||
# 2. Configure XFCE's preferred application files
|
||||
HELPERS_FILE="$HOME/.config/xfce4/helpers.rc"
|
||||
touch "$HELPERS_FILE"
|
||||
|
||||
for entry in TerminalEmulator TerminalEmulatorCommand; do
|
||||
if grep -q "^${entry}=" "$HELPERS_FILE"; then
|
||||
sed -i "s|^${entry}=.*|${entry}=alacritty|" "$HELPERS_FILE"
|
||||
else
|
||||
echo "${entry}=alacritty" >> "$HELPERS_FILE"
|
||||
fi
|
||||
done
|
||||
|
||||
# 3. Create the standard XDG MIME association files manually
|
||||
mkdir -p "$HOME/.config"
|
||||
MIME_FILE="$HOME/.config/mimeapps.list"
|
||||
touch "$MIME_FILE"
|
||||
|
||||
# Rewrite/initialize the file cleanly with explicit defaults
|
||||
cat <<EOF > "$MIME_FILE"
|
||||
[Default Applications]
|
||||
x-scheme-handler/terminal=alacritty.desktop
|
||||
user-extension/x-terminal-emulator=alacritty.desktop
|
||||
EOF
|
||||
|
||||
# 4. Pre-seed Xfconf properties directly into the XML tree file structure
|
||||
# This bypasses xfconf-query entirely and drops settings directly into storage
|
||||
XFCONF_DIR="$HOME/.config/xfce4/xfconf/xfce-perchannel-xml"
|
||||
mkdir -p "$XFCONF_DIR"
|
||||
|
||||
cat <<EOF > "$XFCONF_DIR/xfce4-session.xml"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channel name="xfce4-session" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="TerminalEmulator" type="string" value="alacritty"/>
|
||||
</property>
|
||||
</channel>
|
||||
EOF
|
||||
|
||||
color_green "XFCE terminal presets dropped into user skeleton profiles successfully."
|
||||
|
||||
fi
|
||||
pause_if_debug
|
||||
|
||||
# End of script
|
||||
color_green "XFCE / SDDM setup completed."
|
||||
Executable
+182
@@ -0,0 +1,182 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
|
||||
# Map the exported variables to your local names with fallbacks to satisfy set -u
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
color_cyan "Starting Fedora setup..."
|
||||
echo
|
||||
color_gray "DE: $DE, TWM: $TWM, Install Level: $INSTALL_LEVEL"
|
||||
|
||||
#------------------------------------------
|
||||
# Helper functions
|
||||
#------------------------------------------
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
remove_packages() {
|
||||
local packages_to_remove=()
|
||||
for pkg in "$@"; do
|
||||
if is_package_installed "$pkg"; then
|
||||
packages_to_remove+=("$pkg")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#packages_to_remove[@]} -gt 0 ]; then
|
||||
color_cyan "Removing packages: ${packages_to_remove[*]}"
|
||||
sudo dnf remove -y "${packages_to_remove[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
# 0. Ensure base is ready for installation
|
||||
#------------------------------------------
|
||||
if ! command -v curl >/dev/null 2>&1; then
|
||||
color_yellow "curl is not installed. Installing..."
|
||||
install_packages curl
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 1. Update and Enable Repos
|
||||
#------------------------------------------
|
||||
color_cyan "Optimizing DNF for speed..."
|
||||
|
||||
# 1. Increase parallel downloads (allows downloading multiple packages at once)
|
||||
# 2. Set dnf to set YES as default instead of NO
|
||||
sudo dnf config-manager setopt max_parallel_downloads=20
|
||||
sudo dnf config-manager setopt defaultyes=True
|
||||
|
||||
color_green "DNF optimized. Refreshing metadata..."
|
||||
sudo dnf makecache --refresh
|
||||
|
||||
color_cyan "Enabling RPM Fusion repositories for Fedora $(rpm -E %fedora)..."
|
||||
|
||||
# Define the version variable for readability
|
||||
FEDORA_VER=$(rpm -E %fedora)
|
||||
|
||||
color_yellow "Checking for updates and sources..."
|
||||
sudo dnf check-update || true
|
||||
|
||||
# Check if flatpak is installed, if not, install it
|
||||
if ! command -v flatpak &> /dev/null; then
|
||||
color_yellow "Flatpak not found. Installing..."
|
||||
sudo dnf install -y flatpak
|
||||
fi
|
||||
|
||||
color_cyan "Enabling Flathub..."
|
||||
# Using --if-not-exists is good practice to prevent errors on re-runs
|
||||
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
sudo dnf install -y \
|
||||
"https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VER}.noarch.rpm" \
|
||||
"https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VER}.noarch.rpm"
|
||||
|
||||
color_cyan "Enabling full Flathub support..."
|
||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Update the system
|
||||
color_gray "Updating the system"
|
||||
echo
|
||||
sudo dnf update -y
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 3. Detected OS / DE / TWM info
|
||||
#------------------------------------------
|
||||
color_yellow "Detected OS / Desktop Environment / Tiling Window Manager"
|
||||
echo
|
||||
color_gray "Installing OS-specific packages..."
|
||||
color_gray "Selected DE: $DE"
|
||||
color_gray "Selected TWM: $TWM"
|
||||
color_gray "Installation Level: $INSTALL_LEVEL"
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 4. Desktop Environment installation
|
||||
#------------------------------------------
|
||||
case "$DE" in
|
||||
xfce|plasma|gnome)
|
||||
color_yellow "Preparing to install $DE"
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${DE}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
color_cyan "Running $SCRIPT_NAME"
|
||||
source "$SCRIPT_NAME"
|
||||
else
|
||||
color_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
none)
|
||||
color_gray "No Desktop Environment selected, skipping DE installation."
|
||||
;;
|
||||
esac
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 5. Tiling Window Manager installation
|
||||
#------------------------------------------
|
||||
case "$TWM" in
|
||||
chadwm|hyprland|niri)
|
||||
color_yellow "Installing $TWM"
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${TWM}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
color_cyan "Running $SCRIPT_NAME"
|
||||
source "$SCRIPT_NAME"
|
||||
else
|
||||
color_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
none)
|
||||
color_gray "No tiling window manager selected, skipping TWM installation."
|
||||
;;
|
||||
esac
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# 6. Installation level handling
|
||||
#------------------------------------------
|
||||
case "$INSTALL_LEVEL" in
|
||||
minimal|full|workstation|server)
|
||||
color_cyan "Installation level: $INSTALL_LEVEL"
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${INSTALL_LEVEL}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
color_cyan "Running $SCRIPT_NAME"
|
||||
source "$SCRIPT_NAME"
|
||||
else
|
||||
color_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
color_green "Fedora setup complete."
|
||||
color_red "The installation has finished. A reboot is recommended."
|
||||
# Reboots are dangerous to automate; we use a shorter timeout and default to No
|
||||
if read -t 10 -rp "Reboot now? [y/N]: " reboot_choice; then
|
||||
case "${reboot_choice,,}" in
|
||||
y|yes)
|
||||
color_red "Rebooting now."
|
||||
sudo reboot
|
||||
;;
|
||||
*)
|
||||
color_yellow "Skipping reboot."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
color_yellow "No input detected. Skipping reboot for safety."
|
||||
exit 0
|
||||
fi
|
||||
Executable
+305
@@ -0,0 +1,305 @@
|
||||
#!/bin/bash
|
||||
set -uo pipefail
|
||||
|
||||
#------------------------------------------
|
||||
# Color helpers (printf-safe, no tput)
|
||||
#------------------------------------------
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
CYAN='\033[0;36m'
|
||||
PURPLE='\033[0;35m'
|
||||
BLUE='\033[0;34m'
|
||||
GRAY='\033[0;37m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED='' GREEN='' YELLOW='' CYAN='' PURPLE='' BLUE='' GRAY='' BOLD='' RESET=''
|
||||
fi
|
||||
|
||||
color_yellow() { printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
color_cyan() { printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
color_red() { printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
color_green() { printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
color_gray() { printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
|
||||
#------------------------------------------
|
||||
# Debug Flag Initialization (Outside Guard)
|
||||
#------------------------------------------
|
||||
# Checks if DEBUG_MODE is already true (passed from parent) or via arguments
|
||||
if [[ "${DEBUG_MODE:-false}" == "true" || "${1:-}" == "-d" || "${1:-}" == "--debug" ]]; then
|
||||
export DEBUG_MODE=true
|
||||
else
|
||||
export DEBUG_MODE=false
|
||||
set -e # Enable immediate exit on error only if NOT debugging step-by-step
|
||||
fi
|
||||
|
||||
#------------------------------------------
|
||||
# Debug Pause Helper (Outside Guard)
|
||||
#------------------------------------------
|
||||
pause_if_debug() {
|
||||
if [[ "${DEBUG_MODE:-false}" == "true" ]]; then
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
read -rp "Section complete. Press [Enter] to continue, or [q] to abort: " debug_choice
|
||||
if [[ "${debug_choice,,}" == "q" ]]; then
|
||||
color_red "Script aborted by user."
|
||||
exit 1
|
||||
fi
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# ==========================================
|
||||
# GUARD WRAPPER START
|
||||
# ==========================================
|
||||
# This entire interactive block is skipped if the script is 'sourced'
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
|
||||
clear # Wipe the terminal history view cleanly for the main menu execution
|
||||
|
||||
if [[ "$DEBUG_MODE" == "true" ]]; then
|
||||
color_red "!!! DEBUG MODE ENABLED !!!"
|
||||
color_red "The script will pause after each major section."
|
||||
echo
|
||||
fi
|
||||
|
||||
#------------------------------------------
|
||||
# Script Version 3.0
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "Script version 3.0"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
#------------------------------------------
|
||||
# OS Detection
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "Start OS Detection"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
OS_ID="${ID,,}"
|
||||
OS_LIKE="${ID_LIKE:-}"
|
||||
OS_LIKE="${OS_LIKE,,}"
|
||||
OS_VERSION="${VERSION_ID:-unknown}"
|
||||
OS_PRETTY="$PRETTY_NAME"
|
||||
OS=""
|
||||
|
||||
case "$OS_ID" in
|
||||
arch) OS="arch" ;;
|
||||
debian) OS="debian" ;;
|
||||
ubuntu) OS="ubuntu" ;;
|
||||
fedora) OS="fedora" ;;
|
||||
*)
|
||||
if [[ "$OS_LIKE" == *"ubuntu"* ]]; then
|
||||
OS="ubuntu"
|
||||
elif [[ "$OS_LIKE" == *"arch"* ]]; then
|
||||
OS="arch"
|
||||
elif [[ "$OS_LIKE" == *"debian"* ]]; then
|
||||
OS="debian"
|
||||
elif [[ "$OS_LIKE" == *"fedora"* || "$OS_LIKE" == *"rhel"* ]]; then
|
||||
OS="fedora"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n "$OS" ]]; then
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
color_cyan "Detected OS: $OS_PRETTY"
|
||||
color_cyan "Version: $OS_VERSION"
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
else
|
||||
color_red "----------------------------------------------------------------"
|
||||
color_red "ERROR: Unsupported or unknown Linux distribution."
|
||||
color_red "Detected: ID=$OS_ID ID_LIKE=${OS_LIKE:-empty}"
|
||||
color_red "----------------------------------------------------------------"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# Desktop Environment Detection / Selection
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "Desktop Environment Selection"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
DE_RAW="${XDG_CURRENT_DESKTOP:-${DESKTOP_SESSION:-}}"
|
||||
DE=""
|
||||
|
||||
case "${DE_RAW,,}" in
|
||||
*xfce*) DE="xfce" ;;
|
||||
*plasma*|*kde*) DE="plasma" ;;
|
||||
*gnome*) DE="gnome" ;;
|
||||
""|none) DE="" ;;
|
||||
esac
|
||||
|
||||
if [[ -n "$DE" ]]; then
|
||||
echo
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
color_cyan "Detected Desktop Environment: $DE (${DE_RAW:-unknown})"
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
else
|
||||
echo
|
||||
color_gray "No Desktop Environment detected. Select one to install:"
|
||||
echo
|
||||
while true; do
|
||||
echo " 1) XFCE"
|
||||
echo " 2) Plasma"
|
||||
echo " 3) GNOME"
|
||||
echo " x) None (default)"
|
||||
if ! read -t 15 -rp "Enter choice [1/2/3/x] (default: x): " choice; then
|
||||
choice="x"
|
||||
fi
|
||||
|
||||
case "${choice,,}" in
|
||||
1) DE="xfce"; break ;;
|
||||
2) DE="plasma"; break ;;
|
||||
3) DE="gnome"; break ;;
|
||||
x|"") DE="none"; break ;;
|
||||
*) echo "Invalid option. Please enter 1, 2, 3, or x." ;;
|
||||
esac
|
||||
done
|
||||
echo
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
color_cyan "Selected Desktop Environment: $DE"
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
fi
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# Tiling Window Manager Selection
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "Tiling WM Selection"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo
|
||||
color_gray "Select a tiling window manager:"
|
||||
echo
|
||||
echo " 1) CHADWM"
|
||||
echo " 2) Hyprland"
|
||||
echo " 3) Niri"
|
||||
echo " x) None (default)"
|
||||
if ! read -t 15 -rp "Enter choice [1/2/3/x] (default: x): " choice; then
|
||||
choice="x"
|
||||
fi
|
||||
|
||||
case "${choice,,}" in
|
||||
1) TWM="chadwm"; break ;;
|
||||
2) TWM="hyprland"; break ;;
|
||||
3) TWM="niri"; break ;;
|
||||
x|"") TWM="none"; break ;;
|
||||
*) echo "Invalid option. Please enter 1, 2, 3 or x." ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
color_cyan "Selected Tiling WM: $TWM"
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# Installation Level Selection
|
||||
#------------------------------------------
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "Installation Level Selection"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo
|
||||
color_gray "Select installation level:"
|
||||
echo
|
||||
echo " 1) minimal"
|
||||
echo " 2) full"
|
||||
if ! read -t 15 -rp "Enter choice [1/2] (default: 1): " choice; then
|
||||
choice="1"
|
||||
fi
|
||||
|
||||
case "$choice" in
|
||||
1|"") INSTALL_LEVEL="minimal"; break ;;
|
||||
2) INSTALL_LEVEL="full"; break ;;
|
||||
*) echo "Invalid option. Please enter 1 or 2." ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
color_cyan "Selected Installation Level: $INSTALL_LEVEL"
|
||||
color_cyan "----------------------------------------------------------------"
|
||||
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
# Export selections for OS script
|
||||
#------------------------------------------
|
||||
export DETECTED_OS="$OS"
|
||||
export DETECTED_DE="$DE_RAW"
|
||||
export SELECTED_DE="$DE"
|
||||
export SELECTED_TWM="$TWM"
|
||||
export INSTALL_LEVEL
|
||||
|
||||
#------------------------------------------
|
||||
# Determine OS script
|
||||
#------------------------------------------
|
||||
case "$OS" in
|
||||
debian) OS_SCRIPT="./debian/debian.sh" ;;
|
||||
ubuntu) OS_SCRIPT="./ubuntu/ubuntu.sh" ;;
|
||||
arch) OS_SCRIPT="./arch/arch.sh" ;;
|
||||
fedora) OS_SCRIPT="./fedora/fedora.sh" ;;
|
||||
*)
|
||||
color_red "No OS script available for $OS"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------
|
||||
# Preflight check & run (Using source)
|
||||
#------------------------------------------
|
||||
if [[ ! -f "$OS_SCRIPT" ]]; then
|
||||
color_red "ERROR: OS script not found: $OS_SCRIPT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -x "$OS_SCRIPT" ]]; then
|
||||
chmod +x "$OS_SCRIPT"
|
||||
fi
|
||||
|
||||
echo
|
||||
color_cyan "Running OS script: $OS_SCRIPT"
|
||||
|
||||
# Crucial change: We source the script instead of launching it via 'bash'
|
||||
source "$OS_SCRIPT" || {
|
||||
color_red "ERROR: OS script failed: $OS_SCRIPT"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
color_yellow "End Detection"
|
||||
color_yellow "----------------------------------------------------------------"
|
||||
|
||||
# ==========================================
|
||||
# GUARD WRAPPER END
|
||||
# ==========================================
|
||||
fi
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start OS Detection"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
# Detect OS and set flags
|
||||
OS=""
|
||||
if grep -qi "arch" /etc/os-release; then
|
||||
OS="arch"
|
||||
elif grep -qi "debian" /etc/os-release; then
|
||||
OS="debian"
|
||||
fi
|
||||
|
||||
# If unknown, exit
|
||||
if [[ -z "$OS" ]]; then
|
||||
tput setaf 1
|
||||
echo "################################################################################"
|
||||
echo "ERROR: Unsupported or unknown Linux distribution."
|
||||
echo "This script only supports Arch-based or Debian-based systems."
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Show detected OS
|
||||
tput setaf 6
|
||||
echo "################################################################################"
|
||||
echo "Detected OS: ${OS:-unknown}"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
|
||||
if [[ "$OS" == "arch" ]]; then
|
||||
echo "Running Arch Linux setup steps..."
|
||||
# your pacman install section goes here
|
||||
sh 1000-arch-base.sh
|
||||
fi
|
||||
|
||||
if [[ "$OS" == "debian" ]]; then
|
||||
echo "Running Debian setup steps..."
|
||||
# your apt install section goes here
|
||||
bash 1000-debian-base.sh
|
||||
fi
|
||||
|
||||
if [[ -z "$OS" ]]; then
|
||||
tput setaf 3
|
||||
echo "Warning: Unknown Linux distribution. Script may not work as expected."
|
||||
tput sgr0
|
||||
fi
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "End OS Detection"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
@@ -1,103 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start Arch setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
# Setting installed_dir to base folder of the git-repository
|
||||
installed_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Installing chaotic-aur keys and mirrors
|
||||
pkg_dir="packages"
|
||||
|
||||
# Ensure directory exists
|
||||
if [[ ! -d "$pkg_dir" ]]; then
|
||||
echo "Directory not found: $pkg_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install all local packages using pacman
|
||||
find "$pkg_dir" -maxdepth 1 -name '*.pkg.tar.zst' -print0 | sudo xargs -0 pacman -U --noconfirm
|
||||
|
||||
|
||||
# personal pacman.conf
|
||||
if [[ ! -f /etc/pacman.conf.starburst ]]; then
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Copying /etc/pacman.conf to /etc/pacman.conf.starburst"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
sudo cp -v /etc/pacman.conf /etc/pacman.conf.starburst
|
||||
echo
|
||||
else
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Backup already exists: /etc/pacman.conf.starburst"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
fi
|
||||
|
||||
sudo cp -v $installed_dir/config-files/pacman.conf /etc/pacman.conf
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Updating the system - sudo pacman -Syyu"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo pacman -Syyu --noconfirm
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### fix missing console font"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
if grep -q FONT= /etc/vconsole.conf; then
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################"
|
||||
echo "################### FONT is already set in /etc/vconsole.conf"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
else
|
||||
|
||||
tput setaf 2
|
||||
echo "################################################################"
|
||||
echo "################### FONT added to /etc/vconsole.conf"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
|
||||
echo 'FONT=gr737c-8x14' | sudo tee -a /etc/vconsole.conf
|
||||
fi
|
||||
|
||||
|
||||
|
||||
sh 1010-select-desktop.sh
|
||||
@@ -1,51 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start Debian setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
# Setting installed_dir to base folder of the git-repository
|
||||
installed_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Installing chaotic-aur keys and mirrors
|
||||
pkg_dir="packages"
|
||||
|
||||
# Ensure directory exists
|
||||
if [[ ! -d "$pkg_dir" ]]; then
|
||||
echo "Directory not found: $pkg_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Updating the system - sudo apt update"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo apt update && sudo apt full-upgrade -y
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "End current choices"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
|
||||
sh 1010-select-desktop.sh
|
||||
@@ -1,181 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
if grep -qi "arch" /etc/os-release; then
|
||||
OS="arch"
|
||||
elif grep -qi "debian" /etc/os-release; then
|
||||
OS="debian"
|
||||
else
|
||||
echo "Unsupported OS. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Select Desktop Environment / Window Manager"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "Which desktop environment do you want to install?"
|
||||
echo "Choose one of the following options:"
|
||||
echo
|
||||
echo "1) XFCE4 minimal"
|
||||
echo "2) XFCE4 full"
|
||||
echo "3) XFCE4 workstation"
|
||||
echo "4) Plasma minimal"
|
||||
echo "5) Plasma full"
|
||||
echo "X) None"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
read -r -p "Enter the number of your choice: " choice
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
touch /tmp/install-xfce4-minimal
|
||||
;;
|
||||
2)
|
||||
touch /tmp/install-xfce4-full
|
||||
;;
|
||||
3)
|
||||
touch /tmp/install-xfce4-workstation
|
||||
;;
|
||||
4)
|
||||
touch /tmp/install-plasma-minimal
|
||||
;;
|
||||
5)
|
||||
touch /tmp/install-plasma-full
|
||||
;;
|
||||
[Xx])
|
||||
echo "No desktop environment will be installed."
|
||||
;;
|
||||
*)
|
||||
tput setaf 1
|
||||
echo "Invalid choice. Exiting."
|
||||
tput sgr0
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "Would you like to install an additional Tiling Window Manager?"
|
||||
echo "Choose one of the following options:"
|
||||
echo
|
||||
echo "1) CHADWM"
|
||||
echo "2) Hyprland (not possible on VM)"
|
||||
echo "X) None"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
read -p "Enter the number of your choice: " choice
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
touch /tmp/install-chadwm
|
||||
;;
|
||||
2)
|
||||
touch /tmp/install-hyprland
|
||||
;;
|
||||
[Xx])
|
||||
echo "No desktop environment will be installed."
|
||||
;;
|
||||
*)
|
||||
tput setaf 1
|
||||
echo "Invalid choice. Exiting."
|
||||
tput sgr0
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "Starting installation of chosen Desktop Environment"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
|
||||
if [ -f /tmp/install-xfce4-minimal ]; then
|
||||
bash 1020-$OS*
|
||||
bash 1030-$OS*
|
||||
bash 1040-$OS-*
|
||||
bash 1110-$OS*
|
||||
bash 1120-$OS*
|
||||
fi
|
||||
|
||||
if [ -f /tmp/install-xfce4-full ]; then
|
||||
bash 1020-$OS*
|
||||
bash 1030-$OS*
|
||||
bash 1040-$OS-*
|
||||
bash 1110-$OS-xfce*
|
||||
bash 1120-$OS-xfce*
|
||||
bash 1130-$OS-xfce*
|
||||
fi
|
||||
|
||||
if [ -f /tmp/install-xfce4-workstation ]; then
|
||||
bash 1020-$OS-*
|
||||
bash 1030-$OS-*
|
||||
bash 1040-$OS-*
|
||||
bash 1110-$OS-xfce*
|
||||
bash 1120-$OS-xfce*
|
||||
bash 1130-$OS-xfce*
|
||||
bash 1140-$OS-xfce*
|
||||
fi
|
||||
|
||||
if [ -f /tmp/install-plasma-minimal ]; then
|
||||
bash 1110-$OS-plasma-minimal*
|
||||
fi
|
||||
|
||||
if [ -f /tmp/install-plasma-full ]; then
|
||||
bash 1110-$OS-plasma-minimal*
|
||||
bash 1110-$OS-plasma-full*
|
||||
fi
|
||||
|
||||
# installation of Tiling Window Managers
|
||||
if [ -f /tmp/install-chadwm ]; then
|
||||
bash 1200-$OS-chadwm*
|
||||
fi
|
||||
|
||||
if [ -f /tmp/install-hyprland ]; then
|
||||
bash 1120-$OS-hyprland*
|
||||
fi
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "End Arch setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "Cleaning up"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
|
||||
rm -f /tmp/install-*
|
||||
|
||||
### Run final scripts
|
||||
#sh 9990-skel.sh
|
||||
|
||||
### DONE
|
||||
@@ -1,123 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Remove unwanted packages"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
tput setaf 1;
|
||||
echo "###############################################################################"
|
||||
echo "### - KEEP LINUX KERNEL GET RID OF THE OTHER KERNELS"
|
||||
echo "### - GET RID OF BROADCOM AND REALTEK DRIVERS"
|
||||
echo "### - GET RID OF CONKYS"
|
||||
echo "###############################################################################"
|
||||
tput sgr0
|
||||
|
||||
#######broadcom and realtek
|
||||
sudo pacman -Rs broadcom-wl-dkms r8168-dkms rtl8821cu-morrownr-dkms-git --noconfirm
|
||||
|
||||
# Ensure at least one kernel remains
|
||||
if pacman -Qi linux &> /dev/null && pacman -Qi linux-headers &> /dev/null; then
|
||||
|
||||
# Define all the kernels and their headers you want to remove
|
||||
KERNELS_TO_REMOVE=(
|
||||
linux-lts-headers linux-lts
|
||||
linux-zen-headers linux-zen
|
||||
linux-hardened-headers linux-hardened
|
||||
linux-rt-headers linux-rt
|
||||
linux-rt-lts-headers linux-rt-lts
|
||||
linux-cachyos-headers linux-cachyos
|
||||
linux-xanmod-headers linux-xanmod
|
||||
)
|
||||
remove_package() {
|
||||
local package=$1
|
||||
# Check if the package is installed
|
||||
if pacman -Q $package &> /dev/null; then
|
||||
echo "$package is installed. Removing..."
|
||||
sudo pacman -Rns --noconfirm $package
|
||||
else
|
||||
echo "$package is not installed."
|
||||
fi
|
||||
}
|
||||
|
||||
# Loop over the array and remove each kernel package
|
||||
for kernel in "${KERNELS_TO_REMOVE[@]}"; do
|
||||
remove_package "$kernel"
|
||||
done
|
||||
|
||||
else
|
||||
echo "Cannot proceed: At least one kernel must remain installed."
|
||||
fi
|
||||
|
||||
#######conkys
|
||||
# Array of packages to check
|
||||
packages=("conky-lua-archers" "arcolinux-conky-collection-git" "arcolinux-conky-collection-plasma-git")
|
||||
|
||||
# Function to check if a package is installed
|
||||
is_package_installed() {
|
||||
if pacman -Q "$1" &> /dev/null; then
|
||||
echo "Package $1 is installed."
|
||||
return 0 # Success
|
||||
else
|
||||
echo "Package $1 is not installed."
|
||||
return 1 # Failure
|
||||
fi
|
||||
}
|
||||
|
||||
# Iterate over each package in the array
|
||||
for package in "${packages[@]}"; do
|
||||
if is_package_installed "$package"; then
|
||||
echo "Removing $package..."
|
||||
sudo pacman -Rns "$package" --noconfirm
|
||||
else
|
||||
echo "$package is not installed, no need to remove."
|
||||
fi
|
||||
echo
|
||||
echo "########################"
|
||||
echo "Double checking $package"
|
||||
echo "########################"
|
||||
echo
|
||||
if ! is_package_installed "$package"; then
|
||||
echo "$package is not installed!"
|
||||
else
|
||||
echo "$package is still installed. Check manually why not."
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "######## Removing the drivers"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo pacman -Rs --noconfirm xf86-video-amdgpu --noconfirm
|
||||
sudo pacman -Rs --noconfirm xf86-video-ati --noconfirm
|
||||
sudo pacman -Rs --noconfirm xf86-video-fbdev --noconfirm
|
||||
sudo pacman -Rs --noconfirm xf86-video-nouveau --noconfirm
|
||||
sudo pacman -Rs --noconfirm xf86-video-openchrome --noconfirm
|
||||
sudo pacman -Rs --noconfirm xf86-video-vesa --noconfirm
|
||||
|
||||
sudo systemctl disable tlp.service
|
||||
sudo pacman -Rs tlp --noconfirm
|
||||
|
||||
sudo pacman -Rs vim vim-runtime --noconfirm
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Remove unwanted packages"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
tput setaf 1;
|
||||
echo "###############################################################################"
|
||||
echo "### - KEEP LINUX KERNEL GET RID OF THE OTHER KERNELS"
|
||||
echo "### - GET RID OF BROADCOM AND REALTEK DRIVERS"
|
||||
echo "###############################################################################"
|
||||
tput sgr0
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
echo
|
||||
echo "############################################################"
|
||||
echo " Remaining installed kernels:"
|
||||
echo "############################################################"
|
||||
|
||||
# List installed kernel images
|
||||
dpkg -l | grep '^ii' | grep 'linux-image-[0-9]' | awk '{print $2, $3}'
|
||||
|
||||
echo
|
||||
echo "Currently running kernel: $(uname -r)"
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "######## Removing the drivers"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo apt-get purge -y \
|
||||
xserver-xorg-video-amdgpu \
|
||||
xserver-xorg-video-ati \
|
||||
xserver-xorg-video-fbdev \
|
||||
xserver-xorg-video-nouveau \
|
||||
xserver-xorg-video-openchrome \
|
||||
xserver-xorg-video-vesa
|
||||
sudo apt-get autoremove -y
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
sudo systemctl disable --now tlp.service
|
||||
sudo apt-get purge -y tlp
|
||||
sudo apt-get autoremove -y
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
sudo apt-get purge -y vim vim-runtime vim-common vim-tiny
|
||||
sudo apt-get autoremove -y
|
||||
@@ -1,108 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start Arch setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echoþ
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Installing much needed software"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
#firmwares
|
||||
sudo pacman -S --noconfirm --needed aic94xx-firmware linux-firmware-qlogic upd72020x-fw wd719x-firmware mkinitcpio-firmware
|
||||
|
||||
#fonts
|
||||
sudo pacman -S --noconfirm --needed font-manager adobe-source-sans-fonts noto-fonts ttf-bitstream-vera ttf-dejavu ttf-droid ttf-hack ttf-inconsolata ttf-liberation ttf-roboto ttf-roboto-mono ttf-ubuntu-font-family terminus-font awesome-terminal-fonts ttf-jetbrains-mono-nerd
|
||||
|
||||
#tools
|
||||
sudo pacman -S --noconfirm --needed wget curl nano fastfetch lolcat bash-completion starship alacritty hwinfo lshw reflector expac betterlockscreen pamac-aur avahi
|
||||
if [ ! -f /usr/bin/duf ]; then
|
||||
sudo pacman -S --noconfirm --needed duf
|
||||
fi
|
||||
sudo pacman -S --noconfirm --needed man-db man-pages pacmanlogviewer paru-git yay-git thunar thunar-archive-plugin thunar-volman tree xdg-user-dirs polkit-gnome rate-mirrors rsync time bat ntp nss-mdns
|
||||
|
||||
#disk-tools
|
||||
sudo pacman -S --noconfirm --needed baobab gvfs-smb hddtemp squashfs-tools
|
||||
#sudo pacman -S --noconfirm --needed gvfs-dnssd the_silver_searcher gnome-disk-utility
|
||||
|
||||
#archive-managers
|
||||
sudo pacman -S --noconfirm --needed zip gzip p7zip unace unrar unzip file-roller
|
||||
|
||||
#theming
|
||||
sudo pacman -S --noconfirm --needed bibata-cursor-theme-bin feh
|
||||
#sudo pacman -S --noconfirm --needed breeze-icons sardi-flat-colora-variations-icons-git
|
||||
|
||||
#enable services
|
||||
sudo systemctl enable avahi-daemon.service
|
||||
sudo systemctl enable ntpd.service
|
||||
|
||||
#Run service that will discard unused blocks on mounted filesystems. This is useful for solid-state drives (SSDs) and thinly-provisioned storage.
|
||||
echo
|
||||
echo "Enable fstrim timer"
|
||||
sudo systemctl enable fstrim.timer
|
||||
|
||||
echo
|
||||
echo "################################################################"
|
||||
echo "Getting latest /etc/nsswitch.conf"
|
||||
echo "################################################################"
|
||||
echo
|
||||
sudo cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
|
||||
sudo wget https://raw.githubusercontent.com/yurikuit/nemesis/refs/heads/main/Personal/settings/nsswitch/nsswitch.conf -O $workdir/etc/nsswitch.conf
|
||||
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "Detecting virtualization platform..."
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
virt_type=$(systemd-detect-virt)
|
||||
|
||||
case "$virt_type" in
|
||||
kvm)
|
||||
echo "Detected KVM. Installing qemu-guest-agent..."
|
||||
sudo pacman -S --noconfirm --needed qemu-guest-agent spice-vdagent
|
||||
sudo systemctl enable qemu-guest-agent.service
|
||||
;;
|
||||
oracle)
|
||||
echo "Detected VirtualBox. Installing virtualbox-guest-utils..."
|
||||
sudo pacman -S --noconfirm --needed virtualbox-guest-utils
|
||||
sudo systemctl enable vboxservice.service
|
||||
;;
|
||||
none)
|
||||
echo "No virtualization detected. Skipping guest utilities."
|
||||
;;
|
||||
*)
|
||||
echo "Virtualization detected: $virt_type, but no install routine defined."
|
||||
;;
|
||||
esac
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "End base setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
@@ -1,123 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start Arch setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echoþ
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "################################################################################"
|
||||
echo "Installing much needed software"
|
||||
echo "################################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
#firmwares
|
||||
sudo apt-get install -y dkms linux-headers-$(uname -r)
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#fonts
|
||||
sudo apt install -y font-manager adobe-source-sans-fonts noto-fonts ttf-bitstream-vera ttf-dejavu ttf-droid ttf-hack ttf-inconsolata ttf-liberation ttf-roboto ttf-roboto-mono ttf-ubuntu-font-family terminus-font awesome-terminal-fonts ttf-jetbrains-mono-nerd
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#tools
|
||||
sudo apt install -y wget curl nano fastfetch lolcat bash-completion starship alacritty hwinfo lshw reflector expac betterlockscreen pamac-aur avahi
|
||||
if [ ! -f /usr/bin/duf ]; then
|
||||
sudo apt install -y duf
|
||||
fi
|
||||
sudo apt install -y man-db man-pages thunar thunar-archive-plugin thunar-volman tree xdg-user-dirs polkit-gnome rate-mirrors rsync time bat ntp nss-mdns
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#disk-tools
|
||||
sudo apt install -y gvfs-smb squashfs-tools
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#archive-managers
|
||||
sudo apt install -y zip gzip p7zip unace unrar unzip file-roller
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#theming
|
||||
sudo apt install -y bibata-cursor-theme-bin feh
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#enable services
|
||||
sudo systemctl enable avahi-daemon.service
|
||||
sudo systemctl enable ntpd.service
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
#Run service that will discard unused blocks on mounted filesystems. This is useful for solid-state drives (SSDs) and thinly-provisioned storage.
|
||||
echo
|
||||
echo "Enable fstrim timer"
|
||||
sudo systemctl enable fstrim.timer
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
echo
|
||||
echo "################################################################"
|
||||
echo "Getting latest /etc/nsswitch.conf"
|
||||
echo "################################################################"
|
||||
echo
|
||||
sudo cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
|
||||
sudo wget https://raw.githubusercontent.com/yurikuit/nemesis/refs/heads/main/Personal/settings/nsswitch/nsswitch.conf -O $workdir/etc/nsswitch.conf
|
||||
|
||||
read -n1 -r -p "Press any key to continue..." key
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "Detecting virtualization platform..."
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
virt_type=$(systemd-detect-virt)
|
||||
|
||||
case "$virt_type" in
|
||||
kvm)
|
||||
echo "Detected KVM. Installing qemu-guest-agent..."
|
||||
sudo apt install -y qemu-guest-agent spice-vdagent
|
||||
sudo systemctl enable qemu-guest-agent.service
|
||||
;;
|
||||
oracle)
|
||||
echo "Detected VirtualBox. Installing virtualbox-guest-utils..."
|
||||
sudo apt install -y virtualbox-guest-utils
|
||||
sudo systemctl enable vboxservice.service
|
||||
;;
|
||||
none)
|
||||
echo "No virtualization detected. Skipping guest utilities."
|
||||
;;
|
||||
*)
|
||||
echo "Virtualization detected: $virt_type, but no install routine defined."
|
||||
;;
|
||||
esac
|
||||
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "End base setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Core software"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
sudo pacman -S --noconfirm --needed edu-rofi-git
|
||||
sudo pacman -S --noconfirm --needed edu-rofi-themes-git
|
||||
|
||||
# All the software below will be installed on all desktops
|
||||
sudo pacman -S --noconfirm --needed archlinux-tools dconf-editor devtools hardinfo2 hw-probe logrotate lsb-release powertop inxi acpi plocate most namcap nm-connection-editor python-pylint python-pywal
|
||||
#sudo pacman -S --noconfirm --needed nomacs
|
||||
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename $0) done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Core software"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
# All the software below will be installed on all desktops
|
||||
sudo apt install -y dconf-editor build-essential hardinfo hw-probe logrotate lsb-release powertop inxi acpi plocate most network-manager-gnome python3-pylint python3-pywal module-assistent
|
||||
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename $0) done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,118 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$DISTRO" = "arch" ]; then
|
||||
set -euo pipefail
|
||||
else
|
||||
set -e
|
||||
fi
|
||||
|
||||
#################################################################
|
||||
# Colors
|
||||
# tput setaf 0 = black, 1 = red, 2 = green, 3 = yellow
|
||||
# tput setaf 4 = blue, 5 = purple, 6 = cyan, 7 = gray
|
||||
#################################################################
|
||||
|
||||
. /etc/os-release
|
||||
DISTRO=$ID
|
||||
|
||||
installed_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
#################################################################
|
||||
# Debug mode
|
||||
#################################################################
|
||||
if [ "${DEBUG:-false}" = true ]; then
|
||||
echo
|
||||
echo "------------------------------------------------------------"
|
||||
echo "Running $(basename "$0")"
|
||||
echo "------------------------------------------------------------"
|
||||
echo
|
||||
read -n 1 -s -r -p "Debug mode is on. Press any key to continue..."
|
||||
echo
|
||||
fi
|
||||
|
||||
#################################################################
|
||||
# Functions for package management
|
||||
#################################################################
|
||||
install_pkgs() {
|
||||
case "$DISTRO" in
|
||||
arch)
|
||||
sudo pacman -S --noconfirm --needed "$@"
|
||||
;;
|
||||
debian|ubuntu)
|
||||
sudo apt-get update
|
||||
sudo apt-get install --no-install-recommends -y "$@"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
remove_pkgs() {
|
||||
case "$DISTRO" in
|
||||
arch)
|
||||
sudo pacman -Rs --noconfirm "$@"
|
||||
;;
|
||||
debian|ubuntu)
|
||||
sudo apt-get remove -y "$@"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Install XFCE and SDDM
|
||||
#################################################################
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Install XFCE4 Minimal"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
if [ "$DISTRO" = "arch" ]; then
|
||||
install_pkgs xfce4 xfce4-goodies sddm
|
||||
remove_pkgs mousepad parole xfburn xfce4-screenshooter xfce4-notes-plugin
|
||||
else
|
||||
install_pkgs xfce4 xfce4-goodies sddm
|
||||
remove_pkgs mousepad parole xfburn xfce4-screenshooter xfce4-notes
|
||||
fi
|
||||
|
||||
#################################################################
|
||||
# Create directories (skel + user)
|
||||
#################################################################
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Creating directories"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo mkdir -p /etc/skel/.config/xfce4/{panel,xfconf}
|
||||
mkdir -p \
|
||||
"$HOME"/{.bin,.fonts,.icons,.themes,DATA} \
|
||||
"$HOME/.local/share/"{icons,themes,applications} \
|
||||
"$HOME/.config/"{xfce4,autostart,xfce4/xfconf,gtk-{3.0,4.0},variety,fish,neofetch}
|
||||
|
||||
#################################################################
|
||||
# Enable SDDM
|
||||
#################################################################
|
||||
echo
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### Enabling SDDM"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
sudo systemctl disable lightdm.service 2>/dev/null || true
|
||||
sudo systemctl enable sddm.service
|
||||
|
||||
#################################################################
|
||||
# Done
|
||||
#################################################################
|
||||
echo
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename "$0") done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Install XFCE4 minimal Core Software"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
#settings
|
||||
sudo pacman -S --noconfirm --needed yuku-dot-files-git yuku-sddm-simplicity-git yuku-flat-remix-dark-git
|
||||
#sudo pacman -S --noconfirm --needed edu-shells-git edu-xfce-git
|
||||
|
||||
#theming
|
||||
sudo pacman -S --noconfirm --needed arc-gtk-theme hardcode-fixer-git qt5-quickcontrols qt5-quickcontrols2
|
||||
#sudo pacman -S --noconfirm --needed surfn-icons-git
|
||||
|
||||
#tools
|
||||
sudo pacman -S --noconfirm --needed archlinux-logout-git arandr catfish dmenu galculator networkmanager network-manager-applet networkmanager-openvpn numlockx pavucontrol playerctl xcolor xorg-xkill gparted
|
||||
#sudo pacman -S --noconfirm --needed nitrogen
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Install XFCE4 Full Core Software"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
#internet
|
||||
sudo pacman -S --noconfirm --needed chromium
|
||||
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Configure XFCE4-settings"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
echo
|
||||
echo "Setting bashrc"
|
||||
echo
|
||||
sudo cp -v /etc/skel/.bashrc /etc/skel/.bashrc.starburst
|
||||
sudo cp -rf $installed_dir/assets/.bashrc /etc/skel/.bashrc
|
||||
|
||||
echo
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename $0) done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Install XFCE4 Full Workstation"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
#editors
|
||||
sudo pacman -S --noconfirm --needed code
|
||||
|
||||
#internet
|
||||
sudo pacman -Rs --noconfirm chromium
|
||||
sudo pacman -S --noconfirm --needed google-chrome brave-bin insync
|
||||
#sudo pacman -S --noconfirm --needed discord firefox
|
||||
|
||||
#theming
|
||||
#sudo pacman -S --noconfirm --needed variety
|
||||
|
||||
#media
|
||||
#sudo pacman -S --noconfirm --needed gimp inkscape spotify lollypop
|
||||
sudo pacman -S --noconfirm --needed flameshot-git vlc
|
||||
|
||||
#shells
|
||||
sudo pacman -S --noconfirm --needed fish zsh zsh-completions zsh-syntax-highlighting oh-my-zsh-git
|
||||
|
||||
#system-tools
|
||||
#sudo pacman -S --noconfirm --needed base-devel
|
||||
|
||||
#tools
|
||||
#sudo pacman -S --noconfirm --needed gitahead-git
|
||||
sudo pacman -S --noconfirm --needed wttr system-config-printer
|
||||
sudo pacman -S --noconfirm --needed ripgrep meld btop htop hwinfo lshw reflector expac sublime-text-4
|
||||
if [ ! -f /usr/bin/duf ]; then
|
||||
sudo pacman -S --noconfirm --needed duf
|
||||
fi
|
||||
sudo pacman -S --noconfirm --needed man-db man-pages pacmanlogviewer paru-git yay-git thunar thunar-archive-plugin thunar-volman tree xdg-user-dirs polkit-gnome rate-mirrors rsync time bat ntp nss-mdns
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
##################################################################################################################################
|
||||
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo
|
||||
echo "------------------------------------------------------------"
|
||||
echo "Running $(basename $0)"
|
||||
echo "------------------------------------------------------------"
|
||||
echo
|
||||
read -n 1 -s -r -p "Debug mode is on. Press any key to continue..."
|
||||
echo
|
||||
fi
|
||||
|
||||
##################################################################################################################################
|
||||
|
||||
func_install() {
|
||||
if pacman -Qi $1 &> /dev/null; then
|
||||
tput setaf 2
|
||||
echo "#######################################################################################"
|
||||
echo "################## The package "$1" is already installed"
|
||||
echo "#######################################################################################"
|
||||
echo
|
||||
tput sgr0
|
||||
else
|
||||
tput setaf 3
|
||||
echo "#######################################################################################"
|
||||
echo "################## Installing package " $1
|
||||
echo "#######################################################################################"
|
||||
echo
|
||||
tput sgr0
|
||||
sudo pacman -S --noconfirm --needed $1
|
||||
fi
|
||||
}
|
||||
|
||||
func_install_chadwm() {
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Install chadwm"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
list=(
|
||||
alacritty
|
||||
archlinux-logout-git
|
||||
edu-chadwm-git
|
||||
autorandr
|
||||
dash
|
||||
dmenu
|
||||
eww
|
||||
feh
|
||||
gcc
|
||||
gvfs
|
||||
lolcat
|
||||
lxappearance-gtk3
|
||||
make
|
||||
picom
|
||||
polkit-gnome
|
||||
rofi-lbonn-wayland
|
||||
sxhkd
|
||||
thunar
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
ttf-hack
|
||||
ttf-jetbrains-mono-nerd
|
||||
ttf-meslo-nerd-font-powerlevel10k
|
||||
volumeicon
|
||||
xfce4-notifyd
|
||||
xfce4-power-manager
|
||||
xfce4-screenshooter
|
||||
xfce4-settings
|
||||
xfce4-taskmanager
|
||||
xfce4-terminal
|
||||
xorg-xsetroot
|
||||
)
|
||||
|
||||
count=0
|
||||
|
||||
for name in "${list[@]}" ; do
|
||||
count=$[count+1]
|
||||
tput setaf 3;echo "Installing package nr. "$count " " $name;tput sgr0;
|
||||
func_install $name
|
||||
done
|
||||
}
|
||||
|
||||
echo
|
||||
tput setaf 2
|
||||
echo "########################################################################"
|
||||
echo "################### Let us install Chadwm"
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
func_install_chadwm
|
||||
|
||||
echo
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename $0) done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,51 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################################
|
||||
|
||||
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
|
||||
|
||||
##################################################################################################################################
|
||||
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo
|
||||
echo "------------------------------------------------------------"
|
||||
echo "Running $(basename $0)"
|
||||
echo "------------------------------------------------------------"
|
||||
echo
|
||||
read -n 1 -s -r -p "Debug mode is on. Press any key to continue..."
|
||||
echo
|
||||
fi
|
||||
|
||||
##################################################################################################################################
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "########################################################################"
|
||||
echo "FINAL SKEL"
|
||||
echo "Copying all files and folders from /etc/skel to ~"
|
||||
echo "First we make a backup of .config"
|
||||
echo "Wait for it ...."
|
||||
echo "########################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
|
||||
cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S)
|
||||
cp -arf /etc/skel/. ~
|
||||
|
||||
echo
|
||||
tput setaf 6
|
||||
echo "##############################################################"
|
||||
echo "################### $(basename $0) done"
|
||||
echo "##############################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,326 +0,0 @@
|
||||
### EXPORT ###
|
||||
export EDITOR='nano'
|
||||
export VISUAL='nano'
|
||||
export HISTCONTROL=ignoreboth:erasedups
|
||||
export PAGER='most'
|
||||
|
||||
PS1='[\u@\h \W]\$ '
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
#ignore upper and lowercase when TAB completion
|
||||
bind "set completion-ignore-case on"
|
||||
|
||||
### ALIASES ###
|
||||
|
||||
#list
|
||||
alias ls='ls --color=auto'
|
||||
alias la='ls -a'
|
||||
alias ll='ls -alFh'
|
||||
alias l='ls'
|
||||
alias l.="ls -A | grep -E '^\.'"
|
||||
alias listdir="ls -d */ > list"
|
||||
|
||||
#pacman
|
||||
alias sps='sudo pacman -S'
|
||||
alias spr='sudo pacman -R'
|
||||
alias sprs='sudo pacman -Rs'
|
||||
alias sprdd='sudo pacman -Rdd'
|
||||
alias spqo='sudo pacman -Qo'
|
||||
alias spsii='sudo pacman -Sii'
|
||||
|
||||
# show the list of packages that need this package - depends mpv as example
|
||||
function_depends() {
|
||||
search=$(echo "$1")
|
||||
sudo pacman -Sii $search | grep "Required" | sed -e "s/Required By : //g" | sed -e "s/ /\n/g"
|
||||
}
|
||||
|
||||
alias depends='function_depends'
|
||||
|
||||
#fix obvious typo's
|
||||
alias cd..='cd ..'
|
||||
|
||||
## Colorize the grep command output for ease of use (good for log files)##
|
||||
alias grep='grep --color=auto'
|
||||
alias egrep='grep -E --color=auto'
|
||||
alias fgrep='grep -F --color=auto'
|
||||
|
||||
#readable output
|
||||
alias df='df -h'
|
||||
|
||||
#setlocale
|
||||
alias setlocale="sudo localectl set-locale LANG=en_US.UTF-8"
|
||||
|
||||
#pacman unlock
|
||||
alias unlock="sudo rm /var/lib/pacman/db.lck"
|
||||
alias rmpacmanlock="sudo rm /var/lib/pacman/db.lck"
|
||||
|
||||
#arcolinux logout unlock
|
||||
alias rmlogoutlock="sudo rm /tmp/arcologout.lock"
|
||||
|
||||
#which graphical card is working
|
||||
alias whichvga="/usr/local/bin/arcolinux-which-vga"
|
||||
|
||||
#free
|
||||
alias free="free -mt"
|
||||
|
||||
#continue download
|
||||
alias wget="wget -c"
|
||||
|
||||
#userlist
|
||||
alias userlist="cut -d: -f1 /etc/passwd | sort"
|
||||
|
||||
#merge new settings
|
||||
alias merge="xrdb -merge ~/.Xresources"
|
||||
|
||||
# Aliases for software managment
|
||||
# pacman or pm
|
||||
alias pacman='sudo pacman --color auto'
|
||||
alias update='sudo pacman -Syyu'
|
||||
alias upd='sudo pacman -Syyu'
|
||||
|
||||
# paru as aur helper - updates everything
|
||||
alias pksyua="paru -Syu --noconfirm"
|
||||
alias upall="paru -Syu --noconfirm"
|
||||
alias upa="paru -Syu --noconfirm"
|
||||
|
||||
#ps
|
||||
alias psa="ps auxf"
|
||||
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||
|
||||
#grub update
|
||||
alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg"
|
||||
alias grub-update="sudo grub-mkconfig -o /boot/grub/grub.cfg"
|
||||
#grub issue 08/2022
|
||||
alias install-grub-efi="sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArcoLinux"
|
||||
|
||||
#add new fonts
|
||||
alias update-fc='sudo fc-cache -fv'
|
||||
|
||||
#copy/paste all content of /etc/skel over to home folder - backup of config created - beware
|
||||
#skel alias has been replaced with a script at /usr/local/bin/skel
|
||||
|
||||
#backup contents of /etc/skel to hidden backup folder in home/user
|
||||
alias bupskel='cp -Rf /etc/skel ~/.skel-backup-$(date +%Y.%m.%d-%H.%M.%S)'
|
||||
|
||||
#copy shell configs
|
||||
alias cb='cp /etc/skel/.bashrc ~/.bashrc && exec bash'
|
||||
alias cz='cp /etc/skel/.zshrc ~/.zshrc && echo "Copied."'
|
||||
alias cf='cp /etc/skel/.config/fish/config.fish ~/.config/fish/config.fish && echo "Copied."'
|
||||
|
||||
#switch between bash and zsh
|
||||
alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'"
|
||||
alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
|
||||
alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'"
|
||||
|
||||
# kill commands
|
||||
# quickly kill conkies
|
||||
alias kc='killall conky'
|
||||
# quickly kill polybar
|
||||
alias kp='killall polybar'
|
||||
# quickly kill picom
|
||||
alias kpi='killall picom'
|
||||
|
||||
# hardware info --short
|
||||
alias hw="hwinfo --short"
|
||||
|
||||
# fastfetch --short
|
||||
alias ff="fastfetch | lolcat"
|
||||
|
||||
# audio check pulseaudio or pipewire
|
||||
alias audio="pactl info | grep 'Server Name'"
|
||||
|
||||
# skip integrity check
|
||||
alias paruskip='paru -S --mflags --skipinteg'
|
||||
alias yayskip='yay -S --mflags --skipinteg'
|
||||
alias trizenskip='trizen -S --skipinteg'
|
||||
|
||||
# check vulnerabilities microcode
|
||||
alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*'
|
||||
|
||||
#approximation of how old your hardware is
|
||||
alias howold="sudo lshw | grep -B 3 -A 8 BIOS"
|
||||
|
||||
#check cpu
|
||||
alias cpu="cpuid -i | grep uarch | head -n 1"
|
||||
|
||||
#get fastest mirrors in your neighborhood
|
||||
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
||||
alias mirrord="sudo reflector --latest 30 --number 10 --sort delay --save /etc/pacman.d/mirrorlist"
|
||||
alias mirrors="sudo reflector --latest 30 --number 10 --sort score --save /etc/pacman.d/mirrorlist"
|
||||
alias mirrora="sudo reflector --latest 30 --number 10 --sort age --save /etc/pacman.d/mirrorlist"
|
||||
#our experimental - best option for the moment
|
||||
alias mirrorx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 5 --sort rate --protocol https --save /etc/pacman.d/mirrorlist"
|
||||
alias mirrorxx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist"
|
||||
alias ram='rate-mirrors --allow-root --disable-comments arch | sudo tee /etc/pacman.d/mirrorlist'
|
||||
alias rams='rate-mirrors --allow-root --disable-comments --protocol https arch | sudo tee /etc/pacman.d/mirrorlist'
|
||||
|
||||
#Recent Installed Packages
|
||||
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
||||
alias riplong="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -3000 | nl"
|
||||
|
||||
#Cleanup orphaned packages
|
||||
alias cleanup='sudo pacman -Rns $(pacman -Qtdq)'
|
||||
|
||||
# This will generate a list of explicitly installed packages
|
||||
alias list="sudo pacman -Qqe"
|
||||
#This will generate a list of explicitly installed packages without dependencies
|
||||
alias listt="sudo pacman -Qqet"
|
||||
# list of AUR packages
|
||||
alias listaur="sudo pacman -Qqem"
|
||||
# add > list at the end to write to a file
|
||||
|
||||
# install packages from list
|
||||
# pacman -S --needed - < my-list-of-packages.txt
|
||||
|
||||
#clear
|
||||
alias clean="clear; seq 1 $(tput cols) | sort -R | sparklines | lolcat"
|
||||
alias cls="clear; seq 1 $(tput cols) | sort -R | sparklines | lolcat"
|
||||
|
||||
#search content with ripgrep
|
||||
alias rg="rg --sort path"
|
||||
|
||||
#get the error messages from journalctl
|
||||
alias jctl="journalctl -p 3 -xb"
|
||||
|
||||
#nano for important configuration files
|
||||
#know what you do in these files
|
||||
alias npacman="sudo $EDITOR /etc/pacman.conf"
|
||||
alias ngrub="sudo $EDITOR /etc/default/grub"
|
||||
alias nconfgrub="sudo $EDITOR /boot/grub/grub.cfg"
|
||||
alias nmakepkg="sudo $EDITOR /etc/makepkg.conf"
|
||||
alias nmkinitcpio="sudo $EDITOR /etc/mkinitcpio.conf"
|
||||
alias nmirrorlist="sudo $EDITOR /etc/pacman.d/mirrorlist"
|
||||
alias nsddm="sudo $EDITOR /etc/sddm.conf"
|
||||
alias nsddmk="sudo $EDITOR /etc/sddm.conf.d/kde_settings.conf"
|
||||
alias nsddmd="sudo $EDITOR /usr/lib/sddm/sddm.conf.d/default.conf"
|
||||
alias nfstab="sudo $EDITOR /etc/fstab"
|
||||
alias nnsswitch="sudo $EDITOR /etc/nsswitch.conf"
|
||||
alias nsamba="sudo $EDITOR /etc/samba/smb.conf"
|
||||
alias ngnupgconf="sudo $EDITOR /etc/pacman.d/gnupg/gpg.conf"
|
||||
alias nhosts="sudo $EDITOR /etc/hosts"
|
||||
alias nhostname="sudo $EDITOR /etc/hostname"
|
||||
alias nresolv="sudo $EDITOR /etc/resolv.conf"
|
||||
alias nb="$EDITOR ~/.bashrc"
|
||||
alias nz="$EDITOR ~/.zshrc"
|
||||
alias nf="$EDITOR ~/.config/fish/config.fish"
|
||||
alias nfastfetch="$EDITOR ~/.config/fastfetch/config.jsonc"
|
||||
alias nvconsole="sudo $EDITOR /etc/vconsole.conf"
|
||||
alias nenvironment="sudo $EDITOR /etc/environment"
|
||||
alias nloader="sudo $EDITOR /boot/efi/loader/loader.conf"
|
||||
alias nalacritty="nano /home/$USER/.config/alacritty/alacritty.toml"
|
||||
alias nemptty="sudo $EDITOR /etc/emptty/conf"
|
||||
|
||||
#reading logs with bat
|
||||
alias lpacman="bat /var/log/pacman.log"
|
||||
alias lxorg="bat /var/log/Xorg.0.log"
|
||||
alias lxorgo="bat /var/log/Xorg.0.log.old"
|
||||
|
||||
#reading logs with sublime-text-4
|
||||
alias spac="subl /etc/pacman.conf"
|
||||
|
||||
#gpg
|
||||
#verify signature for isos
|
||||
alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
|
||||
alias fix-gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
|
||||
#receive the key of a developer
|
||||
alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
|
||||
alias fix-gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
|
||||
alias fix-keyserver="[ -d ~/.gnupg ] || mkdir ~/.gnupg ; cp /etc/pacman.d/gnupg/gpg.conf ~/.gnupg/ ; echo 'done'"
|
||||
|
||||
#fixes
|
||||
alias fix-permissions="sudo chown -R $USER:$USER ~/.config ~/.local"
|
||||
alias keyfix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias key-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias keys-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias fixkey="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias fixkeys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias fix-key="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias fix-keys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
|
||||
alias fix-pacman-conf="/usr/local/bin/arcolinux-fix-pacman-conf"
|
||||
alias fix-pacman-keyserver="/usr/local/bin/arcolinux-fix-pacman-gpg-conf"
|
||||
alias fix-grub="sudo /usr/local/bin/arcolinux-fix-grub"
|
||||
alias fixgrub="sudo /usr/local/bin/arcolinux-fix-grub"
|
||||
alias fix-archlinux-mirrors="/usr/local/bin/arcolinux-fix-archlinux-servers"
|
||||
alias fix-arcolinux-mirrors="/usr/local/bin/arcolinux-fix-arcolinux-servers"
|
||||
|
||||
#maintenance
|
||||
alias big="expac -H M '%m\t%n' | sort -h | nl"
|
||||
alias downgrada="sudo downgrade --ala-url https://ant.seedhost.eu/arcolinux/"
|
||||
|
||||
#systeminfo
|
||||
alias sysfailed="systemctl list-units --failed"
|
||||
|
||||
#shutdown or reboot
|
||||
alias ssn="sudo shutdown now"
|
||||
alias sr="reboot"
|
||||
|
||||
#update betterlockscreen images
|
||||
alias bls="betterlockscreen -u /usr/share/backgrounds/"
|
||||
|
||||
#give the list of all installed desktops - xsessions desktops
|
||||
alias xd="ls /usr/share/xsessions"
|
||||
alias xdw="ls /usr/share/wayland-sessions"
|
||||
|
||||
#give a list of the kernels installed
|
||||
alias kernel="ls /usr/lib/modules"
|
||||
alias kernels="ls /usr/lib/modules"
|
||||
|
||||
# # ex = EXtractor for all kinds of archives
|
||||
# # usage: ex <file>
|
||||
ex ()
|
||||
{
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*.deb) ar x $1 ;;
|
||||
*.tar.xz) tar xf $1 ;;
|
||||
*.tar.zst) tar xf $1 ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
#wayland aliases
|
||||
alias wsimplescreen="wf-recorder -a"
|
||||
alias wsimplescreenrecorder="wf-recorder -a -c h264_vaapi -C aac -d /dev/dri/renderD128 --file=recording.mp4"
|
||||
|
||||
#btrfs aliases
|
||||
alias btrfsfs="sudo btrfs filesystem df /"
|
||||
alias btrfsli="sudo btrfs su li / -t"
|
||||
|
||||
#snapper aliases
|
||||
alias snapcroot="sudo snapper -c root create-config /"
|
||||
alias snapchome="sudo snapper -c home create-config /home"
|
||||
alias snapli="sudo snapper list"
|
||||
alias snapcr="sudo snapper -c root create"
|
||||
alias snapch="sudo snapper -c home create"
|
||||
|
||||
#git
|
||||
alias rmgitcache="rm -r ~/.cache/git"
|
||||
alias grh="git reset --hard"
|
||||
|
||||
#pamac
|
||||
alias pamac-unlock="sudo rm /var/tmp/pamac/dbs/db.lock"
|
||||
|
||||
#create a file called .bashrc-personal and put all your personal aliases
|
||||
#in there. They will not be overwritten by skel.
|
||||
|
||||
[[ -f ~/.bashrc-personal ]] && . ~/.bashrc-personal
|
||||
|
||||
# reporting tools - install when not installed
|
||||
fastfetch | lolcat
|
||||
#neofetch
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 120 KiB |
@@ -1,3 +0,0 @@
|
||||
FileManager=Thunar
|
||||
TerminalEmulator=alacritty
|
||||
WebBrowser=chromium
|
||||
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<actions>
|
||||
<action>
|
||||
<name>Bugz</name>
|
||||
<regex>bug\s*#?\s*([0-9]+)</regex>
|
||||
<group>0</group>
|
||||
<commands>
|
||||
<command>
|
||||
<name>GNOME Bug</name>
|
||||
<exec>exo-open https://bugzilla.gnome.org/show_bug.cgi?id=\1</exec>
|
||||
</command>
|
||||
<command>
|
||||
<name>Xfce Bug</name>
|
||||
<exec>exo-open https://bugzilla.xfce.org/show_bug.cgi?id=\1</exec>
|
||||
</command>
|
||||
</commands>
|
||||
</action>
|
||||
<action>
|
||||
<name>Image</name>
|
||||
<regex>(http|ftp).+\.(jpg|png|gif)</regex>
|
||||
<group>0</group>
|
||||
<commands>
|
||||
<command>
|
||||
<name>View with Ristretto</name>
|
||||
<exec>ristretto "\0"</exec>
|
||||
</command>
|
||||
<command>
|
||||
<name>Edit with Gimp</name>
|
||||
<exec>gimp "\0"</exec>
|
||||
</command>
|
||||
</commands>
|
||||
</action>
|
||||
<action>
|
||||
<name>Long URL</name>
|
||||
<regex>https?://[^\s]{120,}</regex>
|
||||
<group>0</group>
|
||||
<commands>
|
||||
<command>
|
||||
<name>Shrink the URL</name>
|
||||
<exec>exo-open https://tinyurl.com/create.php?url=\0</exec>
|
||||
</command>
|
||||
</commands>
|
||||
</action>
|
||||
</actions>
|
||||
@@ -1,751 +0,0 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="screen0" type="empty">
|
||||
<property name="monitor0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitor1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVGA-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorHDMI1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorHDMI2" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorLVDS1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDVI-I-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDVI-D-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDVI-D-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorHDMI-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorHDMI-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorHDMI-2" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVirtual1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVirtual2" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVirtual-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVirtual-2" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace6" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDP-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="DP-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="DP-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/arco/arco-wallpaper.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorLVDS-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace4" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
<property name="workspace5" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDP-4" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/CleanBlue.jpg"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="file-icons" type="empty">
|
||||
<property name="show-home" type="bool" value="true"/>
|
||||
<property name="show-filesystem" type="bool" value="true"/>
|
||||
<property name="show-trash" type="bool" value="true"/>
|
||||
<property name="show-removable" type="bool" value="true"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="desktop-menu" type="empty">
|
||||
<property name="show" type="bool" value="true"/>
|
||||
<property name="show-icons" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="windowlist-menu" type="empty">
|
||||
<property name="show-icons" type="bool" value="true"/>
|
||||
<property name="show-workspace-names" type="bool" value="true"/>
|
||||
<property name="show-submenus" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="last-settings-migration-version" type="uint" value="1"/>
|
||||
</channel>
|
||||
@@ -1,93 +0,0 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="activate_action" type="string" value="bring"/>
|
||||
<property name="borderless_maximize" type="bool" value="true"/>
|
||||
<property name="box_move" type="bool" value="false"/>
|
||||
<property name="box_resize" type="bool" value="false"/>
|
||||
<property name="button_layout" type="string" value="O|SHMC"/>
|
||||
<property name="button_offset" type="int" value="0"/>
|
||||
<property name="button_spacing" type="int" value="0"/>
|
||||
<property name="click_to_focus" type="bool" value="true"/>
|
||||
<property name="cycle_apps_only" type="bool" value="false"/>
|
||||
<property name="cycle_draw_frame" type="bool" value="true"/>
|
||||
<property name="cycle_hidden" type="bool" value="true"/>
|
||||
<property name="cycle_minimum" type="bool" value="true"/>
|
||||
<property name="cycle_preview" type="bool" value="true"/>
|
||||
<property name="cycle_tabwin_mode" type="int" value="0"/>
|
||||
<property name="cycle_workspaces" type="bool" value="false"/>
|
||||
<property name="double_click_action" type="string" value="maximize"/>
|
||||
<property name="double_click_distance" type="int" value="5"/>
|
||||
<property name="double_click_time" type="int" value="250"/>
|
||||
<property name="easy_click" type="string" value="Alt"/>
|
||||
<property name="focus_delay" type="int" value="250"/>
|
||||
<property name="focus_hint" type="bool" value="true"/>
|
||||
<property name="focus_new" type="bool" value="true"/>
|
||||
<property name="frame_opacity" type="int" value="100"/>
|
||||
<property name="frame_border_top" type="int" value="0"/>
|
||||
<property name="full_width_title" type="bool" value="true"/>
|
||||
<property name="horiz_scroll_opacity" type="bool" value="false"/>
|
||||
<property name="inactive_opacity" type="int" value="100"/>
|
||||
<property name="maximized_offset" type="int" value="0"/>
|
||||
<property name="mousewheel_rollup" type="bool" value="true"/>
|
||||
<property name="move_opacity" type="int" value="100"/>
|
||||
<property name="placement_mode" type="string" value="center"/>
|
||||
<property name="placement_ratio" type="int" value="20"/>
|
||||
<property name="popup_opacity" type="int" value="100"/>
|
||||
<property name="prevent_focus_stealing" type="bool" value="false"/>
|
||||
<property name="raise_delay" type="int" value="250"/>
|
||||
<property name="raise_on_click" type="bool" value="true"/>
|
||||
<property name="raise_on_focus" type="bool" value="false"/>
|
||||
<property name="raise_with_any_button" type="bool" value="true"/>
|
||||
<property name="repeat_urgent_blink" type="bool" value="false"/>
|
||||
<property name="resize_opacity" type="int" value="100"/>
|
||||
<property name="scroll_workspaces" type="bool" value="true"/>
|
||||
<property name="shadow_delta_height" type="int" value="0"/>
|
||||
<property name="shadow_delta_width" type="int" value="0"/>
|
||||
<property name="shadow_delta_x" type="int" value="0"/>
|
||||
<property name="shadow_delta_y" type="int" value="-3"/>
|
||||
<property name="shadow_opacity" type="int" value="50"/>
|
||||
<property name="show_app_icon" type="bool" value="false"/>
|
||||
<property name="show_dock_shadow" type="bool" value="true"/>
|
||||
<property name="show_frame_shadow" type="bool" value="true"/>
|
||||
<property name="show_popup_shadow" type="bool" value="false"/>
|
||||
<property name="snap_resist" type="bool" value="false"/>
|
||||
<property name="snap_to_border" type="bool" value="true"/>
|
||||
<property name="snap_to_windows" type="bool" value="false"/>
|
||||
<property name="snap_width" type="int" value="10"/>
|
||||
<property name="vblank_mode" type="string" value="auto"/>
|
||||
<property name="theme" type="string" value="Default"/>
|
||||
<property name="tile_on_move" type="bool" value="true"/>
|
||||
<property name="title_alignment" type="string" value="center"/>
|
||||
<property name="title_font" type="string" value="Sans Bold 9"/>
|
||||
<property name="title_horizontal_offset" type="int" value="0"/>
|
||||
<property name="titleless_maximize" type="bool" value="false"/>
|
||||
<property name="title_shadow_active" type="string" value="false"/>
|
||||
<property name="title_shadow_inactive" type="string" value="false"/>
|
||||
<property name="title_vertical_offset_active" type="int" value="0"/>
|
||||
<property name="title_vertical_offset_inactive" type="int" value="0"/>
|
||||
<property name="toggle_workspaces" type="bool" value="false"/>
|
||||
<property name="unredirect_overlays" type="bool" value="true"/>
|
||||
<property name="urgent_blink" type="bool" value="false"/>
|
||||
<property name="use_compositing" type="bool" value="true"/>
|
||||
<property name="workspace_count" type="int" value="4"/>
|
||||
<property name="wrap_cycle" type="bool" value="true"/>
|
||||
<property name="wrap_layout" type="bool" value="true"/>
|
||||
<property name="wrap_resistance" type="int" value="10"/>
|
||||
<property name="wrap_windows" type="bool" value="false"/>
|
||||
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||
<property name="zoom_desktop" type="bool" value="true"/>
|
||||
<property name="cycle_raise" type="bool" value="false"/>
|
||||
<property name="frame_border_top" type="int" value="0"/>
|
||||
<property name="vblank_mode" type="string" value="auto"/>
|
||||
<property name="cycle_minimized" type="bool" value="false"/>
|
||||
<property name="zoom_pointer" type="bool" value="true"/>
|
||||
<property name="workspace_names" type="array">
|
||||
<value type="string" value="1"/>
|
||||
<value type="string" value="2"/>
|
||||
<value type="string" value="3"/>
|
||||
<value type="string" value="4"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Adwaita-dark"/>
|
||||
<property name="IconThemeName" type="string" value="Sardi-Flat-Colora-Majestic"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="empty"/>
|
||||
<property name="Antialias" type="int" value="1"/>
|
||||
<property name="Hinting" type="int" value="1"/>
|
||||
<property name="HintStyle" type="string" value="hintslight"/>
|
||||
<property name="RGBA" type="string" value="rgb"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="empty"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="empty" />
|
||||
<property name="MonospaceFontName" type="empty" />
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="Bibata-Modern-Ice"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="string" value="icon,menu:minimize,maximize,close"/>
|
||||
<property name="DialogsUseHeader" type="empty"/>
|
||||
<property name="TitlebarMiddleClick" type="empty"/>
|
||||
<property name="ToolbarStyle" type="empty"/>
|
||||
<property name="ToolbarIconSize" type="empty"/>
|
||||
</property>
|
||||
<property name="Gdk" type="empty">
|
||||
<property name="WindowScalingFactor" type="empty"/>
|
||||
</property>
|
||||
</channel>
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
#tput setaf 0 = black
|
||||
#tput setaf 1 = red
|
||||
#tput setaf 2 = green
|
||||
#tput setaf 3 = yellow
|
||||
#tput setaf 4 = dark blue
|
||||
#tput setaf 5 = purple
|
||||
#tput setaf 6 = cyan
|
||||
#tput setaf 7 = gray
|
||||
#tput setaf 8 = light blue
|
||||
##################################################################################################################
|
||||
|
||||
echo
|
||||
tput setaf 3
|
||||
echo "################################################################"
|
||||
echo "################### Start Arch setup"
|
||||
echo "################################################################"
|
||||
tput sgr0
|
||||
echo
|
||||
@@ -1,113 +0,0 @@
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
Color
|
||||
#NoProgressBar
|
||||
CheckSpace
|
||||
VerbosePkgLists
|
||||
ParallelDownloads = 25
|
||||
#DownloadUser = alpm
|
||||
#DisableSandbox
|
||||
ILoveCandy
|
||||
DisableDownloadTimeout
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[core-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[extra-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repositories as required here.
|
||||
|
||||
#[multilib-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
||||
|
||||
[yuku_repo]
|
||||
SigLevel = Never
|
||||
Server = https://yurikuit.github.io/$repo/$arch
|
||||
|
||||
[nemesis_repo]
|
||||
SigLevel = Never
|
||||
Server = https://erikdubois.github.io/$repo/$arch
|
||||
|
||||
[chaotic-aur]
|
||||
SigLevel = Required DatabaseOptional
|
||||
Include = /etc/pacman.d/chaotic-mirrorlist
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (printf-safe, no tput)
|
||||
##########################
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
CYAN="\033[0;36m"
|
||||
GRAY="\033[0;37m"
|
||||
BOLD="\033[1m"
|
||||
RESET="\033[0m"
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED="" GREEN="" YELLOW="" CYAN="" GRAY="" BOLD="" RESET=""
|
||||
fi
|
||||
|
||||
say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Use exported variables from main detection script
|
||||
##########################
|
||||
OS="${DETECTED_OS}"
|
||||
DDE="${DETECTED_DE:-}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
##########################
|
||||
# Helper functions
|
||||
##########################
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
say_yellow "Starting full setup..."
|
||||
|
||||
# Run minimal first
|
||||
bash "$SCRIPT_DIR/fedora-minimal.sh"
|
||||
|
||||
# Add extra packages
|
||||
install_packages arandr catfish galculator NetworkManager network-manager-applet NetworkManager-openvpn numlockx pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol playerctl gparted xfce4-pulseaudio-plugin xfce4-clipman-plugin
|
||||
# temp disabled packages
|
||||
# xfce4-indicator-plugin
|
||||
|
||||
# install SDDM-theme
|
||||
say_yellow "Installing SDDM Theme"
|
||||
|
||||
GIT_DIR="$HOME/git"
|
||||
REPO_DIR="$GIT_DIR/SilentSDDM"
|
||||
REPO_URL="https://github.com/uiriansan/SilentSDDM"
|
||||
|
||||
mkdir -p "$GIT_DIR"
|
||||
|
||||
if [ -d "$REPO_DIR/.git" ]; then
|
||||
echo "SilentSDDM already exists. Updating repository..."
|
||||
cd "$REPO_DIR" && git pull --rebase
|
||||
else
|
||||
echo "Cloning SilentSDDM..."
|
||||
git clone -b main --depth=1 "$REPO_URL" "$REPO_DIR"
|
||||
fi
|
||||
|
||||
echo "Running installer..."
|
||||
cd "$REPO_DIR" || {
|
||||
echo "Error: Failed to enter $REPO_DIR" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ensure NetworkManager manages all interfaces
|
||||
say_yellow "Ensuring NetworkManager service is enabled and running..."
|
||||
sudo systemctl enable --now NetworkManager
|
||||
|
||||
say_yellow "Setting NetworkManager to globally manage all devices..."
|
||||
sudo tee /etc/NetworkManager/conf.d/10-globally-managed-devices.conf > /dev/null <<'EOF'
|
||||
[ifupdown]
|
||||
managed=true
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices=
|
||||
EOF
|
||||
|
||||
say_yellow "Restarting NetworkManager service..."
|
||||
sudo systemctl restart NetworkManager
|
||||
|
||||
say_yellow "Waiting for NetworkManager to reconnect..."
|
||||
sleep 15
|
||||
|
||||
# Enable pipewire
|
||||
systemctl --user enable pipewire pipewire-pulse wireplumber
|
||||
|
||||
########################################
|
||||
# XFCE-specific configuration
|
||||
########################################
|
||||
if [[ "${DE}" == "xfce" || "${DDE}" == "xfce" ]]; then
|
||||
echo
|
||||
say_cyan "Applying XFCE defaults: fonts, browser, and terminal..."
|
||||
|
||||
# Ensure xfconf-query exists (for XFCE settings)
|
||||
if ! command -v xfconf-query >/dev/null 2>&1; then
|
||||
say_yellow "xfconf-query not found — installing xfce4-settings..."
|
||||
install_packages xfce4-settings
|
||||
fi
|
||||
|
||||
# set fonts
|
||||
# Wait for xfconf to be available (only needed if running inside the same session)
|
||||
if command -v xfconf-query >/dev/null 2>&1; then
|
||||
# Interface font (UI)
|
||||
xfconf-query -c xsettings -p /Gtk/FontName -s "RobotoMono Nerd Font Regular 10"
|
||||
# Monospace font (terminals, editors)
|
||||
xfconf-query -c xsettings -p /Gtk/MonospaceFontName -s "RobotoMono Nerd Font Mono Regular 10"
|
||||
|
||||
say_green "XFCE fonts updated successfully!"
|
||||
else
|
||||
say_yellow "xfconf-query not found — skipping XFCE font config (will apply at first login)."
|
||||
fi
|
||||
|
||||
# Set browser default
|
||||
if command -v chromium >/dev/null 2>&1; then
|
||||
mkdir -p "$HOME/.config/xfce4/"
|
||||
HELPERS_FILE="$HOME/.config/xfce4/helpers.rc"
|
||||
|
||||
# Ensure the helpers file exists
|
||||
touch "$HELPERS_FILE"
|
||||
|
||||
# Update or insert browser entry
|
||||
if grep -q '^WebBrowser=' "$HELPERS_FILE"; then
|
||||
sed -i 's|^WebBrowser=.*|WebBrowser=chromium|' "$HELPERS_FILE"
|
||||
else
|
||||
echo "WebBrowser=chromium" >> "$HELPERS_FILE"
|
||||
fi
|
||||
say_green "XFCE defeault browser set to chromium!"
|
||||
fi
|
||||
|
||||
# Set default terminal
|
||||
if command -v alacritty >/dev/null 2>&1; then
|
||||
mkdir -p "$HOME/.config/xfce4/"
|
||||
HELPERS_FILE="$HOME/.config/xfce4/helpers.rc"
|
||||
|
||||
touch "$HELPERS_FILE"
|
||||
|
||||
# TerminalEmulator entry
|
||||
if grep -q '^TerminalEmulator=' "$HELPERS_FILE"; then
|
||||
sed -i 's|^TerminalEmulator=.*|TerminalEmulator=alacritty|' "$HELPERS_FILE"
|
||||
else
|
||||
echo "TerminalEmulator=alacritty" >> "$HELPERS_FILE"
|
||||
fi
|
||||
|
||||
# TerminalEmulatorCommand entry
|
||||
if grep -q '^TerminalEmulatorCommand=' "$HELPERS_FILE"; then
|
||||
sed -i 's|^TerminalEmulatorCommand=.*|TerminalEmulatorCommand=alacritty|' "$HELPERS_FILE"
|
||||
else
|
||||
echo "TerminalEmulatorCommand=alacritty" >> "$HELPERS_FILE"
|
||||
fi
|
||||
say_green "XFCE defeault terminal set to alacritty!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# replace bashrc
|
||||
say_yellow "making backup of bashrc"
|
||||
sudo cp -v /etc/skel/.bashrc /etc/skel/.bashrc.starburst
|
||||
|
||||
# End of script
|
||||
say_green "Full setup completed."
|
||||
@@ -1,125 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (printf-safe, no tput)
|
||||
##########################
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
CYAN="\033[0;36m"
|
||||
GRAY="\033[0;37m"
|
||||
BOLD="\033[1m"
|
||||
RESET="\033[0m"
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED="" GREEN="" YELLOW="" CYAN="" GRAY="" BOLD="" RESET=""
|
||||
fi
|
||||
|
||||
say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Use exported variables from main detection script
|
||||
##########################
|
||||
OS="${DETECTED_OS}"
|
||||
DDE="${DETECTED_DE}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
##########################
|
||||
# Helper functions
|
||||
##########################
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
##########################
|
||||
# 1. Base Dependencies & Repos
|
||||
##########################
|
||||
say_cyan "Installing base dependencies..."
|
||||
# dnf-plugins-core is required for COPR
|
||||
install_packages dnf-plugins-core curl wget git flatpak
|
||||
|
||||
# Enable PeaZip via COPR
|
||||
say_cyan "Installing PeaZip (Qt6) via official RPM..."
|
||||
PZ_VER="11.0.0"
|
||||
PZ_FILE="peazip-${PZ_VER}.LINUX.Qt6-1.x86_64.rpm"
|
||||
PZ_URL="https://github.com/peazip/PeaZip/releases/download/${PZ_VER}/${PZ_FILE}"
|
||||
curl -L "$PZ_URL" -o "/tmp/$PZ_FILE"
|
||||
sudo dnf install -y "/tmp/$PZ_FILE"
|
||||
rm "/tmp/$PZ_FILE"
|
||||
|
||||
say_green "PeaZip ${PZ_VER} (Qt6) installed successfully."
|
||||
|
||||
##########################
|
||||
# 2. Main Package Installation
|
||||
##########################
|
||||
say_yellow "Installing essential tools..."
|
||||
|
||||
install_packages \
|
||||
fastfetch lolcat bash-completion alacritty \
|
||||
hwinfo lshw duf chrony polkit-kde-agent-1 \
|
||||
man-db tree xdg-user-dirs rsync time bat chromium \
|
||||
thunar thunar-archive-plugin thunar-volman \
|
||||
baobab gvfs-smb hddtemp squashfs-tools \
|
||||
zip gzip p7zip unace unrar file-roller peazip \
|
||||
feh gnome-font-viewer dconf-editor hardinfo2 lsb_release \
|
||||
powertop inxi acpi plocate nm-connection-editor \
|
||||
python3-pylint qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia
|
||||
|
||||
if ! command -v starship &> /dev/null; then
|
||||
say_cyan "Installing Starship shell prompt..."
|
||||
curl -sS https://starship.rs/install.sh | sh -s -- -y
|
||||
fi
|
||||
|
||||
#################################
|
||||
# 3. Fonts (RobotoMono Nerd Font)
|
||||
#################################
|
||||
FONT_DIR="$HOME/.local/share/fonts"
|
||||
DOWNLOAD_NAME="RobotoMono"
|
||||
if ! find "$FONT_DIR" -name "*RobotoMonoNerdFont*" | grep -q .; then
|
||||
say_yellow "Installing ${DOWNLOAD_NAME} Nerd Font..."
|
||||
mkdir -p "$FONT_DIR"
|
||||
FONT_ZIP="/tmp/${DOWNLOAD_NAME}.zip"
|
||||
curl -L "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${DOWNLOAD_NAME}.zip" -o "$FONT_ZIP"
|
||||
unzip -oq "$FONT_ZIP" -d "$FONT_DIR"
|
||||
fc-cache -fv
|
||||
rm "$FONT_ZIP"
|
||||
say_green "${DOWNLOAD_NAME} installed."
|
||||
else
|
||||
say_yellow "RobotoMono Nerd Font already installed."
|
||||
fi
|
||||
|
||||
#################################
|
||||
# 4. Chromium Configuration
|
||||
#################################
|
||||
CONF="$HOME/.config/chromium-flags.conf"
|
||||
mkdir -p "$(dirname "$CONF")"
|
||||
[[ ! -f "$CONF" ]] && touch "$CONF"
|
||||
|
||||
# Add OAuth IDs for Google Sync
|
||||
#
|
||||
OAUTH_ID="--oauth2-client-id=77185425430.apps.googleusercontent.com"
|
||||
OAUTH_SECRET="--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT"
|
||||
|
||||
grep -qxF -- "$OAUTH_ID" "$CONF" || echo "$OAUTH_ID" >> "$CONF"
|
||||
grep -qxF -- "$OAUTH_SECRET" "$CONF" || echo "$OAUTH_SECRET" >> "$CONF"
|
||||
|
||||
say_green "Chromium flags configured."
|
||||
|
||||
#################################
|
||||
# 5. Enable Services
|
||||
#################################
|
||||
# Enable basic services
|
||||
say_cyan "Enabling services..."
|
||||
sudo systemctl enable --now fstrim.timer
|
||||
sudo systemctl enable --now chronyd || true
|
||||
|
||||
say_green "Fedora Minimal setup completed."
|
||||
@@ -1,141 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (printf-safe, no tput)
|
||||
##########################
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
CYAN="\033[0;36m"
|
||||
GRAY="\033[0;37m"
|
||||
BOLD="\033[1m"
|
||||
RESET="\033[0m"
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED="" GREEN="" YELLOW="" CYAN="" GRAY="" BOLD="" RESET=""
|
||||
fi
|
||||
|
||||
say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Use exported variables from main detection script
|
||||
##########################
|
||||
OS="${DETECTED_OS:-fedora}"
|
||||
DDE="${DETECTED_DE:-none}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
##########################
|
||||
# Helper functions
|
||||
##########################
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
detect_de() {
|
||||
# Check if a desktop session is currently running or XFCE is available
|
||||
if [ "${XDG_CURRENT_DESKTOP:-}" ]; then
|
||||
echo "${XDG_CURRENT_DESKTOP,,}" # lowercase the output
|
||||
elif command -v xfce4-session >/dev/null 2>&1; then
|
||||
echo "xfce"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
detect_display_manager() {
|
||||
# Fedora/Systemd way to check the active DM symlink
|
||||
if [ -L /etc/systemd/system/display-manager.service ]; then
|
||||
basename "$(readlink /etc/systemd/system/display-manager.service)" | sed 's/\.service//'
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
switch_display_manager() {
|
||||
local target_dm="$1"
|
||||
local current_dm
|
||||
current_dm=$(detect_display_manager)
|
||||
|
||||
if [[ "$current_dm" != "$target_dm" ]]; then
|
||||
if [[ -n "$current_dm" ]]; then
|
||||
say_yellow "Disabling existing display manager: $current_dm"
|
||||
sudo systemctl disable "$current_dm"
|
||||
fi
|
||||
say_yellow "Enabling $target_dm..."
|
||||
sudo systemctl enable "$target_dm"
|
||||
fi
|
||||
sudo systemctl set-default graphical.target
|
||||
}
|
||||
|
||||
#########################
|
||||
# Start installation
|
||||
##########################
|
||||
say_yellow "Starting Niri setup..."
|
||||
|
||||
CURRENT_DE="$(detect_de)"
|
||||
CURRENT_DM="$(detect_display_manager)"
|
||||
|
||||
# Add Terra repo
|
||||
add_terra_repo() {
|
||||
if [ ! -f /etc/yum.repos.d/terra.repo ]; then
|
||||
say_yellow "Adding Terra repository for Noctalia Shell..."
|
||||
|
||||
TMP_FILE="/tmp/terra.repo"
|
||||
|
||||
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo -o "$TMP_FILE" &&
|
||||
sudo mv "$TMP_FILE" /etc/yum.repos.d/terra.repo
|
||||
|
||||
say_yellow "Clearing DNF cache..."
|
||||
sudo dnf clean metadata
|
||||
else
|
||||
say_gray "Terra repository already configured."
|
||||
fi
|
||||
}
|
||||
|
||||
# Core components for Niri & Noctalia setup
|
||||
NIRI_PACKAGES=(niri fuzzel swaybg swaylock noctalia-shell)
|
||||
|
||||
if [[ -z "$CURRENT_DE" || "$CURRENT_DE" == "none" || "$CURRENT_DE" == "sway" ]]; then
|
||||
say_cyan "No Desktop Environment detected. Installing Niri + Noctalia Shell..."
|
||||
|
||||
# 1. Add the repo first
|
||||
add_terra_repo
|
||||
|
||||
# 2. Install everything
|
||||
install_packages sddm "${NIRI_PACKAGES[@]}"
|
||||
switch_display_manager "sddm"
|
||||
|
||||
say_green "Niri, Noctalia, and SDDM installed successfully."
|
||||
|
||||
else
|
||||
say_cyan "Detected existing Desktop Environment: $CURRENT_DE"
|
||||
|
||||
# Always install the window manager packages
|
||||
install_packages "${NIRI_PACKAGES[@]}"
|
||||
|
||||
if [[ "$CURRENT_DM" == "lightdm" ]]; then
|
||||
say_yellow "LightDM is currently active. Replacing with SDDM..."
|
||||
|
||||
# Fedora equivalent to purge lightdm safely
|
||||
sudo dnf remove -y lightdm lightdm-gtk
|
||||
|
||||
install_packages sddm
|
||||
switch_display_manager "sddm"
|
||||
|
||||
say_green "LightDM removed and replaced with SDDM."
|
||||
else
|
||||
say_cyan "Current display manager: ${CURRENT_DM:-none}. Leaving it to handle Niri login sessions."
|
||||
fi
|
||||
fi
|
||||
|
||||
# End of script
|
||||
say_green "Niri / SDDM setup completed."
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (printf-safe, no tput)
|
||||
##########################
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
CYAN="\033[0;36m"
|
||||
GRAY="\033[0;37m"
|
||||
BOLD="\033[1m"
|
||||
RESET="\033[0m"
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED="" GREEN="" YELLOW="" CYAN="" GRAY="" BOLD="" RESET=""
|
||||
fi
|
||||
|
||||
say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Use exported variables from main detection script
|
||||
##########################
|
||||
OS="${DETECTED_OS}"
|
||||
DDE="${DETECTED_DE:-}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
##########################
|
||||
# Helper functions
|
||||
##########################
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
say_yellow "Starting Workstation setup..."
|
||||
|
||||
# Run full first
|
||||
bash "$SCRIPT_DIR/fedora-full.sh"
|
||||
|
||||
# Add extra packages
|
||||
install_packages git libreoffice
|
||||
# gitahead-git
|
||||
|
||||
# editors
|
||||
install_packages konsole
|
||||
# temp removed packages:
|
||||
# sublime-text-4 vscodium
|
||||
flatpak install -y flathub com.vscodium.codium
|
||||
|
||||
#internet
|
||||
# install_packages
|
||||
# temp removed packages
|
||||
# google-chrome discord firefox insync brave-bin
|
||||
|
||||
#theming
|
||||
# variety
|
||||
|
||||
#media
|
||||
install_packages mpv
|
||||
# temp removed packages
|
||||
# vlc gimp inkscape spotify lollypop mpv-full mpv-git flameshot-git
|
||||
|
||||
#shells
|
||||
install_packages zsh zsh-syntax-highlighting
|
||||
# temp removed packages
|
||||
# fish oh-my-zsh-git zsh-completions
|
||||
|
||||
#system-tools
|
||||
install_packages @development-tools git curl wget cmake ninja-build pkgconf-pkg-config
|
||||
|
||||
#tools
|
||||
install_packages system-config-printer system-config-printer-applet system-config-printer-libs ripgrep meld btop htop hwinfo lshw
|
||||
# temp removed packages
|
||||
# wttr
|
||||
|
||||
# End of script
|
||||
say_green "Workstation setup completed."
|
||||
|
||||
###### TODO
|
||||
### autostart flameshot tray icon
|
||||
### autostart insync tray icon
|
||||
-218
@@ -1,218 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
##########################
|
||||
# Color helpers (printf-safe, no tput)
|
||||
##########################
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
CYAN="\033[0;36m"
|
||||
GRAY="\033[0;37m"
|
||||
BOLD="\033[1m"
|
||||
RESET="\033[0m"
|
||||
|
||||
# Disable colors if output is not a terminal
|
||||
if [ ! -t 1 ]; then
|
||||
RED="" GREEN="" YELLOW="" CYAN="" GRAY="" BOLD="" RESET=""
|
||||
fi
|
||||
|
||||
say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; }
|
||||
say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; }
|
||||
say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; }
|
||||
say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; }
|
||||
say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; }
|
||||
say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$RESET"; }
|
||||
|
||||
##########################
|
||||
# Use exported variables from main detection script
|
||||
##########################
|
||||
OS="${DETECTED_OS}"
|
||||
DDE="${DETECTED_DE}"
|
||||
DE="${SELECTED_DE:-none}"
|
||||
TWM="${SELECTED_TWM:-none}"
|
||||
INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo
|
||||
say_cyan "Starting Fedora setup..."
|
||||
echo
|
||||
say_gray "DE: $DE, TWM: $TWM, Install Level: $INSTALL_LEVEL"
|
||||
|
||||
##########################
|
||||
# Helper functions
|
||||
##########################
|
||||
install_packages() { sudo dnf install -y "$@"; }
|
||||
is_package_installed() { rpm -q "$@" &>/dev/null; }
|
||||
|
||||
remove_packages() {
|
||||
local packages_to_remove=()
|
||||
for pkg in "$@"; do
|
||||
if is_package_installed "$pkg"; then
|
||||
packages_to_remove+=("$pkg")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#packages_to_remove[@]} -gt 0 ]; then
|
||||
say_cyan "Removing packages: ${packages_to_remove[*]}"
|
||||
sudo dnf remove -y "${packages_to_remove[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
##########################
|
||||
# 0. Ensure base is ready for installation
|
||||
##########################
|
||||
installed_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
pkg_dir="packages"
|
||||
|
||||
if [[ ! -d "$pkg_dir" ]]; then
|
||||
say_red "Directory not found: $pkg_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v curl >/dev/null 2>&1; then
|
||||
say_yellow "curl is not installed. Installing..."
|
||||
install_packages curl
|
||||
fi
|
||||
|
||||
##########################
|
||||
# 1. Update and Enable Repos
|
||||
##########################
|
||||
say_cyan "Optimizing DNF for speed..."
|
||||
|
||||
# 1. Enable fastest mirror (lowest latency)
|
||||
# 2. Increase parallel downloads (allows downloading multiple packages at once)
|
||||
# 3. Set a minimum rate to drop slow mirrors automatically
|
||||
sudo dnf config-manager setopt fastestmirror=1
|
||||
sudo dnf config-manager setopt max_parallel_downloads=20
|
||||
|
||||
say_green "DNF optimized. Refreshing metadata..."
|
||||
sudo dnf makecache --refresh
|
||||
|
||||
say_cyan "Enabling RPM Fusion repositories for Fedora $(rpm -E %fedora)..."
|
||||
|
||||
# Define the version variable for readability
|
||||
FEDORA_VER=$(rpm -E %fedora)
|
||||
|
||||
say_yellow "Checking for updates and sources..."
|
||||
sudo dnf check-update || true
|
||||
|
||||
# Check if flatpak is installed, if not, install it
|
||||
if ! command -v flatpak &> /dev/null; then
|
||||
say_yellow "Flatpak not found. Installing..."
|
||||
sudo dnf install -y flatpak
|
||||
fi
|
||||
|
||||
say_cyan "Enabling Flathub..."
|
||||
# Using --if-not-exists is good practice to prevent errors on re-runs
|
||||
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
sudo dnf install -y \
|
||||
"https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VER}.noarch.rpm" \
|
||||
"https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VER}.noarch.rpm"
|
||||
|
||||
say_cyan "Enabling full Flathub support..."
|
||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Update the system
|
||||
say_gray "Updating the system"
|
||||
echo
|
||||
sudo dnf update -y
|
||||
|
||||
##########################
|
||||
# 2. Fix missing console font
|
||||
##########################
|
||||
say_yellow "Fix missing console font"
|
||||
|
||||
if grep -q FONT= /etc/vconsole.conf; then
|
||||
say_green "Font is already set in /etc/vconsole.conf"
|
||||
else
|
||||
say_green "Setting console font in /etc/vconsole.conf"
|
||||
echo 'FONT=gr737c-8x14' | sudo tee -a /etc/vconsole.conf
|
||||
fi
|
||||
|
||||
##########################
|
||||
# 3. Detected OS / DE / TWM info
|
||||
##########################
|
||||
say_yellow "Detected OS / Desktop Environment / Tiling Window Manager"
|
||||
echo
|
||||
say_gray "Installing OS-specific packages..."
|
||||
say_gray "Selected DE: $DE"
|
||||
say_gray "Selected TWM: $TWM"
|
||||
say_gray "Installation Level: $INSTALL_LEVEL"
|
||||
|
||||
##########################
|
||||
# 4. Desktop Environment installation
|
||||
##########################
|
||||
case "$DE" in
|
||||
xfce|plasma|gnome)
|
||||
say_yellow "Preparing to install $DE..."
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${DE}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
say_cyan "Running $SCRIPT_NAME..."
|
||||
bash "$SCRIPT_NAME"
|
||||
else
|
||||
say_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
none)
|
||||
say_gray "No Desktop Environment selected, skipping DE installation."
|
||||
;;
|
||||
esac
|
||||
|
||||
##########################
|
||||
# 5. Tiling Window Manager installation
|
||||
##########################
|
||||
case "$TWM" in
|
||||
chadwm|hyprland|niri)
|
||||
say_yellow "Installing $TWM..."
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${TWM}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
say_cyan "Running $SCRIPT_NAME..."
|
||||
bash "$SCRIPT_NAME"
|
||||
else
|
||||
say_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
none)
|
||||
say_gray "No tiling window manager selected, skipping TWM installation."
|
||||
;;
|
||||
esac
|
||||
|
||||
##########################
|
||||
# 6. Installation level handling
|
||||
##########################
|
||||
case "$INSTALL_LEVEL" in
|
||||
minimal|full|workstation|server)
|
||||
say_cyan "Installation level: $INSTALL_LEVEL"
|
||||
SCRIPT_NAME="$SCRIPT_DIR/${OS}-${INSTALL_LEVEL}.sh"
|
||||
if [[ -f "$SCRIPT_NAME" ]]; then
|
||||
say_cyan "Running $SCRIPT_NAME..."
|
||||
bash "$SCRIPT_NAME"
|
||||
else
|
||||
say_red "Error: $SCRIPT_NAME not found!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
say_green "Fedora setup complete."
|
||||
say_red "The installation has finished. A reboot is recommended."
|
||||
# Reboots are dangerous to automate; we use a shorter timeout and default to No
|
||||
if read -t 10 -rp "Reboot now? [y/N]: " reboot_choice; then
|
||||
case "${reboot_choice,,}" in
|
||||
y|yes)
|
||||
say_red "Rebooting now."
|
||||
sudo reboot
|
||||
;;
|
||||
*)
|
||||
say_yellow "Skipping reboot."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
say_yellow "\nNo input detected. Skipping reboot for safety."
|
||||
exit 0
|
||||
fi
|
||||
Reference in New Issue
Block a user