Pacup is a free and open-source program written in Rust that facilitates the synchronization of Pacman packages across multiple devices. With pacup, you can effortlessly manage and replicate your preferred software packages on different systems by utilizing a simple plain text file.
- Fast and Lightweight Built with Rust, pacup is designed to be as efficient as possible.
- Extensible Pacup follows the Unix philosophy and allows for extended functionality by using simple text files and programmable standard I/O
- Easy to Use Pacup offers a very simple command-line-interface (only 1 command!)
PacUp utilizes a plain text file to manage the package list. The file follows a straightforward format where each line represents a package to be synchronized. To get started, follow the steps below:
Start by creating a plain text file named packagelist that will serve as your package list. You can choose one of the following locations to store the packagelist file:
- $XDG_CONFIG_HOME/pacup/packagelist
- $HOME/.packagelist
- /etc/pacup/packagelist
For example, you can create the packagelist file in the chosen location and add the following lines:
# Basic utils
+ neovim
+ zsh
* ungoogled-chromium-xdg-bin # An AUR package
In this example, we have specified three packages: neovim and zsh as normal packages (prefixed with +
), and
ungoogled-chromium-xdg-bin as an AUR package (prefixed with *
). You can add more packages following the same format,
with each package on a new line.
To synchronize the packagelist with your system packages, simply run the pacup command in your terminal or command prompt:
$ pacup
Installing 1 missing package(s)
/usr/bin/sudo /usr/bin/pacman -Sy neovim zsh
[sudo] enter password for anon:
To install PacUp, you have two options: installing the PacUp package from the AUR or building from source.
Install the AUR package with your preferred AUR helper, in this case trizen:
trizen -S pacup
If you prefer to build pacup from source, follow these steps:
-
Ensure that you have Rust and Cargo installed on your system. If you haven't installed Rust and Cargo yet, you can follow the official installation guide at https://www.rust-lang.org/tools/install.
-
Clone the pacup repository by executing the following command:
git clone [email protected]:NathanKolpa/pacup.git
- Navigate to the pacup directory:
cd pacup
- Build the project using Cargo:
cargo build --release
- After the build process is complete, you will find the pacup binary in the target/release directory. You can (for example) place the binary in
/usr/bin
like so:
sudo install target/release/pacup /usr/bin