89022e0d50
- add aarch64-linux to supported systems (flake + pkgs) - refactor host definitions into tty/desktop/laptop configurations - introduce sharedModules to reduce duplication - split system modules into base, gui, and laptop groups - add headless (tty) configuration feat(fish): add Ctrl+Delete and Alt+Delete bindings - Ctrl+Delete → kill-word - Alt+Delete → kill-token chore(hosts): remove explicit hostname from aesthetic chore(services): remove forced disable of speechd
46 lines
1001 B
Nix
46 lines
1001 B
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;
|
|
};
|
|
};
|
|
}
|