From 1e8041f7b0cd9f499483e71ba6715112f4a6c032 Mon Sep 17 00:00:00 2001 From: steven-omaha <35634100+steven-omaha@users.noreply.github.com> Date: Tue, 14 Feb 2023 16:45:11 +0100 Subject: [PATCH] update readme --- README.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index eafb65d..5e98c32 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,18 @@ multi-backend declarative package manager for Linux `pacdef` allows the user to have consistent packages among multiple Linux machines by managing packages in group files. The group files are maintained outside of `pacdef` by any VCS. -`pacdef import`ing a package group file creates a symlink to that file in `pacdef`'s config dir, thereby letting -`pacdef` know you want to have the packages in this file on your machine. +`pacdef import`ing a package group file creates a symlink to that file in `pacdef`'s config dir, thereby letting `pacdef` know you want to have the packages in this file on your machine. Then installing all packages from all groups is as simple as `pacdef sync`. -All package operations are executed by your favourite AUR helper. +All package operations are executed by the respective package managers. -If you work with multiple Arch installations and have asked yourself "*Why do I have the program that I use every day on -my other machine not installed here?*", then `pacdef` is the tool for you. +If you work with multiple Linux machines and have asked yourself "*Why do I have the program that I use every day on my other machine not installed here?*", then `pacdef` is the tool for you. -## Supported Backends -At the moment, supported backends are limited to -* pacman (Arch Linux) and pacman-wrapping AUR helpers, -* cargo (Rust package manager). +## Supported backends +At the moment, supported backends are limited to the following. + + +* `pacman` (Arch Linux) and pacman-wrapping AUR helpers +* `cargo` (Rust package manager) Pull requests for additional backends are welcome! @@ -60,9 +60,9 @@ Usage on different machines: * import one or more groups: `pacdef import base desktop audio` * install packages from the imported groups: `pacdef sync` * show packages that are not part of any group: `pacdef unmanaged` -* create a new group: `pacdef new temp` (use `new -e` to edit the file right away) * remove packages that are not in any group: `pacdef clean` * show imported groups: `pacdef groups` +* create a new group: `pacdef new temp` (use `new -e` to edit the file right away) * remove a previously imported group: `pacdef remove audio` * review all unmanaged packages interactively: `pacdef review` * search for the group that contains a package: `pacdef search firefox` @@ -71,14 +71,18 @@ Usage on different machines: ### Configuration -On first execution, it will create a basic config file under `$XDG_CONFIG_HOME/pacdef/pacdef.yaml`. The program only needs to know your AUR helper of choice. Configure it as follows. +On first execution, it will create a basic config file under `$XDG_CONFIG_HOME/pacdef/pacdef.yaml`. + ```yaml -aur_helper: paru # AUR helper to use (paru, yay, ...) -aur_rm_args: null # additional args to pass to AUR helper when removing packages +aur_helper: paru # AUR helper to use on Arch Linux (paru, yay, ...) +aur_rm_args: null # additional args to pass to AUR helper when removing packages (optional) warn_not_symlinks: true # warn if a group file is not a symlink ``` -### package group files +### Package group files + +Group files loosely follow the syntax for `ini`-files. + 1. One package per line. 2. Anything after a `#` is ignored. 3. Empty lines are ignored. @@ -92,7 +96,6 @@ alacritty firefox # this comment is ignored libreoffice-fresh mycustomrepo/zsh-theme-powerlevel10k -... [rust] cargo-update