TL; DR | Особенности | Пользовательские профили | Проверьте свой профиль | Варианты | Требования | Стабильность | Другая ОС | Лицензия
![]()
![]()
Хорошо проверенная и настраиваемая настройка для обеспечения вашей рабочей станции с Debian.
Верните свою систему под контроль. Управление пакетами, не предоставленными по умолчанию, и следить за репозиториями, а также установленного программного обеспечения. Любой пакет в комплекте предлагает возможность полностью управлять ими, то есть убедитесь, что они установлены или удалены. Конечно, вы также можете просто игнорировать их, если вы хотите самостоятельно управлять ими.
Он предназначен для того, чтобы быть универсальным менеджером Buildfiles (в отличие от DotFiles ). Вы можете добавить столько профилей, сколько хотите (например, для различного оборудования на разных ноутбуках), а также иметь выбор для предоставления его локально или по сети.
Убедитесь, что ваша система отвечает требованиям, прежде чем начать.
Используйте это, чтобы предоставить вашу систему с нуля, когда вы уже отправили свой профиль вверх по течению. Единственные требования - bash и sudo , все остальное будет установлено автоматически.
# Provision default profile
curl https://raw.githubusercontent.com/cytopia/ansible-debian/master/bootstrap | bash
# Provision profile 'generic-all'
curl https://raw.githubusercontent.com/cytopia/ansible-debian/master/bootstrap | bash -s generic-allИспользуйте это, чтобы предоставить вашу систему с нуля, когда у вас еще нет профиля, представленного в Upstream.
# 1. Clone this project
git clone https://github.com/cytopia/ansible-debian
cd ansible-debian
# 2. Add your profile 'bob' (See 'Create custom profiles' section of this README)
# 3. Provision your system (with profile 'bob')
# Note when to use sudo and when not
sudo make deploy-init
make deploy-apt-sources PROFILE=bob
sudo make deploy-dist-upgrade
make deploy-tools PROFILE=bob # Dry-run everything for profile 'generic-all'
make diff-tools PROFILE=generic-all
# Dry-run everything for profile 'generic-all' without role 'systemd'
make diff-tools PROFILE=generic-all IGNORE=systemd
# Dry-run a specific role 'i3-gaps'
make diff-tools PROFILE=generic-all ROLE=i3-gapsЭто Ansible Repository позволяет вам предоставить ваши Debian Machines и держать их в курсе. Это позволяет вам создавать разные профили для разных машин и предлагает пакеты, которые не доступны ни одним репозиторием Debian.
Это базовое идентификационное обеспечение с разумными значениями по умолчанию, которые могут быть слегка скорректированы. Это предназначено только как начальная загрузка BuildFiles . Чтобы настроить сами приложения, вам все равно придется применить свои личные dotfiles поверх этого.
| Инструмент | Описание |
|---|---|
| Авторуннер | Настраиваемая и уведомление Autostart Helper для минималистичных управляющих окон, таких как i3, Openbox и другие |
| хром | Устанавливает хром, дополнительные пакеты, а также указанные расширения из WebSetore Chrome |
| Clipmenu | Диспетчер обмена с помощью dmenu или rofi Integration |
| Dbeaver | Универсальный клиент SQL |
| Diff-Highlight | Инструмент для потрясающих выводов git diff |
| докер | Docker Repo и Package, а также убедитесь, что пользователь добавляется в docker Group |
| докер-состав | Загрузка последних бинарных docker-compose |
| ffScreencast | FFMPEG Обертка для настольного переписки с наложением видео и поддержкой Multi Monitor |
| Firefox | Firefox Quantum |
| FZF | Командная строка Fuzzy Finder |
| gimp | GIMP с темой Photoshop и связью с ключами |
| i3 | i3wm |
| I3-заветы | i3wm на стероидах |
| I3-UTILS-BIN | Инструменты для i3wm |
| i3-utils-systemd | SystemD -файлы для i3wm |
| i3blocks-модулы | Потрясающие модули i3blocks |
| коп | Инструмент командной строки операций Kubernetes |
| Kubectl | Инструмент командной строки Kubernetes |
| Libreoffice | LibreOffice 6 с темой иконы MSOFFICE 2013 |
| LXDM | Leight-Weight Manager |
| Невим | Vim на стероидах |
| сетевой менеджер | LAN LAN и Wi -Fi Network Manager с дополнительным системным лотком |
| О-мой-Зш | Восхитительная структура сообщества для управления вашей конфигурацией ZSH. |
| Пэкер | Упаковка Hashicorp для создания автоматизированных машин |
| пинта | Открытый исходный код PAINT.NET / MSPAINT CLONE. |
| рейнджер | Диспетчер файлов командной строки с встроенным предварительным просмотром изображения (также можно использовать в качестве диспетчера файлов VIM) |
| скайп | Skype Repo и Package |
| возвышенное | Sublime Repo и Package |
| SXIV | Маленький, быстрый и низкозависимость просмотра изображений с привязкой VIM |
| система | Управление включенными, отключенными и маскированными Systemd Services |
| телеграмма | Telegram Desktop Repo и упаковка |
| терраформ | Инфраструктура Hashicorp в качестве инфраструктуры кода |
| Тунар | Тунар и его требования к обработке внешних дисков, а также зашифрованных дисков |
| Thunar-Custom-Actions | Тунар пользовательские действия |
| Thunderbird | Thunderbird и глобально определенные дополнения |
| Timemachine | OSX Like Timemachine для командной строки |
| urxvt | Маленький, быстрый и лейт-Вейт 256 Цветный эмулятор терминала Unicode |
| VirtualBox | VirtualBox вверх по течению репозитория и пакеты |
| Xbacklight | Современная замена кросс-GPU Xbacklight |
| XDG-Mime-Meta | Определяет приложения по умолчанию для xdg-open |
| Xorg | Xorg и его зависимости, а также конфигурации GPU и Touchpad |
| Затура | Маленький, быстрый и низкий уровень PDF-просмотр |
| Инструмент | Описание |
|---|---|
| Font-Droid-Sans-Mono | Droidsansmono nerdfont со многими глифами и символами Unicode |
| Font-Font-Awesome | Fontawesome как системный шрифт |
| Font-San-Francisco | Osx Yosemite San Francisco Font |
| Шрифт-концевой | Terminus nerdfont со многими глифками и символами Unicode |
| Font-Ubuntu | Официальный шрифт Ubuntu |
| икона-мока | Темы иконы Moka (для Thunar или Nautilus) |
| тема-арк | ARC Тема для GTK2, GTK3, Chrome и других |
Смотрите роли/ каталог для всех доступных пакетов. Если вам не хватает одного, откройте проблему или запрос на тягу.
Кроме того, вы можете (но не нужно) управлять следующим образом:
Чтобы настроить свою рабочую станцию или инфраструктуру Debian, вы можете создавать профили для каждой из ваших машин. Это может быть необходимо из -за различных аппаратных или программных предпочтений. Каждое имя хоста (реальное или составное) в файле инвентаря автоматически представляет один профиль .
Кстати, Ansible работает, каждый профиль наследует все настройки от Group_vars/All.yml. Этот файл содержит здравомыслящий по умолчанию, показывающий вам все доступные параметры и со всеми неуправляемыми пакетами.
Чтобы фактически настроить свой профиль , вам придется создать файл в host_vars/ с тем же именем, которое вы указали в инвентаре. Вы можете скопировать Group_vars/All.yml напрямую или использовать уже существующий профиль от host_vars , такой как host_vars/generic-all.yml.
Чтобы лучше понять, как это работает, вы можете следовать этому пошаговому примеру для создания нового профиля:
Ради этого примера предположим, что ваш профиль называется dell-xps-i3wm .
Добавьте следующую строку в нижнюю часть инвентаря:
dell-xps-i3wm ansible_connection=local ansible_connection=local определяет, что ваш профиль должен применяться к вашему локальному компьютеру. Если вы хотите создать профиль для удаленного компьютера, имя вашего профиля должно быть именем хоста или IP -адресом, с помощью которого удаленная машина доступна по сети.
Как уже упоминалось ранее, вы можете скопировать group_vars/all.yml или уже существующий файл host_vars .
Используйте Group_vars/All.yml в качестве шаблона по умолчанию:
cp group_vars/all.yml host_vars/dell-xps-i3wm.ymlИспользуйте уже существующий файл host_vars в качестве шаблона по умолчанию:
cp host_vars/generic-all.yml host_vars/dell-xps-i3wm.yml Просто отредактируйте host_vars/dell-xps-i3wm.yml и отрегулируйте значения в соответствии с вашими потребностями. Если вы скопировали уже существующий файл, он будет содержать комментарии для всех возможных параметров конфигурации, которые позволят вам быстро увидеть, что и как измениться.
Если вы хотите проверить свой профиль в контейнере Docker, предварительно предварительно предоставляя свою собственную систему, перейдите к следующему разделу, в противном случае просто запустите следующие команды.
Запустите следующую команду, чтобы увидеть, что произойдет:
ansible-playbook -i inventory playbook.yml --diff --limit dell-xps-i3wm --ask-become-pass --checkЗапустите следующую команду, чтобы фактически применить ваш профиль:
ansible-playbook -i inventory playbook.yml --diff --limit dell-xps-i3wm --ask-become-passПрежде чем на самом деле запустить какой -либо новый профиль в вашей собственной системе, вы можете протестировать его заранее. Это можно сделать в контейнере Docker или в бродяге , чтобы увидеть, работает ли все, как и ожидалось. Это также может быть очень удобно, если вы создаете новую роль и хотите посмотреть, работает ли она.
Примечание. Изображение Docker всегда будет автоматической сборкой перед проведением тестов.
Перед запуском вы должны знать о нескольких аргументах, которые могут быть применены к командам make . См. Таблицу ниже:
| Переменная | Необходимый | Описание |
|---|---|---|
PROFILE | да | Инвентаризация HOSTNAME (ваш профиль) |
VERBOSE | нет | Ansible Verbosity. Допустимые значения: 0 , 1 , 2 или 3 |
ROLE | нет | Запустите только этот конкретный тег (название роли) |
Запустите полный тест профиля generic-all :
make test-docker-full PROFILE=generic-all Запустите полный тест профиля generic-all в случайном порядке:
make test-docker-random PROFILE=generic-all Запустите только роль i3-gaps generic-all
make test-docker-single PROFILE=generic-all ROLE=i3-gapsЕсли вы не доверяете тестам в Docker и хотите увидеть конечные результаты графически в виртуальной машине, вы также можете использовать Vagrant, чтобы сделать то же самое.
make test-vagrant PROFILE=generic-all Ищите раздел пакета и установите их в желаемое состояние. install или remove или любое другое значение, чтобы игнорировать их.
$ vi host_vars/ < name > .yml...
i3-gaps : ' install '
font_ubuntu : ' install '
diff_highlight : ' install '
docker : ' remove '
docker_compose : ' remove '
skype : ' ignore '
sublime : ' ignore '
...Многие пакеты также поставляются с опциями, которые вы можете настроить. Например, вы можете определить версию Python, которую должна предоставить ваша система:
$ vi host_vars/ < name > .yml...
python_2 : yes
python_3 : yes
...Еще одна настройка может быть программой по умолчанию для использования при открытии типов файлов Spefifif:
$ vi host_vars/ < name > .yml...
xdg_mime_defaults :
- desktop_file : chromium.desktop
mime_types :
- text/html
- text/xml
- application/xhtml_xml
- application/x-mimearchive
- x-scheme-handler/http
- x-scheme-handler/https
... Или установить свой DPI и другие параметры для lxdm
$ vi host_vars/ < name > .yml...
lxdm_dpi : 132
lxdm_gtk_theme : Arc-Darker
lxdm_show_user_list : no
...Выберите свой GPU и драйвер TouchPad:
$ vi host_vars/ < name > .yml # Supported values: 'amdgpu' 'ati' 'intel' 'modesetting' 'nouveau' 'nvidia' 'radeon'
xorg_gpu : modesetting
# Enable VDPAU_DRIVER=va_gl systemwide
xorg_gpu_vdpau_va_gl_enable : yes
# 'libinput' or 'synaptics'
xorg_touchpad_enable : yes
xorg_touchpad_driver : ' synaptics '
...Прежде чем вы сможете начать, потребуется несколько инструментов, которые должны присутствовать в системе. Просто скопируйте эти команды как корневые в ваш терминал.
apt-get update
apt-get install --no-install-recommends --no-install-suggests -y
make
sudo
Убедитесь, что вашему пользователю разрешено запустить sudo
usermod -aG sudo <username>
Чтобы гарантировать наиболее возможную стабильность этой настройки, были определены обширные проверки Travis-CI, которые автоматически работают каждую ночь. Эти тесты запускаются внутри контейнера Docker. Были определены следующие тестовые случаи:
Если вы используете другую ОС и все еще хотите предоставить свою систему Ansible, посмотрите на следующие аналогичные проекты:
Пожалуйста, не стесняйтесь вносить свой вклад и добавлять новые роли по желанию. При этом посмотрите на Appling.md для необходимых наилучших практик.
MIT Лицензия
Copyright (C) 2017 Cytopia