apx: bugfix and add official vanilla-apx-configs #445912 (#461436)

This commit is contained in:
Sandro
2025-11-27 12:35:21 +00:00
committed by GitHub
+28 -1
View File
@@ -11,6 +11,7 @@
buildGoModule rec {
pname = "apx";
version = "2.4.5";
versionConfig = "1.0.0";
src = fetchFromGitHub {
owner = "Vanilla-OS";
@@ -19,6 +20,14 @@ buildGoModule rec {
hash = "sha256-0Rfj7hrH26R9GHOPPVdCaeb1bfAw9KnPpJYXyiei90U=";
};
# Official Vanilla APX configs (stacks + package-managers)
configsSrc = fetchFromGitHub {
owner = "Vanilla-OS";
repo = "vanilla-apx-configs";
tag = "v${versionConfig}";
hash = "sha256-cCXmHkRjcWcpMtgPVtQF5Q76jr1Qt2RHSLtWLQdq+aE=";
};
vendorHash = "sha256-RoZ6sXbvIHfQcup9Ba/PpzS0eytKdX4WjDUlgB3UjfE=";
# podman needed for apx to not error when building shell completions
@@ -40,13 +49,21 @@ buildGoModule rec {
postPatch = ''
substituteInPlace config/apx.json \
--replace-fail "/usr/share/apx/distrobox/distrobox" "${distrobox}/bin/distrobox" \
--replace-fail "/usr/share/apx" "$out/bin/apx"
--replace-fail "/usr/share/apx" "$out/share/apx"
substituteInPlace settings/config.go \
--replace-fail "/usr/share/apx/" "$out/share/apx/"
'';
postInstall = ''
# Base configuration of apx
install -Dm444 config/apx.json -t $out/share/apx/
# Install official Vanilla configs (same as install script)
install -d $out/share/apx
cp -r ${configsSrc}/stacks $out/share/apx/
cp -r ${configsSrc}/package-managers $out/share/apx/
# Man pages, documentation, license
installManPage man/man1/*
install -Dm444 README.md -t $out/share/docs/apx
install -Dm444 COPYING.md $out/share/licenses/apx/LICENSE
@@ -61,6 +78,16 @@ buildGoModule rec {
meta = {
description = "Vanilla OS package manager";
longDescription = ''
Apx is the Vanilla OS package manager that allows you to install packages
from multiple sources inside managed containers without altering the host system.
Note: This package requires Podman to be enabled in your NixOS configuration.
Add the following to your configuration.nix:
virtualisation.podman.enable = true;
environment.systemPackages = with pkgs; [ apx ];
'';
homepage = "https://github.com/Vanilla-OS/apx";
changelog = "https://github.com/Vanilla-OS/apx/releases/tag/v${version}";
license = lib.licenses.gpl3Only;