Arch Linux declarative package management
Project description
Simple declarative package management
For Debianish Linux
Declarative package management means you make a file containing everything you want installed, and the package manager adds/removes to make the system match that. It's good if you happen to install lots of random programs and forget to remove them until you forgot whether they were important to have installed or not in the first place!
Requires: aptitude, sudo, python 3.6+
pip install decapt
decapt generate
- Modify
decapt.luxem
- Update your system with
decapt
Features
- Manage snap packages
- Manage manual debian packages
Add an entry like
{ name: mypackage, path: ~/debs/mypackage }
where there's abuild.sh
script inpath
which creates amypackage.deb
inpath
. - Luxem
Notes
Debian seems to "manually" install a lot of unnecessary packages? To convert all manually installed packages to auto packages, run:
$ sudo apt-mark showmanual | while read line; do if [[ $(apt-cache rdepends --installed $line | wc -l) -ne 2 ]]; then apt-mark auto $line; fi; done
If you do decapt generate
after that you should have a smaller list of base-system spam in the list.
Friends (not really)
- Nix - A strict declarative package (and config) manager, and also the basis of Linux distro NixOS
- Guix - A strict declarative package (and config) manager, and also the basis of Linux distro GuixSD
- aconfmgr - A declarative Arch-native package and config manager
- decpac - I made something similar for Arch
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.