me like nix
1{ inputs, config, ... }:
2
3let
4 nm = config.flake.modules.nixos;
5 hm = config.flake.modules.homeManager;
6in
7{
8 flake.nixosConfigurations.mira = inputs.nixpkgs.lib.nixosSystem {
9 system = "x86_64-linux";
10 modules = [
11 # Hardware
12 ../../hosts/mira/hardware-configuration.nix
13
14 # External NixOS modules
15 inputs.catppuccin.nixosModules.catppuccin
16 inputs.agenix.nixosModules.default
17 inputs.nixarr.nixosModules.default
18 inputs.home-manager.nixosModules.home-manager
19 {
20 nixpkgs.overlays = [
21 inputs.niri.overlays.niri
22 inputs.copyparty.overlays.default
23 ];
24 }
25
26 # Common aspects
27 nm.nix-settings
28 nm.base
29 nm.security
30 nm.sean
31 nm.desktop
32 nm.fonts
33
34 # Mira-specific aspects
35 nm.nvidia
36 nm.ollama
37 nm.media-server
38 nm.home-automation
39 nm.gaming
40 nm.mira-extras
41
42 # Home Manager
43 {
44 home-manager.users.sean = {
45 imports = [
46 inputs.catppuccin.homeModules.catppuccin
47 inputs.niri.homeModules.niri
48 inputs.zen-browser.homeModules.beta
49 inputs.agenix.homeManagerModules.default
50 hm.sean
51 hm.desktop
52 hm.fonts
53 hm.shell
54 hm.editor
55 hm.apps
56 ];
57 };
58 }
59 ];
60 };
61}