{ description = "Home Manager configuration of kristian"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; # Nix User Repository nur.url = "github:nix-community/NUR"; # Wallpaper wallpaper.url = "github:lunik1/nix-wallpaper"; # Nix index nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; # VSCode Extensions vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; }; outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-master, home-manager, nur, wallpaper, nix-index-database, vscode-extensions, }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { formatter.${system} = pkgs.alejandra; homeConfigurations = let commonModules = [ ./systems/common { _module.args.wallpaper = wallpaper.packages.${system}.default; _module.args.vscode-extensions = vscode-extensions.extensions.${system}; } nur.nixosModules.nur nix-index-database.hmModules.nix-index { programs.nix-index-database.comma.enable = true; } { nixpkgs.overlays = [ ( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100 final: prev: { unstable = import nixpkgs-unstable { system = final.system; config.allowUnfreePredicate = _: true; }; master = import nixpkgs-master { system = final.system; config.allowUnfreePredicate = _: true; }; } ) ( # Overrides davinci-resolve with the unstable version because of https://github.com/NixOS/nixpkgs/pull/246074 final: prev: {davinci-resolve = final.master.davinci-resolve;} ) ]; } ]; in { pc = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./systems/pc ] ++ commonModules; }; laptop = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./systems/laptop ] ++ commonModules; }; }; devShells.${system}.default = pkgs.mkShellNoCC { packages = [ pkgs.dconf2nix ]; }; }; }