mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-17 03:31:59 -05:00
Init:start-nix
This commit is contained in:
97
Justfile
Normal file
97
Justfile
Normal file
@@ -0,0 +1,97 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user