update readme
This commit is contained in:
@@ -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.
|
`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.
|
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 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` 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`.
|
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
|
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.
|
||||||
my other machine not installed here?*", then `pacdef` is the tool for you.
|
|
||||||
|
|
||||||
## Supported Backends
|
## Supported backends
|
||||||
At the moment, supported backends are limited to
|
At the moment, supported backends are limited to the following.
|
||||||
* pacman (Arch Linux) and pacman-wrapping AUR helpers,
|
|
||||||
* cargo (Rust package manager).
|
<!--- TODO make this consistent --->
|
||||||
|
* `pacman` (Arch Linux) and pacman-wrapping AUR helpers
|
||||||
|
* `cargo` (Rust package manager)
|
||||||
|
|
||||||
Pull requests for additional backends are welcome!
|
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`
|
* import one or more groups: `pacdef import base desktop audio`
|
||||||
* install packages from the imported groups: `pacdef sync`
|
* install packages from the imported groups: `pacdef sync`
|
||||||
* show packages that are not part of any group: `pacdef unmanaged`
|
* 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`
|
* remove packages that are not in any group: `pacdef clean`
|
||||||
* show imported groups: `pacdef groups`
|
* 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`
|
* remove a previously imported group: `pacdef remove audio`
|
||||||
* review all unmanaged packages interactively: `pacdef review`
|
* review all unmanaged packages interactively: `pacdef review`
|
||||||
* search for the group that contains a package: `pacdef search firefox`
|
* search for the group that contains a package: `pacdef search firefox`
|
||||||
@@ -71,14 +71,18 @@ Usage on different machines:
|
|||||||
|
|
||||||
### Configuration
|
### 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
|
```yaml
|
||||||
aur_helper: paru # AUR helper to use (paru, yay, ...)
|
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
|
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
|
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.
|
1. One package per line.
|
||||||
2. Anything after a `#` is ignored.
|
2. Anything after a `#` is ignored.
|
||||||
3. Empty lines are ignored.
|
3. Empty lines are ignored.
|
||||||
@@ -92,7 +96,6 @@ alacritty
|
|||||||
firefox # this comment is ignored
|
firefox # this comment is ignored
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
mycustomrepo/zsh-theme-powerlevel10k
|
mycustomrepo/zsh-theme-powerlevel10k
|
||||||
...
|
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
cargo-update
|
cargo-update
|
||||||
|
|||||||
Reference in New Issue
Block a user