Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ansible.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ inventory = inventory
callback_result_format = yaml
remote_tmp = ~/.ansible/tmp
host_key_checking = false
executable = /bin/bash

[ssh_connection]
pipelining = True
Expand Down
45 changes: 45 additions & 0 deletions default.ubuntu.config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
# APT Installed Packages
# List of packages to be installed via apt.
apt_installed_packages:
- git
- build-essential
- cmake
- gdb
- lcov
- pkg-config
- libbz2-dev
- libffi-dev
- libgdbm-dev
- libgdbm-compat-dev
- liblzma-dev
- libncurses5-dev
- libreadline6-dev
- libsqlite3-dev
- libssl-dev
- lzma
- tk-dev
- uuid-dev
- zlib1g-dev
- libmpdec-dev
- libzstd-dev
- inetutils-inetd
- dkms
- xz-utils
- pipx
- luarocks
- neovim
- tmux
- htop
- duf
- bat
- fish
- btop

# Installed Applications from the App Center
# List of applications to install from the App Center.
snap_installed_apps:
- firefox
- name: alacritty
classic: true
- steam
2 changes: 2 additions & 0 deletions playbooks/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
---
- name: Import macosx playbook
ansible.builtin.import_playbook: macos.yml
- name: Import ubuntu playbook
ansible.builtin.import_playbook: ubuntu.yml
65 changes: 65 additions & 0 deletions playbooks/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
- name: Ubuntu Playbook
hosts: ubuntu

vars_files:
- ../default.ubuntu.config.yml

pre_tasks:
- name: Include config override file, if it exists
ansible.builtin.include_vars: "{{ item }}"
with_fileglob:
- ../ubuntu.config.yml
tags: ['always']

- name: Update apt cache if needed
ansible.builtin.apt:
update_cache: true
cache_valid_time: 86400
tags: [init]
become: true

- name: Upgrade the OS
ansible.builtin.apt:
upgrade: safe
tags: [init]
become: true

- name: Update all packages to their latest version
ansible.builtin.apt:
name: "*"
state: latest # noqa package-latest
tags: [init]
become: true

- name: Remove dependencies that are no longer required and purge their configuration files
ansible.builtin.apt:
autoremove: yes
purge: true
tags: [init]
become: true

- name: Run the equivalent of "apt-get clean" as a separate step
ansible.builtin.apt:
clean: yes
tags: [init]
become: true

tasks:

- name: Install APT packages
ansible.builtin.apt:
name: "{{ item.name | default(item) }}"
state: present
become: yes
tags: [apt]
loop: "{{ apt_installed_packages }}"

- name: Install Applications from the App Center
community.general.snap:
name: "{{ item.name | default(item) }}"
classic: "{{ item.classic | default(false) }}"
state: present
become: yes
tags: [snap]
loop: "{{ snap_installed_apps }}"
2 changes: 2 additions & 0 deletions requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ roles:
collections:
- name: geerlingguy.mac
version: 4.1.0
- name: community.general
version: 12.6.0
- source: ../dev-setup
type: dir