restructuring for easier maintenance
- creating src packages when things can't be installed via actual system package - neovim srcpkg is being worked on now
This commit is contained in:
22
tasks/pkgs/Debian/alacritty.yml
Normal file
22
tasks/pkgs/Debian/alacritty.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
- name: install rust and cargo
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/rust.yml"
|
||||
tags:
|
||||
- rust
|
||||
- dependency
|
||||
|
||||
- name: install alacritty dependencies for Debian based distributions
|
||||
ansible.builtin.set_fact:
|
||||
alacritty_deps:
|
||||
- cmake
|
||||
- pkg-config
|
||||
- libfreetype6-dev
|
||||
- libfontconfig1-dev
|
||||
- libxcb-xfixes0-dev
|
||||
- libxkbcommon-dev
|
||||
- python3
|
||||
|
||||
- name: add to syspkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + alacritty_deps }}"
|
||||
7
tasks/pkgs/Debian/ansible.yml
Normal file
7
tasks/pkgs/Debian/ansible.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
# Install ansible for current platform
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ (syspkgs + [ 'ansible' ] }}"
|
||||
|
||||
5
tasks/pkgs/Debian/btop.yml
Normal file
5
tasks/pkgs/Debian/btop.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'btop' ] }}"
|
||||
|
||||
11
tasks/pkgs/Debian/carapace.yml
Normal file
11
tasks/pkgs/Debian/carapace.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: enable carapace repository
|
||||
become: true
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [trusted=yes] https://apt.fury.io/rsteube/ /"
|
||||
state: present
|
||||
update_cache: false
|
||||
|
||||
- name: add carapace to syspkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'carapace-bin' ] }}"
|
||||
9
tasks/pkgs/Debian/cmake.yml
Normal file
9
tasks/pkgs/Debian/cmake.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'cmake' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
9
tasks/pkgs/Debian/consul.yml
Normal file
9
tasks/pkgs/Debian/consul.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: ensure hashicorp repo is active
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ (syspkgs + [ 'consul' ] }}"
|
||||
|
||||
8
tasks/pkgs/Debian/editorconfig.yml
Normal file
8
tasks/pkgs/Debian/editorconfig.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'editorconfig' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
9
tasks/pkgs/Debian/firefox.yml
Normal file
9
tasks/pkgs/Debian/firefox.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'firefox' ] }}"
|
||||
tags:
|
||||
- packages
|
||||
- RedHat
|
||||
- web
|
||||
10
tasks/pkgs/Debian/fzf.yml
Normal file
10
tasks/pkgs/Debian/fzf.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'fzf' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
15
tasks/pkgs/Debian/ghostty.yml
Normal file
15
tasks/pkgs/Debian/ghostty.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
- name: ensure dependencies
|
||||
ansible.builtin.include_tasks:
|
||||
file: packages/RedHat/terra_repo.yml
|
||||
tags:
|
||||
- dependency
|
||||
- package
|
||||
- terra
|
||||
- syspkgs
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'ghostty' ] }}"
|
||||
tags:
|
||||
- syspkgs
|
||||
10
tasks/pkgs/Debian/git.yml
Normal file
10
tasks/pkgs/Debian/git.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
5
tasks/pkgs/Debian/go.yml
Normal file
5
tasks/pkgs/Debian/go.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
srcpkgs: "{{ srcpkgs + [ 'packages/Linux/go.yml' ] }}"
|
||||
27
tasks/pkgs/Debian/hashicorp_repo.yml
Normal file
27
tasks/pkgs/Debian/hashicorp_repo.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
# install hashicorp vault for Debian/Ubuntu
|
||||
---
|
||||
- ansible.builtin.tempfile:
|
||||
state: directory
|
||||
prefix: hashicorp.
|
||||
register: d_hashicorp_tmp
|
||||
|
||||
- name: get hashicorp archive gpg key
|
||||
ansible.built.get_url:
|
||||
dest: "{{ d_hashicorp_tmp.path }}/gpg"
|
||||
url: https://apt.releases.hashicorp.com/gpg
|
||||
|
||||
- name: install hashicorp archive gpg key
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd:
|
||||
- gpg
|
||||
- --dearmor
|
||||
- -o
|
||||
- /usr/share/keyrings/hashicorp-archive-keyring.gpg
|
||||
- "{{ d_hashicorp_tmp.path }}/gpg"
|
||||
|
||||
- name: enable hasicorp repo for debian
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main"
|
||||
state: present
|
||||
update_cache: false
|
||||
10
tasks/pkgs/Debian/hugo.yml
Normal file
10
tasks/pkgs/Debian/hugo.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'hugo' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
10
tasks/pkgs/Debian/jq.yml
Normal file
10
tasks/pkgs/Debian/jq.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'jq' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
9
tasks/pkgs/Debian/konsole.yml
Normal file
9
tasks/pkgs/Debian/konsole.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'konsole' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
19
tasks/pkgs/Debian/neovide.yml
Normal file
19
tasks/pkgs/Debian/neovide.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
- name: set neovide pkg dependencies
|
||||
set_fact:
|
||||
neovide_deps:
|
||||
- cargo
|
||||
- fontconfig-devel
|
||||
- freetype-devel
|
||||
- libX11-xcb
|
||||
- libX11-devel
|
||||
- libstdc++-static
|
||||
- libstdc++-devel
|
||||
- "@Development Tools"
|
||||
- "@Development Libraries"
|
||||
|
||||
- name: append to pkgs
|
||||
when: ansible_architecture != "aarch64"
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + neovide_deps }}"
|
||||
srcpkgs: "{{ srcpkgs + [ 'Linux/neovide.yml' ] }}"
|
||||
16
tasks/pkgs/Debian/neovim.yml
Normal file
16
tasks/pkgs/Debian/neovim.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: add build deps
|
||||
set_fact:
|
||||
neovim_deps:
|
||||
- ninja-build
|
||||
- cmake
|
||||
- gettext
|
||||
- curl
|
||||
- build-essential
|
||||
|
||||
- set_fact:
|
||||
syspkgs: "{{ syspkgs + neovim_deps }}"
|
||||
|
||||
- name: append to srcpkgs
|
||||
set_fact:
|
||||
srcpkgs: "{{ srcpkgs + ['neovim'] }}"
|
||||
4
tasks/pkgs/Debian/nerdfonts.yml
Normal file
4
tasks/pkgs/Debian/nerdfonts.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
srcpkgs: "{{ srcpkgs + [ 'Linux/nerdfonts.yml' ] }}"
|
||||
10
tasks/pkgs/Debian/nodejs.yml
Normal file
10
tasks/pkgs/Debian/nodejs.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'nodejs', 'npm' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
9
tasks/pkgs/Debian/nomad.yml
Normal file
9
tasks/pkgs/Debian/nomad.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: ensure hashicorp repo is active
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'nomad' ] }}"
|
||||
|
||||
16
tasks/pkgs/Debian/nushell.yml
Normal file
16
tasks/pkgs/Debian/nushell.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: install RedHat dependencies
|
||||
set_fact:
|
||||
nushell_pkgdeps:
|
||||
- cargo
|
||||
- libxcb
|
||||
- openssl-devel
|
||||
- libX11-devel
|
||||
nushell_altdeps:
|
||||
- Linux/nushell.yml
|
||||
- "{{ ansible_os_family }}/carapace.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + nushell_pkgdeps }}"
|
||||
srcpkgs: "{{ srcpkgs + nushell_altdeps }}"
|
||||
8
tasks/pkgs/Debian/packer.yml
Normal file
8
tasks/pkgs/Debian/packer.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: ensure hashicorp repo is active
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'packer' ] }}"
|
||||
10
tasks/pkgs/Debian/pandoc.yml
Normal file
10
tasks/pkgs/Debian/pandoc.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'pandoc' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
9
tasks/pkgs/Debian/pipx.yml
Normal file
9
tasks/pkgs/Debian/pipx.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'pipx' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
10
tasks/pkgs/Debian/python3-pip.yml
Normal file
10
tasks/pkgs/Debian/python3-pip.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'python3-pip' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
10
tasks/pkgs/Debian/ripgrep.yml
Normal file
10
tasks/pkgs/Debian/ripgrep.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'ripgrep' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
14
tasks/pkgs/Debian/rust.yml
Normal file
14
tasks/pkgs/Debian/rust.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
- name: set rust_pkgs
|
||||
set_fact:
|
||||
rust_pkgs:
|
||||
- rustc
|
||||
- cargo
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + rust_pkgs }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
10
tasks/pkgs/Debian/stow.yml
Normal file
10
tasks/pkgs/Debian/stow.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'stow' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
11
tasks/pkgs/Debian/terminal.yml
Normal file
11
tasks/pkgs/Debian/terminal.yml
Normal 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
|
||||
8
tasks/pkgs/Debian/terraform.yml
Normal file
8
tasks/pkgs/Debian/terraform.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: ensure hashicorp repo is active
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'terraform' ] }}"
|
||||
10
tasks/pkgs/Debian/tidy.yml
Normal file
10
tasks/pkgs/Debian/tidy.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'tidy' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
10
tasks/pkgs/Debian/tmux.yml
Normal file
10
tasks/pkgs/Debian/tmux.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'tmux' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
|
||||
9
tasks/pkgs/Debian/vault.yml
Normal file
9
tasks/pkgs/Debian/vault.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
# install hashicorp vault for RedHat
|
||||
---
|
||||
- name: ensure hashicorp repo is active
|
||||
ansible.builtin.include_tasks:
|
||||
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'vault' ] }}"
|
||||
6
tasks/pkgs/Debian/vivaldi.yml
Normal file
6
tasks/pkgs/Debian/vivaldi.yml
Normal 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
|
||||
65
tasks/pkgs/Debian/zfs.yml
Normal file
65
tasks/pkgs/Debian/zfs.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
- name: set rpm_dist
|
||||
ansible.builtin.command: rpm --eval "%{dist}"
|
||||
register: rpm_dist
|
||||
tags:
|
||||
- packages
|
||||
- RedHat
|
||||
- config
|
||||
|
||||
- name: set zfs repo facts
|
||||
set_fact:
|
||||
zfs_repo_base: https://zfsonlinux.org
|
||||
zfs_gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2
|
||||
zfs_gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141
|
||||
|
||||
- name: el9+ specific configuration
|
||||
block:
|
||||
- name: set el9+ facts
|
||||
set_fact:
|
||||
rh_release: epel
|
||||
zfs_release: 2-3
|
||||
when:
|
||||
- ansible_distribution != 'Fedora'
|
||||
# TODO: figure out a better way to identify EPEL based distros
|
||||
# TODO: Alma, rocky, centos, rhel
|
||||
tags:
|
||||
- packages
|
||||
- RedHat
|
||||
- config
|
||||
|
||||
- name: Fedora specific configuration
|
||||
block:
|
||||
- name: set fedora facts
|
||||
set_fact:
|
||||
rh_release: fedora
|
||||
zfs_release: 2-6
|
||||
when: ansible_distribution == 'Fedora'
|
||||
when: ansible_distribution == 'Fedora'
|
||||
|
||||
- name: add openzfs gpg_key
|
||||
ansible.builtin.rpm_key:
|
||||
key: "{{ zfs_gpg_key }}"
|
||||
fingerprint: "{{ zfs_gpg_key_fingerprint }}"
|
||||
state: present
|
||||
become: true
|
||||
tags:
|
||||
- packages
|
||||
- RedHat
|
||||
|
||||
- name: enable openzfs repository
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ zfs_repo_base }}{{ rh_release }}/zfs-release-{{ zfs_release }}{{ rpm_dist.stdout }}.noarch.rpm"
|
||||
state: "{{ install_state }}"
|
||||
become: true
|
||||
tags:
|
||||
- packages
|
||||
- RedHat
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'zfs' ] }}"
|
||||
become: true
|
||||
tags:
|
||||
- RedHat
|
||||
- packages
|
||||
4
tasks/pkgs/Debian/zig.yml
Normal file
4
tasks/pkgs/Debian/zig.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: add zig to srcpkgs
|
||||
ansible.builtin.set_fact:
|
||||
srcpkgs: "{{ srcpkgs + [ 'zig' ] }}"
|
||||
16
tasks/pkgs/Debian/zoxide.yml
Normal file
16
tasks/pkgs/Debian/zoxide.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: Enable copr repo for zoxide
|
||||
become: true
|
||||
when: ansible_distribution != "Fedora"
|
||||
community.general.copr:
|
||||
name: atim/zoxide
|
||||
state: enabled
|
||||
chroot: "{{ coprChroot[ansible_distribution].chroot | default(omit) }}"
|
||||
|
||||
- name: append to pkgs
|
||||
set_fact:
|
||||
syspkgs: "{{ (syspkgs | default([])) + [ 'zoxide' ] }}"
|
||||
tags:
|
||||
- RedHat
|
||||
- linux
|
||||
- package
|
||||
11
tasks/pkgs/Debian/zsh.yml
Normal file
11
tasks/pkgs/Debian/zsh.yml
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user