Shh commands
The script: scripts/shh in the repo, installed as ~/.local/bin/shh. Run it as your user, not root: shh stops when run as root.
shh config
A menu: which parts of the system to keep and which to leave out. install.sh opens it by itself on the first run, while there is no ~/.config/shh/config yet. To change the choices later:
shh config
Every change is saved at once and applied by the next shh update (before the first install: sh install.sh). A part turned off: its packages, files and services are not installed.
settings: install options
Install options: Components: settings.
features: environment tools
Parts of the environment you can turn off: Components: features.
misc: additional packages
Extra programs: Components: misc.
The config file
The choices live in ~/.config/shh/config, one NAME=VALUE per line; you can edit it by hand. A missing line = the default. The file is not in the repo, so shh update keeps your choices.
shh update
shh update
Updates the system and the configs: runs install.sh from a fresh copy of the repo. Your choices from shh config stay, the menu does not open again.
- copy mode: clones the repo (
git clone --depth 1, only the last commit) into a temporary folder, runsinstall.shfrom it and deletes the folder when it ends; - link mode:
git pullin the repo the links point to, then itsinstall.sh. With local changes in the repo the pull stops (fast-forward only).
shh doctor
shh doctor
Checks that everything the install set up is in place and says what is missing, mostly with the fix (sh install.sh or sh lib/link.sh). It follows your choices in shh config: a part turned off is not looked for. At the end: the number of problems, or "all good".
services
Every service from services.txt is running (s6 on Artix, runit on Void).
files
Every file lib/link.sh put in place (the list: ~/.local/state/shh/installed) is still there; a broken link counts as missing.
packages
Every package from common.csv and from the graphics driver lists (by the card, or as picked in settings: graphics) is installed.
session
What sway needs without elogind: XDG_RUNTIME_DIR is set, and you are in the groups seat, audio, video (Void: _seatd, audio, video). Just added to a group: log out and in again.
shh uninstall
shh uninstall
shh uninstall -n
Removes what lib/link.sh put in place (configs, scripts, shh itself, ~/.local/share/shh) and puts your old files back from NAME.bak-DATE (the oldest one, from before the dotfiles). A file you changed since the install is kept, with a warning. Folders left empty are removed. -n: only shows what would be done, changes nothing.
What stays
Packages, services, the login shell (zsh), the groups and the system files in /etc* (important): undoing them by mistake breaks the login (without seatd sway does not start). shh uninstall prints a list of them with the commands to undo by hand only what you need. Also stays: ~/.config/shh/config and the repo folder, if you kept it.
shh color
shh color OLD NEW
Changes a color in every installed config and script, e.g. shh color d7263d ff0000. A color is 6 hex digits, # optional, case does not matter. The palette is listed in config/foot/foot.ini.
- NEW already used too: a warning, from now on both are one color and change together;
- copy mode: the next shh update puts the repo colors back (yours stay in
.bakfiles); link mode: the repo files change.
To see the new color: Super+Shift+C (sway and the bar), makoctl reload, new foot and vim / nvim windows.
shh help
shh help
Prints the list of commands; shh -h and shh --help do the same. With no command or an unknown one: the list and an error.