me like nix
1{
2 description = "My NixOS Flake Configuration";
3
4 inputs = {
5 # Nixpkgs (stable or unstable)
6 nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
7
8 # Home Manager
9 home-manager = {
10 url = "github:nix-community/home-manager/release-25.05";
11 inputs.nixpkgs.follows = "nixpkgs"; # Ensures Home Manager uses the same nixpkgs
12 };
13 catppuccin.url = "github:catppuccin/nix";
14 niri.url = "github:sodiboo/niri-flake";
15 nixarr.url = "github:rasmus-kirk/nixarr";
16 zen-browser = {
17 url = "github:0xc000022070/zen-browser-flake";
18 inputs.nixpkgs.follows = "nixpkgs";
19 };
20 };
21
22 outputs =
23 {
24 self,
25 nixpkgs,
26 home-manager,
27 catppuccin,
28 niri,
29 nixarr,
30 ...
31 }@inputs:
32 {
33 nixosConfigurations = {
34 # Replace "nixos" with your actual desired hostname if it's different
35 # This "nixos" must match the `networking.hostName` in your configuration.nix
36 nixos = nixpkgs.lib.nixosSystem {
37 system = "x86_64-linux"; # Or your system's architecture
38 specialArgs = { inherit inputs; }; # Pass inputs to your modules
39 modules = [
40 # Your main configuration file
41 ./configuration.nix
42 catppuccin.nixosModules.catppuccin
43
44 ({
45 nixpkgs.overlays = [ niri.overlays.niri ];
46 })
47
48 # nixarr module
49 nixarr.nixosModules.default
50
51 # Home Manager module
52 home-manager.nixosModules.home-manager
53 {
54 home-manager.extraSpecialArgs = { inherit inputs; };
55 home-manager.users.sean = import ./home.nix;
56 }
57 ];
58 };
59 };
60 };
61}