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.copyparty.nixosModules.default
18 inputs.nixarr.nixosModules.default
19 inputs.home-manager.nixosModules.home-manager
20 { nixpkgs.overlays = [ inputs.niri.overlays.niri inputs.copyparty.overlays.default ]; }
21
22 # Common aspects
23 nm.nix-settings
24 nm.base
25 nm.security
26 nm.sean
27 nm.desktop
28 nm.fonts
29
30 # Mira-specific aspects
31 nm.nvidia
32 nm.ollama
33 nm.media-server
34 nm.home-automation
35 nm.gaming
36 nm.mira-extras
37
38 # Home Manager
39 {
40 home-manager.users.sean = {
41 imports = [
42 inputs.catppuccin.homeModules.catppuccin
43 inputs.niri.homeModules.niri
44 inputs.zen-browser.homeModules.beta
45 inputs.agenix.homeManagerModules.default
46 hm.sean
47 hm.desktop
48 hm.fonts
49 hm.shell
50 hm.editor
51 hm.apps
52 ];
53 };
54 }
55 ];
56 };
57}