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"; # Or "nixos-24.05" for stable
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
14 catppuccin.url = "github:catppuccin/nix";
15
16 niri.url = "github:sodiboo/niri-flake";
17
18 # media server things
19 nixarr.url = "github:rasmus-kirk/nixarr";
20 };
21
22 outputs = { self, nixpkgs, home-manager, catppuccin, niri, nixarr, ... }@inputs: {
23 nixosConfigurations = {
24 # Replace "nixos" with your actual desired hostname if it's different
25 # This "nixos" must match the `networking.hostName` in your configuration.nix
26 nixos = nixpkgs.lib.nixosSystem {
27 system = "x86_64-linux"; # Or your system's architecture
28 specialArgs = { inherit inputs; }; # Pass inputs to your modules
29 modules = [
30 # Your main configuration file
31 ./configuration.nix
32
33 ({
34 nixpkgs.overlays = [ niri.overlays.niri ];
35 })
36
37 # nixarr module
38 nixarr.nixosModules.default
39
40 # Home Manager module
41 home-manager.nixosModules.home-manager {
42 home-manager.extraSpecialArgs = { inherit inputs; };
43 home-manager.users.sean = import ./home.nix;
44 }
45 ];
46 };
47 };
48 };
49}