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"]
|
[submodule "pkgbuilds/python-rst2ansi"]
|
||||||
path = pkgbuilds/python-rst2ansi
|
path = pkgbuilds/python-rst2ansi
|
||||||
url = https://aur.archlinux.org/python-rst2ansi.git
|
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
|
# make sure that display manager works
|
||||||
system_default_target: "graphical.target"
|
system_default_target: "graphical.target"
|
||||||
|
|
||||||
|
additional_packages:
|
||||||
|
- plasma-desktop
|
||||||
|
- konsole
|
||||||
|
- dolphin
|
||||||
|
- kdeplasma-addons
|
||||||
|
- plasma-nm
|
||||||
|
- plasma-pa
|
||||||
|
- plasma-systemmonitor
|
||||||
|
- sddm
|
||||||
|
- sddm-kcm
|
||||||
|
- thunderbird
|
||||||
|
|
||||||
users:
|
users:
|
||||||
- name: hannes
|
- name: hannes
|
||||||
vt: 1
|
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:
|
vars:
|
||||||
pkg_query: "{{ '*.%s[]'|format(distro) }}"
|
pkg_query: "{{ '*.%s[]'|format(distro) }}"
|
||||||
|
|
||||||
|
- name: install additional packages
|
||||||
|
package:
|
||||||
|
name: "{{ machine.additional_packages|default([]) }}"
|
||||||
|
state: present
|
||||||
|
become: true
|
||||||
|
|
||||||
- name: remove unconfigured packages
|
- name: remove unconfigured packages
|
||||||
script:
|
script:
|
||||||
cmd: ./remove-unconfigured-packages.sh --noconfirm
|
cmd: ./remove-unconfigured-packages.sh --noconfirm
|
||||||
@@ -264,6 +270,9 @@
|
|||||||
# dependency of
|
# dependency of
|
||||||
- name: backblaze-b2
|
- name: backblaze-b2
|
||||||
|
|
||||||
|
# ===
|
||||||
|
- name: claude-code
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
aur_packages: "{{ aur_packages|map(attribute='dependencies', default=[]) | flatten + aur_packages }}"
|
aur_packages: "{{ aur_packages|map(attribute='dependencies', default=[]) | flatten + aur_packages }}"
|
||||||
|
|
||||||
@@ -817,6 +826,14 @@
|
|||||||
tags:
|
tags:
|
||||||
- always
|
- always
|
||||||
|
|
||||||
|
- include_tasks: "{{ item }}"
|
||||||
|
with_first_found:
|
||||||
|
- files:
|
||||||
|
- "_machines/{{ ansible_hostname }}-tasks.yml"
|
||||||
|
skip: true
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
- name: refresh package lists
|
- name: refresh package lists
|
||||||
community.general.pacman:
|
community.general.pacman:
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ declare -a packages_to_remove=()
|
|||||||
|
|
||||||
readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
|
readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
|
||||||
<(cat \
|
<(cat \
|
||||||
|
<(<_machines/"$(hostname --short)".yml yaml2json | jq --raw-output0 '(.additional_packages // [])[]') \
|
||||||
<(<packages.yml yaml2json | jq --raw-output0 'map(.archlinux) | flatten[]') \
|
<(<packages.yml yaml2json | jq --raw-output0 'map(.archlinux) | flatten[]') \
|
||||||
<(for dep in "${aurdeps[@]}" "${cpu_packages[@]}" "${gpu_packages[@]}" ; do printf '%s\0' "${dep}" ; done) \
|
<(for dep in "${aurdeps[@]}" "${cpu_packages[@]}" "${gpu_packages[@]}" ; do printf '%s\0' "${dep}" ; done) \
|
||||||
| while IFS= read -r -d $'\0' package; do
|
| while IFS= read -r -d $'\0' package; do
|
||||||
|
|||||||
@@ -146,8 +146,6 @@ set wrapscan
|
|||||||
set termguicolors
|
set termguicolors
|
||||||
|
|
||||||
" === keybinds ===
|
" === keybinds ===
|
||||||
set pastetoggle=<F11>
|
|
||||||
|
|
||||||
set signcolumn=yes
|
set signcolumn=yes
|
||||||
|
|
||||||
let maplocalleader = "ö"
|
let maplocalleader = "ö"
|
||||||
|
|||||||
@@ -69,6 +69,20 @@ export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
|
|||||||
|
|
||||||
export XINITRC="$XDG_CONFIG_HOME"/xinitrc
|
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
|
umask 0022
|
||||||
|
|
||||||
{% set env = machine.environment | combine(user.environment) %}
|
{% set env = machine.environment | combine(user.environment) %}
|
||||||
|
|||||||
Reference in New Issue
Block a user