local_system
@MarauderXtreme локальная система
Это "небольшая" роль Ansible, которая помогает мне настроить мою локальную систему и сделать её конфигурируемой.
В эту роль встроены (то есть жестко закодированы) некоторые настройки и файлы, которые я считаю полезными. Пожалуйста, используйте это на собственный страх и риск. В данный момент она используется для системы KDE Neon, но должна быть применима к любой системе на базе Debian и легко адаптируема для других дистрибутивов.
Требования
В роли есть недостаток, связанный с "курицей и яйцом". Роль подготавливает систему с become: yes
, но только для тех задач, которые не требуют пароля при использовании sudo. Вы должны предотвратить ошибки, редактируя sudoers или скопировав sudoers в /etc/sudoers
.
Переменные роли
Для всех переменных определены defaults/main/*. Все переменные начинаются с имени роли local_system
, чтобы избежать конфликтов в именах. Переопределяя их в групповых или хостовых переменных, можно создать свои собственные настройки.
-
nodejs_install_npm_user
- нужен для
geerlingguy.nodejs
- установлен на
root
- нужен для
local_system_uppercase_folders
- список имен папок с заглавными буквами в
~
, которые должны быть переведены в строчные
- список имен папок с заглавными буквами в
local_system_projects_paths
- список различных путей/директорий проектов
local_system_paths_unshorten
- список директорий, которые не должны сокращаться п10k в командной строке
-
local_system_general_packages
- список пакетов, которые должны присутствовать на каждой системе
local_system_debian_packages
- список пакетов, которые актуальны только для систем на базе Debian
local_system_ppa_packages
- список полезных пакетов, которые поступают только из ppas на Launchpad
-
local_system_ppa
- список ppas на Launchpad в формате
ppa:USER/PPA
- список ppas на Launchpad в формате
-
local_system_ubuntu_keyserver: keyserver.ubuntu.com
- настраиваемый сервер ключей для Ubuntu
local_system_extra_software.ubuntu
- список настроек для ppas, которые не находятся на Launchpad
- Всё нужно делать вручную
- Два способа настройки
пример записи ключа из URL
- name: signal url: https://updates.signal.org/desktop/apt/keys.asc id: DBA36B5181D0C816F630E889D980A17457F6FB06 repo: deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main package: signal-desktop
пример записи ключа из сервера ключей
- name: teamviewer keyserver: "{{ local_system_ubuntu_keyserver }}" id: 8CAE012EBFAC38B17A937CD8C5E224500C1289C0 repo: deb http://linux.teamviewer.com/deb package: teamviewer
-
local_system_gitconfig
- список полезных настроек gitconfig
local_system_diff_so_fancy_gitconfig
- список настроек gitconfig для diff-so-fancy
-
local_system_pip
- список pip-пакетов, которые устанавливаются в пользовательский каталог
- в данный момент
thefuck
иpowerline-status
-
- почти все эти переменные действуют как механизмы управления
- установите их в false, если не хотите устанавливать/использовать определенные вещи
- Я отслеживаю все эти репозитории через gitpunch для обновлений
local_system_omz
- oh-my-zsh ветка/тег/версия
local_system_omz_p10k
- powerlevel10k ветка/тег/версия
local_system_omz_autosuggests
- автодополнения, похожие на fish, для zsh ветка/тег/версия
local_system_bat
- bat ветка/тег/версия
local_system_dsf
- diff-so-fancy ветка/тег/версия
local_system_fzf
- fzf ветка/тег/версия
local_system_genact
- genact ветка/тег/версия
local_system_prettyping
- prettyping ветка/тег/версия
local_system_firacode
- firacode ветка/тег/версия или
"package"
для выпуска дистрибутива
- firacode ветка/тег/версия или
local_system_iosevka
- iosevka тег/версия
local_system_unifraktur
- Unifraktur Maguntia версия
local_system_nerdfonts
- список nerdfonts для установки
local_system_rambox
- либо
pro
, либоce
, в зависимости от ваших предпочтений
- либо
local_system_ramboxce
- Rambox Community Edition тег/версия
local_system_ramboxpro
- Rambox Pro тег/версия
Пример плейбука
- hosts: localhost
roles:
- local_system
Лицензия
MIT
Информация об авторе
Кристоф Кеплер development@kepler.international
Насколько это хорошо
Reference - Setup for my workstation
ansible-galaxy install MarauderXtreme/ansible-role-local-system