{ description = "main system configuration flake"; inputs = { # NixOS official package source, using the nixos-24.05 branch as stable and nixos-unstable as default nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; stablepkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; # Home manager using nixos-unstable home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; # Anyrun launcher anyrun = { url = "github:anyrun-org/anyrun"; inputs.nixpkgs.follows = "nixpkgs"; }; # Declarative flatpak management, documentation states overriding nixpkgs is not supported flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3"; }; outputs = { self, nixpkgs, stablepkgs, home-manager, ... } @ inputs: let inherit (self) outputs; system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; stable = stablepkgs.legacyPacakges.${system}; in { nixosConfigurations.gabbielaptop = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; inherit system; modules = [ # Import nixos modules here ./hosts/gabbielaptop/configuration.nix ./modules/nh.nix ./modules/waydroid.nix # Imports home-manager module for use within nixos # inputs.home-manager.nixosModules.default ]; }; # Standalone home-manager config homeConfigurations.blue = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit inputs outputs; }; # Import home-manager modules here modules = [ ./home-manager/home.nix inputs.anyrun.homeManagerModules.default inputs.flatpaks.homeManagerModules.default ]; }; }; }