mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-12 11:17:17 +00:00
68 lines
1.6 KiB
Nix
68 lines
1.6 KiB
Nix
{
|
|
inputs,
|
|
self,
|
|
lib,
|
|
...
|
|
}: {
|
|
flake = {
|
|
homeManagerModules.user-willem = {
|
|
imports = [
|
|
self.homeManagerModules.default
|
|
inputs.nix-index-database.hmModules.nix-index
|
|
];
|
|
|
|
home.username = "willem";
|
|
};
|
|
|
|
homeManagerModules.user-willem-darwin = {
|
|
imports = [
|
|
self.homeManagerModules.darwin
|
|
self.homeManagerModules.user-willem
|
|
self.homeManagerModules.nixpkgs-config
|
|
self.homeManagerModules.nixpkgs-useFlakeNixpkgs
|
|
];
|
|
|
|
programs.emacs.enableOrgTex = true;
|
|
|
|
home.homeDirectory = "/Users/willem";
|
|
};
|
|
|
|
homeManagerModules.user-willem-linux = {
|
|
imports = [
|
|
self.homeManagerModules.user-willem
|
|
self.homeManagerModules.linux
|
|
inputs.hyprland.homeManagerModules.default
|
|
];
|
|
|
|
programs.emacs.enableOrgTex = false;
|
|
|
|
home.homeDirectory = "/home/willem";
|
|
};
|
|
};
|
|
|
|
perSystem = {
|
|
pkgs,
|
|
self',
|
|
system,
|
|
...
|
|
}: rec {
|
|
homeConfigurations.willem = let
|
|
systemType =
|
|
if pkgs.stdenv.isDarwin
|
|
then "darwin"
|
|
else "linux";
|
|
in
|
|
inputs.home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
modules = [self.homeManagerModules."user-willem-${systemType}" {nix.package = pkgs.nix;}];
|
|
};
|
|
|
|
packages = let
|
|
activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") homeConfigurations;
|
|
in
|
|
lib.pipe activationPackages [
|
|
(lib.filterAttrs (_: drv: pkgs.system == drv.system))
|
|
(lib.mapAttrs' (username: lib.nameValuePair "home-${username}"))
|
|
];
|
|
};
|
|
}
|