summaryrefslogtreecommitdiff
path: root/users/kassouni/palette/rebuild.nix
blob: e42a7c506100c6b4858567b3698b48f60a5d4703 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{ writers, ghostty }:
{
  name = "rebuild";
  icon = "󱄅";
  # Rebuilds need a terminal: sudo prompts for a password and nixos-rebuild
  # streams a lot of output. Spawn ghostty with a login shell so it inherits
  # the system sudo (setuid) and the user's nix from PATH. Mirrors `make rebuild`.
  exe = writers.writeBash "rebuild" ''
    set -eu
    exec ${ghostty}/bin/ghostty -e bash -lc '
      set -eu
      cd /home/kassouni/Developer/nixos-config
      nix flake update xmonad-config
      sudo nixos-rebuild switch --flake .
      echo
      echo "Rebuild finished. Press enter to close."
      read -r _
    '
  '';
}