1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
.Dd June 4, 2025
.Dt KISS 1
.Os
.Sh NAME
.Nm kiss
.Nd package manager
.Sh SYNOPSIS
.Nm
.Op Ar a|b|c|d|H|i|l|p|r|s|u|U|v
.Op Ar pkg...
.Sh DESCRIPTION
.Nm
is a tiny, self-contained package manager written in POSIX-compliant shell
script.
It is written with portability in mind.
.Pp
Running
.Nm
without any arguments prints help output.
Every action can be written as the full name or aliased by the first letter:
.Bl -tag -width Ds
.It Ar a|alternatives
List and swap package alternatives
.It Ar b|build
Build packages
.It Ar c|checksum
Generate checksums
.It Ar d|download
Download sources
.It Ar H|help-ext
List all installed extensions (see
.Sx Extensions ) .
.It Ar i|install
Install packages
.It Ar l|list
List installed packages
.It Ar p|preferred
List the owners of all files with alternatives
.It Ar r|remove
Remove packages
.It Ar s|search
Search for packages
.It Ar u|update
Update the repositories
.It Ar U|upgrade
Update the system
.It Ar v|version
Print package manager version
.El
.Ss Extensions
Anything in the user's
.Ev $PATH
which matches the glob
.Ql kiss-*
will be directly usable via the package manager.
The shortest available alias may also be used for each extension.
The second line in the script acts as a one-line doc string.
The default extensions are:
.Bl -tag -width Ds
.It Ar chroot
Enter a kiss chroot
.It Ar depends
Display a package's dependencies
.It Ar fork
Copy a package's repository files into the current directory
.It Ar help
Read KISS documentation
.It Ar link
Link a repository file to another repository
.It Ar maintainer
Find the maintainer of a package
.It Ar manifest
Display all files owned by a package
.It Ar new
Create a boilerplate package
.It Ar orphans
List orphaned packages
.It Ar outdated
Check repository for outdated packages
.It Ar owns
Check which package owns a file
.It Ar revdepends
Display packages which depend on package
.It Ar size
Show the size on disk for a package
.El
.Sh ENVIRONMENT
.Bl -tag -width Ds
.It Ev KISS_CHK
The utility to use for SHA256 checksums.
.Pp
Valid: openssl, sha256, sha256sum, shasum, digest.
Default is the first available in that order.
.It Ev KISS_CHOICE
Set to
.Ql 0
to disable the alternatives system and error on any detected file
conflicts.
.It Ev KISS_COLOR
Set to
.Ql 0
to disable colorful output; otherwise colors are disabled when the
utput is not a terminal.
.It Ev KISS_COMPRESS
Compression method to use for built package tarballs.
.Pp
Valid: gz (default), bz2, lzma, lz, xz, zst.
.It Ev KISS_DEBUG
Set to
.Ql 1
to avoid deleting temporary directories after building packages, for
debugging.
.It Ev KISS_ELF
Which readelf command to use.
.Pp
Valid: readelf (default), *-readelf, ldd.
.It Ev KISS_FORCE
Set to
.Ql 1
to bypass dependency checks and force building/installation/removal
of packages.
.It Ev KISS_GET
Which utility to use when downloading sources.
.Pp
Valid: aria2c, axel, curl, wget, wget2.
Default is the first available in that order.
.It Ev KISS_HOOK
A colon-separated list of absolute paths to executable files which are run as
hooks.
.It Ev KISS_KEEPLOG
Set to
.Ql 1
to keep build logs for successful builds as well as failing ones.
.It Ev KISS_PATH
A colon-separated list of paths to repositories, directories which contain
packages.
Repositories earlier in the list have a higher priority in the case of a package
being found in multiple repos.
.It Ev KISS_PID
Used to determine the exact name of temporary directories, can be specified for
debugging.
.It Ev KISS_PROMPT
Set to
.Ql 0
to say
.Dq yes
and skip all prompts from the package manager.
.It Ev KISS_ROOT
Where installed packages will go.
Can be used to install packages to somewhere other than
.Pa / .
.It Ev KISS_STRIP
Set to
.Ql 0
to disable stripping package binaries and libraries globally.
.It Ev KISS_SU
Privilege escalation utility to use.
.Pp
Valid: ssu, sudo, doas, su, or any other tool compatible with sudo-like
arguments.
.It Ev KISS_TMPDIR
Temporary directory used for builds.
Can be set to a tmpfs (often
.Pa /tmp
for example) so that builds happen in memory
and are faster.
.El
.Sh FILES
.Nm
does not use any configuration files.
Files used in packages are documented in
.Xr kiss 5 .
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Xr kiss 5 ,
.Lk https://kisslinux.github.io/wiki/package-manager
.Sh AUTHORS
.Nm
was created by
.An Dylan Araps
and the community.
|