make the packages role more generic

This commit is contained in:
Matthew Stobbs
2025-01-18 09:24:11 -07:00
parent 3d466e64c7
commit 333ee4c3f5
112 changed files with 1610 additions and 3 deletions

View File

@@ -0,0 +1,26 @@
---
- name: install rust and cargo
ansible.builtin.include_tasks:
file: "packages/{{ ansible_os_family }}/rust.yml"
tags:
- rust
- dependency
- name: install alacritty dependencies for Debian based distributions
become: true
ansible.builtin.apt:
name:
- cmake
- pkg-config
- libfreetype6-dev
- libfontconfig1-dev
- libxcb-xfixes0-dev
- libxkbcommon-dev
- python3
state: present
tags:
- dependency
- Debian
- include_tasks:
file: packages/Linux/alacritty.yml

14
tasks/Debian/ansible.yml Normal file
View File

@@ -0,0 +1,14 @@
---
- name: install ansible for Debian based distros
become: true
ansible.builtin.apt:
name: ansible
state: latest
register: ansible_changed
tags:
- Debian
- linux
- package
- name: stop playbook if ansible updated
when: ansible_changed.changed
meta: end_play

11
tasks/Debian/btop.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: install btop for Debian distros
become: true
when: ansible_os_family == "Debian"
ansible.builtin.apt:
name: btop
state: latest
tags:
- Debian
- linux
- package

10
tasks/Debian/cmake.yml Normal file
View File

@@ -0,0 +1,10 @@
---
- name: Install cmake for Debian based distros
become: true
ansible.builtin.apt:
name: cmake
state: latest
tags:
- Debian
- linux
- package

View File

@@ -0,0 +1,11 @@
---
- name: Install editorconfig Debian based distros
become: true
ansible.builtin.apt:
name: editorconfig
state: latest
tags:
- Debian
- linux
- package

9
tasks/Debian/firefox.yml Normal file
View File

@@ -0,0 +1,9 @@
---
- name: install firefox on Linux distros
ansible.builtin.apt:
name: firefox
state: latest
tags:
- packages
- Debian
- web

10
tasks/Debian/fzf.yml Normal file
View File

@@ -0,0 +1,10 @@
---
- name: Install fzf for Debian based distros
become: true
ansible.builtin.apt:
name: fzf
state: latest
tags:
- Debian
- linux
- package

15
tasks/Debian/git.yml Normal file
View File

@@ -0,0 +1,15 @@
---
- name: Install git and git extras for Debian based distros
become: true
ansible.builtin.apt:
name:
- git
- git-delta
- git-email
- git-lfs
state: latest
tags:
- Debian
- linux
- package

4
tasks/Debian/go.yml Normal file
View File

@@ -0,0 +1,4 @@
---
- name: install go for linux
ansible.builtin.include_tasks:
file: "packages/Linux/go.yml"

11
tasks/Debian/hugo.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install hugo for Debian based distros
become: true
ansible.builtin.apt:
name: hugo
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/jq.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install jq for Debian based distros
become: true
ansible.builtin.apt:
name: jq
state: latest
tags:
- Debian
- linux
- package

29
tasks/Debian/neovide.yml Normal file
View File

@@ -0,0 +1,29 @@
---
- name: install debian dependencies
when: ansible_architecture != "aarch64"
become: true
ansible.builtin.apt:
name:
- curl
- gnupg
- ca-certificates
- git
- gcc-multilib
- g++-multilib
- cmake
- libssl-dev
- pkg-config
- libfreetyp6-dev
- libasound2-dev
- libexpat1-dev
- libxcb-composite0-dev
- libbz2-dev
- libsndio-dev
- freeglut3-dev
- libxmu-dev
- libxi-dev
- libfontconfig1-dev
- libxcursor-dev
- ansible.builtin.include_tasks:
file: packages/Linux/neovide.yml

12
tasks/Debian/neovim.yml Normal file
View File

@@ -0,0 +1,12 @@
---
- name: Install neovim for Debian based distros
become: true
ansible.builtin.apt:
name:
- neovim
- python3-neovim
state: latest
tags:
- Debian
- linux
- package

View File

@@ -0,0 +1,3 @@
---
- ansible.builtin.include_tasks:
file: packages/Linux/nerdfonts.yml

13
tasks/Debian/nodejs.yml Normal file
View File

@@ -0,0 +1,13 @@
---
- name: Install nodejs and npm for Debian based distros
become: true
ansible.builtin.apt:
name:
- nodejs
- npm
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/nushell.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: install Debian dependencies
become: true
ansible.builtin.apt:
name:
- pkg-config
- libssl-dev
- build-essential
- ansible.builtin.include_tasks:
file: packages/Linux/nushell.yml

11
tasks/Debian/pandoc.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install pandoc for Debian based distros
become: true
ansible.builtin.apt:
name: pandoc
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/pipx.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install pipx for Debian based distros
become: true
ansible.builtin.apt:
name: pipx
state: latest
tags:
- Debian
- linux
- package

View File

@@ -0,0 +1,11 @@
---
- name: Install pip for Debian based distros
become: true
ansible.builtin.apt:
name: python3-pip
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/ripgrep.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install ripgrep for Debian based distros
become: true
ansible.builtin.apt:
name: ripgrep
state: latest
tags:
- Debian
- linux
- package

13
tasks/Debian/rust.yml Normal file
View File

@@ -0,0 +1,13 @@
---
- name: Install rust and cargo for Debian based distros
become: true
ansible.builtin.apt:
name:
- rustc
- cargo
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/stow.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install stow for Debian based distros
become: true
ansible.builtin.apt:
name: stow
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/terminal.yml Normal file
View File

@@ -0,0 +1,11 @@
---
# default on Linux is alacritty
# edit config/users.yml:users:<user item>:terminal:os_name:package name
# ie: config/users.yml:users:[name: stobbsm]:terminal:Fedora:konsole
- name: install and configure system terminal emulator
loop: "{{ users }}"
ansible.builtin.include_tasks:
file: "packages/{{ ansible_os_family }}/{{ item.terminal[ansible_distribution] | default('alacritty') }}.yml"
tags:
- package
- Debian

11
tasks/Debian/tidy.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install tidy for Debian based distros
become: true
ansible.builtin.apt:
name: tidy
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/tmux.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install tmux for Debian based distros
become: true
ansible.builtin.apt:
name: tmux
state: latest
tags:
- Debian
- linux
- package

6
tasks/Debian/vivaldi.yml Normal file
View File

@@ -0,0 +1,6 @@
---
- name: install vivaldi debian package
become: true
ansible.builtin.apt:
deb: https://downloads.vivaldi.com/stable/vivaldi-stable_6.7.3329.41-1_amd64.deb
state: present

11
tasks/Debian/zoxide.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install zoxide for Debian based distros
become: true
ansible.builtin.apt:
name: zoxide
state: latest
tags:
- Debian
- linux
- package

11
tasks/Debian/zsh.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: Install zsh for Debian based distros
become: true
ansible.builtin.apt:
name: zsh
state: latest
tags:
- Debian
- linux
- package