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.ideapad5 = inputs.nixpkgs.lib.nixosSystem {
9 system = "x86_64-linux";
10 modules = [
11 # Hardware
12 ../../hosts/ideapad5/hardware-configuration.nix
13
14 # External NixOS modules
15 inputs.catppuccin.nixosModules.catppuccin
16 inputs.home-manager.nixosModules.home-manager
17 { nixpkgs.overlays = [ inputs.niri.overlays.niri ]; }
18
19 # Common aspects
20 nm.nix-settings
21 nm.base
22 nm.security
23 nm.sean
24 nm.desktop
25 nm.fonts
26
27 # Lenovo IdeaPad-specific aspects
28 nm.lenovo-ideapad5
29
30 # Home Manager
31 {
32 home-manager.users.sean = {
33 imports = [
34 inputs.catppuccin.homeModules.catppuccin
35 inputs.niri.homeModules.niri
36 inputs.noctalia.homeModules.default
37 inputs.zen-browser.homeModules.beta
38 inputs.agenix.homeManagerModules.default
39 hm.sean
40 hm.desktop
41 hm.fonts
42 hm.shell
43 hm.editor
44 hm.apps
45 ];
46 };
47 }
48 ];
49 };
50}