Files
dotfiles/flake.nix
2026-09-16 21:27:37 -04:00

88 lines
2.3 KiB
Nix

{
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; };
};
};
};
}