You are not logged in.
Decman is a declarative package & configuration manager for Arch Linux. It allows you to manage installed packages, your dotfiles, enabled systemd units, and run commands automatically. Your system is configured using Python so your configuration can be very adaptive.
Here is an example of a very simple configuration:
import decman
from decman import File, Directory
# Declare installed packages
decman.packages += ["python", "git", "networkmanager", "ufw", "neovim"]
# Declare installed aur packages
decman.aur_packages += ["protonvpn"]
# Declare configuration files
# Inline
decman.files["/etc/vconsole.conf"] = File(content="KEYMAP=us")
# From files within your repository
decman.files["/etc/pacman.conf"] = File(source_file="./dotfiles/pacman.conf")
# Declare a whole directory
decman.directories["/home/user/.config/nvim"] = Directory(source_directory="./dotfiles/nvim", owner="user")
# Ensure that a systemd unit is enabled.
decman.enabled_systemd_units += ["NetworkManager.service"]
I wanted to declaratively manage my Arch Linux installation, so I created decman. I'm sharing it here in case somebody else finds it useful.
More info and installation instructions on GitHub:
Offline
If you declare python in a python script, what runs the python script?
Offline
Python is a dependency of decman. It was maybe a poor choice to include it in the example, but python would've been installed before you can run decman.
Offline