-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplaybook_dev-tools-common.yml
More file actions
149 lines (133 loc) · 5.04 KB
/
playbook_dev-tools-common.yml
File metadata and controls
149 lines (133 loc) · 5.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# playbook_dev-tools.yml
- name: "Include Ansible Dependencies"
import_playbook: playbook_ansible-dependencies.yml
- name: "Common Development Tools"
hosts: localhost
connection: local
gather_facts: true
vars:
# OS Packages (Common across all distributions)
os_packages_common:
# Core Development Tools
- name: "Git"
package_name: "git"
description: "Distributed version control system"
installer: "os"
- name: "GNU Make"
package_name: "make"
description: "Build automation tool"
installer: "os"
- name: "CMake"
package_name: "cmake"
description: "Cross-platform build system generator"
installer: "os"
- name: "LLVM"
package_name: "llvm" # Includes GCC and Clang
description: "Collection of modular and reusable compiler and toolchain technologies"
installer: "os"
- name: "pkg-config"
package_name: "pkg-config"
description: "Helper tool used when compiling applications and libraries"
installer: "os"
# OS Packages (Debian/Ubuntu specific)
os_packages_debian:
- name: "VSCodium"
package_name: "codium"
description: "Free/Libre Open Source Software Binaries of VSCode"
installer: "os"
# OS Packages (Fedora specific)
os_packages_fedora:
- name: "VSCodium"
package_name: "codium"
description: "Free/Libre Open Source Software Binaries of VSCode"
installer: "os"
# OS Packages (Arch specific)
# os_packages_arch:
# - name: "Example Arch Package"
# package_name: "example-arch"
# description: "An example package for Arch Linux"
# installer: "os"
# AUR Packages (Arch Linux only)
aur_packages:
- name: "VSCodium"
package_name: "vscodium-bin"
description: "Free/Libre Open Source Software Binaries of VSCode"
installer: "aur"
# PIP Packages
# pip_packages:
# - name: "Example PIP Package"
# package_name: "example-pip-package"
# description: "An example Python package installed via pip"
# installer: "pip"
# Cargo Packages
# cargo_packages:
# - name: "Example Cargo Package"
# package_name: "example-cargo-package"
# description: "An example Rust package installed via cargo"
# installer: "cargo"
# NPM Packages
# npm_packages:
# - name: "Example NPM Package"
# package_name: "example-npm-package"
# description: "An example Node.js package installed via npm"
# installer: "npm"
# Flatpak Packages
# flatpak_packages:
# - name: "Example Flatpak Package"
# package_name: "org.example.App"
# description: "An example Flatpak application"
# installer: "flatpak"
tasks:
# --- Pre-installation tasks ---
- name: "Setup VSCodium repositories"
block:
- name: "Setup VSCodium repository (Debian)"
when: ansible_os_family == "Debian"
block:
- name: "Add VSCodium GPG key"
ansible.builtin.get_url:
url: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
dest: /usr/share/keyrings/vscodium-archive-keyring.gpg
mode: '0644'
force: no
become: yes
- name: "Add VSCodium repository"
ansible.builtin.copy:
content: |
Types: deb
URIs: https://download.vscodium.com/debs
Suites: vscodium
Components: main
Architectures: amd64 arm64
Signed-by: /usr/share/keyrings/vscodium-archive-keyring.gpg
dest: /etc/apt/sources.list.d/vscodium.sources
mode: '0644'
become: yes
notify: update apt cache
- name: "Setup VSCodium repository (Fedora)"
when: ansible_os_family == "RedHat"
block:
- name: "Import VSCodium GPG key"
ansible.builtin.rpm_key:
state: present
key: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
become: yes
- name: "Add VSCodium repository"
ansible.builtin.copy:
content: |
[gitlab.com_paulcarroty_vscodium_repo]
name=download.vscodium.com
baseurl=https://download.vscodium.com/rpms/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
metadata_expire=1h
dest: /etc/yum.repos.d/vscodium.repo
mode: '0644'
become: yes
notify: update dnf cache
# --- Install packages using package managers ---
- name: "Install packages using package managers"
import_tasks: playbook_package-managers.yml
# --- Post-installation special tasks ---