Files
ansible/roles/ubuntu/vars/main.yml
Tuan-Dat Tran 39a2925bcd feat(ubuntu): Refactor package installation, streamline GitHub deb installs
- Added 'become_password_file' to 'ansible.cfg' for privilege escalation handling.
- Removed separate installation tasks for 'atuin', 'eurkey', 'ghostty', 'git-delta', 'ripgrep', 'starship', 'veracrypt', and 'pacstall', consolidating them into 'curl.yml' and 'git_deb.yml'.
- Introduced 'git_deb.yml' for handling GitHub '.deb' installations dynamically using 'github_deb' variable.
- Improved error handling and pipe safety in curl-based installations ('set -o pipefail').
- Set proper permissions ('mode: 0600') for downloaded files in 'remove_ubuntu_banner.yml' and 'fira_code_fonts.yml'.
- Refactored 'github_releases.yml' to allow optional 'v' prefix handling in 'tag_name'.
- Updated 'main.yml' to remove redundant installations and streamline execution.
- Defined 'github_deb' list in 'vars/main.yml' to manage '.deb' package downloads dynamically.

These changes enhance maintainability, reduce redundancy, and improve package installation flexibility.

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-02-17 18:19:08 +01:00

118 lines
2.8 KiB
YAML

apt_dependencies:
- ansible
- bat
- build-essential
- cmake
- curl
- doxygen
- eza
- fd-find
- file
- fzf
- gcc
- gettext
- git
- libarchive-tools
- libayatana-appindicator3-dev
- libboost-date-time-dev
- libboost-dev
- libboost-filesystem-dev
- libboost-iostreams-dev
- libboost-python-dev
- libboost-regex-dev
- libboost-system-dev
- libboost-test-dev
- libclang-dev
- libedit-dev
- libgmp3-dev
- libmpfr-dev
- librsvg2-dev
- libssl-dev
- libwebkit2gtk-4.1-dev
- libxdo-dev
- luarocks
- npm
- python3-dev
- python3-ipykernel
- python3-pip
- python3-venv
- texinfo
- tzdata
- v4l2loopback-dkms
- wget
- xsel
apt_tools:
- audacity
- keepassxc
- obs-studio
- p7zip
- pkg-config
- ranger
- tealdeer
- texlive-full
- virtualbox
- wireguard-tools
- yt-dlp
- zsh
snap_tools:
- name: "bottom"
classic: false
- name: "winbox"
classic: false
- name: "signal-desktop"
classic: false
- name: "nvim"
classic: true
- name: "zellij"
classic: true
- name: "jupyterlab-desktop"
classic: true
- name: "intellij-idea-community"
classic: true
- name: "dive"
classic: false
nvim_config_path: "~/.config/nvim"
ledger_repo: "https://github.com/ledger/ledger.git"
ledger_clone_dir: "/opt/ledger"
ledger_binary_path: "/usr/bin/ledger"
docker:
url: "https://download.docker.com/linux"
apt_release_channel: "stable"
aarch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}"
github_releases:
- name: lazygit
repo: jesseduffield/lazygit
- name: lazydocker
repo: jesseduffield/lazydocker
project_version_placeholder: "<VERSION_PLACEHOLDER>"
github_deb:
- name: delta
repo: dandavison/delta
url: https://github.com/dandavison/delta/releases/download/{{ project_version_placeholder }}/git-delta_{{ project_version_placeholder }}_{{ aarch }}.deb
skip: false
- name: eurkey
repo: ""
url: https://eurkey.steffen.bruentjen.eu/download/debian/eurkey.deb
skip: false
- name: ripgrep
repo: BurntSushi/ripgrep
url: https://github.com/BurntSushi/ripgrep/releases/download/{{ project_version_placeholder }}/ripgrep_{{ project_version_placeholder }}-1_{{ aarch }}.deb
skip: false
- name: veracrypt
repo: veracrypt/Veracrypt
url: https://github.com/veracrypt/VeraCrypt/releases/download/VeraCrypt_{{ project_version_placeholder }}/veracrypt-{{ project_version_placeholder }}-{{ ansible_distribution }}-{{ ansible_distribution_version }}-{{ aarch }}.deb
skip: true
- name: ghostty
repo: mkasberg/ghostty-ubuntu
url: https://github.com/mkasberg/ghostty-ubuntu/releases/download/{{ project_version_placeholder }}/ghostty_{{ project_version_placeholder }}_{{ aarch }}_{{ ansible_distribution_version }}.deb
skip: true