65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-23.11";
|
|
nixpkgs-unstable.url = "nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-23.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = inputs @ {
|
|
self,
|
|
nixpkgs,
|
|
nixpkgs-unstable,
|
|
home-manager,
|
|
...
|
|
}: let
|
|
inherit (self) outputs;
|
|
lib = nixpkgs.lib // home-manager.lib;
|
|
mkHost = {
|
|
hostname,
|
|
user ? "sammy",
|
|
}: {
|
|
imports = [
|
|
./hosts/${hostname}/configuration.nix
|
|
./modules/nixos/common.nix
|
|
(import "${home-manager}/nixos")
|
|
];
|
|
|
|
deployment = {
|
|
targetUser = user;
|
|
allowLocalDeployment = true;
|
|
};
|
|
};
|
|
in {
|
|
inherit lib;
|
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
|
colmena = {
|
|
meta = {
|
|
description = "All my NixoS machines";
|
|
specialArgs = {inherit inputs outputs;};
|
|
nixpkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
overlays = [];
|
|
};
|
|
};
|
|
|
|
bengal = mkHost {hostname = "bengal";};
|
|
|
|
maine-coon = mkHost {hostname = "maine-coon";};
|
|
};
|
|
nixosConfigurations.test = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
flake = self;
|
|
};
|
|
modules = [
|
|
./modules
|
|
./hosts/test-vm/configuration.nix
|
|
(import "${home-manager}/nixos")
|
|
];
|
|
};
|
|
};
|
|
}
|