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