{ # 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; }; }