Simplify var names in apps role
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
dnf_remove_repos:
|
dnf_remove_repos:
|
||||||
- google-chrome
|
- google-chrome
|
||||||
|
|
||||||
|
|
||||||
dnf_remove:
|
dnf_remove:
|
||||||
- abrt
|
- abrt
|
||||||
- anaconda-live
|
- anaconda-live
|
||||||
@@ -33,11 +34,10 @@ apps:
|
|||||||
- mullvad-vpn
|
- mullvad-vpn
|
||||||
- nautilus-python
|
- nautilus-python
|
||||||
- pinta
|
- pinta
|
||||||
- profile-sync-daemon
|
|
||||||
- python3-virtualenv
|
- python3-virtualenv
|
||||||
- python3-virtualenvwrapper
|
- python3-virtualenvwrapper
|
||||||
- remmina
|
- remmina
|
||||||
- rpmfusion-free-release
|
- https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ ansible_facts['distribution_major_version'] }}.noarch.rpm
|
||||||
- setroubleshoot
|
- setroubleshoot
|
||||||
- ShellCheck
|
- ShellCheck
|
||||||
- snapd
|
- snapd
|
||||||
|
|||||||
2
group_vars/laptop/apps.yml
Normal file
2
group_vars/laptop/apps.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
apps_group:
|
||||||
|
- profile-sync-daemon
|
||||||
3
group_vars/workstation/apps.yml
Normal file
3
group_vars/workstation/apps.yml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
apps_group:
|
||||||
|
-
|
||||||
|
# - profile-sync-daemon
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
cargo_packages_app:
|
cargo:
|
||||||
- aichat
|
- aichat
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
services:
|
system_services:
|
||||||
- btrbk.timer
|
- btrbk.timer
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
services:
|
system_services:
|
||||||
- btrfs-balance.timer
|
- btrfs-balance.timer
|
||||||
- btrfs-scrub.timer
|
- btrfs-scrub.timer
|
||||||
- btrfs-trim.timer
|
- btrfs-trim.timer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
dnf_add_repos_app:
|
repos:
|
||||||
- name: code
|
- name: code
|
||||||
description: Visual Studio Code
|
description: Visual Studio Code
|
||||||
baseurl: https://packages.microsoft.com/yumrepos/vscode
|
baseurl: https://packages.microsoft.com/yumrepos/vscode
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
services:
|
system_services:
|
||||||
- dnf-automatic.timer
|
- dnf-automatic.timer
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
dnf_add_copr_app:
|
copr:
|
||||||
- alternateved/keyd
|
- alternateved/keyd
|
||||||
|
|
||||||
services:
|
system_services:
|
||||||
- keyd
|
- keyd
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
dnf_add_repos_app:
|
repos:
|
||||||
- name: jriver
|
- name: jriver
|
||||||
description: JRiver Media Center by BryanC
|
description: JRiver Media Center by BryanC
|
||||||
baseurl: https://repos.bryanroessler.com/jriver
|
baseurl: https://repos.bryanroessler.com/jriver
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
dnf_add_repofiles_app:
|
repofiles:
|
||||||
- name: Mullvad VPN
|
- name: Mullvad VPN
|
||||||
url: https://repository.mullvad.net/rpm/stable/mullvad.repo
|
url: https://repository.mullvad.net/rpm/stable/mullvad.repo
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
services:
|
user_services:
|
||||||
- psd.service
|
- psd.service
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
apps_app:
|
packages:
|
||||||
- "https://dl4jz3rbrsfum.cloudfront.net/software/PPL_64bit_v1.4.1.rpm"
|
- "https://dl4jz3rbrsfum.cloudfront.net/software/PPL_64bit_v1.4.1.rpm"
|
||||||
|
|
||||||
services:
|
system_services:
|
||||||
- pwrstatd.service
|
- pwrstatd.service
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
services:
|
system_services:
|
||||||
- tailscaled.service
|
- tailscaled.service
|
||||||
@@ -1,20 +1,41 @@
|
|||||||
---
|
---
|
||||||
|
- name: Load per-app configuration files
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: "{{ role_path }}/{{ item }}.yml"
|
||||||
|
name: "app_{{ item }}"
|
||||||
|
loop: "{{ ((apps | default([])) + (apps_group | default([]))) | select | list }}"
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
|
- name: Merge app configuration
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
apps_copr: "{{ apps_copr | default([]) + (lookup('vars', 'app_' + item, default={}).copr | default([])) }}"
|
||||||
|
apps_repos: "{{ apps_repos | default([]) + (lookup('vars', 'app_' + item, default={}).repos | default([])) }}"
|
||||||
|
apps_repofiles: "{{ apps_repofiles | default([]) + (lookup('vars', 'app_' + item, default={}).repofiles | default([])) }}"
|
||||||
|
apps_packages: "{{ apps_packages | default([]) + (lookup('vars', 'app_' + item, default={}).packages | default([])) }}"
|
||||||
|
apps_cargo: "{{ apps_cargo | default([]) + (lookup('vars', 'app_' + item, default={}).cargo | default([])) }}"
|
||||||
|
apps_system_services: "{{ apps_system_services | default([]) + (lookup('vars', 'app_' + item, default={}).system_services | default([])) }}"
|
||||||
|
apps_user_services: "{{ apps_user_services | default([]) + (lookup('vars', 'app_' + item, default={}).user_services | default([])) }}"
|
||||||
|
loop: "{{ ((apps | default([])) + (apps_group | default([]))) | select | list }}"
|
||||||
|
|
||||||
- name: Enable COPR repositories
|
- name: Enable COPR repositories
|
||||||
community.general.copr:
|
community.general.copr:
|
||||||
name: "{{ item.repo | default(item) }}"
|
name: "{{ item.repo | default(item) }}"
|
||||||
state: enabled
|
state: enabled
|
||||||
loop: "{{ (dnf_add_copr | default([])) + (dnf_add_copr_group | default([])) + (dnf_add_copr_app | default([])) }}"
|
loop: "{{ apps_copr | default([]) }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Add DNF repositories
|
- name: Add DNF repositories
|
||||||
ansible.builtin.yum_repository:
|
ansible.builtin.yum_repository:
|
||||||
name: "{{ item.name }}"
|
name: "{{ item.name }}"
|
||||||
description: "{{ item.description | default(omit) }}"
|
description: "{{ item.description | default(omit) }}"
|
||||||
baseurl: "{{ item.baseurl }}"
|
baseurl: "{{ item.baseurl | default(omit) }}"
|
||||||
enabled: true
|
metalink: "{{ item.metalink | default(omit) }}"
|
||||||
|
enabled: "{{ item.enabled | default(true) }}"
|
||||||
|
metadata_expire: "{{ item.metadata_expire | default(omit) }}"
|
||||||
gpgcheck: "{{ item.gpgcheck | default(true) }}"
|
gpgcheck: "{{ item.gpgcheck | default(true) }}"
|
||||||
|
repo_gpgcheck: "{{ item.repo_gpgcheck | default(omit) }}"
|
||||||
gpgkey: "{{ item.gpgkey | default(omit) }}"
|
gpgkey: "{{ item.gpgkey | default(omit) }}"
|
||||||
loop: "{{ (dnf_add_repos | default([])) + (dnf_add_repos_group | default([])) + (dnf_add_repos_app | default([])) }}"
|
loop: "{{ (dnf_add_repos | default([])) + (apps_repos | default([])) }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Add DNF repository files
|
- name: Add DNF repository files
|
||||||
@@ -24,7 +45,7 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
loop: "{{ (dnf_add_repofiles | default([])) + (dnf_add_repofiles_group | default([])) + (dnf_add_repofiles_app | default([])) }}"
|
loop: "{{ apps_repofiles | default([]) }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Remove DNF repositories
|
- name: Remove DNF repositories
|
||||||
@@ -43,9 +64,17 @@
|
|||||||
become: true
|
become: true
|
||||||
failed_when: false
|
failed_when: false
|
||||||
|
|
||||||
|
- name: Install remote RPM packages (from URLs)
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: "{{ apps_packages | default([]) | select('match', '^https?://') | list }}"
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: true
|
||||||
|
become: true
|
||||||
|
when: (apps_packages | default([]) | select('match', '^https?://') | list) | length > 0
|
||||||
|
|
||||||
- name: Install DNF packages
|
- name: Install DNF packages
|
||||||
ansible.builtin.dnf:
|
ansible.builtin.dnf:
|
||||||
name: "{{ (apps | default([])) + (apps_group | default([])) + (apps_app | default([])) }}"
|
name: "{{ ((apps | default([])) + (apps_group | default([])) + (apps_packages | default([]) | reject('match', '^https?://') | list)) | select | list }}"
|
||||||
state: present
|
state: present
|
||||||
skip_broken: true
|
skip_broken: true
|
||||||
become: true
|
become: true
|
||||||
@@ -60,8 +89,7 @@
|
|||||||
- name: Install cargo packages
|
- name: Install cargo packages
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "cargo install {{ item }}"
|
cmd: "cargo install {{ item }}"
|
||||||
loop: "{{ (cargo_packages | default([])) + (cargo_packages_group | default([])) + (cargo_packages_app | default([])) }}"
|
loop: "{{ apps_cargo | default([]) }}"
|
||||||
when: ((cargo_packages | default([])) + (cargo_packages_group | default([])) + (cargo_packages_app | default([]))) | length > 0
|
|
||||||
register: apps_cargo_install_result
|
register: apps_cargo_install_result
|
||||||
changed_when: "'Installing' in apps_cargo_install_result.stderr or 'Compiling' in apps_cargo_install_result.stderr"
|
changed_when: "'Installing' in apps_cargo_install_result.stderr or 'Compiling' in apps_cargo_install_result.stderr"
|
||||||
failed_when: apps_cargo_install_result.rc != 0 and 'already exists' not in apps_cargo_install_result.stderr
|
failed_when: apps_cargo_install_result.rc != 0 and 'already exists' not in apps_cargo_install_result.stderr
|
||||||
@@ -80,7 +108,7 @@
|
|||||||
enabled: true
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
scope: system
|
scope: system
|
||||||
loop: "{{ (services_system_enabled | default([])) + (services_system_enabled_group | default([])) + (services_system_enabled_app | default([])) }}"
|
loop: "{{ (services_system_enabled | default([])) + (services_system_enabled_group | default([])) + (apps_system_services | default([])) }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Disable and stop system services
|
- name: Disable and stop system services
|
||||||
@@ -89,7 +117,7 @@
|
|||||||
enabled: false
|
enabled: false
|
||||||
state: stopped
|
state: stopped
|
||||||
scope: system
|
scope: system
|
||||||
loop: "{{ (services_system_disabled | default([])) + (services_system_disabled_group | default([])) + (services_system_disabled_app | default([])) }}"
|
loop: "{{ (services_system_disabled | default([])) + (services_system_disabled_group | default([])) }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Enable and start user services
|
- name: Enable and start user services
|
||||||
@@ -98,12 +126,12 @@
|
|||||||
enabled: true
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
scope: user
|
scope: user
|
||||||
loop: "{{ (services_user_enabled | default([])) + (services_user_enabled_group | default([])) + (services_user_enabled_app | default([])) }}"
|
loop: "{{ (services_user_enabled | default([])) + (services_user_enabled_group | default([])) + (apps_user_services | default([])) }}"
|
||||||
|
|
||||||
- name: Disable and stop user services
|
- name: Disable and stop user services
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.systemd:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
enabled: false
|
enabled: false
|
||||||
state: stopped
|
state: stopped
|
||||||
scope: system
|
scope: user
|
||||||
loop: "{{ (services_user_disabled | default([])) + (services_user_disabled_group | default([])) + (services_user_disabled_app | default([])) }}"
|
loop: "{{ (services_user_disabled | default([])) + (services_user_disabled_group | default([])) }}"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
dnf_add_repos_app:
|
repos:
|
||||||
- name: zsh-completions
|
- name: zsh-completions
|
||||||
description: zsh-completions from openSUSE
|
description: zsh-completions from openSUSE
|
||||||
baseurl: https://download.opensuse.org/repositories/shells:zsh-users:zsh-completions/Fedora_Rawhide/
|
baseurl: https://download.opensuse.org/repositories/shells:zsh-users:zsh-completions/Fedora_Rawhide/
|
||||||
|
|||||||
Reference in New Issue
Block a user