nix-dotfiles/flake.nix

63 lines
1.5 KiB
Nix
Raw Normal View History

2024-01-04 21:21:04 -05:00
{
description = "NixOS configuration with flakes";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
2024-04-13 23:45:36 -04:00
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-04 14:25:43 -04:00
2024-01-04 21:21:04 -05:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
2024-01-04 21:21:04 -05:00
};
2024-07-11 12:43:40 -04:00
outputs =
{
self,
nixpkgs,
lix-module,
2024-07-11 12:43:40 -04:00
home-manager,
nixos-hardware,
2024-07-11 12:43:40 -04:00
}:
let
system = "x86_64-linux";
2024-07-11 12:43:40 -04:00
in
{
nixosConfigurations =
let
dumbassFunction = { hostname, modules }:
let
defaultModules = [
./hosts/${hostname}/configuration.nix
home-manager.nixosModules.home-manager
lix-module.nixosModules.default
];
in
{
2024-07-11 12:43:40 -04:00
name = hostname;
value = nixpkgs.lib.nixosSystem {
inherit system;
modules = defaultModules ++ modules;
2024-07-11 12:43:40 -04:00
};
};
in
builtins.listToAttrs (
builtins.map dumbassFunction [
{
hostname = "randolph";
modules = [ nixos-hardware.nixosModules.framework-13-7040-amd ];
}
{
hostname = "de-lacadie";
modules = [];
}
2024-07-11 12:43:40 -04:00
]
);
2024-01-04 21:21:04 -05:00
};
}