update readme

This commit is contained in:
steven-omaha
2023-02-14 16:45:11 +01:00
parent 1dc5e0e3dd
commit 1e8041f7b0
+18 -15
View File
@@ -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.
<!--- TODO make this consistent --->
* `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
<!--- TODO explain sections --->
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