organizing for go pkg installs

This commit is contained in:
Matthew Stobbs
2025-02-12 16:57:28 -07:00
parent a3df5215b8
commit c73ac46bc8
31 changed files with 431 additions and 396 deletions

View File

@@ -17,6 +17,7 @@
checksum: "{{ go.sum }}"
decompress: false
mode: '0644'
register: get_url_go
- name: Ensure go install dir exists
become: "{{ sys_pkg_become }}"
@@ -25,16 +26,19 @@
state: directory
mode: '0755'
- name: Extract go package
- name: Extract go package
become: "{{ sys_pkg_become }}"
when:
- ansible_system == 'Linux'
ansible.builtin.unarchive:
dest: "{{ paths.archive }}/go"
src: "{{ d_go_dl_tmp.path }}/{{ go_archive }}"
remote_src: true
when: ansible_system == 'Linux'
- name: Install go macOS use pkg file
ansible.builtin.command:
cmd: "installer -pkg {{ d_go_dl_tmp.path }}/{{ go_archive }} -target /"
when: ansible_system == 'Darwin'
- name: Install go macOS use pkg file
become: true
when:
- ansible_system == 'Darwin'
ansible.builtin.command:
creates: "{{ go.inst_path }}"
cmd: "installer -pkg {{ d_go_dl_tmp.path }}/{{ go_archive }} -target /"

0
tasks/cargo.yml Normal file
View File

View File

@@ -4,4 +4,5 @@
ansible.builtin.set_fact:
air:
ver: "{{ pkgconfig.air.version }}"
pkg: "{{ pkgconfig.air.git_repo }}@{{ pkgconfig.air.version }}"
pkg: "{{ pkgconfig.air.mod_path }}@{{ pkgconfig.air.version }}"
bin: "{{ pkgconfig.air.bin }}"

9
tasks/go.yml Normal file
View File

@@ -0,0 +1,9 @@
---
- name: Install go packages
become: "{{ archive_become }}"
ansible.builtin.command:
creates: "{{ paths.bin }}/{{ pkg.bin }}"
cmd:
- go
- install
- "{{ pkg.pkg }}"

0
tasks/homebrew.yml Normal file
View File

View File

@@ -1,26 +1,63 @@
# vim: set filetype=yaml.ansible :
---
# create all the facts used throughout the role, but shouldn't be touched
# by the user
- name: Set facts based on use_local == true
when:
- use_local
ansible.builtin.set_fact:
paths: "{{ local_paths }}"
archive_become: false
path_prefix: "{{ lookup(ansible.builtin.env, 'HOME') }}/.local"
flatpak_method: user
- name: Set facts based on use_local == false
when:
- not use_local
ansible.builtin.set_fact:
paths: "{{ sys_paths }}"
archive_become: true
path_prefix: "{{ defaults.path.prefix }}"
flatpak_method: system
- name: Set macOS specific facts
when:
- ansible_system == 'Darwin'
block:
- name: Set homebrew bin path
ansible.builtin.set_fact:
homebrew_bin: "/opt/homebrew/bin"
- name: Set other macOS facts
ansible.builtin.set_fact:
dobecome: "{{ not use_local }}"
pipx_exec: "{{ homebrew_bin }}/pipx"
sys_pkg_become: false
- name: Set Linux specific facts
when:
- ansible_system == 'Linux'
block:
- name: Set Linux facts
ansible.builtin.set_fact:
dobecome: "{{ not use_local }}"
sys_pkg_become: true
- name: Set paths
ansible.builtin.set_fact:
paths:
appimage: "{{ appimage_path | default(path_prefix ~ defaults.path.suffix.appimage) }}"
archive: "{{ archive_path | default(path_prefix ~ defaults.path.suffix.archive) }}"
bin: "{{ bin_path | default(path_prefix ~ defaults.path.suffix.bin) }}"
cargo: "{{ cargo_path | default(path_prefix ~ defaults.path.suffix.cargo) }}"
go: "{{ goroot | default(path_prefix ~ defaults.path.suffix.go) }}"
pipx: "{{ pipx_path | default(path_prefix ~ defaults.path.suffix.pipx) }}"
- name: Set installation facts
ansible.builtin.set_fact:
bin_dir: "{{ paths.install }}/bin"
state_dir: "{{ paths.install }}/state"
# repositories
brew_taps: [] # homebrew taps
flatpak_remotes: # flatpak remotes, includes flathub by default
- name: flathub
url: https://dl.flathub.org/repo/flathub.flatpakrepo
# install lists
app_images: [] # app_images to install
archive_pkgs: [] # packages installed via prebuilt archive
cargo_pkgs: [] # rust packages from cargo
cask_pkgs: [] # homebrew casks
flatpaks: [] # flatpaks
@@ -30,39 +67,16 @@
src_pkgs: [] # packages built from source
sys_pkgs: [] # system package manager packages
tap_pkgs: [] # homebrew tap packages
brew_taps: [] # homebrew taps
flatpak_remotes: # flatpak remotes, includes flathub by default
- name: flathub
url: https://dl.flathub.org/repo/flathub.flatpakrepo
- name: Set macOS specific facts
when:
- ansible_system == 'Darwin'
block:
- name: Set pipx executable
ansible.builtin.set_fact:
pipx_exec: /opt/homebrew/bin/pipx
- name: Set sys_pkg_become to false for homebrew
ansible.builtin.set_fact:
sys_pkg_become: false
- name: Set Linux specific facts
when:
- ansible_system == 'Linux'
block:
- name: Set Linux facts
ansible.builtin.set_fact:
sys_pkg_become: true
- name: Ensure required paths exist
become: "{{ not use_local }}"
loop: "{{ paths + [bin_dir, state_dir] }}"
become: "{{ dobecome }}"
loop: "{{ paths | dict2items }}"
loop_control:
loop_var: path
ansible.builtin.file:
state: directory
mode: '0755'
path: "{{ path }}"
path: "{{ path.value }}"
- name: Read default package configuration
ansible.builtin.include_vars:
@@ -144,12 +158,10 @@
- name: Install flatpaks on Linux Systems
when:
- ansible_system == 'Linux'
- flatpaks|length > 0
block:
- name: Add flatpak repos
when:
- flatpak_remotes|length > 0
- flatpaks|length > 0
become: "{{ not use_local }}"
loop: "{{ flatpak_remotes | unique }}"
loop_control:
@@ -166,61 +178,62 @@
loop: "{{ flatpaks | unique }}"
loop_control:
loop_var: flatpak
when:
- flatpaks|length > 0
community.general.flatpak:
state: latest
method: "{{ flatpak_method }}"
name: "{{ flatpak.name }}"
remote: "{{ flatpak.remote | default('flathub') }}"
- name: Ensure prefix/bin exists
ansible.builtin.file:
state: directory
path: "{{ paths.install }}/bin"
owner: root
mode: '0755'
become: true
- name: Install archive_pkgs
when:
- archive_pkgs|length > 0
loop: "{{ archive_pkgs }}"
loop_control:
loop_var: pkg
ansible.builtin.include_tasks:
file: "archive/{{ pkg }}.yml"
- name: Install src_pkgs
ansible.builtin.include_tasks:
file: "src/{{ src_pkg }}.yml"
when:
- src_pkgs|length > 0
loop: "{{ src_pkgs | unique }}"
loop_control:
loop_var: src_pkg
when: src_pkgs|length > 0
loop_var: pkg
ansible.builtin.include_tasks:
file: "src/{{ pkg }}.yml"
- name: Install cargo packages at specific version
- name: Install cargo packages
when:
- cargo_pkgs|length > 0
become: "{{ not use_local }}"
loop: "{{ cargo_pkgs | unique }}"
loop_control:
loop_var: cargo_pkg
loop_var: pkg
community.general.cargo:
name: "{{ cargo_pkg.cargo.pkg }}"
version: "{{ cargo_pkg.ver }}"
name: "{{ pkg.cargo.pkg }}"
version: "{{ pkg.ver }}"
path: "{{ paths.cargo }}"
locked: "{{ cargo_pkg.cargo.locked }}"
locked: "{{ pkg.cargo.locked }}"
- name: Install local go packages
- name: Install go packages
when:
- go_pkgs|length > 0
loop: "{{ go_pkgs | unique }}"
loop_control:
loop_var: go_pkg
loop_var: pkg
environment:
GOROOT: "{{ paths.install }}/go"
PATH: "{{ paths.install }}/go/bin:$PATH"
ansible.builtin.command:
cmd: "go install {{ go_pkg }}"
# TODO: figure out how to check if the go_pkg is already installed
GOBIN: "{{ paths.bin }}"
PATH: "{{ paths.go }}/bin:$PATH"
ansible.builtin.include_tasks:
file: go.yml
- name: Install local npm packages
when:
- npm_pkgs|length > 0
become: "{{ archive_become }}"
loop: "{{ npm_pkgs | unique }}"
loop_control:
loop_var: npm_pkg
when: npm_pkgs|length > 0
community.general.npm:
global: true
name: "{{ npm_pkg }}"

0
tasks/pipx.yml Normal file
View File

View File

@@ -4,4 +4,4 @@
notify:
- Depend go
ansible.builtin.set_fact:
go_pkgs: "{{ go_pkgs + [air.pkg] }}"
go_pkgs: "{{ go_pkgs + [air] }}"

View File

@@ -1,5 +1,13 @@
# vim: set filetype=yaml.ansible :
---
- name: Append to pkgs
- name: Install from archive
when:
- prefer_archive
ansible.builtin.set_fact:
src_pkgs: "{{ src_pkgs + ['go'] }}"
archive_pkgs: "{{ archive_pkgs + ['go'] }}"
- name: Append to pkgs
when:
- not prefer_archive
ansible.builtin.set_fact:
sys_pkgs: "{{ src_pkgs + ['go'] }}"

View File

@@ -1,8 +1,5 @@
# vim: set filetype=yaml.ansible :
---
- ansible.builtin.set_fact:
nodejs: true
- name: append to pkgs
- name: Append to pkgs
ansible.builtin.set_fact:
syspkgs: "{{ syspkgs + pkgconfig.nodejs.pkgs[ansible_system] }}"

0
tasks/system.yml Normal file
View File

View File

@@ -5,319 +5,22 @@ use_local: true
prefer_method: system
packages: [] # list of packages to install
user_home: "{{ lookup(ansible.builtin.env, 'HOME') }}"
defaults:
path:
prefix: "/usr/local"
suffix:
appimage: "/appimage" # keep appimages here
archive: "/archive" # extract archives here
bin: "/bin" # installation prefix. Binaries are placed in `{{ install }}/bin`
cargo: "/cargo" # cargo install location
go: "/go" # GOROOT
pipx: "/pipx" # where pipx environments are installed (venvs). They are symlinked to `bin`
local_paths: # all localpaths are prefixed with the users "{{ user_home }} directory
appimage: "{{ user_home }}/.local/appimage" # keep appimages here
archive: "{{ user_home }}/.local/archive" # extract archives here
cache: "{{ user_home }}/.cache" # cache downloads here
cargo: "{{ user_home }}/.cargo" # cargo install location
install: "{{ user_home }}/.local" # installation prefix. Binaries are placed in `{{ install }}/bin`
sys_paths: # if installing at a system level (default)
appimage: /opt/appimage # appimages are installed to {{ apimage_install_prefix }}/<name>/
archive: /opt/archive # pre-compiled archives are extracted to {{ archive_install_prefix }}/
cache: /opt/archive/.cache # download archives here
cargo: /opt/cargo # cargo install location
install: /usr/local # executables get linked to {{ default_install_prefix }}/bin
pkgconfig:
neovide:
git_repo: https://github.com/neovide/neovide.git
build_deps:
RedHat:
- fontconfig-devel
- freetype-devel
- libX11-xcb
- libX11-devel
- libstdc++-static
- libstdc++-devel
- "@Development Tools"
- "@Development Libraries"
Debian:
- fontconfig-devel
- freetype-devel
- libX11-xcb
- libX11-devel
- libstdc++-static
- libstdc++-devel
- "@Development Tools"
- "@Development Libraries"
neovim:
git_repo: https://github.com/neovim/neovim
appimage_url_pfx: https://github.com/neovim/neovim/releases/download
nerdfonts:
fonts:
0xProto:
brew: font-0xproto-nerd-font
"3270":
brew: font-3270-nerd-font
Agave:
brew: font-agave-nerd-font
AnonymousPro:
brew: font-anonymice-nerd-font
Arimo:
brew: font-arimo-nerd-font
AurulentSansMono:
brew: font-aurulent-sans-mono-nerd-font
BigBlueTerminal:
brew: font-bigblue-terminal-nerd-font
BitstreamVeraSansMono:
brew: font-bitstream-vera-sans-mono-nerd-font
IBMPlexMono:
brew: font-blex-mono-nerd-font
CascadiaCode:
brew: font-caskaydia-cove-nerd-font
CascadiaMono:
brew: font-caskaydia-mono-nerd-font
CodeNewRoman:
brew: font-code-new-roman-nerd-font
ComicShannsMono:
brew: font-comic-shanns-mono-nerd-font
CommitMono:
brew: font-commit-mono-nerd-font
Cousine:
brew: font-cousine-nerd-font
D2Coding:
brew: font-d2coding-nerd-font
DaddyTimeMono:
brew: font-daddy-time-mono-nerd-font
DejaVuSansMono:
brew: font-dejavu-sans-mono-nerd-font
DepartureMono:
brew: font-departure-mono-nerd-font
DroidSansMono:
brew: font-droid-sans-mono-nerd-font
EnvyCodeR:
brew: font-envy-code-r-nerd-font
FantasqueSansMono:
brew: font-fantasque-sans-mono-nerd-font
FiraCode:
brew: font-fira-code-nerd-font
FiraMono:
brew: font-fira-mono-nerd-font
GeistMono:
brew: font-geist-mono-nerd-font
Go-Mono:
brew: font-go-mono-nerd-font
Gohu:
brew: font-gohufont-nerd-font
Hack:
brew: font-hack-nerd-font
Hasklig:
brew: font-hasklug-nerd-font
HeavyData:
brew: font-heavy-data-nerd-font
Hermit:
brew: font-hurmit-nerd-font
IA-Writer:
brew: font-im-writing-nerd-font
InconsolataGo:
brew: font-inconsolata-go-nerd-font
InconsolataLGC:
brew: font-inconsolata-lgc-nerd-font
Inconsolata:
brew: font-inconsolata-nerd-font
IntelOneMono:
brew: font-intone-mono-nerd-font
Iosevka:
brew: font-iosevka-nerd-font
IosevkaTerm:
brew: font-iosevka-term-nerd-font
IosevkaTermSlab:
brew: font-iosevka-term-slab-nerd-font
JetBrainsMono:
brew: font-jetbrains-mono-nerd-font
Lekton:
brew: font-lekton-nerd-font
LiberationMono:
brew: font-liberation-nerd-font
Lilex:
brew: font-lilex-nerd-font
MPlus:
brew: font-m+-nerd-font
MartianMono:
brew: font-martian-mono-nerd-font
Meslo:
brew: font-meslo-lg-nerd-font
Monaspace:
brew: font-monaspace-nerd-font
Monofur:
brew: font-monofur-nerd-font
Mononoki:
brew: font-mononoki-nerd-font
Monoid:
brew: font-monoid-nerd-font
NerdFontsSymbolsOnly:
brew: font-symbols-only-nerd-font
Noto:
brew: font-noto-nerd-font
OpenDyslexic:
brew: font-open-dyslexic-nerd-font
Overpass:
brew: font-overpass-nerd-font
ProFont:
brew: font-profont-nerd-font
ProggyClean:
brew: font-proggy-clean-tt-nerd-font
Recursive:
brew: font-recursive-mono-nerd-font
RobotoMono:
brew: font-roboto-mono-nerd-font
SourceCodePro:
brew: font-sauce-code-pro-nerd-font
ShareTechMono:
brew: font-shure-tech-mono-nerd-font
SpaceMono:
brew: font-space-mono-nerd-font
Terminus:
brew: font-terminess-ttf-nerd-font
Tinos:
brew: font-tinos-nerd-font
UbuntuMono:
brew: font-ubuntu-mono-nerd-font
Ubuntu:
brew: font-ubuntu-nerd-font
UbuntuSans:
brew: font-ubuntu-sans-nerd-font
VictorMono:
brew: font-victor-mono-nerd-font
ZedMono:
brew: font-zed-mono-nerd-font
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download
nodejs:
pkgs:
Darwin:
- node
Linux:
- nodejs
- npm
nomad:
Linux: nomad
Darwin: hashicorp/tap/nomad
nushell:
build_deps:
Darwin:
- openssl
- cmake
Debian:
- pkg-config
- libssl-dev
- build-essential
RedHat:
- libxcb
- openssl-devel
- libX11-devel
nupkgs_extra: []
nupkgs_common:
- nu
- nu_plugin_compress
- nu_plugin_desktop_notifications
- nu_plugin_dns
- nu_plugin_file_dialog
- nu_plugin_formats
- nu_plugin_gstat
- nu_plugin_hashes
- nu_plugin_hcl
- nu_plugin_highlight
- nu_plugin_inc
- nu_plugin_json_path
- nu_plugin_net
- nu_plugin_polars
- nu_plugin_query
- nu_plugin_selector
pkgs:
Darwin:
- nu_plugin_plist
Debian: []
RedHat:
- nu_plugin_rpm
packer:
Linux: packer
Darwin: packer
python3:
pkgs:
Darwin:
- python3
Linux:
- python3
- python3-pip
rust:
pkgs:
Darwin:
- rust
Linux:
- rustc
- cargo
tailscale:
url_base: https://pkgs.tailscale.com/stable
release:
bookworm:
gpg: bookworm.noarmor.gpg
list: bookworm.tailscale-keyring.list
bullseye:
gpg: bullseye.noarmor.gpg
list: bullseye.tailscale-keyring.list
buster:
gpg: buster.gpg
list: buster.list
stretch:
gpg: stretch.gpg
list: stretch.list
terraform:
Linux: terraform
Darwin: hashicorp/tap/terraform
terraformls:
Linux: terraform-ls
Darwin: hashicorp/tap/terraform-ls
terrarepo:
repo: https://terra.fyralabs.com/terra.repo
tidy:
pkgs:
Darwin:
- tidy-html5
Linux:
- tidy
vault:
Linux: vault
Darwin: hashicorp/tap/vault
zfs:
repo_base: https://zfsonlinux.org
gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2
gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141
fedora:
release: 2-6
epel:
release: 2-3
pkgs:
RedHat:
- zfs
Debian:
- zfs-dkms
- zfsutils-linux
build_deps:
RedHat:
- kernel-devel
- epel-release
Debian:
- dpkg-dev
- linux-headers-generic
- linux-image-generic
zig:
base_url: https://ziglang.org/download
sysmap:
Darwin: macos
Linux: linux
archmap:
aarch64: aarch64
arm64: aarch64
x86_64: x86_64
zls:
base_url: https://builds.zigtools.org
sysmap:
Darwin: macos
Linux: linux
archmap:
aarch64: aarch64
arm64: aarch64
x86_64: x86_64
# paths resolve to either $HOME/.local as the prefix, or /usr/local
# all created paths are named:
# - paths.appimage: $PREFIX/appimage
# - paths.archive: $PREFIX/archive
# - paths.bin: $PREFIX/bin
# - paths.cargo: $PREFIX/cargo
# - paths.go: $PREFIX/go
# - paths.pipx: $PREFIX/pipx

View File

@@ -1,3 +1,4 @@
air:
version: latest
git_repo: github.com/air-verse/air
mod_path: github.com/air-verse/air
bin: air

21
vars/pkgs/neovide.yml Normal file
View File

@@ -0,0 +1,21 @@
neovide:
git_repo: https://github.com/neovide/neovide.git
build_deps:
RedHat:
- fontconfig-devel
- freetype-devel
- libX11-xcb
- libX11-devel
- libstdc++-static
- libstdc++-devel
- "@Development Tools"
- "@Development Libraries"
Debian:
- fontconfig-devel
- freetype-devel
- libX11-xcb
- libX11-devel
- libstdc++-static
- libstdc++-devel
- "@Development Tools"
- "@Development Libraries"

3
vars/pkgs/neovim.yml Normal file
View File

@@ -0,0 +1,3 @@
neovim:
git_repo: https://github.com/neovim/neovim
appimage_url_pfx: https://github.com/neovim/neovim/releases/download

139
vars/pkgs/nerdfonts.yml Normal file
View File

@@ -0,0 +1,139 @@
nerdfonts:
fonts:
0xProto:
brew: font-0xproto-nerd-font
"3270":
brew: font-3270-nerd-font
Agave:
brew: font-agave-nerd-font
AnonymousPro:
brew: font-anonymice-nerd-font
Arimo:
brew: font-arimo-nerd-font
AurulentSansMono:
brew: font-aurulent-sans-mono-nerd-font
BigBlueTerminal:
brew: font-bigblue-terminal-nerd-font
BitstreamVeraSansMono:
brew: font-bitstream-vera-sans-mono-nerd-font
IBMPlexMono:
brew: font-blex-mono-nerd-font
CascadiaCode:
brew: font-caskaydia-cove-nerd-font
CascadiaMono:
brew: font-caskaydia-mono-nerd-font
CodeNewRoman:
brew: font-code-new-roman-nerd-font
ComicShannsMono:
brew: font-comic-shanns-mono-nerd-font
CommitMono:
brew: font-commit-mono-nerd-font
Cousine:
brew: font-cousine-nerd-font
D2Coding:
brew: font-d2coding-nerd-font
DaddyTimeMono:
brew: font-daddy-time-mono-nerd-font
DejaVuSansMono:
brew: font-dejavu-sans-mono-nerd-font
DepartureMono:
brew: font-departure-mono-nerd-font
DroidSansMono:
brew: font-droid-sans-mono-nerd-font
EnvyCodeR:
brew: font-envy-code-r-nerd-font
FantasqueSansMono:
brew: font-fantasque-sans-mono-nerd-font
FiraCode:
brew: font-fira-code-nerd-font
FiraMono:
brew: font-fira-mono-nerd-font
GeistMono:
brew: font-geist-mono-nerd-font
Go-Mono:
brew: font-go-mono-nerd-font
Gohu:
brew: font-gohufont-nerd-font
Hack:
brew: font-hack-nerd-font
Hasklig:
brew: font-hasklug-nerd-font
HeavyData:
brew: font-heavy-data-nerd-font
Hermit:
brew: font-hurmit-nerd-font
IA-Writer:
brew: font-im-writing-nerd-font
InconsolataGo:
brew: font-inconsolata-go-nerd-font
InconsolataLGC:
brew: font-inconsolata-lgc-nerd-font
Inconsolata:
brew: font-inconsolata-nerd-font
IntelOneMono:
brew: font-intone-mono-nerd-font
Iosevka:
brew: font-iosevka-nerd-font
IosevkaTerm:
brew: font-iosevka-term-nerd-font
IosevkaTermSlab:
brew: font-iosevka-term-slab-nerd-font
JetBrainsMono:
brew: font-jetbrains-mono-nerd-font
Lekton:
brew: font-lekton-nerd-font
LiberationMono:
brew: font-liberation-nerd-font
Lilex:
brew: font-lilex-nerd-font
MPlus:
brew: font-m+-nerd-font
MartianMono:
brew: font-martian-mono-nerd-font
Meslo:
brew: font-meslo-lg-nerd-font
Monaspace:
brew: font-monaspace-nerd-font
Monofur:
brew: font-monofur-nerd-font
Mononoki:
brew: font-mononoki-nerd-font
Monoid:
brew: font-monoid-nerd-font
NerdFontsSymbolsOnly:
brew: font-symbols-only-nerd-font
Noto:
brew: font-noto-nerd-font
OpenDyslexic:
brew: font-open-dyslexic-nerd-font
Overpass:
brew: font-overpass-nerd-font
ProFont:
brew: font-profont-nerd-font
ProggyClean:
brew: font-proggy-clean-tt-nerd-font
Recursive:
brew: font-recursive-mono-nerd-font
RobotoMono:
brew: font-roboto-mono-nerd-font
SourceCodePro:
brew: font-sauce-code-pro-nerd-font
ShareTechMono:
brew: font-shure-tech-mono-nerd-font
SpaceMono:
brew: font-space-mono-nerd-font
Terminus:
brew: font-terminess-ttf-nerd-font
Tinos:
brew: font-tinos-nerd-font
UbuntuMono:
brew: font-ubuntu-mono-nerd-font
Ubuntu:
brew: font-ubuntu-nerd-font
UbuntuSans:
brew: font-ubuntu-sans-nerd-font
VictorMono:
brew: font-victor-mono-nerd-font
ZedMono:
brew: font-zed-mono-nerd-font
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download

7
vars/pkgs/nodejs.yml Normal file
View File

@@ -0,0 +1,7 @@
nodejs:
pkgs:
Darwin:
- node
Linux:
- nodejs
- npm

3
vars/pkgs/nomad.yml Normal file
View File

@@ -0,0 +1,3 @@
nomad:
Linux: nomad
Darwin: hashicorp/tap/nomad

37
vars/pkgs/nushell.yml Normal file
View File

@@ -0,0 +1,37 @@
nushell:
build_deps:
Darwin:
- openssl
- cmake
Debian:
- pkg-config
- libssl-dev
- build-essential
RedHat:
- libxcb
- openssl-devel
- libX11-devel
nupkgs_extra: []
nupkgs_common:
- nu
- nu_plugin_compress
- nu_plugin_desktop_notifications
- nu_plugin_dns
- nu_plugin_file_dialog
- nu_plugin_formats
- nu_plugin_gstat
- nu_plugin_hashes
- nu_plugin_hcl
- nu_plugin_highlight
- nu_plugin_inc
- nu_plugin_json_path
- nu_plugin_net
- nu_plugin_polars
- nu_plugin_query
- nu_plugin_selector
pkgs:
Darwin:
- nu_plugin_plist
Debian: []
RedHat:
- nu_plugin_rpm

3
vars/pkgs/packer.yml Normal file
View File

@@ -0,0 +1,3 @@
packer:
Linux: packer
Darwin: packer

7
vars/pkgs/python3.yml Normal file
View File

@@ -0,0 +1,7 @@
python3:
pkgs:
Darwin:
- python3
Linux:
- python3
- python3-pip

7
vars/pkgs/rust.yml Normal file
View File

@@ -0,0 +1,7 @@
rust:
pkgs:
Darwin:
- rust
Linux:
- rustc
- cargo

15
vars/pkgs/tailscale.yml Normal file
View File

@@ -0,0 +1,15 @@
tailscale:
url_base: https://pkgs.tailscale.com/stable
release:
bookworm:
gpg: bookworm.noarmor.gpg
list: bookworm.tailscale-keyring.list
bullseye:
gpg: bullseye.noarmor.gpg
list: bullseye.tailscale-keyring.list
buster:
gpg: buster.gpg
list: buster.list
stretch:
gpg: stretch.gpg
list: stretch.list

3
vars/pkgs/terraform.yml Normal file
View File

@@ -0,0 +1,3 @@
terraform:
Linux: terraform
Darwin: hashicorp/tap/terraform

View File

@@ -0,0 +1,3 @@
terraformls:
Linux: terraform-ls
Darwin: hashicorp/tap/terraform-ls

2
vars/pkgs/terrarepo.yml Normal file
View File

@@ -0,0 +1,2 @@
terrarepo:
repo: https://terra.fyralabs.com/terra.repo

6
vars/pkgs/tidy.yml Normal file
View File

@@ -0,0 +1,6 @@
tidy:
pkgs:
Darwin:
- tidy-html5
Linux:
- tidy

3
vars/pkgs/vault.yml Normal file
View File

@@ -0,0 +1,3 @@
vault:
Linux: vault
Darwin: hashicorp/tap/vault

22
vars/pkgs/zfs.yml Normal file
View File

@@ -0,0 +1,22 @@
zfs:
repo_base: https://zfsonlinux.org
gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2
gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141
fedora:
release: 2-6
epel:
release: 2-3
pkgs:
RedHat:
- zfs
Debian:
- zfs-dkms
- zfsutils-linux
build_deps:
RedHat:
- kernel-devel
- epel-release
Debian:
- dpkg-dev
- linux-headers-generic
- linux-image-generic

9
vars/pkgs/zig.yml Normal file
View File

@@ -0,0 +1,9 @@
zig:
base_url: https://ziglang.org/download
sysmap:
Darwin: macos
Linux: linux
archmap:
aarch64: aarch64
arm64: aarch64
x86_64: x86_64

9
vars/pkgs/zls.yml Normal file
View File

@@ -0,0 +1,9 @@
zls:
base_url: https://builds.zigtools.org
sysmap:
Darwin: macos
Linux: linux
archmap:
aarch64: aarch64
arm64: aarch64
x86_64: x86_64