Configuration¶
The pmsm.yaml file drives all generators. This page mirrors the structure used in the project README and pmsm.yaml.example.
Package information¶
package:
name: myapp # Package name
version: "1.0.0" # Package version
description: "..." # Package description
homepage: "https://..." # Homepage URL
license: "GPL-3.0" # License identifier
maintainer:
name: "Name"
email: "email@example.com"
Build configuration¶
build:
source: "https://..." # Source URL (supports {version}, {name} templates)
build: "make" # Build command (optional)
prepare: "./configure" # Prepare command (optional)
install: "make install" # Install command (optional)
Dependencies¶
dependencies:
runtime: # Runtime dependencies
- libc6
- openssl
build: # Build-time dependencies
- gcc
- make
Package manager configuration¶
Each package manager can be customized:
package_managers:
apt:
enabled: true
section: "utils" # Debian section
priority: "optional" # Debian priority
depends: # Override dependencies
- libssl-dev
build: "make" # Override build script
install: "make install" # Override install script
apk:
enabled: true
depends:
- openssl-dev
aur:
enabled: true
pkgrel: 1 # Package release number
arch: ["x86_64"] # Supported architectures
nix:
enabled: true
flake: false # true: generate flake.nix + nix/overlay.nix; build with `nix build`
# flake_package: "my-app" # optional pkgs.<name> (default: package.name)
# nixpkgs_input: "github:NixOS/nixpkgs/nixos-unstable"
buildInputs: # Nix build inputs
- openssl
For behavior of each backend, see Package managers.