nixos-config/hosts/default.nix
2024-03-17 11:26:16 +01:00

111 lines
2.3 KiB
Nix

{
self,
inputs,
homeImports,
...
}: let
specialArgs = {
inherit inputs self;
};
in {
flake.colmena = let
mod = "${self}/system";
inherit (import "${self}/system") desktop;
in {
meta = {
nixpkgs = import inputs.nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
};
inherit specialArgs;
};
nixdesk = {
deployment = {
allowLocalDeployment = true;
targetHost = null;
};
imports =
desktop
++ [
./nixdesk
"${self}/secrets"
"${self}/secrets/nixdesk"
"${mod}/services/syncthing.nix"
"${mod}/desktop/x11/nosleep.nix"
{
home-manager = {
users.xun.imports = homeImports."xun@nixdesk";
extraSpecialArgs = specialArgs;
};
}
];
};
hopper = {
deployment = {
targetUser = "xun";
};
imports = [
./hopper
"${self}/secrets"
"${self}/secrets/hopper"
"${mod}/core"
"${mod}/programs/home-manager.nix"
"${mod}/desktop"
"${mod}/desktop/awesome.nix"
"${mod}/hardware/opengl.nix"
"${mod}/hardware/steam-hardware.nix"
"${mod}/hardware/bluetooth.nix"
"${mod}/hardware/qmk.nix"
"${mod}/network/avahi.nix"
"${mod}/network/networkd.nix"
"${mod}/network/tailscale.nix"
"${mod}/services"
"${mod}/services/pipewire.nix"
"${mod}/services/syncthing.nix"
"${mod}/services/containers/server"
#"${mod}/services/networkd-wireguard.nix"
#"${mod}/services/wireguard.nix"
#"${mod}/services/transmission.nix"
{
home-manager = {
users.xun.imports = homeImports."xun@hopper";
extraSpecialArgs = specialArgs;
};
}
];
};
liveiso = {
deployment.targetHost = null;
imports = [
./liveiso
"${mod}/nix"
"${mod}/core/security.nix"
"${mod}/services"
"${mod}/desktop"
];
};
};
flake.nixosConfigurations = let
l = inputs.nixpkgs.lib;
in (builtins.mapAttrs (_n: v:
l.nixosSystem {
inherit specialArgs;
modules = v.imports;
}) (l.filterAttrs (n: _: n != "meta") self.colmena));
}