feat: home-manager config files implemented

build not tested
This commit is contained in:
Sangmin Kim 2026-03-04 21:53:28 +09:00 committed by Poby
parent 248170c877
commit 54297f94fd
No known key found for this signature in database
44 changed files with 852 additions and 60 deletions

86
Justfile Normal file
View file

@ -0,0 +1,86 @@
# just is a command runner, Justfile is very similar to Makefile, but simpler.
# TODO update hostname here!
hostname := "fenrir"
# List all the just commands
default:
@just --list
############################################################################
#
# Darwin related commands
#
############################################################################
# TODO Feel free to remove this target if you don't need a proxy to speed up the build process
[group('desktop')]
darwin-set-proxy:
sudo python3 scripts/darwin_set_proxy.py
[group('desktop')]
darwin: darwin-set-proxy
nix build .#darwinConfigurations.{{hostname}}.system \
--extra-experimental-features 'nix-command flakes'
sudo -E ./result/sw/bin/darwin-rebuild switch --flake .#{{hostname}}
[group('desktop')]
darwin-debug: darwin-set-proxy
nix build .#darwinConfigurations.{{hostname}}.system --show-trace --verbose \
--extra-experimental-features 'nix-command flakes'
sudo -E ./result/sw/bin/darwin-rebuild switch --flake .#{{hostname}} --show-trace --verbose
############################################################################
#
# nix related commands
#
############################################################################
# Update all the flake inputs
[group('nix')]
up:
nix flake update
# Update specific input
# Usage: just upp nixpkgs
[group('nix')]
upp input:
nix flake update {{input}}
# List all generations of the system profile
[group('nix')]
history:
nix profile history --profile /nix/var/nix/profiles/system
# Open a nix shell with the flake
[group('nix')]
repl:
nix repl -f flake:nixpkgs
# remove all generations older than 7 days
# on darwin, you may need to switch to root user to run this command
[group('nix')]
clean:
sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 7d
# Garbage collect all unused nix store entries
[group('nix')]
gc:
# garbage collect all unused nix store entries(system-wide)
sudo nix-collect-garbage --delete-older-than 7d
# garbage collect all unused nix store entries(for the user - home-manager)
# https://github.com/NixOS/nix/issues/8508
nix-collect-garbage --delete-older-than 7d
[group('nix')]
fmt:
# format the nix files in this repo
nix fmt
# Show all the auto gc roots in the nix store
[group('nix')]
gcroot:
ls -al /nix/var/nix/gcroots/auto/