85 lines
2.0 KiB
Nix
85 lines
2.0 KiB
Nix
{
|
|
# see https://nixops.readthedocs.io/en/latest/guides/deploy-without-root.html
|
|
description = "Satnogs Deployment Flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/23.11";
|
|
agenix.url = "github:ryantm/agenix";
|
|
satnogs-client-docker.url = "git+ssh://git@git.zenerdio.de/sebastian/satnogs-client-docker-flake.git";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, agenix, satnogs-client-docker, ... }:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
in
|
|
{
|
|
|
|
formatter.x86_64-linux = pkgs.nixpkgs-fmt;
|
|
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
colmena
|
|
agenix.packages.x86_64-linux.default
|
|
];
|
|
};
|
|
|
|
colmena = {
|
|
meta = {
|
|
nixpkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
};
|
|
};
|
|
|
|
|
|
|
|
defaults = { config, pkgs, ... }: {
|
|
imports = [
|
|
./modules/users.nix
|
|
./modules/ssh.nix
|
|
./modules/locale.nix
|
|
agenix.nixosModules.default
|
|
];
|
|
};
|
|
|
|
dl1ssk = { config, pkgs, ... }:
|
|
{
|
|
deployment = {
|
|
tags = [ "satnogs" ];
|
|
targetHost = "192.168.42.22";
|
|
};
|
|
|
|
imports = [
|
|
./modules/common-packages.nix
|
|
./machines/dl1ssk/configuration.nix
|
|
satnogs-client-docker.nixosModules.default
|
|
];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
nixosConfigurations.rpi4_bootstrap = nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
"${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
|
{
|
|
imports = [
|
|
./modules/rpi.nix
|
|
./modules/common-packages.nix
|
|
./modules/locale.nix
|
|
./modules/ssh.nix
|
|
./modules/users.nix
|
|
];
|
|
|
|
|
|
networking.firewall.enable = false;
|
|
|
|
system.stateVersion = "23.11";
|
|
}
|
|
];
|
|
};
|
|
|
|
|
|
images.rpi4_bootstrap = self.nixosConfigurations.rpi4_bootstrap.config.system.build.sdImage;
|
|
};
|
|
}
|