mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 11:12:00 -05:00
99 lines
2.8 KiB
Makefile
99 lines
2.8 KiB
Makefile
# Set current hostname
|
|
hostname := `hostname`
|
|
|
|
# Set current username
|
|
username := `whoami`
|
|
|
|
|
|
@anywhere input:
|
|
# Perform nixos-anywhere install
|
|
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hosts/{{input}}/hardware.nix --flake .#{{input}} --target-host root@{{input}}
|
|
|
|
|
|
@anywhere-lb input:
|
|
# Perform nixos-anywhere install (local builder)
|
|
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hosts/{{input}}/hardware.nix --flake .#{{input}} --target-host root@{{input}} --build-on local
|
|
|
|
|
|
@anywhere-vm input:
|
|
# Test nixos-anywhere install in vm
|
|
nix run github:nix-community/nixos-anywhere -- --flake .#{{input}} --vm-test
|
|
|
|
|
|
@build input:
|
|
# Build
|
|
sudo nixos-rebuild build --flake .#{{input}} --show-trace -L -v
|
|
|
|
|
|
@build-vm input:
|
|
# Build a vm
|
|
sudo nixos-rebuild build-vm --flake .#{{input}} --show-trace -L -v
|
|
|
|
|
|
@switch input:
|
|
# Let system rebuild and switch
|
|
sudo nixos-rebuild switch --flake .#{{input}} --show-trace -L -v
|
|
|
|
|
|
@clean:
|
|
# Remove useless nix-channel files
|
|
sudo rm -rf /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
|
|
|
|
|
@gc:
|
|
# Do garbage-clean (remove unused packages, etc)
|
|
sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/system
|
|
sudo nix-collect-garbage --delete-old
|
|
|
|
|
|
@ghc:
|
|
# Generate hardware.nix
|
|
nixos-generate-config --show-hardware-config > ./hosts/{{hostname}}/hardware.nix
|
|
|
|
|
|
@install:
|
|
# Install this flake
|
|
bash install.sh
|
|
|
|
|
|
@cat:
|
|
# List system packages
|
|
nix-store -qR /run/current-system | cat
|
|
|
|
|
|
@list:
|
|
sudo nix-env -p /nix/var/nix/profiles/system --list-generations
|
|
|
|
|
|
@diff:
|
|
sudo nix profile diff-closures --profile /nix/var/nix/profiles/system
|
|
|
|
|
|
@delete generation:
|
|
sudo nix-env -p /nix/var/nix/profiles/system --delete-generations {{generation}}
|
|
|
|
|
|
@update:
|
|
# Update flake.lock
|
|
nix flake update --extra-experimental-features flakes --extra-experimental-features nix-command --show-trace
|
|
|
|
|
|
@upgrade:
|
|
# Let system totally upgrade
|
|
## Set hostname and username in flake.nix
|
|
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
|
sed -i "/^\s*username[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{username}}\"/" ./flake.nix
|
|
git add .
|
|
## Rebuild the system
|
|
sudo nixos-rebuild switch --flake .#{{hostname}} --show-trace
|
|
|
|
|
|
@upgrade-debug:
|
|
# Let system totally upgrade (deBug Mode)
|
|
## Set hostname and username in flake.nix
|
|
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
|
sed -i "/^\s*username[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{username}}\"/" ./flake.nix
|
|
git add .
|
|
## Rebuild the system
|
|
sudo unbuffer nixos-rebuild switch --flake .#{{hostname}} --sudo --log-format internal-json --show-trace -L -v |& nom --json
|