mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 08:53:56 -05:00
54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
{ 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];
|
|
}
|