Compare commits
30 Commits
ddubs-ags-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fcf533f857 | ||
|
|
4bd1e18e6e | ||
|
|
5acde89271 | ||
|
|
7ebe599868 | ||
|
|
ae0c8b155c | ||
|
|
3781f9c510 | ||
|
|
bbeaa681e0 | ||
|
|
47f4e4d7b6 | ||
|
|
23f52b3f00 | ||
|
|
956fb369b5 | ||
|
|
9cf06be539 | ||
|
|
1808001bdb | ||
|
|
46728206a0 | ||
|
|
27b7ba5578 | ||
|
|
bcfade3e24 | ||
|
|
f231d77b5c | ||
|
|
d1c0e89737 | ||
|
|
f1e2d27625 | ||
|
|
2789e1544c | ||
|
|
560ecf3bb6 | ||
|
|
516f2e609c | ||
|
|
66cebd2247 | ||
|
|
c16b3bc2c0 | ||
|
|
ead2235eba | ||
|
|
729149b7cc | ||
|
|
efba587fde | ||
|
|
c2a30d5a08 | ||
|
|
ab31c829e2 | ||
|
|
5b29ba38d8 | ||
|
|
8813180c2d |
@@ -1,230 +1,312 @@
|
||||
## CHANGELOGS
|
||||
|
||||
## Dec 2025
|
||||
|
||||
Added:
|
||||
|
||||
- `qt5-quickcontrols2` to sddm.sh - User reported w/o this SDDM crashed on login
|
||||
Fixed:
|
||||
- AGS v1
|
||||
- It now does the following:
|
||||
- Clone upstream AGS 1.9.0.
|
||||
- Stub out PAM/GUtils via pam.ts.
|
||||
- Build and install AGS.
|
||||
- Install the known-good launcher from install-scripts/ags.launcher.com.github.Aylur.ags.
|
||||
- Points /usr/local/bin/ags at that launcher.
|
||||
- AGS is no longer removed when you add quickshell.
|
||||
- AGS overview is a backup if quickshell overview fails.
|
||||
- meson build errors
|
||||
- `rofi-wayland` package changed to 'rofi'
|
||||
- Add missing monitor scripts from Fedora-Hyprland PR #234
|
||||
|
||||
## 22 July 2025
|
||||
|
||||
- Updated sddm theme and script to work with the updated simple_sddm_2 theme
|
||||
|
||||
## 17 July 2025
|
||||
|
||||
- added quickshell script to replace ags for desktop overview
|
||||
|
||||
## 08 June 2025
|
||||
|
||||
- updated SDDM theme.
|
||||
|
||||
## 20 March 2025
|
||||
|
||||
- adjusted hyprland installation script. This is great for those who are using -git packages
|
||||
- added findutils as dependencies
|
||||
|
||||
## 11 March 2025
|
||||
|
||||
- Added uninstall script
|
||||
- forked AGS v1 into JakooLit repo. This is just incase Aylur decide to take down v1
|
||||
|
||||
## 10 March 2025
|
||||
|
||||
- Dropped pyprland in favor of hyprland built in tool for a drop down like terminal and Desktop magnifier
|
||||
|
||||
## 06 March 2025
|
||||
|
||||
- Switched to whiptail version for Y & N questions
|
||||
- switched eza to lsd
|
||||
|
||||
## 23 Feb 2025
|
||||
|
||||
- added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12
|
||||
- added Fantasque Sans Mono Nerd for Kitty
|
||||
|
||||
## 22 Feb 2025
|
||||
|
||||
- replaced eog with loupe
|
||||
- changed url for installing oh-my-zsh to get wider coverage. Some countries are blocking github raw url's
|
||||
|
||||
## 20 Feb 2025
|
||||
|
||||
- Added nwg-displays for the upcoming Kools dots v2.3.12
|
||||
|
||||
## 18 Feb 2025
|
||||
|
||||
- Change default zsh theme to adnosterzak
|
||||
- pokemon coloscript integrated with fastfetch when opted with pokemon to add some bling
|
||||
- additional external oh-my-zsh theme
|
||||
|
||||
## 06 Feb 2025
|
||||
|
||||
- added semi-unattended function.
|
||||
- move all the initial questions at the beginning
|
||||
|
||||
## 04 Feb 2025
|
||||
|
||||
- Re-coded for better visibility
|
||||
- Offered a new SDDM theme.
|
||||
- script will automatically detect if you have nvidia but script still offer if you want to set up for user
|
||||
|
||||
## 29 Jan 2025
|
||||
|
||||
- enhanced nvidia.sh to add additional systemd-bootloader entries for nvidia
|
||||
|
||||
## 16 Jan 2025
|
||||
|
||||
- updated nvidia.sh to install non-git libva-nvidia-driver
|
||||
|
||||
## 13 Jan 2025
|
||||
|
||||
- replaced polkit-gnome with hyprpolkitagent
|
||||
|
||||
## 12 Jan 2025
|
||||
|
||||
- switch to final version of aylurs-gtk-shell-v1
|
||||
|
||||
## 11 Jan 2025
|
||||
|
||||
- added cachyos-hyprland-settings to uninstall
|
||||
|
||||
## 06 Jan 2025
|
||||
|
||||
- added copying of modified fastfetch-compact for Arch
|
||||
- default theme for oh my zsh theme is now "funky"
|
||||
|
||||
## 26 Dec 2024
|
||||
|
||||
- Removal of Bibata Ice cursor on assets since its integrated in the GTK Themes and Icons extract from a separate repo
|
||||
- integrated hyprcursor in Bibata Ice Cursor
|
||||
|
||||
## 15 Nov 2024
|
||||
|
||||
- revert Aylurs GTK Shell (AGS) to install older version
|
||||
- added aylurs-gtk-shell to uninstall
|
||||
|
||||
## 20 Sep 2024
|
||||
|
||||
- User will be ask if they want to set Thunar as default file manager if they decided to install it
|
||||
|
||||
## 19 Sep 2024
|
||||
|
||||
- Added fastfetch on tty. However, will be disabled if user decided to install pokemon colorscripts
|
||||
|
||||
## 18 Sep 2024
|
||||
|
||||
- dotfiles will now be downloaded from main or master branch instead of from the releases version.
|
||||
|
||||
## 14 Sep 2024
|
||||
|
||||
- remove the final error checks instead, introduced a final check of essential packages to ran Hyprland
|
||||
|
||||
## 08 Sep 2024
|
||||
|
||||
- Added final error checks on install-logs
|
||||
|
||||
## 07 Sep 2024
|
||||
|
||||
- added pulseaudio check
|
||||
- added sof-firmware
|
||||
|
||||
## 29 Aug 2024
|
||||
|
||||
- switched over to non-git wallust package
|
||||
- improved indentions on some install scripts
|
||||
|
||||
## 28 Aug 2024
|
||||
|
||||
- Added final check if hyprland is installed and will give an error to user
|
||||
|
||||
## 26 Aug 2024
|
||||
|
||||
- Set to uninstall rofi as conflicts with rofi-wayland
|
||||
- added nvidia_drm.fbdev=1 for grub
|
||||
|
||||
## 14 Aug 2024
|
||||
|
||||
- added archlinux-keyring on base.sh
|
||||
|
||||
## 08 Aug 2024
|
||||
|
||||
- Increased to 1 sec delay for installing base-devel [commit](https://github.com/JaKooLit/Arch-Hyprland/commit/7ebfa06c3b186f9bec0bcf268fae401ba67dfc2a)
|
||||
|
||||
## 07 Jul 2024
|
||||
|
||||
- added eza (ls replacement for tty). Note only on .zshrc
|
||||
|
||||
## 25 Jun 2024
|
||||
|
||||
- added fbdev=1 for nvidia.sh on `/etc/modprobe.d/nvidia.conf`. see here `https://wiki.hyprland.org/Nvidia/#drm-kernel-mode-setting`
|
||||
|
||||
## 26 May 2024
|
||||
|
||||
- Added fzf for zsh (CTRL R to invoke FZF history)
|
||||
|
||||
## 23 May 2024
|
||||
|
||||
- added qalculate-gtk to work with rofi-calc. Default keybinds (SUPER ALT C)
|
||||
- added power-profiles-daemon for ROG laptops. Note, I cant add to all since it conflicts with TLP, CPU-Auto-frequency etc.
|
||||
- added fastfetch
|
||||
|
||||
## 22 May 2024
|
||||
|
||||
- nwg-look is now in extra repo so replaced with nwg-look from nwg-look-bin
|
||||
- change the sddm theme destination to /etc/sddm.conf.d/10-theme.conf to theme.conf.user
|
||||
|
||||
## 19 May 2024
|
||||
|
||||
- Disabled the auto-login in .zprofile as it causes auto-login to Hyprland if any wayland was chosen. Can enabled if only using hyprland
|
||||
|
||||
## 10 May 2024
|
||||
|
||||
- added wallust-git and remove python-pywal for migration to wallust on Hyprland-Dots v2.2.11
|
||||
|
||||
## 08 May 2024
|
||||
|
||||
- Adjusted sddm.sh since it does not respect preset.sh
|
||||
- install.sh have been rearranged so it quits if user choose not to proceed
|
||||
|
||||
## 07 May 2024
|
||||
|
||||
- Minor typo change on nvidia.sh
|
||||
- switch back to cava since installing cava-git keep it hanging (see known-issue on readme)
|
||||
|
||||
## 05 May 2024
|
||||
|
||||
- switched to rofi-wayland Extra Repo
|
||||
|
||||
## 04 May 2024
|
||||
|
||||
- separated fonts installation script for easy debugging
|
||||
|
||||
## 03 May 2024
|
||||
|
||||
- added python3-pyquery for new weather-waybar python based on Hyprland-Dots
|
||||
|
||||
## 02 May 2024
|
||||
|
||||
- Added pyprland (hyprland plugin)
|
||||
|
||||
## 26 Apr 2024
|
||||
|
||||
- Updated sddm.sh for Qt6 variant
|
||||
|
||||
## 23 Apr 2024
|
||||
|
||||
- Dropping swayidle and swaylock in favor of hypridle and hyprlock
|
||||
|
||||
## 20 Apr 2024
|
||||
|
||||
- Change default Oh-my-zsh theme to xiong-chiamiov-plus
|
||||
|
||||
## 16 Mar 2024
|
||||
|
||||
- added hyprcursor
|
||||
|
||||
## 1 Mar 2024
|
||||
|
||||
- replaced sddm-git with sddm
|
||||
|
||||
## 11 Jan 2024
|
||||
|
||||
- dropped wlsunset
|
||||
|
||||
## 05 Jan 2024
|
||||
|
||||
- Added a preset feature
|
||||
- Added templates for contributing, and reporting, etc
|
||||
|
||||
## 01 Jan 2024
|
||||
|
||||
- Re-coded complete and test
|
||||
- Added to spice up pacman.conf including adding of ILoveCandy on it :)
|
||||
|
||||
## 30 Dec 2023
|
||||
|
||||
- Install scripts reconstructed
|
||||
|
||||
## 29 December 2023
|
||||
|
||||
- Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start
|
||||
|
||||
## 16 Dec 2023
|
||||
|
||||
- zsh theme switched to `agnoster` theme by default
|
||||
- pywal tty color change disabled by default
|
||||
|
||||
## 13 Dec 2023
|
||||
|
||||
- switched hyprland to Extra Repo hyprland (both nvidia and non-nvidia). Seeing they are updating all the time :)
|
||||
|
||||
## 11 Dec 2023
|
||||
|
||||
- Changing over to zsh automatically if user opted
|
||||
- If chose to install zsh and have no login manager, zsh auto login will auto start Hyprland
|
||||
- added as optional, with zsh, pokemon colorscripts
|
||||
- improved zsh install scripts, so even the existing zsh users of can still opt for zsh and oh-my-zsh installation :)
|
||||
|
||||
## 03 Dec 2023
|
||||
|
||||
- Added kvantum for qt apps theming
|
||||
- return of wlogout due to theming issues of rofi-power
|
||||
|
||||
## 01 Dec 2023
|
||||
|
||||
- Added pipewire to install
|
||||
|
||||
## 30 Nov 2023
|
||||
|
||||
- switched to swaylock-effects-git as non-git does not seem to work
|
||||
|
||||
## 29 Nov 2023
|
||||
|
||||
- nvidia.sh edited to remove hyprland-nvidia-git as well
|
||||
|
||||
## 26 Nov 2023
|
||||
|
||||
- nvidia - Move to hyprland-git. see [`commit`](https://github.com/hyprwm/Hyprland/commit/cd96ceecc551c25631783499bd92c6662c5d3616)
|
||||
|
||||
## 25 Nov 2023
|
||||
|
||||
- drop wlogout since Hyprland-Dots v2.1.9 uses rofi-power
|
||||
|
||||
## 23-Nov-2023
|
||||
|
||||
- Added Bibata cursor to install if opted for GTK Themes. However, it is not pre-applied. Use nwg-look utility to apply
|
||||
|
||||
## 19-Nov-2023
|
||||
|
||||
- Adjust dotfiles script to download from releases instead of from upstream
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ https://github.com/user-attachments/assets/49bc12b2-abaf-45de-a21c-67aacd9bb872
|
||||
- If you opted to install SDDM theme, here's the [`LINK`](https://github.com/JaKooLit/simple-sddm-2) which is a modified fork of [`LINK`](https://github.com/Keyitdev/sddm-astronaut-theme)
|
||||
- If you opted to install GTK Themes, Icons, here's the [`LINK`](https://github.com/JaKooLit/GTK-themes-icons). This also includes Bibata Modern Ice cursor.
|
||||
|
||||
#### 👀 NVidia GPU Owners.
|
||||
#### 👀 Nvidia GPU Owners.
|
||||
|
||||
- By default, nvidia-dkms will be installed. and only supports GTX 900 and newer. If required to install older driver, edit the nvidia.sh in install-scripts directory
|
||||
|
||||
@@ -254,7 +254,7 @@ env = WLR_RENDERER_ALLOW_SOFTWARE,1
|
||||
|
||||
#### 📒 Final Notes
|
||||
|
||||
- join my discord channel [`Discord`](https://discord.com/invite/kool-tech-world)
|
||||
- join my discord channel [`Discord`](https://discord.gg/RZJgC7KAKm)
|
||||
- Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :)
|
||||
|
||||
#### ✍️ Contributing
|
||||
|
||||
18
install-scripts/ags.launcher.com.github.Aylur.ags
Executable file
18
install-scripts/ags.launcher.com.github.Aylur.ags
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/gjs -m
|
||||
|
||||
import { exit, programArgs, programInvocationName } from "system";
|
||||
import GLib from "gi://GLib";
|
||||
|
||||
// Ensure GI can see typelibs in /usr/local and the system girepository
|
||||
GLib.setenv("GI_TYPELIB_PATH", "/usr/local/lib:/usr/lib/girepository-1.0", true);
|
||||
|
||||
imports.package.init({
|
||||
name: "com.github.Aylur.ags",
|
||||
version: "1.9.0",
|
||||
prefix: "/usr/local",
|
||||
libdir: "/usr/local/lib",
|
||||
});
|
||||
|
||||
const module = await import("resource:///com/github/Aylur/ags/main.js");
|
||||
const exitCode = await module.main([programInvocationName, ...programArgs]);
|
||||
exit(exitCode);
|
||||
@@ -38,22 +38,16 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Fail early and make pipelines fail if any command fails
|
||||
set -eo pipefail
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_ags.log"
|
||||
MLOG="install-$(date +%d-%H%M%S)_ags2.log"
|
||||
|
||||
# Check if AGS is installed
|
||||
if command -v ags &>/dev/null; then
|
||||
AGS_VERSION=$(ags -v | awk '{print $NF}')
|
||||
if [[ "$AGS_VERSION" == "1.9.0" ]]; then
|
||||
printf "${INFO} ${MAGENTA}Aylur's GTK Shell v1.9.0${RESET} is already installed. Skipping installation."
|
||||
printf "\n%.0s" {1..2}
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# NOTE: We intentionally do NOT run `ags -v` here, because a broken AGS
|
||||
# installation (missing GUtils, etc.) would crash gjs and spam errors
|
||||
# during install. We always (re)install v1.9.0 when this script is run.
|
||||
# Installation of main components
|
||||
printf "\n%s - Installing ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET} Dependencies \n" "${NOTE}"
|
||||
|
||||
@@ -76,56 +70,83 @@ fi
|
||||
printf "\n%.0s" {1..1}
|
||||
printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n"
|
||||
printf "\n%.0s" {1..1}
|
||||
# Clone repository with the specified tag and capture git output into MLOG
|
||||
# Clone repository with the specified tag and compile AGS
|
||||
if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git; then
|
||||
cd ags_v1.9.0 || exit 1
|
||||
|
||||
# Patch tsconfig to avoid TS5107 failure (moduleResolution=node10 deprecation)
|
||||
if [ -f tsconfig.json ]; then
|
||||
# 1) Ensure ignoreDeprecations is present
|
||||
if ! grep -q '"ignoreDeprecations"[[:space:]]*:' tsconfig.json; then
|
||||
sed -i 's/"compilerOptions":[[:space:]]*{/"compilerOptions": {\n "ignoreDeprecations": "6.0",/' tsconfig.json
|
||||
fi
|
||||
# 2) Bump moduleResolution from node10 to node16 if present
|
||||
if grep -q '"moduleResolution"[[:space:]]*:[[:space:]]*"node10"' tsconfig.json; then
|
||||
sed -i 's/"moduleResolution"[[:space:]]*:[[:space:]]*"node10"/"moduleResolution": "node16"/' tsconfig.json || true
|
||||
fi
|
||||
# 3) Fallback with Node to rewrite JSON if sed failed to catch patterns
|
||||
if grep -q '"moduleResolution"[[:space:]]*:[[:space:]]*"node10"' tsconfig.json; then
|
||||
if command -v node >/dev/null 2>&1; then
|
||||
node -e '\n const fs = require("fs");\n const p = "tsconfig.json";\n const j = JSON.parse(fs.readFileSync(p, "utf8"));\n j.compilerOptions = j.compilerOptions || {};\n if (j.compilerOptions.moduleResolution === "node10") j.compilerOptions.moduleResolution = "node16";\n if (j.compilerOptions.ignoreDeprecations === undefined) j.compilerOptions.ignoreDeprecations = "6.0";\n fs.writeFileSync(p, JSON.stringify(j, null, 2));\n '
|
||||
fi
|
||||
fi
|
||||
# Log what we ended up with for troubleshooting
|
||||
echo "== tsconfig.json after patch ==" >> "$MLOG"
|
||||
grep -n 'moduleResolution\|ignoreDeprecations' tsconfig.json >> "$MLOG" || true
|
||||
fi
|
||||
|
||||
# Replace pam.ts with a stub that does NOT depend on GUtils at all.
|
||||
# The desktop overview does not use PAM, and GUtils typelib support is
|
||||
# inconsistent across distros, so we disable these helpers instead of
|
||||
# crashing at startup when the typelib is missing.
|
||||
if [ -f src/utils/pam.ts ]; then
|
||||
printf "%s Replacing src/utils/pam.ts with PAM stub (no GUtils dependency)...\\n" "${NOTE}" | tee -a "$MLOG"
|
||||
cat > src/utils/pam.ts <<'PAM_STUB'
|
||||
// Stubbed PAM auth for AGS installed via Arch-Hyprland.
|
||||
// The desktop overview does not use PAM, and GUtils typelib support
|
||||
// is unreliable across distros, so we disable these helpers here.
|
||||
|
||||
export function authenticate(password: string): Promise<number> {
|
||||
return Promise.reject(new Error("PAM authentication disabled on this system (no GUtils)"));
|
||||
}
|
||||
|
||||
export function authenticateUser(username: string, password: string): Promise<number> {
|
||||
return Promise.reject(new Error("PAM authentication disabled on this system (no GUtils)"));
|
||||
}
|
||||
PAM_STUB
|
||||
fi
|
||||
|
||||
npm install
|
||||
meson setup build
|
||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then
|
||||
printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||
|
||||
# Patch installed AGS launcher to ensure GI typelibs in /usr/local/lib are discoverable in GJS ESM
|
||||
printf "${NOTE} Applying AGS launcher patch for GI typelibs search path...\n"
|
||||
LAUNCHER="/usr/local/share/com.github.Aylur.ags/com.github.Aylur.ags"
|
||||
if sudo test -f "$LAUNCHER"; then
|
||||
# 1) Switch from GIRepository ESM import to GLib and drop deprecated prepend_* calls
|
||||
sudo sed -i \
|
||||
-e 's|^import GIR from "gi://GIRepository?version=2.0";$|import GLib from "gi://GLib";|' \
|
||||
-e '/GIR.Repository.prepend_search_path/d' \
|
||||
-e '/GIR.Repository.prepend_library_path/d' \
|
||||
"$LAUNCHER"
|
||||
|
||||
# 2) Inject GI_TYPELIB_PATH export right after the GLib import
|
||||
sudo awk '{print} $0 ~ /^import GLib from "gi:\/\/GLib";$/ {print "const __old = GLib.getenv(\"GI_TYPELIB_PATH\");"; print "GLib.setenv(\"GI_TYPELIB_PATH\", \"/usr/local/lib\" + (__old ? \":\" + __old : \"\"), true);"}' "$LAUNCHER" | sudo tee "$LAUNCHER" >/dev/null
|
||||
|
||||
printf "${OK} AGS launcher patched.\n"
|
||||
|
||||
# Create an env-setting wrapper for AGS to ensure GI typelibs/libs are discoverable
|
||||
printf "${NOTE} Creating env wrapper /usr/local/bin/ags...\n"
|
||||
MAIN_JS="/usr/local/share/com.github.Aylur.ags/com.github.Aylur.ags"
|
||||
if ! sudo test -f "$MAIN_JS"; then
|
||||
MAIN_JS="/usr/share/com.github.Aylur.ags/com.github.Aylur.ags"
|
||||
fi
|
||||
sudo tee /usr/local/bin/ags >/dev/null <<WRAP
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
cd "$HOME" 2>/dev/null || true
|
||||
# Ensure GI typelibs and native libs are discoverable before gjs ESM loads
|
||||
export GI_TYPELIB_PATH="/usr/local/lib64:/usr/local/lib:/usr/local/lib64/girepository-1.0:/usr/local/lib/girepository-1.0:/usr/lib64/girepository-1.0:/usr/lib/girepository-1.0:/usr/lib64/ags:/usr/lib/ags:${GI_TYPELIB_PATH-}"
|
||||
export LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:${LD_LIBRARY_PATH-}"
|
||||
exec /usr/bin/gjs -m "$MAIN_JS" -- "$@"
|
||||
WRAP
|
||||
sudo chmod 0755 /usr/local/bin/ags
|
||||
# Ensure ESM entry is readable by gjs
|
||||
sudo chmod 0644 /usr/local/share/com.github.Aylur.ags/com.github.Aylur.ags 2>/dev/null || true
|
||||
sudo chmod 0644 /usr/share/com.github.Aylur.ags/com.github.Aylur.ags 2>/dev/null || true
|
||||
printf "${OK} AGS wrapper installed at /usr/local/bin/ags\n"
|
||||
else
|
||||
printf "${WARN} Launcher not found at $LAUNCHER, skipping patch.\n"
|
||||
fi
|
||||
else
|
||||
echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG"
|
||||
# Abort here on build/install failure so we do NOT install a broken launcher
|
||||
# or report success when AGS binaries are missing.
|
||||
mv "$MLOG" ../Install-Logs/ || true
|
||||
cd ..
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LAUNCHER_DIR="/usr/local/share/com.github.Aylur.ags"
|
||||
LAUNCHER_PATH="$LAUNCHER_DIR/com.github.Aylur.ags"
|
||||
sudo mkdir -p "$LAUNCHER_DIR"
|
||||
|
||||
# Install the known-good launcher we captured from a working system.
|
||||
# This JS entry script uses GLib to set GI_TYPELIB_PATH and does not
|
||||
# depend on GIRepository, which avoids missing-typelib crashes.
|
||||
LAUNCHER_SRC="$SCRIPT_DIR/ags.launcher.com.github.Aylur.ags"
|
||||
if [ -f "$LAUNCHER_SRC" ]; then
|
||||
sudo install -m 755 "$LAUNCHER_SRC" "$LAUNCHER_PATH"
|
||||
else
|
||||
printf "${WARN} Saved launcher not found at %s; leaving Meson-installed launcher untouched.\\n" "$LAUNCHER_SRC" | tee -a "$MLOG"
|
||||
fi
|
||||
|
||||
# Ensure /usr/local/bin/ags points to the JS entry script.
|
||||
sudo mkdir -p /usr/local/bin
|
||||
sudo ln -srf "$LAUNCHER_PATH" /usr/local/bin/ags
|
||||
printf "${OK} AGS launcher installed.\\n"
|
||||
# Move logs to Install-Logs directory
|
||||
mv "$MLOG" ../Install-Logs/ || true
|
||||
cd ..
|
||||
|
||||
@@ -7,6 +7,7 @@ sddm=(
|
||||
qt6-svg
|
||||
qt6-virtualkeyboard
|
||||
qt6-multimedia-ffmpeg
|
||||
qt5-quickcontrols2
|
||||
sddm
|
||||
)
|
||||
|
||||
@@ -20,11 +21,14 @@ login=(
|
||||
)
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Change the working directory to the parent directory of the script
|
||||
PARENT_DIR="$SCRIPT_DIR/.."
|
||||
cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
cd "$PARENT_DIR" || {
|
||||
echo "${ERROR} Failed to change directory to $PARENT_DIR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
@@ -32,33 +36,30 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.log"
|
||||
|
||||
|
||||
# Install SDDM and SDDM theme
|
||||
printf "${NOTE} Installing sddm and dependencies........\n"
|
||||
for package in "${sddm[@]}"; do
|
||||
for package in "${sddm[@]}"; do
|
||||
install_package "$package" "$LOG"
|
||||
done
|
||||
done
|
||||
|
||||
printf "\n%.0s" {1..1}
|
||||
|
||||
# Check if other login managers installed and disabling its service before enabling sddm
|
||||
for login_manager in "${login[@]}"; do
|
||||
if pacman -Qs "$login_manager" > /dev/null 2>&1; then
|
||||
sudo systemctl disable "$login_manager.service" >> "$LOG" 2>&1
|
||||
echo "$login_manager disabled." >> "$LOG" 2>&1
|
||||
if pacman -Qs "$login_manager" >/dev/null 2>&1; then
|
||||
sudo systemctl disable "$login_manager.service" >>"$LOG" 2>&1
|
||||
echo "$login_manager disabled." >>"$LOG" 2>&1
|
||||
fi
|
||||
done
|
||||
|
||||
# Double check with systemctl
|
||||
for manager in "${login[@]}"; do
|
||||
if systemctl is-active --quiet "$manager" > /dev/null 2>&1; then
|
||||
echo "$manager is active, disabling it..." >> "$LOG" 2>&1
|
||||
sudo systemctl disable "$manager" --now >> "$LOG" 2>&1
|
||||
if systemctl is-active --quiet "$manager" >/dev/null 2>&1; then
|
||||
echo "$manager is active, disabling it..." >>"$LOG" 2>&1
|
||||
sudo systemctl disable "$manager" --now >>"$LOG" 2>&1
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -67,6 +68,10 @@ printf "${INFO} Activating sddm service........\n"
|
||||
sudo systemctl enable sddm
|
||||
|
||||
wayland_sessions_dir=/usr/share/wayland-sessions
|
||||
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
|
||||
[ ! -d "$wayland_sessions_dir" ] && {
|
||||
printf "$CAT - $wayland_sessions_dir not found, creating...\n"
|
||||
sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"
|
||||
}
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user