{ description = "nix infra for tangled"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; tangled.url = "git+https://tangled.sh/@tangled.sh/core"; colmena.url = "github:zhaofengli/colmena/release-0.4.x"; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; nixery-flake = { type = "github"; owner = "tazjin"; repo = "nixery"; flake = false; }; }; outputs = { nixpkgs, disko, colmena, nixery-flake, tangled, ... }: { nixosConfigurations.nixery = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ disko.nixosModules.disko tangled.nixosModules.spindle ./hosts/nixery/configuration.nix ]; }; nixosConfigurations.pds = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ disko.nixosModules.disko ./hosts/pds/configuration.nix ]; }; colmenaHive = colmena.lib.makeHive { meta = { nixpkgs = nixpkgs.legacyPackages.x86_64-linux; specialArgs = { nixery-pkgs = import nixery-flake.outPath { pkgs = import nixpkgs { system = "x86_64-linux"; }; }; commonArgs = import ./common/ssh.nix; }; }; defaults = { pkgs, ... }: { environment.systemPackages = [ pkgs.curl ]; }; pds = { pkgs, ... }: { deployment = { targetHost = "tngl.sh"; targetPort = 22; targetUser = "tangler"; buildOnTarget = true; }; nixpkgs.system = "x86_64-linux"; imports = [ disko.nixosModules.disko ./hosts/pds/configuration.nix ./hosts/pds/services/nginx.nix ./hosts/pds/services/pds.nix ]; time.timeZone = "Europe/Helsinki"; }; nixery = { pkgs, ... }: { deployment = { targetHost = "nixery.tangled.sh"; targetPort = 22; targetUser = "tangler"; buildOnTarget = true; }; nixpkgs.system = "x86_64-linux"; imports = [ disko.nixosModules.disko tangled.nixosModules.spindle ./hosts/nixery/configuration.nix ./hosts/nixery/services/nginx.nix ./hosts/nixery/services/openbao/openbao.nix ./hosts/nixery/services/openbao/proxy.nix ./hosts/nixery/services/nixery.nix ]; time.timeZone = "Europe/Helsinki"; }; }; }; }