uz
DF
февраля 26, 2026
Обновлено февраля 26, 2026

Tuckr: менеджер dotfiles для Linux, macOS и Windows — установка и примеры

Введение

Tuckr — это кроссплатформенный менеджер dotfiles, вдохновлённый GNU Stow и Git: он раскладывает конфиги по системе через симлинки, стараясь сделать управление «точками» максимально простым и без лишней магии. Он работает на Linux/BSD, macOS и Windows. В основе лежит подход Stow: вы храните файлы конфигураций в одном каталоге, а Tuckr создаёт ссылки в нужных местах (обычно в $HOME).

Ссылка на GitHub

https://github.com/RaphGL/Tuckr

Зачем нужен Tuckr и чем он отличается

  • Минимальная кривая обучения: простая модель «пакетов» (групп конфигов), как в Stow.
  • Никакой лишней “обвязки”: проект не пытается заменить git/rm/cp и другие стандартные утилиты.
  • Кроссплатформенность: Linux, Windows, BSD и macOS.
  • Проверка/валидация симлинков: можно быстро увидеть, что установлено и что сломано.
  • Hooks: скрипты до/после развёртывания.
  • Secrets (WIP): заготовка для работы с зашифрованными файлами.

Как устроен каталог dotfiles

Tuckr ожидает структуру без отдельного конфиг-файла для самого менеджера. Обычно используются такие каталоги:

  • Configs/

    — сами dotfiles (по группам/программам)

  • Hooks/

    — скрипты, которые запускаются до/после установки группы

  • Secrets/

    — зашифрованные файлы (функция в состоянии WIP)

Пример структуры:

dotfiles
├── Configs
│ ├── tmux
│ └── zsh
├── Hooks
│ ├── tmux
│ └── zsh
└── Secrets

Внутри каждой группы структура повторяет то, как файлы должны лежать в

$HOME

. Например, если tmux использует

~/.config/tmux/tmux.conf

, то в репозитории это будет так:

Configs/tmux/.config/tmux/tmux.conf

Где хранить dotfiles (пути по ОС)

Tuckr ищет каталог dotfiles в стандартных местах (можно выбрать «config path» или «home path»):

  • Linux/BSD:
    ~/.config/dotfiles

    или

    ~/.dotfiles
  • macOS:
    ~/Library/Application Support/dotfiles

    или

    ~/.dotfiles
  • Windows:
    %HomePath%\AppData\Roaming\dotfiles

    или

    %HomePath%\.dotfiles

Установка

Через Cargo (Rust)

cargo install tuckr

Установка из GitHub:

cargo install --git https://github.com/RaphGL/Tuckr.git

Важно: бинарник окажется в

$HOME/.cargo/bin

— добавьте его в

PATH

или перенесите в каталог, который уже находится в

PATH

Arch Linux (AUR)

paru -S tuckr-git

macOS (Homebrew)

brew install tuckr

Windows

Для корректной работы симлинков на Windows нужно включить Developer Mode.

Примеры использования

Развернуть все группы

tuckr add \*

Развернуть всё, кроме одной группы (например, neovim)

tuckr add \* -e neovim

Развернуть только выбранные группы

tuckr add neovim zsh

Развернуть и прогнать хуки (setup)

tuckr set \*

Удалить развернутые симлинки

tuckr rm \*

Проверить статус

tuckr status

У status есть алиас s

Hooks: pre/post скрипты

Hooks запускаются до и после добавления группы. Скрипты до симлинков —

pre*

, после —

post*

. Имя папки в

Hooks/

должно совпадать с именем группы в

Configs/

.

Пример:

Hooks
├── tmux
│ ├── pre.sh
│ └── post.sh
└── zsh
├── pre.sh
└── post.sh

Запуск хуков:

tuckr set
tuckr set *

Secrets (WIP)

Функция секретов находится в состоянии WIP, и проект предупреждает, что безопасность не гарантирована. Практичный вариант — шифровать проверенными инструментами (например, gpg) и подключать это через хуки.

Команды:

tuckr encrypt
tuckr decrypt

Условное развёртывание (Conditional deployment)

Если часть конфигов нужна только на конкретной ОС, используйте суффиксы групп:

  • _linux
  • _macos
  • _windows
  • _wsl
  • _unix

Пример:

Configs
├── config
├── config_unix
├── config_linux
├── config_macos
├── config_windows
└── config_wsl

Переменные окружения в путях

Tuckr умеет подставлять переменные окружения: всё, что начинается с

%

, трактуется как env var.

Пример:

program
└── %PROGRAM_PATH
└── config.txt

Развёртывание «вне HOME» (Root targeting)

Если файл должен попасть, например, в

/etc

, используйте префикс ^ — он говорит Tuckr целиться в root.

Пример:

crontab
└── ^etc
└── crontab

FAQ

Что делать, если Tuckr не видит мои dotfiles?

Проверьте, что каталог находится в одном из стандартных путей (например,

~/.dotfiles

или

~/.config/dotfiles

на Linux) и что внутри есть

Configs/

(а при необходимости

Hooks/

и

Secrets/

).

Можно ли мигрировать со Stow?

Да: удалите старые симлинки через

stow --delete

, приведите структуру репозитория к формату Tuckr и выполните

tuckr add \*

, затем проверьте результат командой

tuckr status

Почему на Windows не создаются симлинки?

Чаще всего потому, что не включён Developer Mode. Включите его, и повторите развёртывание.

Насколько безопасны Secrets?

Сейчас это WIP: проект предупреждает, что безопасность не гарантирована. Лучше использовать проверенные инструменты (например, gpg) через хуки.

Как развернуть всё, кроме одного пакета?

Используйте исключение

-e

, например:

tuckr add \* -e neovim

Как управлять конфигами для разных ОС в одном репозитории?

Используйте условные группы с суффиксами

_linux/_macos/_windows/_wsl/_unix

— неподходящие для текущей ОС будут игнорироваться.

Вывод

Если вам нравится подход GNU Stow (простая структура + симлинки), но хочется чуть больше удобства — проверки ссылок, хуков, условных групп и кроссплатформенности — Tuckr выглядит как аккуратная «надстройка без лишнего веса».

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»