fixing packages for new style
This commit is contained in:
29
tasks/archive/nerdfonts.yml
Normal file
29
tasks/archive/nerdfonts.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: Linux installation
|
||||
when: ansible_system == 'Linux'
|
||||
block:
|
||||
- name: Create nerdfonts directories
|
||||
become: "{{ ext_become }}"
|
||||
loop: "{{ nerdfonts.fonts }}"
|
||||
loop_control:
|
||||
loop_var: font
|
||||
register: nerdfont_result
|
||||
ansible.builtin.file:
|
||||
path: "{{ nerdfonts.install_path }}/{{ font }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Download and extract nerdfonts
|
||||
when:
|
||||
- nerdfont_result is changed or
|
||||
nerdfonts.force_install
|
||||
become: "{{ ext_become }}"
|
||||
loop: "{{ nerdfonts.fonts }}"
|
||||
loop_control:
|
||||
loop_var: font
|
||||
ansible.builtin.unarchive:
|
||||
creates: "{{ nerdfonts.install_path }}/{{ font }}/README.md"
|
||||
src: "{{ nerdfonts.base_url }}/{{ font }}.tar.xz"
|
||||
dest: "{{ nerdfonts.install_path }}/{{ font }}"
|
||||
remote_src: true
|
||||
@@ -1,7 +1,12 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
install_prefix: "{{ default_install_prefix }}"
|
||||
install_method: flatpak
|
||||
dobecome: true
|
||||
owner: root
|
||||
group: root
|
||||
- name: Set bitwarden install method
|
||||
ansible.builtin.set_fact:
|
||||
bw:
|
||||
method: "{{ pkgconfig.bitwarden.method[ansible_distribution] | default('appimage') }}"
|
||||
|
||||
- name: Set bitwarden config
|
||||
ansible.builtin.set_fact:
|
||||
bw:
|
||||
pkg: "{{ pkgconfig.bitwarden[bw.method] }}"
|
||||
method: "{{ bw.method }}"
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
install:
|
||||
- name: Set facts for nerdfonts
|
||||
ansible.builtin.set_fact:
|
||||
nerdfonts:
|
||||
fonts:
|
||||
- CascadiaCode
|
||||
- FiraCode
|
||||
- Hasklig
|
||||
- Lilex
|
||||
- Monoid
|
||||
- NerdFontsSymbolsOnly
|
||||
system_install: false
|
||||
install_path: "{{ path_prefix }}/{{ pkgconfig.nerdfonts.path }}"
|
||||
base_url: "{{ pkgconfig.nerdfonts.base_url }}"
|
||||
force_install: "{{ pkgconfig.force_install_nerdfonts | default(false) }}"
|
||||
|
||||
24
tasks/config/zfs.yml
Normal file
24
tasks/config/zfs.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
- name: Set zfs facts for RedHat based distros
|
||||
when:
|
||||
- ansible_os_family == 'RedHat'
|
||||
block:
|
||||
- name: Set distro name
|
||||
ansible.builtin.set_fact:
|
||||
rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}"
|
||||
|
||||
- name: Get rpm_dist for RedHat
|
||||
changed_when: false
|
||||
register: rpm_dist
|
||||
ansible.builtin.command: # is there a better way to get this?
|
||||
cmd: rpm --eval "%{dist}"
|
||||
|
||||
- name: Set ZFS config
|
||||
ansible.builtin.set_fact:
|
||||
zfs:
|
||||
repo_pkg: "{{ pkgconfig.zfs.repo_base }}/{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm"
|
||||
deps: "{{ pkgconfig.zfs.build_deps[ansible_os_family] }}"
|
||||
pkgs: "{{ pkgconfig.zfs.pkgs[ansible_os_family] }}"
|
||||
release: "{{ ansible_distribution_release }}"
|
||||
gpg_key: "{{ pkgconfig.zfs.gpg_key }}"
|
||||
gpg_fp: "{{ pkgconfig.zfs.gpg_key_fingerprint }}"
|
||||
@@ -2,31 +2,31 @@
|
||||
---
|
||||
- name: Set facts for installation
|
||||
ansible.builtin.set_fact:
|
||||
ext_become: "{{ not use_local }}" # if use_local is true, don't use sudo for external packages
|
||||
path_prefix: "{% if use_local %}{{ lookup(ansible.builtin.env, 'HOME') }}{% else %}{{ defaults.path.prefix }}{% endif %}"
|
||||
ext_become: "{{ not use_local }}"
|
||||
path_prefix: "{% if use_local %}{{ lookup('ansible.builtin.env', 'HOME') }}/.local{% else %}{{ defaults.path.prefix }}{% endif %}"
|
||||
|
||||
- name: Set Linux specific facts
|
||||
when:
|
||||
- ansible_system == 'Linux'
|
||||
ansible.builtin.set_fact:
|
||||
app_images: [] # app_images to install
|
||||
flatpak_method: "{% if use_local %}user{% else %}system{% endif %}"
|
||||
flatpak_remotes: # flatpak remotes, includes flathub by default
|
||||
flatpak_remote: # flatpak remotes, includes flathub by default
|
||||
- name: flathub
|
||||
url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
flatpaks: [] # flatpak packages to install
|
||||
snap_pkgs: [] # snpacraft.io packages
|
||||
flatpak_method: "{% if use_local %}user{% else %}system{% endif %}"
|
||||
pkg_appimage: [] # app_images to install
|
||||
pkg_flatpak: [] # flatpak packages to install
|
||||
pkg_snap: [] # snpacraft.io packages
|
||||
sys_pkg_become: true # Linux package managers require sudo access
|
||||
|
||||
- name: Set macOS specific facts
|
||||
when:
|
||||
- ansible_distribution == 'MacOSX'
|
||||
ansible.builtin.set_fact:
|
||||
brew_taps: [] # homebrew taps to add
|
||||
cask_pkgs: [] # homebrew casks
|
||||
brewtap: [] # homebrew taps to add
|
||||
pipx_exec: "/opt/homebrew/bin/pipx"
|
||||
pkg_cask: [] # homebrew casks
|
||||
pkg_tap: [] # homebrew tap packages
|
||||
sys_pkg_become: false # homebrew doesn't require sudo access
|
||||
tap_pkgs: [] # homebrew tap packages
|
||||
|
||||
- name: Set paths
|
||||
ansible.builtin.set_fact:
|
||||
@@ -40,10 +40,10 @@
|
||||
|
||||
- name: Set OS independant facts
|
||||
ansible.builtin.set_fact:
|
||||
archive_pkgs: [] # packages installed via prebuilt archive
|
||||
cargo_pkgs: [] # rust packages from cargo
|
||||
go_pkgs: [] # go applications
|
||||
npm_pkgs: [] # npm commands
|
||||
pipx_pkgs: [] # pipx packages
|
||||
src_pkgs: [] # packages built from source
|
||||
sys_pkgs: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based
|
||||
pkg_archive: [] # packages installed via prebuilt archive
|
||||
pkg_cargo: [] # rust packages from cargo
|
||||
pkg_go: [] # go applications
|
||||
pkg_npm: [] # npm commands
|
||||
pkg_pipx: [] # pipx packages
|
||||
pkg_src: [] # packages built from source
|
||||
pkg_sys: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based
|
||||
|
||||
@@ -16,3 +16,4 @@
|
||||
- name: Workaround to install homebrew taps
|
||||
ansible.builtin.command:
|
||||
cmd: "brew install {{ (tap_pkgs | unique) | join(' ') }}"
|
||||
changed_when: true
|
||||
|
||||
@@ -83,11 +83,6 @@
|
||||
file: go.yml
|
||||
|
||||
- name: Install local npm packages
|
||||
become: "{% if ansible_system == 'Linux' %}true{% else %}false{% endif %}"
|
||||
community.general.npm:
|
||||
global: true
|
||||
name: "{{ npmpkg }}"
|
||||
state: latest
|
||||
loop: "{{ npmpkgs | unique }}"
|
||||
loop_control:
|
||||
loop_var: pkg
|
||||
|
||||
@@ -1,48 +1,19 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: Read bitwarden configuration
|
||||
ansible.builtin.include_vars:
|
||||
file: bitwarden.yml
|
||||
name: _bitwarden
|
||||
|
||||
- name: Set bitwarden configuration
|
||||
ansible.builtin.set_fact:
|
||||
pkgconfig_bitwarden: "{{ _bitwarden | ansible.builtin.combine(pkgconfig.bitwarden) }}"
|
||||
|
||||
- name: Set bitwarden facts
|
||||
ansible.builtin.set_fact:
|
||||
bw:
|
||||
appimg: "{{ pkgconfig_bitwarden.appimage }}"
|
||||
become: "{{ pkgconfig_bitwarden.dobecome }}"
|
||||
flatpak: "{{ pkgconfig_bitwarden.flatpak }}"
|
||||
group: "{{ pkgconfig_bitwarden.group }}"
|
||||
instdir: "{{ pkgconfig_bitwarden.install_dir }}"
|
||||
instmtd: "{{ pkgconfig_bitwarden.install_method }}"
|
||||
bindir: "{{ pkgconfig_bitwarden.install_prefix }}/bin"
|
||||
owner: "{{ pkgconfig_bitwarden.owner }}"
|
||||
|
||||
- name: Append to flatpkgs
|
||||
when:
|
||||
- ansible_os_family != 'Darwin'
|
||||
- bw.instmtd == 'flatpak'
|
||||
block:
|
||||
- name: Ensure flatpak runtime activated
|
||||
ansible.builtin.include_tasks:
|
||||
file: pkgs/flatpak.yml
|
||||
when: flatpak is undefined
|
||||
|
||||
- name: Append to flatpkgs
|
||||
- bw.method == 'flatpak'
|
||||
ansible.builtin.set_fact:
|
||||
flatpkgs: "{{ flatpkgs + [bw.flatpak] }}"
|
||||
pkg_flatpak: "{{ pkg_flatpak + [bw.pkg] }}"
|
||||
|
||||
- name: Append to srcpkgs
|
||||
when:
|
||||
- ansible_os_family != 'Darwin'
|
||||
- bw.instmtd == 'appimage'
|
||||
- bw.method == 'appimage'
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ appimages + ['bitwarden'] }}"
|
||||
pkg_appimage: "{{ pkg_appimage + [bw.pkg] }}"
|
||||
|
||||
- name: Append to caskpkgs
|
||||
when: ansible_os_family == 'Darwin'
|
||||
when:
|
||||
- bw.method == 'brew'
|
||||
ansible.builtin.set_fact:
|
||||
caskpkgs: "{{ caskpkgs + ['bitwarden'] }}"
|
||||
pkg_cask: "{{ pkg_cask + [bw.pkg.name] }}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: append to syspkgs
|
||||
- name: Append to pkg_sys
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + pkgconfig.fd.pkg[ansible_os_family] }}"
|
||||
pkg_sys: "{{ pkg_sys + pkgconfig.fd.pkg[ansible_os_family] }}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: append to syspkgs
|
||||
- name: Append to pkg_sys
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'hyperfine' ] }}"
|
||||
pkg_sys: "{{ pkg_sys + ['hyperfine'] }}"
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- ansible.builtin.include_vars:
|
||||
file: nerdfonts.yml
|
||||
name: _nerdfonts
|
||||
- ansible.builtin.set_fact:
|
||||
pkgconfig_nerdfonts: "{{ _nerdfonts | ansible.builtin.combine(pkgconfig.nerdfonts) }}"
|
||||
|
||||
- name: append to srcpkgs
|
||||
- name: Append to srcpkgs
|
||||
ansible.builtin.set_fact:
|
||||
srcpkgs: "{{ srcpkgs + [ 'nerdfonts' ] }}"
|
||||
pkg_archive: "{{ pkg_archive + ['nerdfonts'] }}"
|
||||
when: ansible_system == 'Linux'
|
||||
|
||||
- name: append to caskpkgs
|
||||
- name: Append to caskpkgs
|
||||
ansible.builtin.set_fact:
|
||||
caskpkgs: "{{ caskpkgs + [ pkgconfig_nerdfonts.fonts[font].brew ] }}"
|
||||
loop: "{{ pkgconfig_nerdfonts.install }}"
|
||||
pkg_cask: "{{ pkg_cask + [nerdfonts.fonts[font].brew] }}"
|
||||
loop: "{{ nerdfonts.fonts }}"
|
||||
loop_control:
|
||||
loop_var: font
|
||||
when: ansible_system == 'Darwin'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: append to pkgs
|
||||
- name: Append to pkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'stow' ] }}"
|
||||
pkg_sys: "{{ pkg_sys + [ 'stow' ] }}"
|
||||
|
||||
@@ -1,68 +1,55 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: Linux based installation
|
||||
when:
|
||||
- ansible_os_family != 'Darwin'
|
||||
block:
|
||||
- name: RedHat based configuration
|
||||
when:
|
||||
- ansible_os_family == 'RedHat'
|
||||
block:
|
||||
- ansible.builtin.set_fact:
|
||||
rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}"
|
||||
- ansible.builtin.command:
|
||||
cmd: rpm --eval "%{dist}"
|
||||
register: rpm_dist
|
||||
|
||||
- name: add openzfs gpg_key
|
||||
- name: Add openzfs gpg_key
|
||||
become: "{{ sys_pkg_become }}"
|
||||
ansible.builtin.rpm_key:
|
||||
key: "{{ pkgconfig.zfs.gpg_key }}"
|
||||
fingerprint: "{{ pkgconfig.zfs.gpg_key_fingerprint }}"
|
||||
key: "{{ zfs.gpg_key }}"
|
||||
fingerprint: "{{ zfs.gpg_fp }}"
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: enable openzfs repository
|
||||
- name: Enable openzfs repository
|
||||
become: "{{ sys_pkg_become }}"
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ pkgconfig.zfs.repo_base }}{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm"
|
||||
state: "{{ install_state }}"
|
||||
become: true
|
||||
|
||||
- name: install zfs deps
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ pkgconfig.zfs.deps[ansible_os_family] }}"
|
||||
when: ansible_os_family == 'RedHat'
|
||||
name: "{{ zfs.repo_pkg }}"
|
||||
state: present
|
||||
|
||||
- name: Debian configuration
|
||||
when: ansible_os_family == 'Debian'
|
||||
block:
|
||||
- name: enable openzfs repository
|
||||
- name: Enable openzfs repository
|
||||
become: "{{ sys_pkg_become }}"
|
||||
ansible.builtin.apt_repository:
|
||||
repo: |
|
||||
deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib
|
||||
deb-src http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib
|
||||
filename: "{{ ansible_distribution_release }}-backports"
|
||||
deb http://deb.debian.org/debian {{ zfs.release }}-backports main contrib
|
||||
deb-src http://deb.debian.org/debian {{ zfs.release }}-backports main contrib
|
||||
filename: "{{ zfs.release }}-backports"
|
||||
state: present
|
||||
update_cache: false
|
||||
become: true
|
||||
|
||||
- name: pin zfs package to backports
|
||||
- name: Pin zfs package to backports
|
||||
become: "{{ sys_pkg_become }}"
|
||||
ansible.builtin.file:
|
||||
content: |
|
||||
Package: src:zfs-linux
|
||||
Pin: release n={{ ansible_distribution_release }}-backports
|
||||
Pin: release n={{ zfs.release }}-backports
|
||||
Pin-Priority: 990
|
||||
dest: /etc/apt/preferences.d/90_zfs
|
||||
state: present
|
||||
become: true
|
||||
mode: '0644'
|
||||
|
||||
- name: install zfs deps
|
||||
- name: Append to pkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ pkgconfig.zfs.deps[ansible_os_family] }}"
|
||||
become: true
|
||||
pkg_sys: "{{ pkg_sys + zfs.deps + zfs.pkgs }}"
|
||||
|
||||
- name: append to pkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + pkgconfig.zfs.pkgs[ansible_os_family] }}"
|
||||
become: true
|
||||
when: ansible_os_family != 'Darwin'
|
||||
|
||||
- name: append to caskpkgs
|
||||
ansible.builtin.set_fact:
|
||||
caskpkgs: "{{ caskpkgs + [ 'openzfs' ] }}"
|
||||
- name: Append to caskpkgs
|
||||
when: ansible_os_family == 'Darwin'
|
||||
ansible.builtin.set_fact:
|
||||
pkg_cask: "{{ pkg_cask + ['openzfs'] }}"
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
---
|
||||
- name: append to pkgs
|
||||
- name: Append to pkgs
|
||||
ansible.builtin.set_fact:
|
||||
syspkgs: "{{ syspkgs + [ 'zsh' ] }}"
|
||||
when: ansible_os_family != 'Darwin'
|
||||
|
||||
- debug:
|
||||
msg: "macOS already has zsh, skipping"
|
||||
when: ansible_os_family == 'Darwin'
|
||||
pkg_sys: "{{ pkg_sys + ['zsh'] }}"
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
# Install nerdfonts for each platform
|
||||
---
|
||||
- name: linux installation
|
||||
when: ansible_system == 'Linux'
|
||||
block:
|
||||
- name: set install path for non-system installs
|
||||
ansible.builtin.set_fact:
|
||||
nerdfonts_install_path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts"
|
||||
when: not pkgconfig_nerdfonts.system_install
|
||||
|
||||
- name: set install path for system wide installs
|
||||
ansible.builtin.set_fact:
|
||||
nerdfonts_install_path: "/usr/local/share/fonts"
|
||||
when: pkgconfig_nerdfonts.system_install
|
||||
|
||||
- name: create nerdfonts directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ nerdfonts_install_path }}/{{ font }}"
|
||||
state: directory
|
||||
become: "{{ pkgconfig_nerdfonts.system_install }}"
|
||||
loop: "{{ pkgconfig_nerdfonts.install }}"
|
||||
loop_control:
|
||||
loop_var: font
|
||||
register: nerdfont_result
|
||||
|
||||
- name: Download and extract nerdfonts
|
||||
ansible.builtin.unarchive:
|
||||
creates: "{{ nerdfonts_install_path }}/{{ font }}/README.md"
|
||||
src: "{{ pkgconfig_nerdfonts.base_url }}/{{ font }}.tar.xz"
|
||||
dest: "{{ nerdfonts_install_path }}/{{ font }}"
|
||||
remote_src: true
|
||||
when: nerdfont_result is changed
|
||||
become: "{{ pkgconfig_nerdfonts.system_install }}"
|
||||
loop: "{{ pkgconfig_nerdfonts.install }}"
|
||||
loop_control:
|
||||
loop_var: font
|
||||
@@ -5,3 +5,13 @@ bitwarden:
|
||||
appimage:
|
||||
name: bitwarden.appimage
|
||||
url: https://vault.bitwarden.com/download/?app=desktop&platform=linux&variant=appimage
|
||||
snap:
|
||||
name: bitwarden
|
||||
brew:
|
||||
name: bitwarden
|
||||
method:
|
||||
RedHat: appimage
|
||||
Debian: appimage
|
||||
Fedora: flatpak
|
||||
Ubuntu: snap
|
||||
MacOSX: brew
|
||||
|
||||
@@ -137,3 +137,4 @@ nerdfonts:
|
||||
ZedMono:
|
||||
brew: font-zed-mono-nerd-font
|
||||
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download
|
||||
path: share/fonts
|
||||
|
||||
Reference in New Issue
Block a user