Files

80 lines
2.2 KiB
Nix
Raw Permalink Normal View History

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";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.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-07-11 16:28:11 -04:00
outputs = inputs@{ self, nixpkgs, deploy-rs, disko, home-manager, sops-nix, grasswren, ... }:
2026-07-11 14:56:13 -04:00
{
nixosConfigurations = {
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-07-11 16:28:11 -04:00
sops-nix.nixosModules.sops
2026-07-11 14:56:13 -04:00
2026-07-11 16:28:11 -04:00
./hosts/desktop/default.nix
];
};
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 = [
home-manager.nixosModules.home-manager
./hosts/vps/default.nix
];
};
};
2026-07-11 14:56:13 -04:00
homeConfigurations.lilac = home-manager.lib.homeManagerConfiguration {
2026-07-11 16:28:11 -04:00
pkgs = import nixpkgs { system = "x86_64-linux"; };
modules = [
./home/lilac.nix
];
};
2026-07-11 14:56:13 -04:00
2026-07-11 16:28:11 -04:00
# nix run github:nix-community/nixos-anywhere -- --flake .#<CONFIGURATION> --phases install root@<ADDRESS>
# nix run github:serokell/deploy-rs
2026-07-11 14:56:13 -04:00
deploy.nodes = {
2026-07-11 16:28:11 -04:00
vps = {
2026-07-11 14:56:13 -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-07-11 16:28:11 -04:00
desktop = {
2026-07-11 14:56:13 -04:00
hostname = "10.0.0.2";
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.desktop;
};
};
2026-07-11 14:56:13 -04:00
};
checks = {
x86_64-linux = deploy-rs.lib.x86_64-linux.deployChecks self.deploy;
};
};
}