fixing and adding packages

This commit is contained in:
Matthew Stobbs
2025-01-18 16:00:26 -07:00
parent 333ee4c3f5
commit 985da518b4
114 changed files with 555 additions and 498 deletions

View File

@@ -1,7 +1,7 @@
---
- name: append alacritty to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'alacritty' ] }}"
caskpkgs: "{{ caskpkgs + [ 'alacritty' ] }}"
tags:
- MacOS
- brew

View File

@@ -1,7 +1,7 @@
---
- name: append ansible to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'ansible' ]}}"
brewpkgs: "{{ brewpkgs + [ 'ansible' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append btop to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'btop' ]}}"
brewpkgs: "{{ brewpkgs + [ 'btop' ]}}"
tags:
- MacOS
- brew

View File

@@ -1,7 +1,7 @@
---
- name: append carapace to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'carapace' ] }}"
brewpkgs: "{{ brewpkgs + [ 'carapace' ] }}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append cmake to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'homebrew/cask/cmake' ] }}"
caskpkgs: "{{ caskpkgs + [ 'homebrew/cask/cmake' ] }}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append editorconfig to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'editorconfig' ]}}"
brewpkgs: "{{ brewpkgs + [ 'editorconfig' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append firefox to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'firefox' ] }}"
caskpkgs: "{{ caskpkgs + [ 'firefox' ] }}"
tags:
- packages
- MacOS

View File

@@ -1,7 +1,7 @@
---
- name: append fzf to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'fzf' ]}}"
brewpkgs: "{{ brewpkgs + [ 'fzf' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append ghostty to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'ghostty' ] }}"
caskpkgs: "{{ caskpkgs + [ 'ghostty' ] }}"
tags:
- MacOS
- brew

View File

@@ -13,7 +13,7 @@
- name: append git to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + git_pkgs }}"
brewpkgs: "{{ brewpkgs + git_pkgs }}"
tags:
- MacOS
- homebrew

View File

@@ -1,35 +1,35 @@
---
- name: Set go Filename
- name: set go arch
ansible.builtin.set_fact:
goFilename: "go{{ go.version }}.darwin-{{ arch[ansible_architecture] }}.{{ go.darwin.extension }}"
arch: "{% if ansible_archtecture == 'aarch64' %}arm64{% else %}amd64{% endif %}"
- name: set go Filename
ansible.builtin.set_fact:
goFilename: "go{{ versions.go }}.darwin-{{ arch }}.pkg"
tags:
- dev
- go
- name: Download latest go package for MacOS
become: true
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: go_dl.
register: d_go_dl_tmp
- name: download latest go package for macOS
ansible.builtin.get_url:
dest: "/tmp/{{ goFilename }}"
dest: "{{ d_go_dl_tmp.path }}/{{ goFilename }}"
url: "https://go.dev/dl/{{ goFilename }}"
checksum: "sha256:{{ go.darwin.sum[ansible_architecture] }}"
checksum: "{{ _go[versions.go].Darwin[arch] }}"
decompress: false
tags:
- dev
- go
- name: Install go MacOS use pkg file
- name: install go macOS use pkg file
become: true
ansible.builtin.command:
cmd: "installer -pkg /tmp/{{ goFilename }} -target /"
tags:
- dev
- go
- name: Cleanup go package download
become: true
ansible.builtin.file:
path: "/tmp/{{ goFilename }}"
state: absent
cmd: "installer -pkg {{ d_go_dl_tmp.path }}/{{ goFilename }} -target /"
tags:
- dev
- go

View File

@@ -1,7 +1,7 @@
---
- name: append hugo to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'hugo' ]}}"
brewpkgs: "{{ brewpkgs + [ 'hugo' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,4 +1,4 @@
---
- name: append iterm2 to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'iterm2' ] }}"
caskpkgs: "{{ caskpkgs + [ 'iterm2' ] }}"

View File

@@ -1,7 +1,7 @@
---
- name: append jq to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'jq' ]}}"
brewpkgs: "{{ brewpkgs + [ 'jq' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,4 +1,4 @@
---
- name: append neovide to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'neovide' ] }}"
caskpkgs: "{{ caskpkgs + [ 'neovide' ] }}"

View File

@@ -1,7 +1,7 @@
---
- name: append neovim to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'neovim' ]}}"
brewpkgs: "{{ brewpkgs + [ 'neovim' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -5,12 +5,12 @@
state: present
- name: generate nerdfont cask names
set_fact:
nerdfont_casks: "{{ (nerdfont_casks | default([])) + [ 'homebrew/cask/font-' + font.brew + '-nerd-font' ] }}"
loop: "{{ nerdfonts }}"
loop_control:
loop_var: font
set_fact:
nerdfont_casks: "{{ (nerdfont_casks | default([])) + [ 'homebrew/cask/font-' + font.brew + '-nerd-font' ] }}"
- name: append nerdfonts to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + nerdfont_casks }}"
caskpkgs: "{{ caskpkgs + nerdfont_casks }}"

View File

@@ -1,7 +1,7 @@
---
- name: append node to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'node' ]}}"
brewpkgs: "{{ brewpkgs + [ 'node' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append nushell to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'nushell' ]}}"
brewpkgs: "{{ brewpkgs + [ 'nushell' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append pandoc to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'pandoc' ]}}"
brewpkgs: "{{ brewpkgs + [ 'pandoc' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append pipx to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'pipx' ]}}"
brewpkgs: "{{ brewpkgs + [ 'pipx' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append python3 to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'python3' ]}}"
brewpkgs: "{{ brewpkgs + [ 'python3' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append ripgrep to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'ripgrep' ]}}"
brewpkgs: "{{ brewpkgs + [ 'ripgrep' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append rust to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'rust' ]}}"
brewpkgs: "{{ brewpkgs + [ 'rust' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append stow to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'stow' ]}}"
brewpkgs: "{{ brewpkgs + [ 'stow' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,11 +0,0 @@
---
# 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
- Darwin

View File

@@ -1,4 +1,4 @@
---
- name: append terraform to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'terraform' ]}}"
brewpkgs: "{{ brewpkgs + [ 'terraform' ]}}"

View File

@@ -1,7 +1,7 @@
---
- name: append tidy-html5 to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'tidy-html5' ]}}"
brewpkgs: "{{ brewpkgs + [ 'tidy-html5' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,7 +1,7 @@
---
- name: append tmux to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'tmux' ]}}"
brewpkgs: "{{ brewpkgs + [ 'tmux' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,4 +0,0 @@
---
- name: append vivaldi to caskpkgs
set_fact:
caskpkgs: "{{ (caskpkgs | default([])) + [ 'vivaldi' ] }}"

View File

@@ -1,7 +1,7 @@
---
- name: append zoxide to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'zoxide' ]}}"
brewpkgs: "{{ brewpkgs + [ 'zoxide' ]}}"
tags:
- MacOS
- homebrew

View File

@@ -1,8 +0,0 @@
---
- name: append zsh to brewpkgs
set_fact:
brewpkgs: "{{ (brewpkgs | default([])) + [ 'zsh' ]}}"
tags:
- MacOS
- homebrew
- package

View File

@@ -1,15 +1,14 @@
---
- name: install rust and cargo
ansible.builtin.include_tasks:
file: "packages/{{ ansible_os_family }}/rust.yml"
file: "{{ ansible_os_family }}/rust.yml"
tags:
- rust
- dependency
- name: install alacritty dependencies for Debian based distributions
become: true
ansible.builtin.apt:
name:
ansible.builtin.set_fact:
alacritty_deps:
- cmake
- pkg-config
- libfreetype6-dev
@@ -17,10 +16,7 @@
- libxcb-xfixes0-dev
- libxkbcommon-dev
- python3
state: present
tags:
- dependency
- Debian
- include_tasks:
file: packages/Linux/alacritty.yml
- name: add to syspkgs
ansible.builtin.set_fact:
syspkgs: "{{ syspkgs + alacritty_deps }}"

View File

@@ -1,14 +1,7 @@
# Install ansible for current platform
---
- 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
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs + [ 'ansible' ] }}"

View File

@@ -1,11 +1,5 @@
---
- name: install btop for Debian distros
become: true
when: ansible_os_family == "Debian"
ansible.builtin.apt:
name: btop
state: latest
tags:
- Debian
- linux
- package
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'btop' ] }}"

11
tasks/Debian/carapace.yml Normal file
View 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' ] }}"

View File

@@ -1,10 +1,9 @@
---
- name: Install cmake for Debian based distros
become: true
ansible.builtin.apt:
name: cmake
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'cmake' ] }}"
tags:
- Debian
- RedHat
- linux
- package

9
tasks/Debian/consul.yml Normal file
View 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' ] }}"

View File

@@ -1,11 +1,8 @@
---
- name: Install editorconfig Debian based distros
become: true
ansible.builtin.apt:
name: editorconfig
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'editorconfig' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,9 +1,9 @@
---
- name: install firefox on Linux distros
ansible.builtin.apt:
name: firefox
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'firefox' ] }}"
tags:
- packages
- Debian
- RedHat
- web

View File

@@ -1,10 +1,10 @@
---
- name: Install fzf for Debian based distros
become: true
ansible.builtin.apt:
name: fzf
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'fzf' ] }}"
tags:
- Debian
- RedHat
- linux
- package

15
tasks/Debian/ghostty.yml Normal file
View 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

View File

@@ -1,15 +1,10 @@
---
- 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
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,4 +1,5 @@
---
- name: install go for linux
ansible.builtin.include_tasks:
file: "packages/Linux/go.yml"
- name: append to pkgs
set_fact:
altpkgs: "{{ altpkgs + [ 'packages/Linux/go.yml' ] }}"

View File

@@ -0,0 +1,12 @@
# install hashicorp vault for Debian/Ubuntu
---
- name: install hashicorp archive gpg key
become: true
ansible.builtin.command:
cmd: wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.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

View File

@@ -1,11 +1,10 @@
---
- name: Install hugo for Debian based distros
become: true
ansible.builtin.apt:
name: hugo
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'hugo' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,10 @@
---
- name: Install jq for Debian based distros
become: true
ansible.builtin.apt:
name: jq
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'jq' ] }}"
tags:
- Debian
- RedHat
- linux
- package

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

@@ -0,0 +1,9 @@
---
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'konsole' ] }}"
tags:
- RedHat
- linux
- package

View File

@@ -1,29 +1,19 @@
---
- 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
- 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"
- ansible.builtin.include_tasks:
file: packages/Linux/neovide.yml
- name: append to pkgs
when: ansible_architecture != "aarch64"
set_fact:
syspkgs: "{{ syspkgs + neovide_deps }}"
altpkgs: "{{ altpkgs + [ 'Linux/neovide.yml' ] }}"

View File

@@ -1,12 +1,22 @@
---
- name: Install neovim for Debian based distros
become: true
ansible.builtin.apt:
name:
- neovim
- python3-neovim
state: latest
- name: append to pkgs
when: ansible_distribution == "Fedora"
set_fact:
syspkgs: "{{ syspkgs + [ 'neovim', 'python3-neovim' ] }}"
tags:
- Debian
- RedHat
- linux
- package
- name: install neovim appimage
when: ansible_distribution != "Fedora"
become: true
ansible.builtin.get_url:
url: https://github.com/neovim/neovim/releases/download/v0.10.0/nvim.appimage
dest: /usr/local/bin/nvim
checksum: sha256:6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390
tags:
- RedHat
- linux
- package

View File

@@ -1,3 +1,4 @@
---
- ansible.builtin.include_tasks:
file: packages/Linux/nerdfonts.yml
- name: append to pkgs
set_fact:
altpkgs: "{{ altpkgs + [ 'Linux/nerdfonts.yml' ] }}"

View File

@@ -1,13 +1,10 @@
---
- name: Install nodejs and npm for Debian based distros
become: true
ansible.builtin.apt:
name:
- nodejs
- npm
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'nodejs', 'npm' ] }}"
tags:
- Debian
- RedHat
- linux
- package

9
tasks/Debian/nomad.yml Normal file
View 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' ] }}"

View File

@@ -1,11 +1,16 @@
---
- name: install Debian dependencies
become: true
ansible.builtin.apt:
name:
- pkg-config
- libssl-dev
- build-essential
- name: install RedHat dependencies
set_fact:
nushell_pkgdeps:
- cargo
- libxcb
- openssl-devel
- libX11-devel
nushell_altdeps:
- Linux/nushell.yml
- "{{ ansible_os_family }}/carapace.yml"
- ansible.builtin.include_tasks:
file: packages/Linux/nushell.yml
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + nushell_pkgdeps }}"
altpkgs: "{{ altpkgs + nushell_altdeps }}"

8
tasks/Debian/packer.yml Normal file
View 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' ] }}"

View File

@@ -1,11 +1,10 @@
---
- name: Install pandoc for Debian based distros
become: true
ansible.builtin.apt:
name: pandoc
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'pandoc' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,9 @@
---
- name: Install pipx for Debian based distros
become: true
ansible.builtin.apt:
name: pipx
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'pipx' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,10 @@
---
- name: Install pip for Debian based distros
become: true
ansible.builtin.apt:
name: python3-pip
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'python3-pip' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,10 @@
---
- name: Install ripgrep for Debian based distros
become: true
ansible.builtin.apt:
name: ripgrep
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'ripgrep' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,13 +1,14 @@
---
- name: Install rust and cargo for Debian based distros
become: true
ansible.builtin.apt:
name:
- name: set rust_pkgs
set_fact:
rust_pkgs:
- rustc
- cargo
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + rust_pkgs }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,10 @@
---
- name: Install stow for Debian based distros
become: true
ansible.builtin.apt:
name: stow
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'stow' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View 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' ] }}"

View File

@@ -1,11 +1,10 @@
---
- name: Install tidy for Debian based distros
become: true
ansible.builtin.apt:
name: tidy
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'tidy' ] }}"
tags:
- Debian
- RedHat
- linux
- package

View File

@@ -1,11 +1,10 @@
---
- name: Install tmux for Debian based distros
become: true
ansible.builtin.apt:
name: tmux
state: latest
- name: append to pkgs
set_fact:
syspkgs: "{{ syspkgs + [ 'tmux' ] }}"
tags:
- Debian
- RedHat
- linux
- package

9
tasks/Debian/vault.yml Normal file
View 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' ] }}"

65
tasks/Debian/zfs.yml Normal file
View 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/Debian/zig.yml Normal file
View File

@@ -0,0 +1,4 @@
---
- name: add zig to altpkgs
ansible.builtin.set_fact:
altpkgs: "{{ altpkgs + [ 'zig' ] }}"

View File

@@ -1,11 +1,16 @@
---
- name: Install zoxide for Debian based distros
- name: Enable copr repo for zoxide
become: true
ansible.builtin.apt:
name: zoxide
state: latest
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:
- Debian
- RedHat
- linux
- package

View File

@@ -0,0 +1,33 @@
---
- name: full system upgrade if enabled
ansible.builtin.apt:
name: "*"
state: latest
when: full_upgrade
become: true
tags:
- upgrade
- packages
- asroot
- name: install packages from system package manager
ansible.builtin.dnf:
update_cache: true
name: "{{ syspkgs | unique }}"
state: "{{ install_state }}"
when: syspkgs|length > 0
become: true
tags:
- packages
- asroot
- os
- name: install packages from outside system package manager
ansible.builtin.include_tasks:
file: "{{ altpkg }}"
loop: "{{ altpkgs }}"
loop_control:
loop_var: altpkg
tags:
- packages
- altinstall

View File

@@ -10,4 +10,4 @@
- --git
- https://github.com/alacritty/alacritty.git
- --tag
- v0.13.2
- "v{{ versions.alacritty }}"

View File

@@ -3,6 +3,6 @@ Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/neovide
Exec={{ _neovide.install_prefix }}/bin/neovide
Name=Neovide
Icon=/usr/share/icons/neovide.png
Icon={{ _neovide.install_prefix }}/share/icons/neovide.png

View File

@@ -1,128 +0,0 @@
---
- name: ensure gitea user exists
become: true
ansible.builtin.user:
comment: gitea user
home: /var/lib/gitea
create_home: false
group: git
name: git
state: present
system: true
- name: install gitea binary
become: true
ansible.builtin.get_url:
backup: true
checksum: "sha256:https://dl.gitea.com/gitea/1.22.2/gitea-1.22.2-linux-amd64.sha256"
decompress: false
dest: /usr/local/bin/gitea
mode: '755'
url: https://dl.gitea.com/gitea/1.22.2/gitea-1.22.2-linux-amd64
state: present
- name: ensure gitea paths exist
become: true
ansible.builtin.file:
group: git
owner: git
mode: '750'
path: '{{ item }}'
state: directory
loop:
- /var/lib/gitea
- /var/lib/gitea/custom
- /var/lib/gitea/data
- /var/lib/gitea/log
- name: ensure gitea configuration directory exists
become: true
ansible.builtin.file:
group: git
owner: root
mode: '750'
path: /etc/gitea
state: directory
- name: install gitea configuration
become: true
ansible.builtin.template:
backup: true
group: git
owner: root
mode: '640'
dest: /etc/gitea/app.ini
src: gitea/app.ini.j2
vars:
# global settings
app_name: 'Gitea: Git with a cup of tea'
run_mode: prod
workpath: /var/lib/gitea
# repository settings
repository_default_branch: main
repository_disable_http_git: false
repository_enable_push_create_user: true
# server settings
server_allow_graceful_restarts: true
server_app_data_path: ''
server_domain: git.staur.ca
server_enable_gzip: true
server_enable_pprof: false
server_graceful_hammer_time: 1m0s
server_http_addr: 0.0.0.0
server_landing_page: home
server_lfs_jwt_secret: dvyUMJ81VjfO_PuHJt_4W-b6S58-yU2oMfF0N8KqzNg
server_lfs_start_server: true
server_local_use_proxy: false
server_minimum_key_size_check: true
server_offline_mode: false
server_per_write_kb_timeout: 10s
server_per_write_timeout: 30s
server_port: 3000
server_protocol: http
server_proxy_protocol_accept_unknown: false
server_proxy_protocol_tls_bridging: false
server_redirector_use_proxy_protocol: false
server_ssh_domain: gitea.applications.staur.ca
server_ssh_listen_port: 22
server_ssh_port: 22
server_startup_timeout: 0s
server_static_cache_time: 1h0m0s
server_static_root_path: /data
server_use_proxy_protocol: false
sever_proxy_protocol_header_timeout: 5s
# database settings
database_host: postgres01.applications.staur.ca
database_log_sql: false
database_name: gitea
database_passwd: gitea
database_ssl_mode: disable
database_type: postgres
database_user: gitea
# session settings
session_cookie_name: gitea_session
session_cookie_secure: true
session_provider: db
session_provider_config: /sessions
# security settings
security_secret_key: L2tOg455yeumJDDUEdw1ma69ckdoKP1UMgVZ9bXJZkCKkhCjfQmngYXDllUzdTKG
security_internal_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2OTM2MjA3NDh9.NCqR3b7ZHTwTcGky9FtSEii4ams2rG3Y06Iqvorc65Y
# service settings
service_disable_registration: true
service_require_signin_view: false
service_enable_captcha: false
service_register_email_confirm: true
service_no_reply_address: noreply+git@stobbs.ca
service_default_keep_email_private: true
service_default_enable_timetracking: true
service_allow_only_external_registration: false
service_allow_enable_notify_mail: false
service_default_allow_create_oranization: true
# lfs minio settings
lfs_minio_access_key_id: jvafijdsllesb5cuoj2s7eqe7zpq
lfs_minio_bucket: git-lfs-stobbs-ca
lfs_minio_endpoint: gateway.storjshare.io
lfs_minio_location: ca-central-1
lfs_minio_secret_access_key: jzl5ehrxpklz37cdafetar2ihcdldgfadpv5g5udsih7ujf6s2lq6
mailer_passwd:
mailer_protocol:

View File

@@ -1,41 +1,42 @@
---
- name: Set go Filename
- name: set go arch
ansible.builtin.set_fact:
goFilename: "go{{ go.version }}.linux-{{ arch[ansible_architecture] }}.{{ go.linux.extension }}"
arch: "{{ _go.archmap[ansible_architecture] }}"
- name: set go Filename
ansible.builtin.set_fact:
goFilename: "go{{ versions.go }}.linux-{{ arch }}.tar.gz"
tags:
- dev
- go
- debug
- name: Download latest go package for linux
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: go_dl.
register: d_go_dl_tmp
- name: download go archive
become: true
ansible.builtin.get_url:
dest: "/tmp/{{ goFilename }}"
dest: "{{ d_go_dl_tmp }}/{{ goFilename }}"
url: "https://go.dev/dl/{{ goFilename }}"
checksum: "sha256:{{ go.linux.sum[ansible_architecture] }}"
checksum: "{{ _go[versions.go].Linux[arch] }}"
decompress: false
tags:
- dev
- go
- name: Ensure go install dir exists
- name: ensure go install dir exists
become: true
ansible.builtin.file:
path: /usr/local
path: "{{ _go.install_path }}"
state: directory
- name: Extract go package for Linux
- name: extract go package for Linux
become: true
ansible.builtin.unarchive:
dest: /usr/local
src: "/tmp/{{ goFilename }}"
dest: "{{ _go.install_path }}"
src: "{{ d_go_dl_tmp.path }}/{{ goFilename }}"
remote_src: true
- name: Cleanup go package download
become: true
ansible.builtin.file:
path: "/tmp/{{ goFilename }}"
state: absent
tags:
- dev
- go

View File

@@ -1,17 +1,17 @@
---
- name: Build and install neovide
- name: build and install neovide
become: true
ansible.builtin.command:
cmd: cargo install --root /usr/local --git https://github.com/neovide/neovide
cmd: "cargo install --root {{ _neovide.install_prefix }} --git https://github.com/neovide/neovide"
- name: Copy neovide icon
become: true
ansible.builtin.copy:
src: neovide/icon.png
dest: /usr/share/icons/neovide.png
dest: "{{ _neovide.install_prefix }}/share/icons/neovide.png"
- name: Copy neovide.desktop
become: true
ansible.builtin.copy:
ansible.builtin.templatefile:
src: neovide/neovide.desktop
dest: /usr/local/share/applications/neovide.desktop
dest: "{{ _neovide.install_prefix }}/share/applications/neovide.desktop"

View File

@@ -1,22 +1,33 @@
# Install nerdfonts for each platform
---
- name: Create nerdfonts directories
- name: set install path for non-system installs
ansible.builtin.set_fact:
nerdfont_install_path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts"
when: not nerdfonts_system_install
- name: set install path for system wide installs
ansible.builtin.set_fact:
nerdfont_install_path: "/usr/local/share/fonts"
when: nerdfonts_system_install
- name: create nerdfonts directories
ansible.builtin.file:
path: "{{ nerdfonts_install_path }}/{{ font.name }}"
state: directory
become: nerdfonts_system_install
loop: "{{ nerdfonts }}"
loop_control:
loop_var: font
ansible.builtin.file:
path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts/{{ font.name }}"
state: directory
register: nerdfont_result
- name: Download and extract nerdfonts
ansible.builtin.unarchive:
creates: "{{ nerdfont_install_path }}/{{ font.name }}/README.md"
src: "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ font.name }}.tar.xz"
dest: "{{ nerdfont_install_path }}/{{ font.name }}"
remote_src: true
when: nerdfont_result is changed
become: nerdfonts_system_install
loop: "{{ nerdfonts }}"
loop_control:
loop_var: font
ansible.builtin.unarchive:
creates: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts/{{ font.name }}/README.md"
src: "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ font.name }}.tar.xz"
dest: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts/{{ font.name }}"
remote_src: true

View File

@@ -2,7 +2,7 @@
- name: install nushell via cargo
become: true
ansible.builtin.command:
cmd: "cargo install --root /usr/local {{ nuitem }} --locked"
cmd: "cargo install --root {{ _nushell.install_prefix }} {{ nuitem }} --locked"
loop_control:
loop_var: nuitem
loop:

16
tasks/Linux/zig.yml Normal file
View File

@@ -0,0 +1,16 @@
---
- name: download zig archive
ansible.builtin.set_fact:
zig_pkg: "zig-linux-{{ ansible_archtecture }}-{{ versions.zig }}.tar.xz"
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: zig_dl.
register: d_zig_dl_tmp
- name: download zig archive
ansible.builtin.get_url:
dest: "{{ d_zig_dl_tmp.path }}/{{ zig_pkg }}"
url: "{{ _zig.base_url }}/{{ zig_pkg }}"
decompress: false

View File

@@ -1,7 +1,7 @@
---
- name: install rust and cargo
ansible.builtin.include_tasks:
file: "packages/{{ ansible_os_family }}/rust.yml"
file: "{{ ansible_os_family }}/rust.yml"
tags:
- rust
- dependency
@@ -18,8 +18,8 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + alacritty_deps }}"
altpkgs: "{{ (altpkgs | default([])) + [ 'packages/Linux/alacritty.yml' ] }}"
syspkgs: "{{ syspkgs + alacritty_deps }}"
altpkgs: "{{ altpkgs + [ 'Linux/alacritty.yml' ] }}"
tags:
- syspkgs
- altpkgs

View File

@@ -3,5 +3,5 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'ansible' ] }}"
syspkgs: "{{ (syspkgs + [ 'ansible' ] }}"

View File

@@ -1,5 +1,5 @@
---
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'btop' ] }}"
syspkgs: "{{ syspkgs + [ 'btop' ] }}"

View File

@@ -2,6 +2,6 @@
- name: install carapace RPM
become: true
ansible.builtin.dnf:
name: https://github.com/carapace-sh/carapace-bin/releases/download/v1.0.7/carapace-bin_1.0.7_linux_amd64.rpm
name: "{{ _ghbase }}/carapace-sh/carapace-bin/releases/download/v{{ carapace_version }}/carapace-bin_{{ carapace_version }}_linux_amd64.rpm"
state: present
disable_gpg_check: true

View File

@@ -1,7 +1,7 @@
---
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'cmake' ] }}"
syspkgs: "{{ syspkgs + [ 'cmake' ] }}"
tags:
- RedHat
- linux

View File

@@ -1,9 +1,9 @@
---
- name: ensure hashicorp repo is active
ansible.builtin.include_tasks:
file: packages/{{ ansible_os_family }}/hashicorp_repo.yml
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'consul' ] }}"
syspkgs: "{{ (syspkgs + [ 'consul' ] }}"

View File

@@ -1,7 +1,7 @@
---
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'editorconfig' ] }}"
syspkgs: "{{ syspkgs + [ 'editorconfig' ] }}"
tags:
- RedHat
- linux

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'firefox' ] }}"
syspkgs: "{{ syspkgs + [ 'firefox' ] }}"
tags:
- packages
- RedHat

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'fzf' ] }}"
syspkgs: "{{ syspkgs + [ 'fzf' ] }}"
tags:
- RedHat
- linux

View File

@@ -10,6 +10,6 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'ghostty' ] }}"
syspkgs: "{{ syspkgs + [ 'ghostty' ] }}"
tags:
- syspkgs

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}"
syspkgs: "{{ syspkgs + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}"
tags:
- RedHat
- linux

View File

@@ -2,4 +2,4 @@
- name: append to pkgs
set_fact:
altpkgs: "{{ (altpkgs | default([])) + [ 'packages/Linux/go.yml' ] }}"
altpkgs: "{{ altpkgs + [ 'packages/Linux/go.yml' ] }}"

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'hugo' ] }}"
syspkgs: "{{ syspkgs + [ 'hugo' ] }}"
tags:
- RedHat
- linux

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'jq' ] }}"
syspkgs: "{{ syspkgs + [ 'jq' ] }}"
tags:
- RedHat
- linux

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'konsole' ] }}"
syspkgs: "{{ syspkgs + [ 'konsole' ] }}"
tags:
- RedHat
- linux

View File

@@ -15,5 +15,5 @@
- name: append to pkgs
when: ansible_architecture != "aarch64"
set_fact:
syspkgs: "{{ (syspkgs | default([])) + neovide_deps }}"
altpkgs: "{{ (altpkgs | default([])) + [ 'packages/Linux/neovide.yml' ] }}"
syspkgs: "{{ syspkgs + neovide_deps }}"
altpkgs: "{{ altpkgs + [ 'Linux/neovide.yml' ] }}"

View File

@@ -2,13 +2,13 @@
- name: append to pkgs
when: ansible_distribution == "Fedora"
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'neovim', 'python3-neovim' ] }}"
syspkgs: "{{ syspkgs + [ 'neovim', 'python3-neovim' ] }}"
tags:
- RedHat
- linux
- package
- name: Install neovim appimage
- name: install neovim appimage
when: ansible_distribution != "Fedora"
become: true
ansible.builtin.get_url:

View File

@@ -1,4 +1,4 @@
---
- name: append to pkgs
set_fact:
altpkgs: "{{ (altpkgs | default([])) + [ 'packages/Linux/nerdfonts.yml' ] }}"
altpkgs: "{{ altpkgs + [ 'Linux/nerdfonts.yml' ] }}"

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'nodejs', 'npm' ] }}"
syspkgs: "{{ syspkgs + [ 'nodejs', 'npm' ] }}"
tags:
- RedHat
- linux

View File

@@ -1,9 +1,9 @@
---
- name: ensure hashicorp repo is active
ansible.builtin.include_tasks:
file: packages/{{ ansible_os_family }}/hashicorp_repo.yml
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'nomad' ] }}"
syspkgs: "{{ syspkgs + [ 'nomad' ] }}"

View File

@@ -7,10 +7,10 @@
- openssl-devel
- libX11-devel
nushell_altdeps:
- packages/Linux/nushell.yml
- packages/{{ ansible_os_family }}/carapace.yml
- Linux/nushell.yml
- "{{ ansible_os_family }}/carapace.yml"
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + nushell_pkgdeps }}"
altpkgs: "{{ (altpkgs | default([])) + nushell_altdeps }}"
syspkgs: "{{ syspkgs + nushell_pkgdeps }}"
altpkgs: "{{ altpkgs + nushell_altdeps }}"

View File

@@ -1,8 +1,8 @@
---
- name: ensure hashicorp repo is active
ansible.builtin.include_tasks:
file: packages/{{ ansible_os_family }}/hashicorp_repo.yml
file: "{{ ansible_os_family }}/hashicorp_repo.yml"
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'packer' ] }}"
syspkgs: "{{ syspkgs + [ 'packer' ] }}"

View File

@@ -2,7 +2,7 @@
- name: append to pkgs
set_fact:
syspkgs: "{{ (syspkgs | default([])) + [ 'pandoc' ] }}"
syspkgs: "{{ syspkgs + [ 'pandoc' ] }}"
tags:
- RedHat
- linux

Some files were not shown because too many files have changed in this diff Show More