Compare commits
16 Commits
318490e7b8
...
a21926f738
| Author | SHA1 | Date | |
|---|---|---|---|
| a21926f738 | |||
| bcc3583baf | |||
| f4228630b0 | |||
| 679ddf22d6 | |||
| 885def6c5b | |||
| 408ebb68d0 | |||
| ef1c095e7f | |||
| f48c31332f | |||
| 881dd008ad | |||
| 7763435a63 | |||
| 9deaef642f | |||
| 8079f29912 | |||
| 3b9c1279a2 | |||
| 2227a85021 | |||
| 07a8338e77 | |||
| 6071fe4f8f |
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -16,3 +16,9 @@
|
||||
[submodule "pkgbuilds/terraform-ls-bin"]
|
||||
path = pkgbuilds/terraform-ls-bin
|
||||
url = https://aur.archlinux.org/terraform-ls-bin.git
|
||||
[submodule "pkgbuilds/grm-git"]
|
||||
path = pkgbuilds/grm-git
|
||||
url = https://aur.archlinux.org/grm-git.git
|
||||
[submodule "pkgbuilds/screencfg-git"]
|
||||
path = pkgbuilds/screencfg-git
|
||||
url = https://aur.archlinux.org/screencfg-git.git
|
||||
|
||||
@@ -3,3 +3,4 @@ retry_files_enabled = False
|
||||
nocows = 1
|
||||
roles_path = ./ansible_roles
|
||||
library = ./ansible_roles/firefox/library
|
||||
remote_tmp = ${XDG_CONFIG_HOME}/ansible/tmp
|
||||
|
||||
@@ -30,4 +30,4 @@ Wants=touchpad.service
|
||||
Wants=xresources.service
|
||||
Wants=yubikey-touch-detector.service
|
||||
Wants=kdeconnect.service
|
||||
|
||||
Wants=color-theme-dark.service
|
||||
|
||||
@@ -71,6 +71,13 @@ command_on = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3s
|
||||
command_off = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
|
||||
command_state = "[[ $($HOME/.i3/scripts/presentation-mode status) == on ]] && echo active"
|
||||
|
||||
[[block]]
|
||||
block = "toggle"
|
||||
format = " $icon "
|
||||
command_on = "systemctl --user start color-theme-light"
|
||||
command_off = "systemctl --user start color-theme-dark"
|
||||
command_state = "[[ $(systemctl --user is-active color-theme-light) == active ]] && echo active"
|
||||
|
||||
[[block]]
|
||||
block = "toggle"
|
||||
format = " $icon "
|
||||
|
||||
36
packages.yml
36
packages.yml
@@ -1,5 +1,3 @@
|
||||
packages:
|
||||
list:
|
||||
kernel:
|
||||
archlinux:
|
||||
- linux-zen
|
||||
@@ -34,7 +32,7 @@ packages:
|
||||
doas:
|
||||
archlinux: ["opendoas"]
|
||||
apt:
|
||||
archlinux: [""]
|
||||
archlinux: ["apt"]
|
||||
xorg:
|
||||
archlinux:
|
||||
- xorg-server
|
||||
@@ -142,6 +140,9 @@ packages:
|
||||
archlinux:
|
||||
- python
|
||||
- python-lsp-server
|
||||
- bandit
|
||||
- python-pyflakes
|
||||
- python-pylint
|
||||
python-modules:
|
||||
archlinux:
|
||||
- python-ruamel-yaml
|
||||
@@ -448,23 +449,12 @@ packages:
|
||||
watchexec:
|
||||
archlinux:
|
||||
- watchexec
|
||||
|
||||
remove:
|
||||
mousepad:
|
||||
archlinux: ["mousepad"]
|
||||
vim:
|
||||
archlinux: ["gvim"]
|
||||
rust:
|
||||
archlinux: ["rust"]
|
||||
screen:
|
||||
archlinux: ["screen"]
|
||||
lxc:
|
||||
archlinux: ["lxc"]
|
||||
autorandr:
|
||||
archlinux: ["autorandr"]
|
||||
openvpn:
|
||||
archlinux: ["openvpn"]
|
||||
bluetooth:
|
||||
archlinux: ["bluez", "bluez-tools", "blueman"]
|
||||
borgbackup:
|
||||
archlinux: ["borg"]
|
||||
postgresql:
|
||||
archlinux:
|
||||
- postgresql
|
||||
tokei:
|
||||
archlinux:
|
||||
- tokei
|
||||
whois:
|
||||
archlinux:
|
||||
- whois # also contains mkpasswd
|
||||
|
||||
1
pkgbuilds/grm-git
Submodule
1
pkgbuilds/grm-git
Submodule
Submodule pkgbuilds/grm-git added at 4796cc6cd4
1
pkgbuilds/screencfg-git
Submodule
1
pkgbuilds/screencfg-git
Submodule
Submodule pkgbuilds/screencfg-git added at 4bd67cf18e
48
playbook.yml
48
playbook.yml
@@ -158,53 +158,29 @@
|
||||
- name: load package list
|
||||
include_vars:
|
||||
file: packages.yml
|
||||
|
||||
- name: force-update iptables to iptables-nft on arch
|
||||
shell: pacman -Q iptables && yes | pacman -S iptables-nft
|
||||
changed_when: false
|
||||
become: true
|
||||
name: defined_packages
|
||||
|
||||
- set_fact:
|
||||
defined_packages: "{{ packages|json_query('keys(list)') }}"
|
||||
|
||||
- set_fact:
|
||||
distro_packages: "{{ packages|json_query('list.*.%s'|format(distro)) }}"
|
||||
distro_packages: "{{ defined_packages|json_query('*.%s'|format(distro)) }}"
|
||||
|
||||
- name: check list
|
||||
assert:
|
||||
that: "defined_packages|length == distro_packages|length"
|
||||
|
||||
- set_fact:
|
||||
defined_packages_remove: "{{ packages|json_query('keys(remove)') }}"
|
||||
|
||||
- set_fact:
|
||||
distro_packages_remove: "{{ packages|json_query('remove.*.%s'|format(distro)) }}"
|
||||
|
||||
- name: check list
|
||||
assert:
|
||||
that: "defined_packages_remove|length == distro_packages_remove|length"
|
||||
|
||||
- name: remove packages
|
||||
package:
|
||||
name: "{{ packages|json_query(query) }}"
|
||||
state: absent
|
||||
become: true
|
||||
vars:
|
||||
query: "{{ 'remove.*.%s[]'|format(distro) }}"
|
||||
|
||||
- name: install packages
|
||||
package:
|
||||
name: "{{ packages|json_query(query) }}"
|
||||
name: "{{ defined_packages|json_query(query) }}"
|
||||
state: present
|
||||
become: true
|
||||
vars:
|
||||
query: "{{ 'list.*.%s[]'|format(distro) }}"
|
||||
|
||||
- name: install machine-specific packages
|
||||
package:
|
||||
name: "{{ machine.packages }}"
|
||||
state: present
|
||||
when: machine.packages is defined
|
||||
- name: remove unconfigured packages
|
||||
script:
|
||||
cmd: ./remove-unconfigured-packages.sh --noconfirm
|
||||
register: unconfigured_packages_cmd
|
||||
failed_when: unconfigured_packages_cmd.rc not in (0, 123)
|
||||
changed_when: unconfigured_packages_cmd.rc == 123
|
||||
become: true
|
||||
|
||||
- name: aur
|
||||
@@ -228,17 +204,17 @@
|
||||
source ./env
|
||||
curl -sSf --proto '=https' https://keys.openpgp.org/vks/v1/by-fingerprint/E46E6F8FF02E4C83569084589239277F560C95AC | gpg --import -
|
||||
|
||||
- name: nodejs-intelephense
|
||||
|
||||
- name: spotify
|
||||
preexec: |
|
||||
#!/usr/bin/env bash
|
||||
source ./env
|
||||
curl -sSf --proto '=https' https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | gpg --import -
|
||||
|
||||
- name: nodejs-intelephense
|
||||
- name: vim-plug
|
||||
|
||||
- name: terraform-ls-bin
|
||||
- name: grm-git
|
||||
- name: screencfg-git
|
||||
|
||||
- set_fact:
|
||||
aur_packages: "{{ aur_packages|map(attribute='dependencies', default=[]) | flatten + aur_packages }}"
|
||||
|
||||
@@ -19,7 +19,7 @@ packages_to_remove=()
|
||||
|
||||
readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
|
||||
<(cat \
|
||||
<(<packages.yml yaml2json | jq --raw-output0 '.packages.list | map(.archlinux) | flatten[]') \
|
||||
<(<packages.yml yaml2json | jq --raw-output0 'map(.archlinux) | flatten[]') \
|
||||
<(for dep in "${aurdeps[@]}" ; do printf '%s\0' "${dep}" ; done) \
|
||||
| sort -zu) \
|
||||
<(pacman -Qq --explicit | xargs -I "{}" printf '%s\0' "{}" | sort -zu) \
|
||||
@@ -37,6 +37,7 @@ readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
|
||||
done)
|
||||
|
||||
if (( "${#packages_to_remove}" > 0 )) ; then
|
||||
sudo pacman -Rcns "${packages_to_remove[@]}"
|
||||
sudo pacman -Rcns "${packages_to_remove[@]}" "${@}" || exit $?
|
||||
exit 123
|
||||
fi
|
||||
|
||||
|
||||
9
services/color-theme-dark.service
Normal file
9
services/color-theme-dark.service
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
After=windowmanager.target
|
||||
Conflicts=color-theme-light.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/env switch-color-mode dark
|
||||
RemainAfterExit=true
|
||||
PassEnvironment=DISPLAY
|
||||
@@ -1,9 +1,9 @@
|
||||
[Unit]
|
||||
After=windowmanager.target
|
||||
Conflicts=color-theme-dark.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/env switch-color-mode light
|
||||
ExecStop=/usr/bin/env switch-color-mode dark
|
||||
RemainAfterExit=true
|
||||
PassEnvironment=DISPLAY
|
||||
|
||||
@@ -17,6 +17,11 @@ export LANG=en_US.UTF-8
|
||||
export LC_TIME=de_DE.UTF-8
|
||||
export LC_COLLATE=C
|
||||
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_STATE_HOME="$HOME/.local/state"
|
||||
|
||||
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||
@@ -33,11 +38,6 @@ export PATH="$PATH:$(go env GOPATH)/bin"
|
||||
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_STATE_HOME="$HOME/.local/state"
|
||||
|
||||
export PASSWORD_STORE_DIR="$HOME/.password-store"
|
||||
|
||||
export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtkrc-2.0
|
||||
|
||||
@@ -387,6 +387,8 @@ tmp() {
|
||||
|
||||
if [[ -n ${remote} ]] ; then
|
||||
hook_com[branch]="%F{cyan}${hook_com[branch]}%F{$mainc}:%b%F{magenta}${remote}%F{yellow}${(j:/:)gitstatus}%F{$mainc}"
|
||||
else
|
||||
hook_com[branch]="%F{cyan}${hook_com[branch]}%f"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user