local_system
@MarauderXtreme local_system
This is a "small" ansible role to help me, set up my local system and make it configurable.
There are some configs and files baked (a.k.a hard-coded) into this role that I consider useful. Please use this at your own discretion. It is currently used for a KDE Neon system but should be usable against any debian-based system and easily adoptable for other distributions.
Requirements
There is a chicken'n'egg flaw in the role.
The role prepares the system with become: yes
but only in those tasks writes sudoers with NOPASSWD:
.
You should prevent errors by editing sudoers or copying sudoers to /etc/sudoers
.
Role Variables
For all variables there are a defaults/main/* defined.
All variables are prefixed with the role name local_system
to prevent overlaps in naming.
With overriding them in group or host vars it's possible to define own setups.
-
nodejs_install_npm_user
- needed by
geerlingguy.nodejs
- set to
root
- needed by
local_system_uppercase_folders
- list of uppercase folder names under
~
that need to be translated to lower-case
- list of uppercase folder names under
local_system_projects_paths
- list of various project paths/directories
local_system_paths_unshorten
- list of directories that should not be shortened by p10k path prompt
-
local_system_general_packages
- list of packages that should be on every system
local_system_debian_packages
- list of packages only relevant on debian-based systems
local_system_ppa_packages
- list of useful packages that come from launchpad ppas only
-
local_system_ppa
- list of launchpad ppas in the schema of
ppa:USER/PPA
- list of launchpad ppas in the schema of
-
local_system_ubuntu_keyserver: keyserver.ubuntu.com
- configurable ubuntu keyserver
local_system_extra_software.ubuntu
- list of configuration for ppas not located at launchpad
- Everything needs to be done manually
- Two ways of setup
example entry for key from 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
example entry key from keyserver
- name: teamviewer keyserver: "{{ local_system_ubuntu_keyserver }}" id: 8CAE012EBFAC38B17A937CD8C5E224500C1289C0 repo: deb http://linux.teamviewer.com/deb package: teamviewer
-
local_system_gitconfig
- list of useful general gitconfig
local_system_diff_so_fancy_gitconfig
- list of gitconfig for diff-so-fancy
-
local_system_pip
- list of pip packages that are installed to the user dir
- currently
thefuck
andpowerline-status
-
- nearly all those variables act as control mechanism
- set them to false if you don't want to install/use certain things
- I'm watching all those repos via gitpunch to update them
local_system_omz
- oh-my-zsh branch/tag/version
local_system_omz_p10k
- powerlevel10k branch/tag/version
local_system_omz_autosuggests
- fish-like autosuggestions for zsh branch/tag/version
local_system_bat
- bat branch/tag/version
local_system_dsf
- diff-so-fancy branch/tag/version
local_system_fzf
- fzf branch/tag/version
local_system_genact
- genact branch/tag/version
local_system_prettyping
- prettyping branch/tag/version
local_system_firacode
- firacode branch/tag/version or
"package"
for distro release
- firacode branch/tag/version or
local_system_iosevka
- iosevka tag/version
local_system_unifraktur
- Unifraktur Maguntia version
local_system_nerdfonts
- list of nerdfonts to install
local_system_rambox
- either
pro
orce
depending what you want
- either
local_system_ramboxce
- Rambox Community Edition tag/version
local_system_ramboxpro
- Rambox Pro tag/version
Example Playbook
- hosts: localhost
roles:
- local_system
License
MIT
Author Information
Christoph Kepler development@kepler.international
Is it any good
Reference - Setup for my workstation
ansible-galaxy install MarauderXtreme/ansible-role-local-system