fix(modules): resolve rust/rustup conflict and greetd config-dir abort
Two more module aborts surfaced by the live VM test (both pre-existing, only
unmasked once the wprs bug was fixed and the transaction got further):
1. core-packages.sh listed BOTH `rust` and `rustup`. They conflict (both provide
cargo/rustc); pacman --noconfirm cannot auto-resolve it and aborts the whole
core-packages transaction ("unresolvable package conflicts"), so wget and the
other core tools never installed. Drop `rust` — the setup uses rustup
exclusively (`rustup default stable`).
2. core.sh copied the greetd config into /etc/greetd before that directory
existed (greetd is pulled in later by the DE module), so the cp failed and
`set -e` aborted Core Services before fail2ban/udisks2 were enabled. mkdir -p
/etc/greetd first.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5kHioUMK3mtf2eiLEozCM
main
parent
a9796bb036
commit
8bf778e487
|
|
@ -127,8 +127,11 @@ CORE_PACKAGES=(
|
||||||
ripgrep # Fast recursive grep replacement (rg command)
|
ripgrep # Fast recursive grep replacement (rg command)
|
||||||
rsync # Efficient file sync over SSH or locally
|
rsync # Efficient file sync over SSH or locally
|
||||||
ruby-pkg-config # Ruby gem build helper — needed by some AUR packages
|
ruby-pkg-config # Ruby gem build helper — needed by some AUR packages
|
||||||
rust # Rust compiler (also installed via rustup for toolchain mgmt)
|
# NOTE: do NOT add the `rust` package here — it conflicts with `rustup` (both
|
||||||
rustup # Rust toolchain manager — switches stable/nightly/beta
|
# provide cargo/rustc), and pacman --noconfirm cannot resolve the conflict, so
|
||||||
|
# it aborts the ENTIRE core-packages transaction. We use rustup exclusively
|
||||||
|
# (`rustup default stable` in package-managers/shell-setup/DE modules).
|
||||||
|
rustup # Rust toolchain manager — provides rustc/cargo via toolchains
|
||||||
|
|
||||||
# ── System monitoring & debugging ────────────────────────────────────────
|
# ── System monitoring & debugging ────────────────────────────────────────
|
||||||
smartmontools # S.M.A.R.T. disk health monitoring (smartctl)
|
smartmontools # S.M.A.R.T. disk health monitoring (smartctl)
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,12 @@ enable_service cronie.service
|
||||||
# and optionally auto-login settings.
|
# and optionally auto-login settings.
|
||||||
# -f flag forces overwrite of any existing config.
|
# -f flag forces overwrite of any existing config.
|
||||||
log "Deploying greetd config..."
|
log "Deploying greetd config..."
|
||||||
|
# greetd may not be installed yet at this point (the DE module pulls in
|
||||||
|
# greetd-tuigreet later), so /etc/greetd does not exist and the cp would fail —
|
||||||
|
# aborting the module under `set -e` before fail2ban/udisks2 get enabled. Create
|
||||||
|
# the directory first so the config is staged regardless; greetd reads it once
|
||||||
|
# installed. enable_service is already non-fatal if the unit is absent.
|
||||||
|
sudo mkdir -p /etc/greetd
|
||||||
sudo cp -f ~/Dotfiles/desktopenvs/hyprland/greetd-tuigreet/config.toml /etc/greetd/config.toml
|
sudo cp -f ~/Dotfiles/desktopenvs/hyprland/greetd-tuigreet/config.toml /etc/greetd/config.toml
|
||||||
enable_service greetd.service
|
enable_service greetd.service
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue