{ description = "Home Manager configuration of Joe Frikker"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; claude-code = { url = "github:sadjow/claude-code-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; # kube = { # url = "https://gitea.home-frikker.dedyn.io/jfrikker/kube/archive/1.0.1.tar.gz"; # inputs.nixpkgs.follows = "nixpkgs"; # }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ self, nixpkgs, flake-parts, home-manager, claude-code, nix-index-database, ... }: let pkgs-for-system = system: import nixpkgs { inherit system; config.allowUnfree = true; overlays = [ claude-code.overlays.default ]; }; in flake-parts.lib.mkFlake { inherit inputs; } { imports = [ inputs.home-manager.flakeModules.home-manager ]; flake = { homeModules.jfrikker = import ./modules/home; homeConfigurations.redbook = home-manager.lib.homeManagerConfiguration { pkgs = pkgs-for-system "aarch64-darwin"; modules = [ nix-index-database.homeModules.default self.homeModules.jfrikker (import ./home/redbook.nix) ]; }; homeConfigurations.home = home-manager.lib.homeManagerConfiguration { pkgs = pkgs-for-system "x86_64-linux"; modules = [ nix-index-database.homeModules.default self.homeModules.jfrikker (import ./home/home.nix) ]; }; homeConfigurations.home-laptop = home-manager.lib.homeManagerConfiguration { pkgs = pkgs-for-system "x86_64-linux"; modules = [ nix-index-database.homeModules.default self.homeModules.jfrikker (import ./home/home-laptop.nix) ]; # extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; }; }; }; }; }