dotfiles/hosts/oren/flake.nix
RingOfStorms (Joshua Bell) 1b1bd60f4b fix stormd
2024-12-28 15:21:19 -06:00

72 lines
1.9 KiB
Nix

{
description = "Oren system flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
mods_common.url = "../../modules/common";
mods_common.inputs.nixpkgs.follows = "nixpkgs";
mods_boot_systemd.url = "../../modules/boot_systemd";
mods_de_cosmic.url = "../../modules/de_cosmic";
mods_de_cosmic.inputs.nixpkgs-stable.follows = "nixpkgs";
mods_de_cosmic.inputs.nixpkgs.follows = "nixpkgs";
mods_ros_neovim.url = "../../modules/neovim";
mods_row_stormd.url = "../../modules/stormd";
};
outputs =
{
self,
nixpkgs,
home-manager,
mods_boot_systemd,
...
}@inputs:
let
configuration_name = "oren";
lib = nixpkgs.lib;
in
{
nixosConfigurations = {
"${configuration_name}" =
let
auto_modules = builtins.concatMap (
input:
lib.optionals
(builtins.hasAttr "nixosModules" input && builtins.hasAttr "default" input.nixosModules)
[
input.nixosModules.default
]
) (builtins.attrValues inputs);
in
(lib.nixosSystem {
modules = [
./configuration.nix
./hardware-configuration.nix
(
{
...
}:
{
mods = {
common = {
systemName = configuration_name;
allowUnfree = true;
primaryUser = "josh";
docker = true;
};
};
}
)
] ++ auto_modules;
specialArgs = {
inherit inputs;
};
});
};
};
}