KPACK(5)

πŸ“¦ version 1.2.0, in nixpkgs unstable

πŸ’… kpack β€” KnightOS package config files, bestie

okay so this is the manual page for kpack, which is a File Formats Manual situation, and honestly? it's giving "tiny file, huge personality." let's get into it πŸŽ€


✨ NAME ✨

kpack β€” KnightOS package configuration files


🌸 DESCRIPTION 🌸

KnightOS packages are literally stuffed with useful metadata, bestie. like, they carry authorship info, package descriptions, dependencies, and so on β€” all the good stuff. πŸ’–

A simple package.config looks like this:

[meta]
name=packagename
repo=community
version=1.0.0

Only these three properties are required β€” name, repo, and version. everything else is optional, no pressure 🫢. and you can leave comments whenever you want by starting a line with #.


πŸ‘‘ name

The name of the package. that's it, that's the field.


πŸ¦‹ repo

The package repository this thing lives in. the following repositories are tracked upstream:

  • core: packages required for system function
  • extra: extra packages from KnightOS developers
  • community: packages written by the community at large
  • ports: software ported from other platforms
  • nonfree: software distributed under the terms of a license that has not been approved by the FSF
real talk: this only applies to the official KnightOS distribution. if you're running your own distribution, you are of course free to package software however you please. main character energy, do your thing πŸ’…

⭐ version

The current package version. it must be in the format MAJOR.MINOR.PATCH. check out semantic versioning at http://semver.org/ for the details, iykyk.


🌈 description (optional)

A user-friendly description of this package. make it cute, make it clear.


πŸŽ€ dependencies (optional)

A list of packages that this package depends on. these should be fully qualified package names, separated by spaces. you may optionally include a minimum required version. example:

dependencies=corelib kpm:1.0.0

🧚 capabilities (optional)

Lists capabilities required of the target device. for example, you might require USB support. separate each one with spaces. example:

capabilities=usb color

The following capabilities are formally defined and supported by kpm:

  • color: requires a color display
  • usb: requires USB support
  • clock: requires a real-time clock
  • extraram: requires at least 8 pages of RAM

πŸ’œ author (optional)

The person who originally wrote this software. the suggested format of this field is Author Name <author email> (i.e. Drew DeVault <sir@cmpwn.com>).


πŸ“ maintainer (optional)

The person who maintains this package. this may be different than the author β€” yes, they can be two whole different people, iconic.


πŸ”₯ infourl (optional)

A URL at which information about this software may be obtained.


The name of the license or the copyright statement for this package. optional but strongly suggested. examples might include:

  • MIT license
  • Public Domain
  • GPLv2
  • Copyright John Doe 2014, All Rights Reserved

You may also wish to include a license file in your package itself with a longer license statement. it's recommended that you distribute your full license text alongside the package, rather than inside of it, to save valuable space on the installed device. bestie, that device storage is precious 😭


🫢 AUTHORS 🫢

Maintained by Drew DeVault <sir@cmpwn.com>, who is assisted by other open source contributors. for more information about kpkg development, see https://github.com/KnightOS/kpkg.


and that's the whole page, bestie β€” this one dropped 1980-01-01 as its date, comes from the KPACK(5) crew, and lives in section 5 of the manual. slay πŸ’–βœ¨

πŸ“¦ where this page comes from