home-server/flake.nix
2026-02-15 20:28:12 -08:00

92 lines
2.1 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
continuwuity = {
url = "git+https://forgejo.ellis.link/continuwuation/continuwuity";
};
};
outputs =
{
nixpkgs,
disko,
sops-nix,
continuwuity,
...
}:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
{
nixosConfigurations.home-server = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit continuwuity; };
modules = [
disko.nixosModules.disko
sops-nix.nixosModules.sops
(
{ ... }:
{
nixpkgs = {
config.allowUnfree = true;
system = "x86_64-linux";
};
}
)
./hosts/homeserver/hardware-configuration.nix
./common.nix
./hosts/homeserver/configuration.nix
./hosts/homeserver/setup.nix
./services/website.nix
./services/wireguard-inner.nix
./services/matrix.nix
./services/ergo.nix
./services/forgejo.nix
./services/forgejo-runner.nix
# ./services/akkoma.nix
];
};
nixosConfigurations.vps = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
disko.nixosModules.disko
sops-nix.nixosModules.sops
(
{ ... }:
{
nixpkgs = {
config.allowUnfree = true;
system = "x86_64-linux";
};
}
)
./hosts/vps/hardware-configuration.nix
./common.nix
./hosts/vps/configuration.nix
./hosts/vps/disko-config.nix
./services/coturn.nix
./services/wireguard-outer.nix
];
};
formatter.${system} = pkgs.nixfmt-tree;
};
}