{ description = "Home Manager configuration of Joe Frikker"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; kube = { url = "https://gitea.home-frikker.dedyn.io/jfrikker/kube/archive/1.0.1.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, home-manager, kube, ... }: let modules-for-system = pkgs: pkgs.stdenv.mkDerivation { name = "home-manager-modules"; src = pkgs.lib.fileset.toSource { root = ./.; fileset = pkgs.lib.fileset.unions [ ./home.org ]; }; buildPhase = '' runHook preBuild ${pkgs.emacs}/bin/emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "home.org")' runHook postBuild ''; installPhase = '' runHook preInstall cp -R target $out runHook postInstall ''; }; in { homeConfigurations.shibumi = let pkgs = nixpkgs.legacyPackages.aarch64-darwin; modules = modules-for-system pkgs; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ "${modules}/home.nix" { home.stateVersion = "22.05"; home.username = "jfrikker"; home.homeDirectory = "/Users/jfrikker"; home.packages = [ pkgs.pinentry_mac ]; } ]; extraSpecialArgs = { kube = kube.packages.aarch64-darwin.default; }; }; homeConfigurations.home = let pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = modules-for-system pkgs; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ "${modules}/home.nix" { home.stateVersion = "22.05"; home.username = "jfrikker"; home.homeDirectory = "/home/jfrikker"; } ]; extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; }; }; }; }