Files
nixcfg/flake.nix

76 lines
1.6 KiB
Nix

{
description = "My System Configs";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
i3utils.url = "git+https://git.sr.ht/~dpatterbee/i3utils?ref=main";
i3utils.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {
nixpkgs,
home-manager,
i3utils,
...
}: let
system = "x86_64-linux";
pkgs =
(import nixpkgs {
inherit system;
config.allowUnfree = true;
})
// {i3utils = i3utils.packages.${system}.default;};
lib = nixpkgs.lib;
hostSystem = {
hostname,
headless,
}:
lib.nixosSystem {
inherit system;
inherit pkgs;
modules = [
./hosts/${hostname}/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
users = import ./users;
extraSpecialArgs = {
inherit hostname;
inherit headless;
};
};
}
];
};
in {
nixosConfigurations = {
dingbox = hostSystem {
hostname = "dingbox";
headless = false;
};
miniding = hostSystem {
hostname = "miniding";
headless = false;
};
pingbox = hostSystem {
hostname = "pingbox";
headless = false;
};
dingserver = hostSystem {
hostname = "dingserver";
headless = true;
};
};
};
}