.files/Justfile

34 lines
1.4 KiB
Makefile

os host action:
#!/usr/bin/env bash
nixpkgs=$(nix-instantiate --eval -E "let sources = import ./nix/sources.nix {}; in sources.nixpkgs.outPath" | jq -r .)
sudo nixos-rebuild {{ action }} \
-I nixpkgs=${nixpkgs} \
-I nixos-config=./nix/configurations/{{ host }}.nix \
--fast \
--file ./default.nix \
--attr "nixosConfigurations.{{ host }}"
install host:
#!/usr/bin/env bash
nixpkgs=$(nix-instantiate --eval -E "let sources = import ./nix/sources.nix {}; in sources.nixpkgs.outPath" | jq -r .)
sudo nixos-install \
-I nixpkgs=${nixpkgs} \
-I nixos-config=./nix/configurations/{{ host }}.nix \
--file ./default.nix \
--attr "nixosConfigurations.{{ host }}"
env name action profilePath="~/.environments":
#!/usr/bin/env bash
# 1) realize the buildEnv derivation
# 2) set the environment to it
drv=$(nix-build -E "
let sources = import ./nix/sources.nix {};
pkgs = import sources.nixpkgs {};
in pkgs.callPackage ./nix/environments/{{ name }}.nix {}
")
mkdir -p {{ profilePath }}
nix-env --{{ action }} "$drv" --profile {{ profilePath }}"/{{ name }}"
update:
niv update nixpkgs
niv update nur