px is a guix and flatpak "wrapper" that aims to automate certain steps, and offer additional guidance where necessary.
Unless otherwise noted below, all guix commands work as usual:
px package -s <package>
px system reconfigure /etc/system.scmLet's have a look at px specific commands:
To apply configuration changes in /etc/system.scm run as root:
px reconfigureTo run a update, do:
px update
px update apply # skip prompt after pullThis will differentiate between root and user automatically. This command assumes to find the system configuration at /etc/system.scm.
What it does is:
guix pull --channels=/etc/guix/channels.scm- depending on user:
- (root)
guix system reconfigure /etc/system.scm; guix package -u - (user)
guix package -u
- (root)
- (user)
flatpak --user --assumeyes --noninteractive update
If you're running into issues like GTK font's not displaying, or substitutes not downloading, do:
px maintenanceIf in doubt, run this as both user and root.
Flatpak support is limited to updating applications installed with --user flag. No additional commands are supported.
px-update will by default attempt to install Flatpak and Flatpak-application updates.
Quick test:
rsync -r --exclude={'venv','.git','__pycache','tests'} ../px root@<IP>:/root
cd px; python3 -m venv venv; source venv/bin/activate; pip3 install .; px update applyTo test in a pure environment:
guix environment --pure \
--ad-hoc python python-setuptools fontconfig coreutils bashDo note that it will fail to find most, currently installed apps since they are not part of the environment.