{ description = "A simple NixOS flake"; inputs = { # NixOS official package source, using unstable here nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; catppuccin.url = "github:catppuccin/nix"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland.url = "github:hyprwm/Hyprland"; plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; }; outputs = { self, nixpkgs, catppuccin, nur, home-manager, plasma-manager, ... } @ inputs: { # Please replace my-nixos with your hostname nixosConfigurations = { anzu = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs;}; modules = [ # Import the previous configuration.nix we used, # so the old configuration file still takes effect ./configuration.nix ./hosts/anzu/hardware-configuration.nix # Add NUR overlay nur.modules.nixos.default # Add catppuccin catppuccin.nixosModules.catppuccin # Add home-manager home-manager.nixosModules.home-manager { home-manager.backupFileExtension = "backup"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager]; home-manager.users.chase = { imports = [ ./home/home.nix catppuccin.homeModules.catppuccin ]; }; } ]; }; ichigo = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs;}; modules = [ ./configuration.nix ./hosts/ichigo/hardware-configuration.nix nur.modules.nixos.default catppuccin.nixosModules.catppuccin home-manager.nixosModules.home-manager { home-manager.backupFileExtension = "backup"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager]; home-manager.users.chase = { imports = [ ./home/home.nix catppuccin.homeModules.catppuccin ]; }; } ]; }; }; }; }