You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.1 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
deploy-rs.url = "github:serokell/deploy-rs";
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
private.url = "git+ssh://git@git.tempest.dev/ashe/nixos-config-private";
tmpfiles.url = "git+http://git.tempest.dev/ashe/tmpfiles";
tempestdev.url = "git+http://git.tempest.dev/ashe/tempest.dev";
tempest-secret.url = "git+ssh://git@git.tempest.dev/ashe/tempest-skycord-secret";
tempest-contact.url = "git+http://git.tempest.dev/ashe/contact-api";
tempest-contact-rs.url = "git+https://git.tempest.dev/ashe/contact-api-rs";
gotosocial.url = "git+http://git.tempest.dev/ashe/nixos-wrapper-gotosocial";
ashen-earth.url = "git+ssh://git@git.tempest.dev/ashe/ashen-earth";
drowning.url = "git+http://git.tempest.dev/ashe/drowning-among-stars";
seance.url = "git+ssh://git@git.tempest.dev/ashe/seance";
pounce.url = "git+http://git.tempest.dev/ashe/nixos-wrapper-pounce";
cinder.url = "git+ssh://git@git.tempest.dev/cinder/seance-config";
daemon.url = "git+ssh://git@git.tempest.dev/ashe/daemon.press";
};
outputs = {
self,
nixpkgs,
deploy-rs,
home-manager,
private,
tmpfiles,
tempestdev,
tempest-secret,
tempest-contact,
tempest-contact-rs,
gotosocial,
ashen-earth,
drowning,
seance,
pounce,
cinder,
daemon,
}: {
nixosConfigurations = {
nyx = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/nyx/configuration.nix
home-manager.nixosModules.home-manager
private.nixosModules.nyx
ashen-earth.nixosModule
tmpfiles.nixosModule
tempestdev.nixosModule
tempest-secret.nixosModule
tempest-contact.nixosModule
tempest-contact-rs.nixosModule
gotosocial.nixosModule
drowning.nixosModule
seance.nixosModule
pounce.nixosModule
cinder.nixosModule
daemon.nixosModule
./hosts/nyx/include/acme.nix
./hosts/nyx/include/nginx.nix
./hosts/nyx/include/haproxy.nix
./hosts/nyx/include/services.nix
./hosts/nyx/include/proxy.nix
./hosts/nyx/include/seance.nix
./hosts/nyx/include/irc.nix
];
};
hemera = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/hemera/configuration.nix
private.nixosModules.hemera
./hosts/hemera/include/nginx.nix
./hosts/hemera/include/nix-serve.nix
];
};
};
deploy.nodes.nyx.hostname = "nyx.tempest.dev";
deploy.nodes.nyx.profiles.system = {
user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.nyx;
sshUser = "rose";
sshOpts = [ "-t" ];
fastConnection = true;
magicRollback = false;
};
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
};
}