migrate
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
---
|
||||
tags:
|
||||
- Scirpts
|
||||
- Desktop
|
||||
---
|
||||
This file is used in conjunction with run_once_install_ansible.sh. This file should be placed in the home/.local/dot_bootstrap directory.
|
||||
|
||||
``` yaml
|
||||
- name: Install applications on Ubuntu
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Update and upgrade apt packages
|
||||
apt:
|
||||
update_cache: yes
|
||||
upgrade: dist
|
||||
|
||||
# Install APT Applications
|
||||
- name: Install Apt packages
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop:
|
||||
- curl
|
||||
- wget
|
||||
- git
|
||||
- bat
|
||||
- vim
|
||||
- zsh
|
||||
- build-essential
|
||||
- autoconf
|
||||
- make
|
||||
- libssl-dev
|
||||
- ca-certificates
|
||||
- htop
|
||||
- firefox
|
||||
- blender
|
||||
- vlc
|
||||
- filezilla
|
||||
- inotify-tools
|
||||
- eza
|
||||
- zoxide
|
||||
- fzf
|
||||
- docker-compose
|
||||
|
||||
# Installing Flatpak and Applications
|
||||
|
||||
- name: Install Flatpak applications
|
||||
community.general.flatpak:
|
||||
name: "{{ item }}" # Use the item from the loop as the Flatpak application name
|
||||
state: present
|
||||
remote: flathub # Specify the Flathub remote for installation
|
||||
# - name: Install Flatpak packages
|
||||
# command: "flatpak install {{ item }}" -y
|
||||
loop:
|
||||
- com.obsproject.Studio
|
||||
- org.tenacityaudio.Tenacity
|
||||
- md.obsidian.Obsidian
|
||||
- org.gimp.GIMP
|
||||
- com.github.zadam.trilium
|
||||
- com.spotify.Client
|
||||
- io.github.shiftey.Desktop
|
||||
- com.brave.Browser
|
||||
- com.visualstudio.code
|
||||
- org.qbittorrent.qBittorrent
|
||||
- org.wezfurlong.wezterm
|
||||
|
||||
register: result # Register the result of the command
|
||||
failed_when: result.rc != 0 # Fail if return code is not 0
|
||||
retries: 3 # Add retries in case of transient network issues
|
||||
delay: 5 # Wait a few seconds between retries
|
||||
until: result.rc == 0
|
||||
tags: flatpak # Tagging for potential skipping
|
||||
|
||||
# Install Terraform
|
||||
- name: Add HashiCorp GPG key
|
||||
ansible.builtin.shell: |
|
||||
wget -O- https://apt.releases.hashicorp.com/gpg | \
|
||||
gpg --dearmor | \
|
||||
sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
|
||||
args:
|
||||
creates: /usr/share/keyrings/hashicorp-archive-keyring.gpg
|
||||
when: ansible_os_family == "Debian" # Only run on Debian-based systems
|
||||
|
||||
- name: Add HashiCorp APT repository
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main"
|
||||
state: present
|
||||
filename: hashicorp
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Update apt cache again after adding repository
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Install Terraform
|
||||
ansible.builtin.apt:
|
||||
name: terraform
|
||||
state: present
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
# --- Zsh Completion ---
|
||||
- name: Install zsh (if not already installed)
|
||||
ansible.builtin.apt:
|
||||
name: zsh
|
||||
state: present
|
||||
|
||||
# Install flyctl
|
||||
- name: Ensure zsh is installed
|
||||
ansible.builtin.apt:
|
||||
name: zsh
|
||||
state: present
|
||||
|
||||
- name: Download flyctl installation script
|
||||
ansible.builtin.get_url:
|
||||
url: https://fly.io/install.sh
|
||||
dest: /tmp/install.sh
|
||||
mode: '0755' # Make the script executable
|
||||
|
||||
- name: Run flyctl installation script
|
||||
ansible.builtin.shell: /tmp/install.sh
|
||||
args:
|
||||
creates: /usr/local/bin/flyctl # Prevents rerunning if flyctl is already installed
|
||||
|
||||
|
||||
# Install PowerLine10k and Oh-My-Zsh
|
||||
|
||||
- name: Install Oh My Zsh
|
||||
shell: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||
args:
|
||||
creates: "/home/miker/.oh-my-zsh"
|
||||
|
||||
- name: Add zsh-autosuggestions plugin
|
||||
git:
|
||||
repo: 'https://github.com/zsh-users/zsh-autosuggestions.git'
|
||||
dest: "/home/miker/.oh-my-zsh/custom/plugins/zsh-autosuggestions"
|
||||
depth: 1
|
||||
|
||||
- name: Add zsh-syntax-highlighting plugin
|
||||
git:
|
||||
repo: 'https://github.com/zsh-users/zsh-syntax-highlighting.git'
|
||||
dest: "/home/miker/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"
|
||||
depth: 1
|
||||
|
||||
- name: Enable zsh-autosuggestions and zsh-syntax-highlighting plugins
|
||||
lineinfile:
|
||||
path: "/home/miker/.zshrc"
|
||||
regexp: '^plugins=\((.*)\)$'
|
||||
line: 'plugins=(git zsh-autosuggestions zsh-syntax-highlighting)' # You can customize the plugins list
|
||||
backup: yes
|
||||
|
||||
# To run - run the following command. ansible-playbook -i inventory install_apps.yml
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user