mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-12 07:32:40 +02:00
feat: replace Makefile with Justfile
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
# just is a command runner, Justfile is very similar to Makefile, but simpler.
|
||||
|
||||
# use nushell for shell commands
|
||||
set shell := ["nu", "-c"]
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Nix commands related to the local machine
|
||||
#
|
||||
############################################################################
|
||||
|
||||
nixos-switch := "nixos-rebuild switch --use-remote-sudo --flake"
|
||||
debug-args := "--show-trace --verbose"
|
||||
|
||||
i3:
|
||||
{{nixos-switch}} .#ai_i3
|
||||
|
||||
hypr:
|
||||
{{nixos-switch}} .#ai_hyprland
|
||||
|
||||
s-i3:
|
||||
{{nixos-switch}} .#shoukei_i3
|
||||
|
||||
s-hypr:
|
||||
{{nixos-switch}} .#shoukei_hyprland
|
||||
|
||||
i3-debug:
|
||||
{{nixos-switch}} .#ai_i3 {{debug-args}}
|
||||
|
||||
hypr-debug:
|
||||
{{nixos-switch}} .#ai_hyprland {{debug-args}}
|
||||
|
||||
up:
|
||||
nix flake update
|
||||
|
||||
# Update specific input
|
||||
# Usage: just upp nixpkgs
|
||||
upp input:
|
||||
nix flake lock --update-input {{input}}
|
||||
|
||||
history:
|
||||
nix profile history --profile /nix/var/nix/profiles/system
|
||||
|
||||
repl:
|
||||
nix repl -f flake:nixpkgs
|
||||
|
||||
clean:
|
||||
# remove all generations older than 7 days
|
||||
sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 7d
|
||||
|
||||
gc:
|
||||
# garbage collect all unused nix store entries
|
||||
sudo nix store gc --debug
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Darwin related commands, harmonica is my macbook pro's hostname
|
||||
#
|
||||
############################################################################
|
||||
|
||||
darwin-prefix := "./result/sw/bin/darwin-rebuild"
|
||||
darwin-switch := "{{darwin-prefix}} switch --flake"
|
||||
|
||||
darwin-set-proxy:
|
||||
sudo python3 scripts/darwin_set_proxy.py
|
||||
sleep 1
|
||||
|
||||
darwin-rollback:
|
||||
{{darwin-prefix}} rollback
|
||||
|
||||
ha: darwin-set-proxy
|
||||
nix build .#darwinConfigurations.harmonica.system
|
||||
{{darwin-switch}} .#harmonica
|
||||
|
||||
ha-debug: darwin-set-proxy
|
||||
nom build .#darwinConfigurations.harmonica.system {{debug-args}}
|
||||
{{darwin-switch}} .#harmonica {{debug-args}}
|
||||
|
||||
fe: darwin-set-proxy
|
||||
nix build .#darwinConfigurations.fern.system
|
||||
{{darwin-switch}} .#fern
|
||||
|
||||
fe-debug: darwin-set-proxy
|
||||
nom build .#darwinConfigurations.fern.system {{debug-args}}
|
||||
{{darwin-switch}} .#fern {{debug-args}}
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Idols, Commands related to my remote distributed building cluster
|
||||
#
|
||||
############################################################################
|
||||
|
||||
idols-ssh-key:
|
||||
ssh-add ~/.ssh/ai-idols
|
||||
|
||||
idols: idols-ssh-key
|
||||
colmena apply --on '@dist-build'
|
||||
|
||||
aqua:
|
||||
colmena apply --on '@aqua'
|
||||
|
||||
ruby:
|
||||
colmena apply --on '@ruby'
|
||||
|
||||
kana:
|
||||
colmena apply --on '@kana'
|
||||
|
||||
idols-debug: idols-ssh-key
|
||||
colmena apply --on '@dist-build' --verbose --show-trace
|
||||
|
||||
# only used once to setup the virtual machines
|
||||
idols-image:
|
||||
# take image for idols, and upload the image to proxmox nodes.
|
||||
nom build .#aquamarine
|
||||
scp result root@gtr5:/var/lib/vz/dump/vzdump-qemu-aquamarine.vma.zst
|
||||
|
||||
nom build .#ruby
|
||||
scp result root@s500plus:/var/lib/vz/dump/vzdump-qemu-ruby.vma.zst
|
||||
|
||||
nom build .#kana
|
||||
scp result root@um560:/var/lib/vz/dump/vzdump-qemu-kana.vma.zst
|
||||
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# RISC-V related commands
|
||||
#
|
||||
############################################################################
|
||||
|
||||
roll: idols-ssh-key
|
||||
colmena apply --on '@riscv'
|
||||
|
||||
roll-debug: idols-ssh-key
|
||||
colmena apply --on '@dist-build' --verbose --show-trace
|
||||
|
||||
nozomi:
|
||||
colmena apply --on '@nozomi'
|
||||
|
||||
yukina:
|
||||
colmena apply --on '@yukina'
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Aarch64 related commands
|
||||
#
|
||||
############################################################################
|
||||
|
||||
aarch:
|
||||
colmena apply --on '@aarch'
|
||||
|
||||
suzu:
|
||||
colmena apply --on '@suzu'
|
||||
|
||||
suzu-debug:
|
||||
colmena apply --on '@suzu' --verbose --show-trace
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Misc, other useful commands
|
||||
#
|
||||
############################################################################
|
||||
|
||||
fmt:
|
||||
# format the nix files in this repo
|
||||
nix fmt
|
||||
|
||||
Reference in New Issue
Block a user