Shhware

English · Russian

Команды 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 делают то же. Без команды или с неизвестной: список и ошибка.