Команды shh
Скрипт: scripts/shh в репозитории, после установки — ~/.local/bin/shh. Запускайте от своего пользователя, не от root: от root shh не работает.
shh config
Меню: какие части системы оставить, а какие убрать. install.sh сам открывает его при первом запуске, пока нет ~/.config/shh/config. Чтобы поменять выбор потом:
shh config
Каждое изменение сохраняется сразу и применяется при следующем shh update (до первой установки: sh install.sh). У выключенной части не ставятся её пакеты, файлы и сервисы.
settings: параметры установки
Параметры установки: Компоненты: settings.
features: инструменты окружения
Части окружения, которые можно выключить: Компоненты: features.
misc: дополнительные пакеты
Дополнительные программы: Компоненты: misc.
Файл настроек
Выбор хранится в ~/.config/shh/config, по одной строке NAME=VALUE; его можно править руками. Нет строки — значение по умолчанию. Файла нет в репозитории, поэтому shh update сохраняет ваш выбор.
shh update
shh update
Обновляет систему и конфиги: запускает install.sh из свежей копии репозитория. Выбор из shh config сохраняется, меню снова не открывается.
- режим copy: клонирует репозиторий (
git clone --depth 1, только последний коммит) во временную папку, запускает оттудаinstall.shи удаляет папку, когда он закончит; - режим link:
git pullв репозитории, на который указывают ссылки, потом егоinstall.sh. Если в репозитории есть локальные изменения, pull останавливается (только fast-forward).
shh doctor
shh doctor
Проверяет, что всё, что настроила установка, на месте, и говорит, чего не хватает, обычно с подсказкой, как исправить (sh install.sh или sh lib/link.sh). Учитывает выбор в shh config: выключенную часть не ищет. В конце — число проблем или «all good».
services
Каждый сервис из services.txt запущен (s6 на Artix, runit на Void).
files
Каждый файл, который поставил lib/link.sh (список: ~/.local/state/shh/installed), на месте; битая ссылка считается отсутствующим файлом.
packages
Установлен каждый пакет из common.csv и из списков драйверов видеокарты (по карте или по выбору в settings: graphics).
session
То, что нужно sway без elogind: задана XDG_RUNTIME_DIR, и вы в группах seat, audio, video (Void: _seatd, audio, video). Если вас только что добавили в группу, выйдите и войдите снова.
shh uninstall
shh uninstall
shh uninstall -n
Удаляет то, что поставил lib/link.sh (конфиги, скрипты, сам shh, ~/.local/share/shh), и возвращает ваши старые файлы из NAME.bak-DATE (самый старый, из времени до dotfiles). Файл, который вы меняли после установки, остаётся, с предупреждением. Опустевшие папки удаляются. -n: только показывает, что будет сделано, ничего не меняет.
Что остаётся
Пакеты, сервисы, login shell (zsh), группы и системные файлы в /etc* (важно): если откатить их по ошибке, вход сломается (без seatd sway не запустится). shh uninstall печатает их список с командами, чтобы вручную откатить только то, что нужно. Также остаются ~/.config/shh/config и папка репозитория, если вы её оставили.
shh color
shh color OLD NEW
Меняет цвет во всех установленных конфигах и скриптах, например shh color d7263d ff0000. Цвет — 6 шестнадцатеричных цифр, # можно не писать, регистр не важен. Палитра перечислена в config/foot/foot.ini.
- NEW уже где-то используется: предупреждение, с этого момента это один цвет, и меняться они будут вместе;
- режим copy: следующий shh update вернёт цвета из репозитория (ваши останутся в файлах
.bak); режим link: меняются файлы в репозитории.
Чтобы увидеть новый цвет: Super+Shift+C (sway и бар), makoctl reload, новые окна foot и vim / nvim.
shh help
shh help
Печатает список команд; shh -h и shh --help делают то же. Без команды или с неизвестной: список и ошибка.