cornflake/hosts/default.nix
2025-02-16 14:41:48 +09:00

76 lines
1.6 KiB
Nix

inputs:
let
mkHost =
{
system,
hostname,
username,
systemModules,
homeModule,
}:
{
nixos = inputs.nixpkgs.lib.nixosSystem {
modules =
with inputs;
systemModules
++ [
{
users.users.${username} = {
isNormalUser = true;
description = "";
extraGroups = [
"networkmanager"
"wheel"
];
};
}
];
inherit system;
specialArgs = {
inherit inputs hostname username;
};
};
home-manager = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
};
extraSpecialArgs = {
inherit inputs hostname username;
};
modules = [
{
home = {
inherit username;
homeDirectory = "/home/${username}";
stateVersion = "24.11";
};
programs.home-manager.enable = true;
}
(import ../system/home-manager)
] ++ homeModule;
};
};
in
rec {
hosts = {
arcadia = mkHost {
system = "x86_64-linux";
hostname = "Arcadia";
username = "hare";
systemModules = [
./arcadia/nixos.nix
];
homeModule = [
./arcadia/home-manager.nix
];
};
};
nixos = {
arcadia = hosts.arcadia.nixos;
};
home-manager = {
arcadia = hosts.arcadia.home-manager;
};
}