Files
nixcfg/flake.nix

52 lines
1.2 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, ... }@inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
lib = nixpkgs.lib;
hostSystem = { hostname, headless }: lib.nixosSystem {
inherit system;
modules = [
./hosts/${hostname}/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
users = import ./users;
extraSpecialArgs = {inherit hostname; inherit headless;};
};
}
];
specialArgs = {inherit inputs;};
};
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; };
};
};
}