Files
My_NixOS_Config/justfile
2026-01-13 13:28:15 +00:00

77 lines
2.0 KiB
Makefile

set shell := ["bash", "-c"]
git := "true"
flake := "true"
flatpak := "true"
default:
@just --list
_git-sync:
git pull --recurse
git submodule update --remote --recursive
_flake-update:
nix flake update
prebuild:
@if [ "{{git}}" == "true" ]; then \
echo ">> Syncing Git..."; \
just _git-sync; \
fi
@if [ "{{flake}}" == "true" ]; then \
echo ">> Updating Flake..."; \
just _flake-update; \
fi
_update-root:
if `/usr/bin/env grep -Rq "nixos" /etc/*-release`; then \
sudo nixos-rebuild switch --flake .?submodules=1#$HOSTNAME; \
fi
update-root: prebuild _update-root
install-home:
home-manager switch --flake .?submodules=1#$USER@core \
--extra-experimental-features nix-command \
--extra-experimental-features flakes
_update-home:
home-manager switch --flake .?submodules=1#$USER@$HOSTNAME \
|| home-manager switch --flake .?submodules=1#$USER@core
update-home: prebuild _update-home
update-flatpaks:
@if [ "{{flatpak}}" == "true" ] && command -v flatpak &> /dev/null; then \
echo ">> Updating Flatpaks..."; \
flatpak update -y; \
flatpak uninstall --unused -y; \
else \
echo ">> Flatpak not found or disabled. Skipping."; \
fi
history:
@echo ">> System Generations:"
@nix-env -p /nix/var/nix/profiles/system --list-generations | tail -n 5
@echo "\n>> Home Manager Generations:"
@home-manager generations | head -n 5
repl:
nix repl --file flake.nix
update: prebuild _update-root _update-home update-flatpaks
cleanup days="":
@if [ -n "{{days}}" ]; then \
echo ">> Deleting system generations older than {{days}}..."; \
sudo nix-collect-garbage --delete-older-than {{days}}; \
fi
@echo ">> Cleaning Nix Store..."
nix-store --gc
nix-store --optimise
@if command -v flatpak &> /dev/null; then \
echo ">> Cleaning unused Flatpaks..."; \
flatpak uninstall --unused -y; \
fi