{ 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"; }; 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, 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 home-manager home-manager.nixosModules.home-manager { home-manager.backupFileExtension = "backup"; home-manager.useGlobalPkgs = true; home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ]; home-manager.users.chase = ./home/home.nix; } ]; }; ichigo = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./configuration.nix ./hosts/ichigo/hardware-configuration.nix nur.modules.nixos.default home-manager.nixosModules.home-manager { home-manager.backupFileExtension = "backup"; home-manager.useGlobalPkgs = true; home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ]; home-manager.users.chase = ./home/home.nix; } ]; }; }; }; }