initial commit
ci/woodpecker/push/lint Pipeline was successful

This commit is contained in:
2026-04-30 22:22:14 -04:00
commit e8f348bc36
15 changed files with 214 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
when:
- event: push
steps:
- name: lint
image: alpine
commands:
- export PATH=$PATH:/root/.local/bin
- apk add --no-cache make pipx
- make setup
- make lint
+12
View File
@@ -0,0 +1,12 @@
.PHONY: setup
setup:
pipx install --include-deps yamllint
pipx install --include-deps ansible
pipx inject --include-apps ansible molecule
pipx inject --include-apps ansible ansible-lint
pipx inject ansible "molecule-plugins[docker,podman]"
.PHONY: lint
lint:
yamllint -d "{extends: relaxed, rules: {line-length: disable}}" .
ansible-lint
+8
View File
@@ -0,0 +1,8 @@
[defaults]
inventory = inventory.ini
host_key_checking = False
timeout = 60
interpreter_python = auto
[ssh_connection]
ssh_args=-o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r -o ForwardAgent=yes
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env -S ansible-playbook --ask-pass --ask-become-pass
- name: Kubuntu Ansible
hosts: htpc
become: true
roles:
- role: firefox
tags: firefox
- role: network_shares
tags: network_shares
- role: nosnap
tags: nosnap
tasks:
- name: Install VLC
ansible.builtin.apt:
name: vlc
update_cache: true
cache_valid_time: 3600
+5
View File
@@ -0,0 +1,5 @@
[local]
127.0.0.1 ansible_connection=local
[htpc]
aragorn.local ansible_user=simon
+27
View File
@@ -0,0 +1,27 @@
- name: Add Google apt repository key.
ansible.builtin.get_url:
url: https://dl.google.com/linux/linux_signing_key.pub
dest: /etc/apt/keyrings/google.asc
mode: "0644"
force: true
- name: Add Google Repository
ansible.builtin.apt_repository:
repo: deb [arch=amd64 signed-by=/etc/apt/keyrings/google.asc] https://dl.google.com/linux/chrome/deb/ stable main
filename: google-chrome-ansible
state: present
# https://support.google.com/chrome/a/answer/9052345?hl=en#zippy=%2Cstep-turn-off-chrome-browser-updates
- name: Disable google-chrome-stable sources
ansible.builtin.copy:
dest: /etc/default/google-chrome
content: |
repo_add_once="false"
repo_reenable_on_distupgrade="false"
mode: "0644"
- name: Update apt and install google-chrome-stable
ansible.builtin.apt:
name: google-chrome-stable
state: present
update_cache: true
+3
View File
@@ -0,0 +1,3 @@
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
+24
View File
@@ -0,0 +1,24 @@
- name: Add Mozilla apt repository key.
ansible.builtin.get_url:
url: https://packages.mozilla.org/apt/repo-signing-key.gpg
dest: /etc/apt/keyrings/packages.mozilla.org.asc
mode: "0644"
force: true
- name: Add Mozilla Repository
ansible.builtin.apt_repository:
repo: deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main
filename: mozilla
state: present
- name: Copy Mozilla apt preferences
ansible.builtin.copy:
src: mozilla.pref
dest: /etc/apt/preferences.d/mozilla.pref
mode: "0644"
- name: Update apt and install Firefox
ansible.builtin.apt:
name: firefox
state: present
update_cache: true
@@ -0,0 +1,9 @@
[Unit]
Description=\\neo\tank automount
[Automount]
Where=/mnt/tank
TimeoutIdleSec=300
[Install]
WantedBy=multi-user.target
+38
View File
@@ -0,0 +1,38 @@
- name: Install cifs-utils
ansible.builtin.apt:
name: cifs-utils
update_cache: true
state: present
- name: Lookup user name
ansible.builtin.set_fact:
network_shares_user_name: "{{ lookup('env', 'USER') }}"
- name: Get user passwd info for {{ network_shares_user_name }}
ansible.builtin.getent:
database: passwd
key: "{{ network_shares_user_name }}"
- name: Extract user id and gid
ansible.builtin.set_fact:
network_shares_user_id: "{{ ansible_facts.getent_passwd[network_shares_user_name].1 }}"
network_shares_user_gid: "{{ ansible_facts.getent_passwd[network_shares_user_name].2 }}"
- name: Copy mount file
ansible.builtin.template:
src: mnt-tank.mount.j2
dest: /etc/systemd/system/mnt-tank.mount
mode: "0644"
- name: Copy automount file
ansible.builtin.copy:
src: mnt-tank.automount
dest: /etc/systemd/system/mnt-tank.automount
mode: "0644"
- name: Enable automount
ansible.builtin.systemd_service:
name: mnt-tank.automount
enabled: true
daemon-reload: true
state: started
@@ -0,0 +1,10 @@
[Unit]
Description=\\neo\tank mount
[Mount]
What=//192.168.0.200/tank
Where=/mnt/tank
Type=cifs
Options=guest,uid={{ network_shares_user_id }},gid={{ network_shares_user_gid }},iocharset=utf8,ro
LazyUnmount=true
TimeoutSec=10
+7
View File
@@ -0,0 +1,7 @@
# To prevent repository packages from triggering the installation of Snap,
# this file forbids snapd from being installed by APT.
# For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html
Package: snapd
Pin: release a=*
Pin-Priority: -10
+12
View File
@@ -0,0 +1,12 @@
- name: Remove snapd
ansible.builtin.apt:
name: snapd
state: absent
autoremove: true
purge: true
- name: Copy nosnap apt preferences
ansible.builtin.copy:
src: nosnap.pref
dest: /etc/apt/preferences.d/nosnap.pref
mode: "0644"
+17
View File
@@ -0,0 +1,17 @@
- name: Add debian repo
ansible.builtin.deb822_repository:
name: vscodium
architectures:
- amd64
- arm64
types: deb
uris: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs
suites: vscodium
components: main
signed_by: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
- name: Install vscodium
ansible.builtin.apt:
name: codium
state: present
update_cache: true
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env -S ansible-playbook --ask-become-pass
- name: Kubuntu Ansible
hosts: local
become_exe: "{{ 'sudo.ws' if ansible_facts.packages['sudo-rs'] is defined else 'sudo' }}"
become: true
roles:
- role: firefox
tags: firefox
- role: network_shares
tags: network_shares
- role: nosnap
tags: nosnap
- role: vscodium
tags: vscodium