Files
nixos-config/hosts/default.nix
T
jory 89022e0d50 feat(nixos): add multi-arch support and refactor system configs
- 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
2026-04-14 18:47:19 +02:00

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;
};
};
}