{ pkgs, config, ... }: let update-system = pkgs.writeShellScriptBin "update-system" '' if ! [ $(id -u) = 0 ]; then echo "RUN AS ROOT" exit 1 fi nix flake update /etc/nixos/# ''; clean-store = pkgs.writeShellScriptBin "clean-store" '' if ! [ $(id -u) = 0 ]; then echo "RUN AS ROOT" exit 1 fi rm /nix/var/nix/gcroots/auto/* nix-collect-garbage -d ''; apply-user = pkgs.writeShellScriptBin "apply-user" '' home-manager switch --flake /etc/nixos/#$(whoami) ''; apply-system = pkgs.writeShellScriptBin "apply-system" '' if ! [ $(id -u) = 0 ]; then echo "RUN AS ROOT" exit 1 fi nixos-rebuild switch --flake /etc/nixos/# ''; full-upgrade = pkgs.writeShellScriptBin "full-upgrade" '' if ! [ $(id -u) = 0 ]; then echo "RUN AS ROOT" exit 1 fi update-system apply-system apply-user sudo -u gerg apply-user clean-store ''; polybar-tray = pkgs.writeShellScriptBin "polybar-tray" '' u=$(xprop -name "Polybar tray window" _NET_WM_PID | awk '{print $3}') if [ $u -Z ] then polybar tray & else kill $u fi ''; in { environment.systemPackages = [ update-system clean-store apply-user apply-system polybar-tray full-upgrade]; }