1
2
Fork
You've already forked kiss-ng
0
Next generation of the KISS Package manager
  • Zig 100%
2026年01月29日 19:47:31 +05:30
src fix(package): ensure to mark / as private to avoid propagating mounts to host 2026年01月29日 19:47:31 +05:30
.gitignore fix: gitignore 2025年05月06日 00:48:06 +05:30
build.zig feat(build.zig): kiss_ng -> kiss-ng 2026年01月12日 23:02:19 +05:30
build.zig.zon chore(build.zig.zon): bump minimum_zig_version 2026年01月06日 20:33:10 +05:30
README.md feat(package): mount extra files in sandbox with KISS_SANDBOX_FILES 2026年01月18日 19:04:02 +05:30

kiss-ng

Next generation of the KISS package manager, aiming to be more robust and powerful (sandboxed builds, provides system, etc)

The project currently supports almost all of the KISS features and can act as a drop-in replacement for the KISS package manager, with a few differences:

  • The package manager is invoked as root for build (b), install (i) and upgrade (U) operations due to the sandboxing mechanism

  • Build scripts cannot access the network, packages must be refactored to support vendored / pre-cached dependencies

    • KISS_SANDBOX_FILES is a space-delimited list of extra files that must be mounted inside the sandbox, this is to support use-cases like ccache
  • All binaries, sources, and logs are stored at /var/cache/kiss instead of the cache directory under $HOME

  • A dummy package called base must be installed, with depends containing all essential packages (eg. baselayout busybox gcc git linux-headers make musl pkgconf), this is not hardcoded to support various configurations (eg. clang-only system)

Usage

$ kiss_ng
-> kiss [a|b|c|d|i|l|p|r|s|u|U|v] [pkg]... 
-> alternatives List and swap alternatives 
-> build Build packages 
-> checksum Generate checksums 
-> download Download sources 
-> install Install packages 
-> list List installed packages 
-> preferred List owners of files with alternatives 
-> remove Remove packages 
-> search Search for packages 
-> update Update the repositories 
-> upgrade Update the system 
-> version Package manager version

TODO

  • alternatives & choices system

    • check orphaned alternatives during removal
  • provides system

  • build

    • dynamic dependency detection
    • binary stripping
    • sandboxed builds using landlock
  • checksum

  • download

    • parallel downloads
  • install

    • conflicts
      • etcsums
      • files
  • list

  • remove

  • search

  • update

  • upgrade

  • hooks (package-specified only, no user hooks)

    • pre-remove
    • post-install
    • (削除) user hooks (削除ここまで) not planned
  • global lock for installation/removal

  • environment variables

    • KISS_ROOT
    • (削除) KISS_COMPRESS (削除ここまで) zstd compression by default
    • KISS_PATH
    • (削除) KISS_COLOR (削除ここまで) not planned
    • KISS_DEBUG
    • KISS_FORCE
    • (削除) KISS_HOOK (削除ここまで) not planned
    • KISS_KEEPLOG
    • KISS_PROMPT
    • (削除) KISS_TMPDIR (削除ここまで) does not fit with sandboxing logic
    • KISS_SANDBOX_FILES