2026-07-11 14:56:13 -04:00
|
|
|
{
|
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
|
|
|
|
|
|
|
|
deploy-rs.url = "github:serokell/deploy-rs";
|
|
|
|
|
deploy-rs.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
|
|
|
|
home-manager.url = "github:nix-community/home-manager/release-26.05";
|
|
|
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
2026-07-11 16:28:11 -04:00
|
|
|
grasswren.url = "git+https://code.grasswren.net/Lilac/Grasswren.git?ref=main";
|
|
|
|
|
grasswren.flake = false;
|
2026-07-11 14:56:13 -04:00
|
|
|
};
|
|
|
|
|
|
2026-09-23 17:39:36 -04:00
|
|
|
outputs = inputs@{ self, nixpkgs, deploy-rs, home-manager, grasswren, ... }:
|
2026-07-11 14:56:13 -04:00
|
|
|
{
|
|
|
|
|
nixosConfigurations = {
|
2026-09-12 17:11:21 -04:00
|
|
|
laptop = nixpkgs.lib.nixosSystem {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [
|
|
|
|
|
home-manager.nixosModules.home-manager
|
2026-09-23 17:39:36 -04:00
|
|
|
./hosts/laptop.nix
|
2026-09-12 17:11:21 -04:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2026-07-11 16:28:11 -04:00
|
|
|
desktop = nixpkgs.lib.nixosSystem {
|
2026-07-11 14:56:13 -04:00
|
|
|
system = "x86_64-linux";
|
2026-07-11 16:28:11 -04:00
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [
|
2026-07-11 14:56:13 -04:00
|
|
|
home-manager.nixosModules.home-manager
|
2026-09-23 17:39:36 -04:00
|
|
|
./hosts/desktop.nix
|
2026-07-11 16:28:11 -04:00
|
|
|
];
|
|
|
|
|
};
|
2026-07-11 14:56:13 -04:00
|
|
|
|
2026-07-11 16:28:11 -04:00
|
|
|
vps = nixpkgs.lib.nixosSystem {
|
2026-07-11 14:56:13 -04:00
|
|
|
system = "x86_64-linux";
|
2026-07-11 16:28:11 -04:00
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [
|
2026-08-03 13:22:28 -04:00
|
|
|
home-manager.nixosModules.home-manager
|
2026-09-23 17:39:36 -04:00
|
|
|
./hosts/vps.nix
|
2026-07-11 16:28:11 -04:00
|
|
|
];
|
2026-09-12 20:33:30 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
backup = nixpkgs.lib.nixosSystem {
|
2026-08-30 17:56:03 -04:00
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [
|
|
|
|
|
home-manager.nixosModules.home-manager
|
2026-09-23 17:39:36 -04:00
|
|
|
./hosts/backup.nix
|
2026-08-30 17:56:03 -04:00
|
|
|
];
|
2026-07-11 16:28:11 -04:00
|
|
|
};
|
|
|
|
|
};
|
2026-07-11 14:56:13 -04:00
|
|
|
|
|
|
|
|
deploy.nodes = {
|
2026-09-12 20:33:30 -04:00
|
|
|
desktop = {
|
|
|
|
|
hostname = "10.0.0.2";
|
|
|
|
|
sshUser = "root";
|
|
|
|
|
magicRollbackTimeout = 120;
|
|
|
|
|
profiles.system = {
|
|
|
|
|
user = "root";
|
|
|
|
|
remoteBuild = false;
|
|
|
|
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2026-07-11 16:28:11 -04:00
|
|
|
vps = {
|
2026-09-12 20:33:30 -04:00
|
|
|
hostname = "10.0.0.3";
|
2026-07-11 16:28:11 -04:00
|
|
|
sshUser = "root";
|
|
|
|
|
magicRollbackTimeout = 120;
|
|
|
|
|
profiles.system = {
|
2026-07-11 14:56:13 -04:00
|
|
|
user = "root";
|
2026-07-11 16:28:11 -04:00
|
|
|
remoteBuild = false;
|
|
|
|
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vps;
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-07-11 14:56:13 -04:00
|
|
|
|
2026-08-30 17:56:03 -04:00
|
|
|
backup = {
|
2026-08-30 19:44:35 -04:00
|
|
|
hostname = "10.0.0.4";
|
2026-08-30 17:56:03 -04:00
|
|
|
sshUser = "root";
|
|
|
|
|
magicRollbackTimeout = 120;
|
|
|
|
|
profiles.system = {
|
|
|
|
|
user = "root";
|
|
|
|
|
remoteBuild = false;
|
2026-08-30 19:44:35 -04:00
|
|
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup;
|
2026-08-30 17:56:03 -04:00
|
|
|
};
|
|
|
|
|
};
|
2026-09-12 20:33:30 -04:00
|
|
|
};
|
|
|
|
|
|
2026-07-11 14:56:13 -04:00
|
|
|
checks = {
|
|
|
|
|
x86_64-linux = deploy-rs.lib.x86_64-linux.deployChecks self.deploy;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|