mirror of
https://github.com/Cian-H/My_NixOS_Config.git
synced 2026-01-15 17:01:57 +00:00
77 lines
2.0 KiB
Makefile
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
|