summaryrefslogtreecommitdiff
path: root/shared/nixos/common-hm-settings/default.nix
blob: 9262f519a6690c1888044268ed0e4553c8c77107 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# This module sets common settings related to home-manager (HM). All hosts that
# I directly interact with should include this module.
#
# NOTE: Even though this lives under `shared/nixos` the configuration in here
# should also be compatible with nix-darwin!!
{
  flakeInputs,
  flakeOutputs,
  metadata,
  ...
}: {
  # FIXME: Ideally this module would import flakeInputs.home-manager but that causes an infinite recursion for some reason.

  # Use the flake input pkgs so Home Manager configuration can share overlays
  # etc. with the rest of the configuration.
  home-manager.useGlobalPkgs = true;

  # Pass special arguments from flake.nix further down the chain. I really hate
  # this split module system.
  home-manager.extraSpecialArgs = {inherit flakeInputs flakeOutputs metadata;};

  # All interactive systems (i.e. the ones that would use HM) have a 'linus' user.
  home-manager.users.linus = {
    imports = builtins.attrValues flakeOutputs.homeModules;
    xdg.enable = true;
  };
}