Add apps role and update Neovim installation

- Add apps role to main playbook for application management
- Create comprehensive CLAUDE.md documentation
- Update Neovim installation on Debian/Ubuntu to use official PPA
- Add cross-platform package manager setup (Homebrew, AppMan)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-18 19:02:40 -06:00
parent e8d0f33c57
commit e943a784c1
5 changed files with 129 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
---
- name: Install Neovim on macOS via Homebrew
homebrew:
name: neovim
state: present
become: no
when: ansible_os_family == "Darwin"
- name: Add Neovim PPA on Debian/Ubuntu
apt_repository:
repo: ppa:neovim-ppa/unstable
state: present
update_cache: yes
when: ansible_os_family == "Debian"
- name: Install Neovim on Debian/Ubuntu
apt:
name: neovim
state: present
when: ansible_os_family == "Debian"
- name: Install Neovim on RedHat/CentOS/Fedora
package:
name: neovim
state: present
when: ansible_os_family == "RedHat"
- name: Install Neovim on Arch Linux
pacman:
name: neovim
state: present
when: ansible_os_family == "Archlinux"

View File

@@ -0,0 +1,8 @@
---
- name: Install package managers
import_tasks: package_managers.yml
tags: package_managers
- name: Install applications
import_tasks: install_apps.yml
tags: apps

View File

@@ -0,0 +1,31 @@
---
- name: Install Homebrew on macOS
block:
- name: Check if Homebrew is installed
stat:
path: /usr/local/bin/brew
register: homebrew_check
- name: Install Homebrew
shell: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
when: not homebrew_check.stat.exists
become: no
when: ansible_os_family == "Darwin"
- name: Install AM (AppMan) on Linux
block:
- name: Check if AppMan is installed
stat:
path: "{{ ansible_env.HOME }}/.local/bin/appman"
register: appman_check
- name: Install AM as AppMan (local user only)
shell: |
cd {{ ansible_env.HOME }}
wget -q https://raw.githubusercontent.com/ivan-hc/AM/main/AM-INSTALLER
chmod a+x ./AM-INSTALLER
echo '2' | ./AM-INSTALLER
rm ./AM-INSTALLER
when: not appman_check.stat.exists
become: no
when: ansible_os_family == "Debian" or ansible_os_family == "RedHat" or ansible_os_family == "Archlinux"