{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; home-manager.url = "github:nix-community/home-manager/release-24.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; helix.url = "github:helix-editor/helix/master"; hyprland.url = "github:hyprwm/Hyprland"; utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; }; outputs = { self, nixpkgs, utils, home-manager, helix, hyprland }@inputs: utils.lib.mkFlake { inherit self inputs; channelsConfig.allowUnfree = true; hostDefaults.modules = [ ./modules/compositor.nix ./modules/keyd.nix ./modules/services.nix ./modules/packages.nix ./modules/nix-settings.nix ]; hosts.work.modules = [ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.jras = import ./home-manager/entrypoints/work.nix; home-manager.extraSpecialArgs = { inherit inputs; }; } ./hosts/work.nix ./modules/gaming.nix ]; hosts.tarrel.modules = [ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.jras = import ./home-manager/entrypoints/personal.nix; home-manager.extraSpecialArgs = { inherit inputs; }; } ./hosts/tarrel.nix ./modules/gaming.nix ./modules/virt.nix ./modules/sunshine.nix ]; }; }