summaryrefslogtreecommitdiff
path: root/shared/nixos-and-darwin/common-hm-settings
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-12-22 10:58:36 +0000
committerLinnnus <[email protected]>2024-12-27 09:07:52 +0100
commit3bf29c686274e19576aeb4f19510fa0702d2cb0c (patch)
treef14ab6d1983ac09514abf1ebe1a34ddd17ca6472 /shared/nixos-and-darwin/common-hm-settings
parenta323c5058b31de63c2e88716b01bd41a38faa5ef (diff)
Move shared nix{os,-darwin} config to shared/nixos-and-darwin
Diffstat (limited to 'shared/nixos-and-darwin/common-hm-settings')
-rw-r--r--shared/nixos-and-darwin/common-hm-settings/default.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/shared/nixos-and-darwin/common-hm-settings/default.nix b/shared/nixos-and-darwin/common-hm-settings/default.nix
new file mode 100644
index 0000000..4c02005
--- /dev/null
+++ b/shared/nixos-and-darwin/common-hm-settings/default.nix
@@ -0,0 +1,27 @@
+# This module sets common settings related to home-manager (HM). All hosts that
+# I directly interact with should include this module.
+#
+# NOTE: This lives under `shared/nixos-and-darwin`. The configuration in here
+# should be compatible with both nixos and 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;
+ };
+}