.PHONY: all fmt fmt-nix fmt-shell lint lint-shell check clean update gc export NIX_PAGER= all: fmt lint # Formatage fmt: fmt-nix fmt-shell fmt-nix: find . -name '*.nix' -not -path './.direnv/*' | xargs nixfmt fmt-shell: find . -name '*.sh' -not -path './.direnv/*' | xargs shfmt -w -i 2 # Validation lint: lint-shell lint-shell: find . -name '*.sh' -not -path './.direnv/*' | xargs shellcheck # Vérification sans modification check: find . -name '*.nix' -not -path './.direnv/*' | xargs nixfmt --check find . -name '*.sh' -not -path './.direnv/*' | xargs shfmt -d -i 2 # Nettoyage clean: rm -rf .direnv result # Mise à jour NixOS + home-manager + garbage collect update: sudo nixos-rebuild switch --upgrade-all $(MAKE) gc # Nettoyage Nix (générations > 14 jours + garbage collect) gc: @echo "=== Générations utilisateur ===" nix-env --list-generations @echo "" @echo "Suppression des générations utilisateur > 14 jours..." nix-env --delete-generations 14d @echo "" @echo "=== Générations système ===" sudo nix-env --list-generations --profile /nix/var/nix/profiles/system @echo "" @echo "Suppression des générations système > 14 jours..." sudo nix-env --delete-generations 14d --profile /nix/var/nix/profiles/system @echo "" @echo "=== Garbage collection ===" sudo nix-collect-garbage @echo "" @echo "=== Espace disque /nix/store ===" du -sh /nix/store