48 lines
1.0 KiB
Nix
48 lines
1.0 KiB
Nix
{
|
|
self,
|
|
inputs,
|
|
...
|
|
}: let
|
|
# shorten paths
|
|
inherit (inputs.nixpkgs.lib) nixosSystem;
|
|
mod = "${self}/system";
|
|
home = "${self}/home";
|
|
|
|
# get the basic config to build on top of
|
|
inherit (import "${self}/system") tty desktop laptop;
|
|
|
|
# get these into the module system
|
|
specialArgs = {inherit inputs self;};
|
|
|
|
# shared modules for all configurations
|
|
sharedModules = [
|
|
./aesthetic
|
|
"${mod}/services/gnome-services.nix"
|
|
"${mod}/core/limine.nix"
|
|
"${home}"
|
|
inputs.agenix.nixosModules.default
|
|
];
|
|
in {
|
|
flake.nixosConfigurations = {
|
|
# TTY: desktop headless (no GUI)
|
|
tty = nixosSystem {
|
|
inherit specialArgs;
|
|
modules = tty ++ sharedModules;
|
|
};
|
|
|
|
# Desktop: desktop with GUI
|
|
desktop = nixosSystem {
|
|
inherit specialArgs;
|
|
modules = desktop ++ sharedModules;
|
|
};
|
|
|
|
# Laptop: laptop with GUI + battery + bluetooth
|
|
laptop = nixosSystem {
|
|
inherit specialArgs;
|
|
modules = laptop ++ sharedModules ++ [
|
|
"${mod}/services/location.nix"
|
|
];
|
|
};
|
|
};
|
|
}
|