Compare commits
9 Commits
da4f5bc228
...
e09a1210fa
| Author | SHA1 | Date | |
|---|---|---|---|
| e09a1210fa | |||
| 4cec4765b1 | |||
| 0d4c7ed4d4 | |||
| ee84e3248e | |||
| dae07a30c8 | |||
| 804c0019db | |||
| db92e8982a | |||
| c91584541a | |||
| 440eb42404 |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -58,3 +58,6 @@
|
||||
[submodule "pkgbuilds/python-rst2ansi"]
|
||||
path = pkgbuilds/python-rst2ansi
|
||||
url = https://aur.archlinux.org/python-rst2ansi.git
|
||||
[submodule "pkgbuilds/claude-code"]
|
||||
path = pkgbuilds/claude-code
|
||||
url = https://aur.archlinux.org/claude-code.git
|
||||
|
||||
132
_machines/hera-tasks.yml
Normal file
132
_machines/hera-tasks.yml
Normal file
@@ -0,0 +1,132 @@
|
||||
---
|
||||
- name: Enable sddm
|
||||
ansible.builtin.systemd:
|
||||
name: sddm.service
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
become: true
|
||||
|
||||
- name: Autoupdate
|
||||
tags: [test]
|
||||
block:
|
||||
- name: Deploy autoupdate script
|
||||
copy:
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
dest: /usr/local/bin/pacman-autoupdate
|
||||
content: |
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
for battery in /sys/class/power_supply/*/capacity ; do
|
||||
capacity="$(< "$battery")"
|
||||
if (( "${capacity}" < 40 )) ; then
|
||||
printf "Battery at %s%%, exiting\n" "${capacity}" >&2
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
if nmcli --terse --fields GENERAL.METERED dev show 2>/dev/null | grep -q "yes" ; then
|
||||
printf "Detected metered connection, exiting\n" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
pacman --sync --refresh --sysupgrade --noprogressbar --noconfirm
|
||||
|
||||
- name: Install pacman autoupdate service
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/systemd/system/pacman-autoupdate.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/bin/pacman-autoupdate
|
||||
become: true
|
||||
|
||||
- name: Install pacman autoupdate timer
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/systemd/system/pacman-autoupdate.timer
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Timer]
|
||||
OnCalendar=daily
|
||||
OnBootSec=5min
|
||||
OnUnitInactiveSec=120min
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
- name: Enable pacman autoupdate timer
|
||||
ansible.builtin.systemd:
|
||||
name: pacman-autoupdate.timer
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
become: true
|
||||
become: true
|
||||
|
||||
- name: User configuration
|
||||
block:
|
||||
- name: Create user group
|
||||
ansible.builtin.group:
|
||||
name: "herta"
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: Create user
|
||||
ansible.builtin.user:
|
||||
name: "herta"
|
||||
state: present
|
||||
home: "/home/herta"
|
||||
create_home: true
|
||||
groups:
|
||||
- dotfiles
|
||||
- libvirt
|
||||
- wheel
|
||||
- vboxusers
|
||||
- wireshark
|
||||
- docker
|
||||
- sudonopw
|
||||
- games
|
||||
- kvm
|
||||
- video
|
||||
shell: /usr/bin/zsh
|
||||
skeleton: /dev/null
|
||||
become: true
|
||||
|
||||
- name: Create sddm config folder
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: /etc/sddm.conf.d/
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: Enable autologin
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/sddm.conf.d/autologin.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Autologin]
|
||||
User=herta
|
||||
Session=plasma
|
||||
|
||||
- name: Lock on startup
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/xdg/kscreenlockerrc
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Daemon]
|
||||
LockOnStart=true
|
||||
@@ -6,6 +6,18 @@ cpu: intel
|
||||
# make sure that display manager works
|
||||
system_default_target: "graphical.target"
|
||||
|
||||
additional_packages:
|
||||
- plasma-desktop
|
||||
- konsole
|
||||
- dolphin
|
||||
- kdeplasma-addons
|
||||
- plasma-nm
|
||||
- plasma-pa
|
||||
- plasma-systemmonitor
|
||||
- sddm
|
||||
- sddm-kcm
|
||||
- thunderbird
|
||||
|
||||
users:
|
||||
- name: hannes
|
||||
vt: 1
|
||||
|
||||
1
pkgbuilds/claude-code
Submodule
1
pkgbuilds/claude-code
Submodule
Submodule pkgbuilds/claude-code added at 99d01e8856
17
playbook.yml
17
playbook.yml
@@ -194,6 +194,12 @@
|
||||
vars:
|
||||
pkg_query: "{{ '*.%s[]'|format(distro) }}"
|
||||
|
||||
- name: install additional packages
|
||||
package:
|
||||
name: "{{ machine.additional_packages|default([]) }}"
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: remove unconfigured packages
|
||||
script:
|
||||
cmd: ./remove-unconfigured-packages.sh --noconfirm
|
||||
@@ -264,6 +270,9 @@
|
||||
# dependency of
|
||||
- name: backblaze-b2
|
||||
|
||||
# ===
|
||||
- name: claude-code
|
||||
|
||||
- set_fact:
|
||||
aur_packages: "{{ aur_packages|map(attribute='dependencies', default=[]) | flatten + aur_packages }}"
|
||||
|
||||
@@ -817,6 +826,14 @@
|
||||
tags:
|
||||
- always
|
||||
|
||||
- include_tasks: "{{ item }}"
|
||||
with_first_found:
|
||||
- files:
|
||||
- "_machines/{{ ansible_hostname }}-tasks.yml"
|
||||
skip: true
|
||||
tags:
|
||||
- always
|
||||
|
||||
handlers:
|
||||
- name: refresh package lists
|
||||
community.general.pacman:
|
||||
|
||||
@@ -32,6 +32,7 @@ declare -a packages_to_remove=()
|
||||
|
||||
readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
|
||||
<(cat \
|
||||
<(<_machines/"$(hostname --short)".yml yaml2json | jq --raw-output0 '(.additional_packages // [])[]') \
|
||||
<(<packages.yml yaml2json | jq --raw-output0 'map(.archlinux) | flatten[]') \
|
||||
<(for dep in "${aurdeps[@]}" "${cpu_packages[@]}" "${gpu_packages[@]}" ; do printf '%s\0' "${dep}" ; done) \
|
||||
| while IFS= read -r -d $'\0' package; do
|
||||
|
||||
@@ -146,8 +146,6 @@ set wrapscan
|
||||
set termguicolors
|
||||
|
||||
" === keybinds ===
|
||||
set pastetoggle=<F11>
|
||||
|
||||
set signcolumn=yes
|
||||
|
||||
let maplocalleader = "ö"
|
||||
|
||||
@@ -69,6 +69,20 @@ export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
|
||||
|
||||
export XINITRC="$XDG_CONFIG_HOME"/xinitrc
|
||||
|
||||
export PSQLRC="$XDG_CONFIG_HOME/psqlrc"
|
||||
export PSQL_HISTORY="$XDG_STATE_HOME/psql_history"
|
||||
export PGPASSFILE="$XDG_CONFIG_HOME/pgpass"
|
||||
export PGSERVICEFILE="$XDG_CONFIG_HOME/pg_service.conf"
|
||||
|
||||
export REDISCLI_HISTFILE="$XDG_DATA_HOME"/rediscli_history
|
||||
export REDISCLI_RCFILE="$XDG_CONFIG_HOME"/redisclirc
|
||||
|
||||
export PYTHON_HISTORY=$XDG_STATE_HOME/python_history
|
||||
export PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python
|
||||
|
||||
# bash-specific
|
||||
export HISTFILE="$XDG_STATE_HOME"/bash_history
|
||||
|
||||
umask 0022
|
||||
|
||||
{% set env = machine.environment | combine(user.environment) %}
|
||||
|
||||
Reference in New Issue
Block a user