Files
workstation-setup/roles/apps/tasks/main.yml
2025-06-27 09:57:20 +03:00

254 lines
7.6 KiB
YAML

---
# tasks file for apps
- name: Add wireshark stable repository from PPA
ansible.builtin.apt_repository:
repo: ppa:wireshark-dev/stable
become: true
- name: "Update and install packages on server"
ansible.builtin.apt:
name:
- mc
- htop
- mtr
- tmux
- traceroute
- wireguard
- python3.12-venv
- xprintidle
- git
- apt-transport-https
- ca-certificates
- gnupg
- curl
- kalk
- remmina
- wireshark
- zsh
- audacity
- kazam
- ktorrent
- libreoffice
- thunderbird
- fonts-terminus
- freerdp2-x11
- gimp
- fonts-firacode
state: latest
update_cache: true
become: true
# Telegram
- name: Make telegram dir
file:
path: "/opt/apps/telegram/"
state: directory
recurse: true
mode: ugo+rx
become: true
# - name: Copy Telegram
# copy:
# src: Telegram
# dest: "/opt/apps/telegram/telegram"
# mode: ugo+rx
# become: true
# - name: Copy Telegram Updater
# copy:
# src: Updater
# dest: "/opt/apps/telegram/updater"
# mode: ugo+rx
# become: true
- name: "Download telegram"
ansible.builtin.get_url:
url: https://telegram.org/dl/desktop/linux
dest: "{{ tmp_dir }}/tsetup.tar.xz"
mode: ugo+r
become: true
- name: Unarchive telegram
ansible.builtin.shell:
cmd: "tar -xJpf {{ tmp_dir }}/tsetup.tar.xz -C /opt/apps/"
become: true
# google-chrome
- name: "Download google-chrome"
ansible.builtin.get_url:
url: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dest: "{{ tmp_dir }}/google-chrome-stable_current_amd64.deb"
mode: ugo+rw
- name: "Install google-chrome"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/google-chrome-stable_current_amd64.deb"
become: true
- name: "Download VSCode"
ansible.builtin.get_url:
# url: https://vscode.download.prss.microsoft.com/dbazure/download/stable/f1a4fb101478ce6ec82fe9627c43efbf9e98c813/code_1.95.3-1731513102_amd64.deb
url: https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64
dest: "{{ tmp_dir }}/code_amd64.deb"
mode: ugo+rw
- name: "Install VSCode"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/code_amd64.deb"
become: true
- name: Git checkout tfenv
ansible.builtin.git:
repo: "https://github.com/tfutils/tfenv.git"
dest: "~/.tfenv"
clone: yes
depth: 1
- name: Make .local/bin dir
file:
path: "~/.local/bin"
state: directory
- name: Create a symbolic link on tfenv
ansible.builtin.file:
src: ~/.tfenv/bin/tfenv
dest: ~/.local/bin/tfenv
state: link
- name: Apply profile
shell: source ~/.profile
args:
executable: /bin/bash
- name: Install Terraform
block:
- name: Check if Terraform is installed
ansible.builtin.command: "~/.local/bin/tfenv version-name"
register: tfenv_version_name_result
changed_when: tfenv_version_name_result.rc == 1
failed_when: tfenv_version_name_result.rc not in [0, 1]
- name: Install Terraform binary
ansible.builtin.shell:
cmd: "~/.local/bin/tfenv install 1.5.0 && ~/.local/bin/tfenv use"
when: tfenv_version_name_result is changed
#gcloud
- name: Add google GPG apt Key
apt_key:
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
state: present
keyring: /usr/share/keyrings/cloud.google.gpg
become: true
- name: Add GCloud Repository
apt_repository:
repo: deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
state: present
become: true
- name: Update apt and install google-cloud-cli
apt:
name: google-cloud-cli
state: latest
update_cache: true
become: true
# KeePassXC
- name: Make keepassxc dir
file:
path: "/opt/apps/keepassxc/"
state: directory
recurse: true
mode: ugo+rx
become: true
- name: Copy KeePassXC
copy:
src: KeePassXC-2.7.10-x86_64.AppImage
dest: "/opt/apps/keepassxc/keepassxc"
mode: ugo+rx
become: true
# Nextcloud
- name: Make nextcloud dir
file:
path: "/opt/apps/nextcloud/"
state: directory
recurse: true
mode: ugo+rx
become: true
- name: Download Nextcloud
ansible.builtin.get_url:
url: https://github.com/nextcloud-releases/desktop/releases/download/v3.16.0/Nextcloud-3.16.0-x86_64.AppImage
dest: "/opt/apps/nextcloud/nextcloud"
mode: ugo+rx
become: true
# Discord
# - name: "Download Discord"
# ansible.builtin.get_url:
# url: https://discord.com/api/download?platform=linux&format=deb
# dest: "{{ tmp_dir }}/discord.deb"
# mode: ugo+r
# - name: "Install discord"
# ansible.builtin.apt:
# deb: "{{ tmp_dir }}/discord.deb"
# become: true
# Zoom
- name: Download zoom
ansible.builtin.get_url:
url: https://cdn.zoom.us/prod/6.3.6.6315/zoom_amd64.deb
dest: "{{ tmp_dir }}/zoom_amd64.deb"
mode: ugo+r
# - name: Copy Zoom
# copy:
# src: zoom_amd64.deb
# dest: "{{ tmp_dir }}/zoom_amd64.deb"
- name: "Install Zoom"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/zoom_amd64.deb"
become: true
# dbeaver
- name: Download dbeaver
ansible.builtin.get_url:
url: https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
dest: "{{ tmp_dir }}/dbeaver-ce_latest_amd64.deb"
mode: ugo+r
- name: "Install dbeaver"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/dbeaver-ce_latest_amd64.deb"
become: true
# VeraCrypt
- name: Download VeraCrypt
ansible.builtin.get_url:
url: https://launchpad.net/veracrypt/trunk/1.26.20/+download/veracrypt-1.26.20-Ubuntu-24.04-amd64.deb
dest: "{{ tmp_dir }}/VeraCrypt.deb"
mode: ugo+r
- name: "Install VeraCrypt"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/VeraCrypt.deb"
become: true
# ktalk
- name: Download ktalk
ansible.builtin.get_url:
url: https://st.ktalk.host/ktalk-app/linux/ktalk3.0.0amd64.deb
dest: "{{ tmp_dir }}/ktalk.deb"
mode: ugo+r
- name: "Install ktalk"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/ktalk.deb"
become: true
# balenaEtcher
- name: Make balenaEtcher dir
file:
path: "/opt/apps/balenaEtcher/"
state: directory
recurse: true
mode: ugo+rx
become: true
- name: Download balenaEtcher
ansible.builtin.get_url:
url: https://github.com/balena-io/etcher/releases/download/v1.19.25/balenaEtcher-linux-x64-1.19.25.zip
dest: "/opt/apps/balenaEtcher/balenaEtcher.zip"
mode: ugo+r
become: true
- name: Unarchive balenaEtcher
ansible.builtin.unarchive:
src: /opt/apps/balenaEtcher/balenaEtcher.zip
dest: /opt/apps/balenaEtcher/
become: true
- name: Set permiton for directory
ansible.builtin.file:
path: /opt/apps/balenaEtcher/balenaEtcher-linux-x64
state: directory
mode: '0755'
become: true
# anydesk
- name: Download anydesk
ansible.builtin.get_url:
url: https://download.anydesk.com/linux/anydesk_6.3.3-1_amd64.deb
dest: "{{ tmp_dir }}/anydesk.deb"
mode: ugo+r
- name: "Install anydesk"
ansible.builtin.apt:
deb: "{{ tmp_dir }}/anydesk.deb"
become: true