Shhware

English · Russian

Repository layout

What is where in the repo, and where the install puts it.

install.sh

Sets 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.sh

Shared code of install.sh, link.sh and shh: colors, messages, lists, the logo. Not run on its own.

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.

RepoInstalled 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/

The menus and tools, 22 shell scripts, and shh among them. Installed to ~/.local/bin/. What each does: Environment.

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/

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/

Installed to ~/.config/.

FolderWhat
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/

Installed to ~/.

  • .zshrc: the shell;
  • .zprofile: starts sway on tty1;
  • .local/share/applications/mimeapps.list: which program opens which file type.

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.