mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 11:12:00 -05:00
98 lines
2.7 KiB
Makefile
98 lines
2.7 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
|
|
|
|
|
|
clean:
|
|
# Remove useless nix-channel files
|
|
sudo rm -rf /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
|
|
|
|
|
format:
|
|
# Use alejandra and deadnix to format code
|
|
deadnix -e
|
|
alejandra .
|
|
|
|
|
|
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
|
|
|
|
|
|
list:
|
|
# List system packages
|
|
nix-store -qR /run/current-system | cat
|
|
|
|
|
|
profile:
|
|
# Show system profile
|
|
sudo nix profile history --profile /nix/var/nix/profiles/system
|
|
|
|
|
|
switch input:
|
|
# Let system rebuild and switch
|
|
sudo nixos-rebuild switch --flake .#{{input}} --show-trace -L -v
|
|
|
|
|
|
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
|