Compare commits

..

16 Commits

13 changed files with 509 additions and 515 deletions

6
.gitmodules vendored
View File

@@ -16,3 +16,9 @@
[submodule "pkgbuilds/terraform-ls-bin"] [submodule "pkgbuilds/terraform-ls-bin"]
path = pkgbuilds/terraform-ls-bin path = pkgbuilds/terraform-ls-bin
url = https://aur.archlinux.org/terraform-ls-bin.git 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

View File

@@ -3,3 +3,4 @@ retry_files_enabled = False
nocows = 1 nocows = 1
roles_path = ./ansible_roles roles_path = ./ansible_roles
library = ./ansible_roles/firefox/library library = ./ansible_roles/firefox/library
remote_tmp = ${XDG_CONFIG_HOME}/ansible/tmp

View File

@@ -30,4 +30,4 @@ Wants=touchpad.service
Wants=xresources.service Wants=xresources.service
Wants=yubikey-touch-detector.service Wants=yubikey-touch-detector.service
Wants=kdeconnect.service Wants=kdeconnect.service
Wants=color-theme-dark.service

View File

@@ -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_off = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
command_state = "[[ $($HOME/.i3/scripts/presentation-mode status) == on ]] && echo active" 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]]
block = "toggle" block = "toggle"
format = "  $icon " format = "  $icon "

View File

@@ -1,41 +1,39 @@
packages: kernel:
list:
kernel:
archlinux: archlinux:
- linux-zen - linux-zen
- linux-zen-headers - linux-zen-headers
- linux-zen-docs - linux-zen-docs
- linux-firmware - linux-firmware
grub: grub:
archlinux: archlinux:
- grub - grub
- efibootmgr - efibootmgr
lvm: lvm:
archlinux: archlinux:
- lvm2 - lvm2
build-essentials: build-essentials:
archlinux: archlinux:
- gcc - gcc
- ctags - ctags
- cmake - cmake
- maven - maven
- base-devel - base-devel
posix: posix:
archlinux: archlinux:
- posix - posix
make: make:
archlinux: ["make"] archlinux: ["make"]
gdb: gdb:
archlinux: ["gdb"] archlinux: ["gdb"]
strace: strace:
archlinux: ["strace"] archlinux: ["strace"]
sudo: sudo:
archlinux: ["sudo"] archlinux: ["sudo"]
doas: doas:
archlinux: ["opendoas"] archlinux: ["opendoas"]
apt: apt:
archlinux: [""] archlinux: ["apt"]
xorg: xorg:
archlinux: archlinux:
- xorg-server - xorg-server
- xorg-xrandr - xorg-xrandr
@@ -45,149 +43,152 @@ packages:
- xorg-xprop - xorg-xprop
- xorg-xset - xorg-xset
- xorg-xinit - xorg-xinit
dmenu: dmenu:
archlinux: ["dmenu"] archlinux: ["dmenu"]
ansible: ansible:
archlinux: archlinux:
- ansible - ansible
- ansible-language-server - ansible-language-server
- python-jmespath - python-jmespath
xdotool: xdotool:
archlinux: ["xdotool"] archlinux: ["xdotool"]
arandr: arandr:
archlinux: ["arandr"] archlinux: ["arandr"]
docker: docker:
archlinux: ["docker", "docker-compose"] archlinux: ["docker", "docker-compose"]
font-awesome: font-awesome:
archlinux: ["ttf-font-awesome", "otf-font-awesome"] archlinux: ["ttf-font-awesome", "otf-font-awesome"]
font-inconsolata: font-inconsolata:
archlinux: ["ttf-inconsolata"] archlinux: ["ttf-inconsolata"]
font-dejavu: font-dejavu:
archlinux: ["ttf-dejavu"] archlinux: ["ttf-dejavu"]
font-libertine: font-libertine:
archlinux: ["ttf-linux-libertine"] archlinux: ["ttf-linux-libertine"]
font-emoji: font-emoji:
archlinux: ["noto-fonts-emoji"] archlinux: ["noto-fonts-emoji"]
fonts: fonts:
archlinux: archlinux:
- noto-fonts - noto-fonts
- noto-fonts-extra - noto-fonts-extra
- noto-fonts-cjk - noto-fonts-cjk
git: git:
# tk required for gitk # tk required for gitk
archlinux: ["git", "tk", "git-delta", "git-filter-repo"] archlinux: ["git", "tk", "git-delta", "git-filter-repo"]
htop: htop:
archlinux: ["htop"] archlinux: ["htop"]
feh: feh:
archlinux: ["feh"] archlinux: ["feh"]
i3: i3:
archlinux: archlinux:
- i3-wm - i3-wm
- i3status-rust - i3status-rust
i3lock: i3lock:
archlinux: ["i3lock"] archlinux: ["i3lock"]
pluma: pluma:
archlinux: ["pluma"] archlinux: ["pluma"]
neovim: neovim:
archlinux: ["neovim", "python-pynvim"] archlinux: ["neovim", "python-pynvim"]
vim: vim:
archlinux: ["vim"] archlinux: ["vim"]
network-manager-applet: network-manager-applet:
archlinux: ["network-manager-applet"] archlinux: ["network-manager-applet"]
pasystray: pasystray:
archlinux: ["pasystray"] archlinux: ["pasystray"]
redshift: redshift:
archlinux: ["redshift"] archlinux: ["redshift"]
pavucontrol: pavucontrol:
archlinux: ["pavucontrol-qt"] archlinux: ["pavucontrol-qt"]
pinentry-qt: pinentry-qt:
archlinux: ["pinentry"] archlinux: ["pinentry"]
pinta: pinta:
archlinux: ["pinta"] archlinux: ["pinta"]
pass: pass:
archlinux: ["pass", "passff-host", "xclip"] archlinux: ["pass", "passff-host", "xclip"]
urxvt: urxvt:
archlinux: ["rxvt-unicode"] archlinux: ["rxvt-unicode"]
alacritty: alacritty:
archlinux: ["alacritty"] archlinux: ["alacritty"]
tmux: tmux:
archlinux: ["tmux"] archlinux: ["tmux"]
zsh: zsh:
archlinux: ["zsh", "zsh-syntax-highlighting", "zsh-completions"] archlinux: ["zsh", "zsh-syntax-highlighting", "zsh-completions"]
zathura: zathura:
archlinux: ["zathura", "zathura-pdf-poppler"] archlinux: ["zathura", "zathura-pdf-poppler"]
pdf: pdf:
archlinux: ["ghostscript", "enscript"] archlinux: ["ghostscript", "enscript"]
pandoc: pandoc:
archlinux: ["pandoc-cli", "texlive-basic", "texlive-fontsextra", "texlive-latexextra"] archlinux: ["pandoc-cli", "texlive-basic", "texlive-fontsextra", "texlive-latexextra"]
libvirt: libvirt:
archlinux: ["virt-manager", "libvirt", "dnsmasq", "iptables-nft", "dmidecode", "virt-install", "virt-viewer", "libguestfs", "edk2-ovmf"] archlinux: ["virt-manager", "libvirt", "dnsmasq", "iptables-nft", "dmidecode", "virt-install", "virt-viewer", "libguestfs", "edk2-ovmf"]
firefox: firefox:
archlinux: ["firefox"] archlinux: ["firefox"]
ranger: ranger:
archlinux: ["ranger"] archlinux: ["ranger"]
thunar: thunar:
archlinux: ["thunar"] archlinux: ["thunar"]
unclutter: unclutter:
archlinux: ["unclutter"] archlinux: ["unclutter"]
libreoffice: libreoffice:
archlinux: ["libreoffice-fresh", "libreoffice-fresh-de"] archlinux: ["libreoffice-fresh", "libreoffice-fresh-de"]
qt-theming: qt-theming:
archlinux: ["breeze", "breeze-icons", "breeze-grub", "qt5ct"] archlinux: ["breeze", "breeze-icons", "breeze-grub", "qt5ct"]
gtk-theming: gtk-theming:
archlinux: ["breeze-gtk", "lxappearance"] archlinux: ["breeze-gtk", "lxappearance"]
xcompmgr: xcompmgr:
archlinux: ["xcompmgr"] archlinux: ["xcompmgr"]
python: python:
archlinux: archlinux:
- python - python
- python-lsp-server - python-lsp-server
python-modules: - bandit
- python-pyflakes
- python-pylint
python-modules:
archlinux: archlinux:
- python-ruamel-yaml - python-ruamel-yaml
- python-gitpython - python-gitpython
- python-semver - python-semver
black: black:
archlinux: ["python-black"] archlinux: ["python-black"]
xbacklight: xbacklight:
archlinux: ["acpilight"] archlinux: ["acpilight"]
wireshark: wireshark:
archlinux: ["wireshark-cli", "wireshark-qt"] archlinux: ["wireshark-cli", "wireshark-qt"]
nmap: nmap:
archlinux: ["nmap"] archlinux: ["nmap"]
curl: curl:
archlinux: ["curl"] archlinux: ["curl"]
wget: wget:
archlinux: ["wget"] archlinux: ["wget"]
tree: tree:
archlinux: ["tree"] archlinux: ["tree"]
which: which:
archlinux: ["which"] archlinux: ["which"]
zip: zip:
archlinux: ["zip", "unzip"] archlinux: ["zip", "unzip"]
traceroute: traceroute:
archlinux: ["traceroute"] archlinux: ["traceroute"]
tcpdump: tcpdump:
archlinux: ["tcpdump"] archlinux: ["tcpdump"]
tar: tar:
archlinux: ["tar"] archlinux: ["tar"]
rsync: rsync:
archlinux: ["rsync"] archlinux: ["rsync"]
net-tools: net-tools:
archlinux: ["net-tools"] archlinux: ["net-tools"]
ntfs: ntfs:
archlinux: ["ntfs-3g"] archlinux: ["ntfs-3g"]
lsof: lsof:
archlinux: ["lsof"] archlinux: ["lsof"]
iptables: iptables:
archlinux: ["iptables-nft"] archlinux: ["iptables-nft"]
pwgen: pwgen:
archlinux: ["pwgen"] archlinux: ["pwgen"]
gpg: gpg:
archlinux: ["gnupg", "paperkey", "yubikey-manager", "yubikey-touch-detector"] archlinux: ["gnupg", "paperkey", "yubikey-manager", "yubikey-touch-detector"]
networkmanager: networkmanager:
archlinux: ["networkmanager", "capnet-assist"] archlinux: ["networkmanager", "capnet-assist"]
pulseaudio: pulseaudio:
archlinux: archlinux:
- pulseaudio - pulseaudio
- pulseaudio-alsa - pulseaudio-alsa
@@ -196,39 +197,39 @@ packages:
- alsa-firmware - alsa-firmware
- sof-firmware - sof-firmware
- alsa-ucm-conf - alsa-ucm-conf
iw: iw:
archlinux: ["iw"] archlinux: ["iw"]
cowsay: cowsay:
archlinux: ["cowsay"] archlinux: ["cowsay"]
ruby: ruby:
archlinux: ["ruby"] archlinux: ["ruby"]
acpi: acpi:
archlinux: ["acpi", "acpid"] archlinux: ["acpi", "acpid"]
nodejs: nodejs:
archlinux: ["nodejs", "npm"] archlinux: ["nodejs", "npm"]
xdg: xdg:
archlinux: ["xdg-utils"] archlinux: ["xdg-utils"]
dunst: dunst:
archlinux: ["dunst"] archlinux: ["dunst"]
cloc: cloc:
archlinux: ["cloc"] archlinux: ["cloc"]
bwm-ng: bwm-ng:
archlinux: ["bwm-ng"] archlinux: ["bwm-ng"]
virtualbox: virtualbox:
archlinux: ["virtualbox"] archlinux: ["virtualbox"]
ssh: ssh:
archlinux: ["openssh"] archlinux: ["openssh"]
sshfs: sshfs:
archlinux: ["sshfs"] archlinux: ["sshfs"]
expect: expect:
archlinux: ["expect"] archlinux: ["expect"]
inotify: inotify:
archlinux: ["inotify-tools"] archlinux: ["inotify-tools"]
rclone: rclone:
archlinux: ["rclone"] archlinux: ["rclone"]
dnf: dnf:
archlinux: ["dnf"] archlinux: ["dnf"]
rust: rust:
archlinux: archlinux:
- rustup - rustup
- rust-analyzer - rust-analyzer
@@ -237,234 +238,223 @@ packages:
- cargo-watch - cargo-watch
- cargo-release - cargo-release
- cargo-sort - cargo-sort
musescore: musescore:
archlinux: ["musescore"] archlinux: ["musescore"]
sipcalc: sipcalc:
archlinux: ["sipcalc"] archlinux: ["sipcalc"]
rofi: rofi:
archlinux: ["rofi"] archlinux: ["rofi"]
imv: imv:
archlinux: ["imv"] archlinux: ["imv"]
pacman: pacman:
archlinux: ["pacman", "pacman-contrib"] archlinux: ["pacman", "pacman-contrib"]
steam: steam:
archlinux: ["steam"] archlinux: ["steam"]
man: man:
archlinux: ["man-db", "man-pages"] archlinux: ["man-db", "man-pages"]
nextcloud: nextcloud:
archlinux: ["nextcloud-client"] archlinux: ["nextcloud-client"]
kwallet: kwallet:
archlinux: ["kwallet", "kwalletmanager"] archlinux: ["kwallet", "kwalletmanager"]
pv: pv:
archlinux: ["pv"] archlinux: ["pv"]
stress: stress:
archlinux: ["stress"] archlinux: ["stress"]
mpris: mpris:
archlinux: ["playerctl"] archlinux: ["playerctl"]
imagemagick: imagemagick:
archlinux: ["imagemagick"] archlinux: ["imagemagick"]
mpv: mpv:
archlinux: ["mpv"] archlinux: ["mpv"]
gnome-keyring: gnome-keyring:
archlinux: ["gnome-keyring", "seahorse"] archlinux: ["gnome-keyring", "seahorse"]
element: element:
archlinux: ["element-desktop"] archlinux: ["element-desktop"]
maim: maim:
archlinux: ["maim"] archlinux: ["maim"]
mkinitcpio: mkinitcpio:
archlinux: ["mkinitcpio"] archlinux: ["mkinitcpio"]
terraform: terraform:
archlinux: ["terraform"] archlinux: ["terraform"]
synclient: synclient:
archlinux: ["xf86-input-synaptics"] archlinux: ["xf86-input-synaptics"]
ncdu: ncdu:
archlinux: ["ncdu"] archlinux: ["ncdu"]
dust: dust:
archlinux: ["dust"] archlinux: ["dust"]
font-utils: font-utils:
archlinux: ["woff2"] archlinux: ["woff2"]
jq: jq:
archlinux: ["jq"] archlinux: ["jq"]
musl: musl:
archlinux: ["musl"] archlinux: ["musl"]
kdeconnect: kdeconnect:
archlinux: ["kdeconnect"] archlinux: ["kdeconnect"]
restic: restic:
archlinux: ["restic"] archlinux: ["restic"]
discord: discord:
archlinux: ["discord"] archlinux: ["discord"]
kubectl: kubectl:
archlinux: ["kubectl"] archlinux: ["kubectl"]
bind: bind:
archlinux: ["bind"] archlinux: ["bind"]
fzf: fzf:
archlinux: ["fzf"] archlinux: ["fzf"]
chromium: chromium:
archlinux: ["chromium"] archlinux: ["chromium"]
signal: signal:
archlinux: ["signal-desktop"] archlinux: ["signal-desktop"]
go: go:
archlinux: ["go", "gopls", "delve"] archlinux: ["go", "gopls", "delve"]
helix: helix:
archlinux: ["helix"] archlinux: ["helix"]
keepassxc: keepassxc:
archlinux: ["keepassxc"] archlinux: ["keepassxc"]
awscli: awscli:
archlinux: ["aws-cli"] archlinux: ["aws-cli"]
mariadb-client: mariadb-client:
archlinux: ["mariadb-clients"] archlinux: ["mariadb-clients"]
php: php:
archlinux: ["php"] archlinux: ["php"]
exa: exa:
archlinux: ["eza"] archlinux: ["eza"]
just: just:
archlinux: ["just"] archlinux: ["just"]
ripgrep: ripgrep:
archlinux: ["ripgrep"] archlinux: ["ripgrep"]
fd: fd:
archlinux: ["fd"] archlinux: ["fd"]
bat: bat:
archlinux: ["bat"] archlinux: ["bat"]
mdbook: mdbook:
archlinux: ["mdbook"] archlinux: ["mdbook"]
bash: bash:
archlinux: archlinux:
- bash - bash
- bash-language-server - bash-language-server
- shellcheck - shellcheck
- shfmt - shfmt
packer: packer:
archlinux: ["packer"] archlinux: ["packer"]
c: c:
archlinux: archlinux:
- gcc - gcc
- clang - clang
sed: sed:
archlinux: archlinux:
- sed - sed
findutils: findutils:
archlinux: archlinux:
- findutils - findutils
html: html:
archlinux: archlinux:
- vscode-html-languageserver - vscode-html-languageserver
typescript: typescript:
archlinux: archlinux:
- typescript - typescript
- typescript-language-server - typescript-language-server
json: json:
archlinux: archlinux:
- vscode-json-languageserver - vscode-json-languageserver
- gron - gron
markdown: markdown:
archlinux: archlinux:
- marksman - marksman
lldb: lldb:
archlinux: archlinux:
- lldb - lldb
yaml: yaml:
archlinux: archlinux:
- yaml-language-server - yaml-language-server
qemu: qemu:
archlinux: archlinux:
- qemu-full - qemu-full
- tigervnc - tigervnc
cloud-init: cloud-init:
archlinux: archlinux:
- cloud-init - cloud-init
- cloud-utils - cloud-utils
netcat: netcat:
archlinux: archlinux:
- openbsd-netcat - openbsd-netcat
telnet: telnet:
archlinux: archlinux:
- inetutils - inetutils
cloudformation-tools: cloudformation-tools:
archlinux: archlinux:
- python-cfn-lint - python-cfn-lint
johntheripper: johntheripper:
archlinux: archlinux:
- john - john
age: age:
archlinux: archlinux:
- age - age
httpie: httpie:
archlinux: archlinux:
- httpie - httpie
yt-dlp: yt-dlp:
archlinux: archlinux:
- yt-dlp - yt-dlp
ytfzf: ytfzf:
archlinux: archlinux:
- ytfzf - ytfzf
- ueberzug - ueberzug
ffmpeg: ffmpeg:
archlinux: archlinux:
- ffmpeg - ffmpeg
zeal: zeal:
archlinux: archlinux:
- zeal - zeal
kcharselect: kcharselect:
archlinux: archlinux:
- kcharselect - kcharselect
bottom: bottom:
archlinux: archlinux:
- bottom - bottom
# for iotop # for iotop
sysstat: sysstat:
archlinux: archlinux:
- sysstat - sysstat
qrencode: qrencode:
archlinux: archlinux:
- qrencode - qrencode
iotop: iotop:
archlinux: archlinux:
- iotop - iotop
w3m: w3m:
archlinux: archlinux:
- w3m - w3m
ruff: ruff:
archlinux: archlinux:
- ruff - ruff
mold: mold:
archlinux: archlinux:
- clang - clang
- mold - mold
arch-packaging: arch-packaging:
archlinux: archlinux:
- namcap - namcap
- devtools - devtools
- arch-install-scripts - arch-install-scripts
- archiso - archiso
drone: drone:
archlinux: archlinux:
- drone-cli - drone-cli
sqlite: sqlite:
archlinux: archlinux:
- sqlite - sqlite
css: css:
archlinux: archlinux:
- vscode-css-languageserver - vscode-css-languageserver
watchexec: watchexec:
archlinux: archlinux:
- watchexec - watchexec
postgresql:
remove: archlinux:
mousepad: - postgresql
archlinux: ["mousepad"] tokei:
vim: archlinux:
archlinux: ["gvim"] - tokei
rust: whois:
archlinux: ["rust"] archlinux:
screen: - whois # also contains mkpasswd
archlinux: ["screen"]
lxc:
archlinux: ["lxc"]
autorandr:
archlinux: ["autorandr"]
openvpn:
archlinux: ["openvpn"]
bluetooth:
archlinux: ["bluez", "bluez-tools", "blueman"]
borgbackup:
archlinux: ["borg"]

1
pkgbuilds/grm-git Submodule

Submodule pkgbuilds/grm-git added at 4796cc6cd4

View File

@@ -158,53 +158,29 @@
- name: load package list - name: load package list
include_vars: include_vars:
file: packages.yml file: packages.yml
name: defined_packages
- name: force-update iptables to iptables-nft on arch
shell: pacman -Q iptables && yes | pacman -S iptables-nft
changed_when: false
become: true
- set_fact: - set_fact:
defined_packages: "{{ packages|json_query('keys(list)') }}" distro_packages: "{{ defined_packages|json_query('*.%s'|format(distro)) }}"
- set_fact:
distro_packages: "{{ packages|json_query('list.*.%s'|format(distro)) }}"
- name: check list - name: check list
assert: assert:
that: "defined_packages|length == distro_packages|length" 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 - name: install packages
package: package:
name: "{{ packages|json_query(query) }}" name: "{{ defined_packages|json_query(query) }}"
state: present state: present
become: true become: true
vars: vars:
query: "{{ 'list.*.%s[]'|format(distro) }}" query: "{{ 'list.*.%s[]'|format(distro) }}"
- name: install machine-specific packages - name: remove unconfigured packages
package: script:
name: "{{ machine.packages }}" cmd: ./remove-unconfigured-packages.sh --noconfirm
state: present register: unconfigured_packages_cmd
when: machine.packages is defined failed_when: unconfigured_packages_cmd.rc not in (0, 123)
changed_when: unconfigured_packages_cmd.rc == 123
become: true become: true
- name: aur - name: aur
@@ -228,17 +204,17 @@
source ./env source ./env
curl -sSf --proto '=https' https://keys.openpgp.org/vks/v1/by-fingerprint/E46E6F8FF02E4C83569084589239277F560C95AC | gpg --import - curl -sSf --proto '=https' https://keys.openpgp.org/vks/v1/by-fingerprint/E46E6F8FF02E4C83569084589239277F560C95AC | gpg --import -
- name: nodejs-intelephense
- name: spotify - name: spotify
preexec: | preexec: |
#!/usr/bin/env bash #!/usr/bin/env bash
source ./env source ./env
curl -sSf --proto '=https' https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | gpg --import - curl -sSf --proto '=https' https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | gpg --import -
- name: nodejs-intelephense
- name: vim-plug - name: vim-plug
- name: terraform-ls-bin - name: terraform-ls-bin
- name: grm-git
- name: screencfg-git
- 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 }}"

View File

@@ -19,7 +19,7 @@ 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 \
<(<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) \ <(for dep in "${aurdeps[@]}" ; do printf '%s\0' "${dep}" ; done) \
| sort -zu) \ | sort -zu) \
<(pacman -Qq --explicit | xargs -I "{}" printf '%s\0' "{}" | 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) done)
if (( "${#packages_to_remove}" > 0 )) ; then if (( "${#packages_to_remove}" > 0 )) ; then
sudo pacman -Rcns "${packages_to_remove[@]}" sudo pacman -Rcns "${packages_to_remove[@]}" "${@}" || exit $?
exit 123
fi fi

View 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

View File

@@ -1,9 +1,9 @@
[Unit] [Unit]
After=windowmanager.target After=windowmanager.target
Conflicts=color-theme-dark.service
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=/usr/bin/env switch-color-mode light ExecStart=/usr/bin/env switch-color-mode light
ExecStop=/usr/bin/env switch-color-mode dark
RemainAfterExit=true RemainAfterExit=true
PassEnvironment=DISPLAY PassEnvironment=DISPLAY

View File

@@ -17,6 +17,11 @@ export LANG=en_US.UTF-8
export LC_TIME=de_DE.UTF-8 export LC_TIME=de_DE.UTF-8
export LC_COLLATE=C 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 XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
@@ -33,11 +38,6 @@ export PATH="$PATH:$(go env GOPATH)/bin"
export QT_QPA_PLATFORMTHEME=qt5ct 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 PASSWORD_STORE_DIR="$HOME/.password-store"
export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtkrc-2.0 export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtkrc-2.0

View File

@@ -387,6 +387,8 @@ tmp() {
if [[ -n ${remote} ]] ; then if [[ -n ${remote} ]] ; then
hook_com[branch]="%F{cyan}${hook_com[branch]}%F{$mainc}:%b%F{magenta}${remote}%F{yellow}${(j:/:)gitstatus}%F{$mainc}" 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 fi
} }