Skip to main content

Module repos

Module repos 

Source
Expand description

Third-party repository definitions (repos.conf) and results-filter wiring.

Phase 1 parses TOML (user-defined [[repo]] rows only) and exposes maps for crate::logic::distro::repo_toggle_for. Shipped repo recipes (disabled by default) live in config/repos.conf in the Pacsea tree. Phase 3 adds privileged apply via [apply_plan] and the Repositories modal (see events/modals/repositories.rs).

Structs§

ForeignRepoOverlapAnalysis
What: Outcome of comparing foreign installs to a sync repository’s package names.
ForeignRepoOverlapEntry
What: One foreign package whose name exists in a sync database.
PacmanConfScan
What: Result of scanning /etc/pacman.conf and included files.
RepoApplyBundle
What: Human-readable summary lines plus shell commands for [ExecutorRequest::Update].
RepoRow
What: One [[repo]] row supplied by the user.
ReposConfFile
What: Root document for repos.conf (array of [[repo]] tables).

Enums§

PacmanRepoPresence
What: Presence of a pacman repository section after scanning config trees.

Constants§

DEFAULT_DROPIN_PATH
What: Default absolute path for the managed drop-in.
DEFAULT_MAIN_PACMAN_PATH
What: Default path to the main pacman configuration.
MANAGED_DROPIN_FILE
What: File name for the managed drop-in under /etc/pacman.d/.
PACMAN_MANAGED_BEGIN
What: Start-of-block marker Pacsea appends to /etc/pacman.conf.
PACMAN_MANAGED_END
What: End-of-block marker Pacsea appends to /etc/pacman.conf.

Functions§

analyze_foreign_repo_overlap
What: Compare foreign installs to pacman -Sl <repo> with counts for UI diagnostics.
analyze_foreign_repo_overlap_with_qm_snapshot
What: Compare foreign installs to pacman -Sl <repo>, using an optional pre-apply pacman -Qm snapshot.
build_dynamic_visibility
What: Merge per-filter toggles from settings.conf with defaults for all ids from repos.
build_foreign_to_sync_migrate_bundle
What: Build privileged migrate commands: remove foreign packages then install from sync.
build_repo_apply_bundle
What: Build privileged commands to apply enabled [[repo]] rows from repos.conf.
build_repo_key_refresh_bundle
What: Plan privileged pacman-key receive + local sign for the selected repo row only.
build_repo_name_to_filter_map
What: Build lowercase pacman repo name → canonical results-filter key.
build_repositories_modal_fields
What: Merge repos.conf, pacman scan, and optional keyring snapshot into modal rows.
build_repositories_modal_fields_default
What: Convenience wrapper using resolved Pacsea paths and system pacman.conf.
canonical_results_filter_key
What: Normalize a results_filter label for map keys and settings.conf suffixes.
compute_foreign_repo_overlap
What: Foreign packages installed whose pkgname exists in repo’s sync DB.
disable_repo_section_in_repos_conf_if_enabled
What: Persist enabled = false for a [[repo]] row only while it is currently enabled.
list_foreign_packages
What: Run pacman -Qm and parse foreign package names and versions.
load_repo_name_map_from_path
What: Load and resolve repos.conf from disk for app initialization.
load_repos_config_into_app
What: Populate repo_results_filter_by_name from the resolved config path, if any.
load_resolve_repos_from_str
What: Parse TOML, validate rows, and build the repo-name map.
persist_dynamic_filter_toggle_and_refresh
What: Update one dynamic results filter, persist settings.conf, and re-run filtering.
persist_dynamic_filters_set_all
What: Turn every dynamic repo filter on or off together, persist, and re-filter.
read_main_pacman_conf_text
What: Read main pacman.conf for planning (production convenience).
refresh_dynamic_filters_in_app
What: Recompute results_filter_dynamic from settings toggles and repo map.
repo_row_declares_apply_sources
What: Whether a [[repo]] row declares sources that participate in Apply (drop-in generation).
repos_conf_repo_names_for_index_sl
What: Resolve repos.conf and list repo names that need an extra pacman -Sl for the package index.
repos_conf_section_is_disabled_with_apply_sources
What: Whether repos.conf has a matching [[repo]] that is disabled but still defines apply sources.
repositories_linux_actions_supported
What: Whether Arch-style repository tooling (pacman paths, privileged apply) is available.
row_is_enabled_for_repos_conf
What: Whether a [[repo]] row is treated as enabled for index and apply planning.
save_repos_conf_file
What: Serialize a resolved repos.conf document to disk (overwrites the file).
scan_pacman_conf_path
What: Scan the system pacman configuration for repository section headers.
sync_repo_pkgnames
What: Collect pkgname values from pacman -Sl <repo>.
toggle_repo_enabled_for_section_in_file
What: Toggle enabled for the [[repo]] whose name matches section_name and save the file.