diff --git a/roles/os_base/README.md b/roles/os_base/README.md new file mode 100644 index 0000000..9fda65f --- /dev/null +++ b/roles/os_base/README.md @@ -0,0 +1,46 @@ +# OS Base + +Example config: +``` +system_accounts: + - name: sysmaint + state: 'present' + system: true + uid: 1000 + groups: + - sudo + - wheel + comment: 'Jzn42.net maintenance user' + create_home: true + sshkey_state: 'present' + sshkeys: + - ssh-ed25519 AAA... + permissions: &maint_permissions + - sudo + - sudo_nopass + - libvirt + + - name: jezĀ· + state: 'present' + uid: 1001 + groups: + - sudo + - wheel + comment: 'Jzn42 admin' + create_home: true + sshkey_state: 'present' + sshkeys: + - ssh-ed25519 AAA... + - ssh-ed25519 AAA... + permissions: *maint_permissions + +system_packages: + - htop + - vim + - ncdu + - git + - iftop + - rsync + - bash + +``` diff --git a/roles/os_base/defaults/main.yml b/roles/os_base/defaults/main.yml index a9ae966..ae5d69b 100644 --- a/roles/os_base/defaults/main.yml +++ b/roles/os_base/defaults/main.yml @@ -1,6 +1,11 @@ --- -system_accounts: [] -system_packages: [] system_packages_norecommend: false system_packages_nosuggest: false + +system_accounts__default: [] +system_packages__default: [] + +system_accounts: "{{ vars | dict2items | selectattr('key', 'match', '^system_accounts__.*') | map(attribute='value') | list | flatten | unique }}" +system_packages: "{{ vars | dict2items | selectattr('key', 'match', '^system_packages__.*') | map(attribute='value') | list | flatten | unique }}" +