26.02.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 и чем он отличается

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

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

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

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»):

Установка

Через 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)

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

Пример:

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 выглядит как аккуратная «надстройка без лишнего веса».