marauderxtreme.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-desktopexample 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
thefuckandpowerline-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
proorcedepending 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.local_system