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