Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
db6503a855 |
@ -4,9 +4,7 @@
|
||||
|
||||
Raspberry Pi images that support Tailscale and headless SSH can be built using a command. It is easiest to run this command on AArch64 on Linux, such as within a Linux VM or Docker container on an M1 Mac.
|
||||
|
||||
docker run -v $PWD:/src -it --rm nixos/nix:latest /bin/sh
|
||||
nix-env -f https://github.com/nix-community/nixos-generators/archive/master.tar.gz -i
|
||||
cd /src
|
||||
nixos-generate -f sd-aarch64-installer --system aarch64-linux -c hosts/microserver.home.ts.hillion.co.uk/default.nix
|
||||
cp SOME_OUTPUT out.img.zst
|
||||
$ docker run -v $PWD:/etc/nixos -it --rm nixos/nix:latest
|
||||
# cd /etc/nixos
|
||||
# nix build .#images.microserver.home.ts.hillion.co.uk
|
||||
|
||||
|
25
flake.nix
25
flake.nix
@ -20,11 +20,17 @@
|
||||
|
||||
description = "Hillion Nix flake";
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-chia, flake-utils, agenix, home-manager, impermanence, darwin, ... }@inputs: {
|
||||
nixosConfigurations =
|
||||
outputs =
|
||||
{ self, nixpkgs, nixpkgs-unstable, nixpkgs-chia, flake-utils, agenix, home-manager, impermanence, darwin, ... }@inputs:
|
||||
let
|
||||
fqdns = builtins.attrNames (builtins.readDir ./hosts);
|
||||
isNixos = fqdn: !builtins.pathExists ./hosts/${fqdn}/darwin;
|
||||
isDarwin = host: builtins.pathExists ./hosts/${host}/darwin;
|
||||
isNixos = fqdn: !isDarwin fqdn;
|
||||
needsImage = fqdn: builtins.pathExists ./hosts/${fqdn}/image;
|
||||
in
|
||||
rec {
|
||||
nixosConfigurations =
|
||||
let
|
||||
getSystemOverlays = system: nixpkgsConfig: [
|
||||
(final: prev: {
|
||||
"storj" = final.callPackage ./pkgs/storj.nix { };
|
||||
@ -36,7 +42,7 @@
|
||||
nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = inputs;
|
||||
modules = [
|
||||
modules = (if needsImage then [ ] else [ "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix" ]) ++ [
|
||||
./hosts/${fqdn}/default.nix
|
||||
./modules/default.nix
|
||||
|
||||
@ -60,6 +66,16 @@
|
||||
in
|
||||
nixpkgs.lib.genAttrs (builtins.filter isNixos fqdns) mkHost;
|
||||
|
||||
# images =
|
||||
# let
|
||||
# mkImage = fqdn: nixosConfigurations.${fqdn}.config.system.build.sdImage;
|
||||
# in
|
||||
# nixpkgs.lib.genAttrs (builtins.filter needsImage fqdns) mkImage;
|
||||
|
||||
images = {
|
||||
"microserver" = nixosConfigurations."microserver.home.ts.hillion.co.uk".config.system.build.sdImage;
|
||||
};
|
||||
|
||||
darwinConfigurations =
|
||||
let
|
||||
hosts = builtins.attrNames (builtins.readDir ./hosts);
|
||||
@ -78,7 +94,6 @@
|
||||
};
|
||||
in
|
||||
nixpkgs.lib.genAttrs (builtins.filter isDarwin hosts) mkHost;
|
||||
|
||||
} // flake-utils.lib.eachDefaultSystem (system: {
|
||||
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
|
||||
});
|
||||
|
0
hosts/microserver.home.ts.hillion.co.uk/image
Normal file
0
hosts/microserver.home.ts.hillion.co.uk/image
Normal file
0
hosts/microserver.parents.ts.hillion.co.uk/image
Normal file
0
hosts/microserver.parents.ts.hillion.co.uk/image
Normal file
Loading…
Reference in New Issue
Block a user