{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland = { type = "git"; url = "https://github.com/hyprwm/Hyprland"; submodules = true; }; waybar = { type = "git"; url = "https://github.com/thomasave/Waybar"; submodules = true; }; split-monitor-workspaces = { url = "github:Duckonaut/split-monitor-workspaces"; inputs.hyprland.follows = "hyprland"; }; }; outputs = { self , nixpkgs , home-manager , split-monitor-workspaces , ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; # allows access to flake inputs in nixos modules modules = [ ./configuration.nix home-manager.nixosModules.home-manager { home-manager = { extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules useGlobalPkgs = true; useUserPackages = true; users.user = { imports = [ ./home.nix ]; }; }; } ]; }; }; }; }