Repository layout
What is where in the repo, and where the install puts it.
install.sh
install.shSets up a fresh system: packages, drivers, services, system files, the dotfiles. Safe to run again. What differs per distro is in system/. The steps: Install.
lib/
lib/lib.sh
Shared code of install.sh, link.sh and shh: colors, messages, lists, the logo. Not run on its own.
link.sh
Puts the repo into your home folder, file by file: copies, or links to the repo in link mode. A file that is not ours is moved to NAME.bak-DATE, never deleted. What is ours: the list in ~/.local/state/shh/installed.
| Repo | Installed to |
|---|---|
config/ | ~/.config/ |
home/ | ~/ |
scripts/ | ~/.local/bin/ |
wallpapers/ | ~/wallpapers/ |
lib/*.sh, system/DISTRO/, components/DISTRO_components.txt | ~/.local/share/shh/ |
install.sh and shh run it for you. By hand:
-n,--dry-run: show what would be done, change nothing;--link: links to the repo, your edits land in it;--copy: copies, the repo can be deleted (the default);-u,--uninstall: remove what is ours, put the old files back (shh uninstall);-h,--help.
scripts/
scripts/The menus and tools, 22 shell scripts, and shh among them. Installed to ~/.local/bin/. What each does: Environment.
components/
components/artix_components.txt, void_components.txt: the parts shh config can turn off, one per line: name, packages, files, services, tab, default. The list: Components.
system/
system/One folder per distro: artix/, void/. In each:
distro.sh: what only this distro does: the package manager, the services, the login. Every distro has the same functions;services.txt: the services started at boot;packages/:common.csv, the packages for everyone, and one list per graphics driver.
Artix: amd, intel, nvidia, nvidia-580xx.
Void: amd, intel.
config/
config/Installed to ~/.config/.
| Folder | What |
|---|---|
sway/ | sway: keys, workspaces, look, window rules, the programs it starts; features/: a file per part |
swaybar/ | the bar |
swaylock/ | the lock screen |
foot/ | the terminal and the palette |
fzf/ | the look of every menu |
vim/, nvim/ | the editor |
broot/, yazi/ | the file manager |
mako/ | notifications |
imv/ | the image viewer |
fastfetch/ | system info in the terminal |
cliphist/ | the clipboard history size |
home/
home/Installed to ~/.
.zshrc: the shell;.zprofile: starts sway on tty1;.local/share/applications/mimeapps.list: which program opens which file type.
wallpapers/
wallpapers/Installed to ~/wallpapers/: one picture per distro (Artix, Void, Gentoo, CRUX). Found on the internet, the authors are unknown; they are not under the MIT license of the repo. More: Environment: wallpaper.