aboutsummaryrefslogtreecommitdiff
path: root/modules/home/default.nix
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/default.nix
parentgitea: fix the module (diff)
downloadinfra-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 'modules/home/default.nix')
-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; };
+ };
+ };
+}