#!/usr/bin/env sh set -eu format() { alejandra . &>/dev/null } git_stage() { git status read -p "All files will be added to git. Press Enter to confirm." git add -A } rebuild() { echo "NixOS Rebuilding..." sudo nixos-rebuild switch --flake . &>nixos-switch.log || ( cat nixos-switch.log | grep --color error && false ) } message() { local msg read -p "Enter commit message: " msg nixos-rebuild list-generations | grep True | awk -v msg="$msg" -v machine="$(hostname)" 'BEGIN \ {if (msg!="") { {print msg} {print ""} }} {printf "Generation: "} {print $1} {if (msg=="") { {print ""} }} {printf "Built at: "} {printf $3} {printf " on "} {print $2} {printf "Build machine: "} {print machine} {printf "Kernel: "} {print $5} {printf "nixpkgs: "} {print $4}' } git_commit() { gen=$(message) git commit -m "$gen" } main() { pushd ~/.config/amuro # Format Nix code with alejandra format # Add all files to git git_stage # nixos-rebuild rebuild # Commit all files to git git_commit popd } main