about summary refs log tree commit diff
path: root/modules/home
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-04-07 08:31:05 -0700
committerFranck Cuny <franck@fcuny.net>2022-04-07 08:31:05 -0700
commitdcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4 (patch)
treed8b5aa68afc302a116dafa26f74fcdf73587a8f2 /modules/home
parentgitea: fix the module (diff)
downloadworld-dcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4.tar.gz
initial attempt to reconfigure home-manager
All the modules that are needed for home-manager should be under
`home/`, and each host will have a `host.nix` where the modules are
enabled as needed. Later on we can create some profiles to make it
easier to consume the configuration.

I apply this only to tahoe for now, as the amount of packages needed for
my user are pretty limited.
Diffstat (limited to '')
-rw-r--r--modules/home/default.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/home/default.nix b/modules/home/default.nix
new file mode 100644
index 0000000..0261128
--- /dev/null
+++ b/modules/home/default.nix
@@ -0,0 +1,27 @@
+{ config, inputs, lib, ... }:
+let
+  actualPath = [ "home-manager" "users" config.my.user.name "my" "home" ];
+  aliasPath = [ "my" "home" ];
+
+  cfg = config.my.user.home;
+in {
+  imports = [
+    inputs.home-manager.nixosModule # enable home-manager options
+    (lib.mkAliasOptionModule aliasPath
+      actualPath) # simplify setting home options
+  ];
+
+  config = {
+    home-manager = {
+      # Not a fan of out-of-directory imports, but this is a good exception
+      users.${config.my.user.name} = import ../../home;
+
+      # Nix Flakes compatibility
+      useGlobalPkgs = true;
+      useUserPackages = true;
+
+      # Forward inputs to home-manager configuration
+      extraSpecialArgs = { inherit inputs; };
+    };
+  };
+}