Files
dotfiles/flake.nix
Joe Frikker f70fad8de8 wip
2026-01-13 15:34:08 -05:00

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