304 Commits

Author SHA1 Message Date
Daniel unbrot Pätzold c3c0a6ac85 cinnamon_fullsetup: exclude akonadi and all dependent KDE PIM packages
Anaconda's depsolve pulls in akonadi-server via kmymoney-libs (kmymoney
is an optional package in @office). Exclude the entire akonadi chain
so neither akonadi-server nor any package requiring it gets installed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 14:14:09 +02:00
Daniel unbrot Pätzold 6876c06ead nextcloud/user_run: centralise Flatpak app ID and data dir path
Introduce NC_FLATPAK_APP and NC_FLATPAK_DIR variables so the app ID
and ~/.var/app path are defined once and referenced everywhere, rather
than repeated as literals. Also fixes a stray leading '/' in the
nextcloud.cfg grep path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 08:50:21 +02:00
Daniel unbrot Pätzold b5462e4781 NC: remove autostart from installed Version 2026-05-05 08:35:00 +02:00
obel1x cc10fb5b48 Merge pull request 'sync_client_software: depth=1 fetch, clean from repo root; gitignore cleanup' (#25) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#25
2026-05-04 19:49:39 +02:00
Daniel unbrot Pätzold 83c25cd45d include *.bak in config dirs to gitignore 2026-05-04 19:40:42 +02:00
Daniel unbrot Pätzold d62d0038e6 gitignore: removed double line 2026-05-04 19:35:38 +02:00
Daniel unbrot Pätzold a3c95ab146 sync_client_software: run git clean from repo root
git clean -fd scopes to the current directory and below, so running it
from the system_setup/ subdirectory missed untracked files in sibling
dirs like config/. Use -C "${SYSCONFIGPATH}" to always clean from the
repo root regardless of invocation directory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 19:29:08 +02:00
Daniel unbrot Pätzold 1ac952c094 sync_client_software: fetch depth=1 and clean untracked files on upgrade
Replace the broken `git rebase HEAD^` with a proper shallow fetch:
- `git fetch --depth=1` limits local history to one commit, regardless of server history
- `git reset --hard FETCH_HEAD` syncs the working tree to the fetched tip
- `git clean -fd` removes untracked non-ignored files left by old versions
- `git gc --prune=now` immediately purges unreachable history objects

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 19:29:08 +02:00
obel1x 53b87fbe76 Merge pull request 'Fedora 44, install/configure improvements, Nextcloud desktop client fixes' (#24) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#24
2026-05-04 17:00:03 +02:00
Daniel unbrot Pätzold 3b392c7862 nextcloud/user_run: block new setups when any folder is already configured
Set _nc_first=0 in the already-found branch so that a configured folder
prevents subsequent entries from wiping the Nextcloud config.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 15:21:48 +02:00
Daniel unbrot Pätzold f04bbdf9f1 nextcloud/user_run: reactivate _nc_first single-folder guard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:12:41 +02:00
Daniel unbrot Pätzold fb726795db nextcloud/user_run: prompt to clean up leftover .bak folders before sync
Before the sync loop, find all *.bak directories in the parent dirs of
configured sync paths, list them with their size, and ask the user to
delete them with a y/N prompt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:11:39 +02:00
Daniel unbrot Pätzold 2bdee44e65 nextcloud/user_run: use timestamp suffix for renamed backup folders
Replace static _bak suffix with _YYYYMMDDhhmmss.bak so repeated runs
never fail trying to overwrite an existing backup directory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:07:11 +02:00
Daniel unbrot Pätzold e8c869f109 nextcloud/user_run: wipe config only once for first new sync folder
Config wipe now guarded by _nc_wipe_done flag so subsequent new entries
do not destroy the previous setup. _nc_first logic kept as comments for
later activation when multi-folder support is confirmed working.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 13:48:08 +02:00
Daniel unbrot Pätzold 2a1530f4f9 nextcloud/user_run: convert to POSIX sh, clean up loop and alignment
- Shebang changed to sh; replace all [[ ]] with [ ], == with = in [ ]
- Loop over CLIENT_DATA_SYNC[@] directly instead of counting to 100;
  replace index-based first-entry check with a _nc_first flag
- Fix missing fi before done, remove stray fi after KWallet block
- Dedent KWallet block to top level (was left indented from inside the loop)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 13:23:08 +02:00
Daniel unbrot Pätzold 4143925ff7 configure: some usable output 2026-05-04 12:40:00 +02:00
Daniel unbrot Pätzold 5eacd55153 nextcloud/install: session-bus override, KWallet existence check, pass REPO vars
- sync_client_software.sh: add system-wide flatpak session-bus override for
  Nextcloud so KWallet D-Bus access works for all users; fix broken compound
  test ([ a || b ] → [ a ] || [ b ])
- user_run.sh: check KWallet entries with hasEntry before writing — skip write
  and print info message when both passwords are already present; remove stale
  commented-out code
- install.sh: forward REPO_URL and REPO_BRANCH into configure.sh environment
  for both the su- and direct-bash invocation paths
- configure.sh: simplify do_configure (user cleanup)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 12:24:24 +02:00
Daniel unbrot Pätzold 9a2d8ca6be Base Profile: Fedora 43 2026-05-03 21:50:22 +02:00
Daniel unbrot Pätzold f8143ee06e ks: add Fedora 44 source include, update both profiles to use it
Add source_fedora_44.inc with verified mirror URLs for Fedora 44 base,
updates, cisco-openh264, and RPM Fusion free/nonfree. Both kde_fullsetup.cfg
and cinnamon_fullsetup.cfg now %include this file instead of inlining the
repo lines. Fix stale comment in source_fedora_44.inc (said Fedora 43).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 21:49:09 +02:00
Daniel unbrot Pätzold 48803d89a4 Configure: Take given REPO_URL and BRANCH to new installation 2026-05-03 21:48:52 +02:00
Daniel unbrot Pätzold b214880351 nextcloud: fix GTK module warning, Qt session error, skip KWallet on non-KDE
cinnamon_fullsetup.cfg: add xapps package so the xapp-gtk3-module GTK
module referenced in Cinnamon's GTK settings is present for Flatpak apps.

user_run.sh: pass --setenv=SESSION_MANAGER= to systemd-run so Qt does not
try to connect to an X11 session manager socket that may not exist (fixes
"Could not open network socket" on Wayland and non-KDE desktops).
Guard the KWallet D-Bus block behind a session-bus presence check
(qdbus | grep org.kde.kwalletd) so it is skipped entirely on Cinnamon and
other non-KDE desktops instead of producing D-Bus errors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 20:56:34 +02:00
Daniel unbrot Pätzold 73de38efe6 small changes in output 2026-05-03 20:39:56 +02:00
Daniel unbrot Pätzold 7d109111c1 Logon: Don't need KDE 2026-05-03 20:18:54 +02:00
Daniel unbrot Pätzold 8e0faed130 Install: Fix permissions 2026-05-03 19:11:19 +02:00
Daniel unbrot Pätzold 0f7dc9c043 configure: use setup_system.inc.sh to get machineid for configuration 2026-05-03 19:01:02 +02:00
Daniel unbrot Pätzold 527a124bb1 Install: Add missingconfok for broken existing installs without config 2026-05-03 18:47:53 +02:00
Daniel unbrot Pätzold 8652131882 inc.sh: use BASH_SOURCE for path resolution; add --missingconfok; fix install.sh sourcing and git pull logic
setup_system.inc.sh: replace $(dirname "$0") with $(dirname "${BASH_SOURCE[0]:-$0}") so
paths resolve correctly whether the file is sourced or executed directly. Add --missingconfok
flag to warn-and-continue instead of prompting+aborting when config is missing. Fix machine_uuid
path (missing ../). Move `source config` into the else branch so it is not reached when
missingconfok skips the exit.

install.sh: source inc.sh instead of executing it as a subprocess so exported variables
(REPO_URL etc.) propagate back to the caller. Fix git-origin conflict handling: when reusing
an existing OEMDRV partition the user has already confirmed they want to keep it, so remove
the "fresh clone / wipe" option entirely. Now always pulls (fetch+checkout) when a git repo
is present; clears and fresh-clones only when no git repo exists on the partition.

basic_pre_script.inc: dot-source inc.sh so INSTALLDOCS and other config vars are available.

config.dist, sync_client_software.sh: rename UPGRADEURL/UPGRADEBRANCH to REPO_URL/REPO_BRANCH
to match the variable names already used in install.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 18:42:12 +02:00
Daniel unbrot Pätzold cfae3ac1f6 install: Fixed directory for reading config after git 2026-05-03 15:36:54 +02:00
Daniel unbrot Pätzold 08df1c2897 Added Readme for config dir 2026-05-03 15:34:19 +02:00
Daniel unbrot Pätzold 2e329a3807 Install: Don't source setup_system.inc.sh, because it would not find the rigth settings 2026-05-03 15:32:07 +02:00
Daniel unbrot Pätzold 1d5c72129f isnatll: fixed config check before sourcing 2026-05-03 15:21:53 +02:00
Daniel unbrot Pätzold db61cf36cd ks: detect target disk dynamically, drop hardcoded ignoredisk
basic_pre_script.inc already identifies the disk holding OEMDRV
($SYSDRIVE). Write its short name to /tmp/disk-include.cfg after the
GPT check so both cinnamon and KDE profiles can %include it instead of
the hardcoded 'ignoredisk --only-use=sda,nvme0n1' that fails on
systems without an NVMe drive (or without sda).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 14:00:38 +02:00
Daniel unbrot Pätzold 3e78a77623 configure.sh: seed wizard from setup_system.conf when it exists
Use config/setup_system.conf as the template for configure.conf when
present, so existing values appear as defaults. Falls back to the dist
file on a fresh install.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 13:51:39 +02:00
Daniel unbrot Pätzold 94e857f340 configure.sh: allow root and non-root execution
- install.sh: pre-create ks.cfg with o+w after permission setup so
  non-root users can overwrite it (OEMDRV root itself stays o=rX)
- install.sh: restore su drop to $SUDO_USER when it is set and not
  root; fall back to direct root execution otherwise
- configure.sh: remove the hard root check so both cases work
- configure.md: update docs to reflect root/non-root support

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 13:43:09 +02:00
Daniel unbrot Pätzold 9264ca8e92 Relocate dist files, fix path references, and misc script improvements
- Move setup_system.conf.dist to system_setup/config.dist/ and
  skel.tar.zst.dist + pack_skel.sh to system_setup/skel/; config/ now
  holds only gitignored local files
- Fix configure.sh CONF_DIST path (was pointing at non-existent
  config/setup_system.conf.dist)
- Fix skel/pack_skel.sh: remove vestigial source line whose path was
  wrong in both old and new location
- Update error messages in setup_system.inc.sh and
  sync_client_software.sh to reference new dist file location
- Move machine_uuid reading/writing into setup_system.inc.sh so all
  scripts have MACHINEID available; setup_system.conf.dist now uses
  MACHINEID conditionally with a hostname fallback
- sync_client_software.sh: fix && / typo (should be && \) that broke
  the flatpak remote-add → install chain; add network error handling
  after flatpak install; cleanup upgrade logic and chown placement
- Update CLAUDE.md and install.md to reflect new dist file locations

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 13:28:44 +02:00
Daniel unbrot Pätzold 97c034e31b install.sh: add existing OEMDRV reuse, git origin conflict handling, refined permissions
- Detect existing OEMDRV partition at startup; offer to reuse it
  instead of creating a new one (mounts if needed, sources existing
  setup_system.inc.sh before cloning)
- When existing repo origin/branch differs from REPO_URL/REPO_BRANCH,
  offer to pull from existing origin, migrate to new origin (preserving
  gitignored local files), or fall through to fresh clone
- Extract finish_install() and do_clone_and_done() helpers to share
  clone, permissions, and configure.sh prompt across all paths
- Replace generic chmod with chown root:root + chmod ug=rwX,o=rX
  recursively, plus o+w on config/ and config.d/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 13:08:07 +02:00
obel1x a269a7e5ef Merge pull request 'TB Mailaccount: use USER instead of WEBDAV user for imap user' (#23) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#23
2026-05-02 21:31:04 +02:00
Daniel unbrot Pätzold 230b224ffc TB Mailaccount syntax error 2026-05-02 18:40:35 +02:00
Daniel unbrot Pätzold fa571be379 Merge branch 'main' of ssh://gitea.dtext.online:2222/unbrot/fedora-OEMDRV 2026-05-02 18:37:22 +02:00
Daniel unbrot Pätzold 99c2e464a5 TB Mailaccount: user user instead of WEBDAV user for imap user 2026-05-02 17:05:08 +02:00
obel1x 80e844f56c Merge pull request 'TB Mailaccount: user right userid when NC User differs from IPA User' (#22) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#22
2026-05-02 14:26:42 +02:00
unbrot ace97187d1 merge upstream 2026-05-02 14:25:20 +02:00
Daniel unbrot Pätzold b91008368d TB Mailaccount: user right userid when NC User differs from IPA User 2026-05-02 14:23:02 +02:00
obel1x 5827c5b0b6 Merge pull request 'TB Mailaccount autoprovisioning, Talk with dbus access' (#21) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#21
2026-05-02 14:02:44 +02:00
unbrot b233601e16 undo pycache in gitignore 2026-05-02 13:57:59 +02:00
Daniel unbrot Pätzold b37bd8fadd Add pycache to gitignore 2026-05-02 13:50:47 +02:00
Daniel unbrot Pätzold c4448caa5f mozilla pre: renamed test_api to test_ipaapi 2026-05-02 13:43:32 +02:00
Daniel unbrot Pätzold 51ee27f514 0020_nextcloud_mozilla_pre: auto-provision Thunderbird IMAP account at logon
Fetches user_full_name (givenname + sn) and user_email from FreeIPA via
ipalib and writes them into the Thunderbird IMAP account prefs. Adds
ipalib availability check to logon_script.sh. Drops TB_MAIL_FULLNAME
config variable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 12:21:13 +02:00
Daniel unbrot Pätzold d95136459c 0020_nextcloud_mozilla_pre: auto-provision Thunderbird IMAP account at logon
Adds SERVERFQDN_IMAP and TB_MAIL_FULLNAME to setup_system.conf.dist.
On each logon the script checks if an IMAP account for DAVTOKEN_USER@TLDOMAIN
already exists in prefs.js; if not it writes the server, identity, and account
entries and registers it with accountmanager. Idempotent — skipped when the
account is already present.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 10:59:53 +02:00
Daniel unbrot Pätzold 87ac49ce41 0110_nextcloud_talk_app: restore D-Bus and KWallet access via flatpak override
Ensures session bus socket and kwalletd5/6 talk permissions are set at
logon, so Flatseal or a missing manifest entry cannot silently break
Talk's credential storage and Plasma integration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 10:59:53 +02:00