summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rw-r--r--roles/homebrew/README.md7
-rw-r--r--roles/homebrew/meta/main.yml18
-rw-r--r--roles/homebrew/tasks/main.yml40
-rw-r--r--roles/homebrew/vars/archlinux.yml5
-rw-r--r--roles/homebrew/vars/debian.yml5
5 files changed, 75 insertions, 0 deletions
diff --git a/roles/homebrew/README.md b/roles/homebrew/README.md
new file mode 100644
index 00000000..db948a04
--- /dev/null
+++ b/roles/homebrew/README.md
@@ -0,0 +1,7 @@
+# Ansible Role: homebrew
+
+This role installs homebrew package manager on Linux distributions
+
+## Role Variables
+
+- `homebrew_dependencies` the required system packages for homebrew installation (auto-configured per OS)
diff --git a/roles/homebrew/meta/main.yml b/roles/homebrew/meta/main.yml
new file mode 100644
index 00000000..5b3ae39a
--- /dev/null
+++ b/roles/homebrew/meta/main.yml
@@ -0,0 +1,18 @@
+---
+dependencies: []
+galaxy_info:
+ author: "a14m"
+ description: "Install homebrew package manager on Linux distributions"
+ company: "kartoffeln.work GmbH."
+ license: "MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: "ArchLinux"
+ versions:
+ - "all"
+ - name: "Ubuntu"
+ versions:
+ - "noble"
+ - name: "Debian"
+ versions:
+ - "bookworm"
diff --git a/roles/homebrew/tasks/main.yml b/roles/homebrew/tasks/main.yml
new file mode 100644
index 00000000..81e9dbe3
--- /dev/null
+++ b/roles/homebrew/tasks/main.yml
@@ -0,0 +1,40 @@
+---
+- name: "Include OS-specific variables"
+ ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml"
+
+- name: "Install homebrew dependencies"
+ become: true
+ ansible.builtin.package:
+ name: "{{ item }}"
+ state: "present"
+ with_items: "{{ homebrew_dependencies }}"
+
+- name: "Create linuxbrew directory"
+ become: true
+ ansible.builtin.file:
+ path: "/home/linuxbrew"
+ state: directory
+ owner: "{{ ansible_user_id }}"
+ group: "{{ ansible_user_id }}"
+ mode: "0755"
+
+- name: "Download homebrew installer"
+ ansible.builtin.get_url:
+ url: "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"
+ dest: "/tmp/install_homebrew.sh"
+ mode: "0755"
+
+- name: "Run homebrew installer"
+ ansible.builtin.command:
+ cmd: "/tmp/install_homebrew.sh"
+ args:
+ creates: "/home/linuxbrew/.linuxbrew/bin/brew"
+ environment:
+ NONINTERACTIVE: "1"
+
+- name: "Add homebrew to shell profile"
+ ansible.builtin.lineinfile:
+ path: "{{ ansible_env.HOME }}/.bashrc"
+ line: 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"'
+ create: true
+ mode: "0644"
diff --git a/roles/homebrew/vars/archlinux.yml b/roles/homebrew/vars/archlinux.yml
new file mode 100644
index 00000000..0b3af4b0
--- /dev/null
+++ b/roles/homebrew/vars/archlinux.yml
@@ -0,0 +1,5 @@
+---
+homebrew_dependencies:
+ - base-devel
+ - curl
+ - git
diff --git a/roles/homebrew/vars/debian.yml b/roles/homebrew/vars/debian.yml
new file mode 100644
index 00000000..3f2348cc
--- /dev/null
+++ b/roles/homebrew/vars/debian.yml
@@ -0,0 +1,5 @@
+---
+homebrew_dependencies:
+ - build-essential
+ - curl
+ - git