local_system

@MarauderXtreme локальная система

Это "небольшая" роль Ansible, которая помогает мне настроить мою локальную систему и сделать её конфигурируемой.

В эту роль встроены (то есть жестко закодированы) некоторые настройки и файлы, которые я считаю полезными. Пожалуйста, используйте это на собственный страх и риск. В данный момент она используется для системы KDE Neon, но должна быть применима к любой системе на базе Debian и легко адаптируема для других дистрибутивов.

Требования

В роли есть недостаток, связанный с "курицей и яйцом". Роль подготавливает систему с become: yes, но только для тех задач, которые не требуют пароля при использовании sudo. Вы должны предотвратить ошибки, редактируя sudoers или скопировав sudoers в /etc/sudoers.

Переменные роли

Для всех переменных определены defaults/main/*. Все переменные начинаются с имени роли local_system, чтобы избежать конфликтов в именах. Переопределяя их в групповых или хостовых переменных, можно создать свои собственные настройки.

  • main.yml

    • nodejs_install_npm_user
      • нужен для geerlingguy.nodejs
      • установлен на root
    • local_system_uppercase_folders
      • список имен папок с заглавными буквами в ~, которые должны быть переведены в строчные
    • local_system_projects_paths
      • список различных путей/директорий проектов
    • local_system_paths_unshorten
      • список директорий, которые не должны сокращаться п10k в командной строке
  • packages.yml

    • local_system_general_packages
      • список пакетов, которые должны присутствовать на каждой системе
    • local_system_debian_packages
      • список пакетов, которые актуальны только для систем на базе Debian
    • local_system_ppa_packages
      • список полезных пакетов, которые поступают только из ppas на Launchpad
  • ppas.yml

    • local_system_ppa
      • список ppas на Launchpad в формате ppa:USER/PPA
  • extra_software.yml

    • 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
          
  • git.yml

    • local_system_gitconfig
      • список полезных настроек gitconfig
    • local_system_diff_so_fancy_gitconfig
      • список настроек gitconfig для diff-so-fancy
  • pip.yml

    • local_system_pip
      • список pip-пакетов, которые устанавливаются в пользовательский каталог
      • в данный момент thefuck и powerline-status
  • versions.yml

    • почти все эти переменные действуют как механизмы управления
    • установите их в false, если не хотите устанавливать/использовать определенные вещи
    • Я отслеживаю все эти репозитории через gitpunch для обновлений
    • local_system_omz
    • local_system_omz_p10k
    • local_system_omz_autosuggests
    • local_system_bat
      • bat ветка/тег/версия
    • local_system_dsf
    • local_system_fzf
      • fzf ветка/тег/версия
    • local_system_genact
      • genact ветка/тег/версия
    • local_system_prettyping
    • local_system_firacode
      • firacode ветка/тег/версия или "package" для выпуска дистрибутива
    • local_system_iosevka
    • local_system_unifraktur
    • local_system_nerdfonts
      • список nerdfonts для установки
    • local_system_rambox
      • либо pro, либо ce, в зависимости от ваших предпочтений
    • local_system_ramboxce
    • local_system_ramboxpro

Пример плейбука

- hosts: localhost
  roles:
      - local_system

Лицензия

MIT

Информация об авторе

Кристоф Кеплер development@kepler.international

Насколько это хорошо

Да

Установить
ansible-galaxy install MarauderXtreme/ansible-role-local-system
Лицензия
mit
Загрузки
98
Владелец
DevOp Engineer that likes ansible, docker and tries to keep up with basic web development.