131 lines
3.9 KiB
YAML
131 lines
3.9 KiB
YAML
---
|
|
- name: '[apt] verify components of default sources'
|
|
become: true
|
|
block:
|
|
- name: '[apt] default source.list'
|
|
ansible.builtin.replace:
|
|
path: '/etc/apt/sources.list'
|
|
regexp: '^(deb((?!{{ item }}).)+)$'
|
|
replace: '\1 {{ item }}'
|
|
loop: '{{ common_apt_source_components }}'
|
|
when: common_apt_use_deb822_format is falsy
|
|
- name: '[apt] default deb822 debian.sources'
|
|
ansible.builtin.replace:
|
|
path: '/etc/apt/sources.list.d/debian.sources'
|
|
regexp: '^(Components: ((?!{{ item }}).)+)$'
|
|
replace: '\1 {{ item }}'
|
|
loop: '{{ common_apt_source_components }}'
|
|
when: common_apt_use_deb822_format is truthy
|
|
|
|
- name: '[apt] install dependencies and tools'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 0
|
|
pkg:
|
|
- acl
|
|
- apt-transport-https
|
|
- alpine
|
|
- bzip2
|
|
- catimg
|
|
- cron
|
|
- curl
|
|
- dateutils
|
|
- emacs-nox
|
|
- firmware-misc-nonfree
|
|
- firmware-linux-nonfree
|
|
- git
|
|
- iotop
|
|
- ioping
|
|
- jq
|
|
- knot-dnsutils
|
|
- less
|
|
- libdata-dump-perl # inxi
|
|
- libxml-dumper-perl # inxi
|
|
- lm-sensors
|
|
- ncdu
|
|
- nvme-cli
|
|
- procps
|
|
- python3-pygments
|
|
- rsync
|
|
- smartmontools
|
|
- tree
|
|
- xz-utils
|
|
state: present
|
|
|
|
- name: 'install firmware management tools'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 0
|
|
pkg:
|
|
- fwupd
|
|
- gir1.2-fwupd-2.0 # fwupd
|
|
when: common_install_firmware_tools
|
|
|
|
- name: '[github] install tools'
|
|
become: true
|
|
nullified.infrastructure.github_artifact:
|
|
asset_name: "{{ item.asset_name | default('') }}"
|
|
asset_type: "{{ item.asset_type }}"
|
|
cmds: "{{ item.cmds | default([]) }}"
|
|
creates: "{{ item.creates | default('') }}"
|
|
github_token: "{{ common_github_token }}"
|
|
repository: "{{ item.repository }}"
|
|
version: "{{ item.version | default('') }}"
|
|
loop:
|
|
- repository: smxi/inxi
|
|
asset_type: tag
|
|
cmds:
|
|
- tar -zxf {asset_dirname}/{asset_filename}
|
|
- install --group=root --mode=755 --owner=root smxi-inxi-*/inxi /usr/local/bin
|
|
- install --group=root --mode=644 --owner=root smxi-inxi-*/inxi.1 /usr/share/man/man1
|
|
creates: /usr/local/bin/inxi
|
|
- repository: sharkdp/bat
|
|
asset_name: bat_{version}_amd64.deb
|
|
asset_type: release
|
|
creates: /usr/bin/bat
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- repository: aristocratos/btop
|
|
asset_name: btop-x86_64-linux-musl.tbz
|
|
asset_type: release
|
|
creates: /usr/bin/btop
|
|
cmds:
|
|
- tar -xjf {asset_dirname}/{asset_filename}
|
|
- install --group=root --mode=755 --owner=root btop/bin/btop /usr/bin
|
|
- mkdir /usr/share/btop || true
|
|
- cp -pr btop/themes /usr/share/btop
|
|
- repository: eza-community/eza
|
|
asset_name: eza_x86_64-unknown-linux-gnu.tar.gz
|
|
asset_type: release
|
|
creates: /usr/bin/eza
|
|
cmds:
|
|
- tar -zxf {asset_dirname}/{asset_filename}
|
|
- install --group=root --mode=755 --owner=root eza /usr/bin
|
|
- repository: muesli/duf
|
|
asset_name: duf_{version}_linux_amd64.deb
|
|
asset_type: release
|
|
creates: /usr/bin/duf
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- repository: mikefarah/yq
|
|
asset_name: yq_linux_amd64
|
|
asset_type: release
|
|
creates: /usr/local/bin/yq
|
|
cmds:
|
|
- install --group=root --mode=755 --owner=root {asset_dirname}/{asset_filename} /usr/local/bin
|
|
|
|
- name: '[apt] install custom packages'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 3600
|
|
pkg: "{{ common_apt_packages }}"
|
|
|
|
- include_tasks: home_setup.yml
|
|
|
|
- include_tasks: shell_customization.yml
|