Skip to content

Commit 9d6445c

Browse files
committed
home-manager: import modules via flake instead of relative paths
Export homeManagerModules from the flake and pass flake-self via extraSpecialArgs so profiles can reference modules as flake-self.homeManagerModules.<name> instead of ../modules/<name>.
1 parent baf3840 commit 9d6445c

5 files changed

Lines changed: 38 additions & 35 deletions

File tree

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
];
224224
# Optionally use extraSpecialArgs
225225
# to pass through arguments to home.nix
226-
extraSpecialArgs = { } // inputs;
226+
extraSpecialArgs = { flake-self = self; } // inputs;
227227
};
228228

229229
homeManagerModules = builtins.listToAttrs (

home-manager/default.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ in
3434

3535
home-manager.backupFileExtension = "hm-bak";
3636

37+
home-manager.extraSpecialArgs = { inherit flake-self; };
38+
3739
home-manager.users."${cfg.username}" = {
3840

3941
imports = [

home-manager/profiles/desktop.nix

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
config,
33
pkgs,
44
lib,
5+
flake-self,
56
...
67
}:
78
{
@@ -97,30 +98,30 @@
9798
imports = [
9899
./common.nix
99100
../colorscheme.nix
100-
../modules/alacritty
101-
../modules/ansible
102-
../modules/chromium
103-
../modules/development
104-
../modules/direnv
105-
../modules/foot
106-
../modules/git
107-
../modules/gtk
108-
../modules/i3
109-
../modules/kanshi
110-
../modules/kubernetes
111-
../modules/mako
112-
../modules/wlsunset
113-
../modules/nvim
114-
../modules/python
115-
../modules/sway
116-
../modules/swaylock
117-
../modules/tmux
118-
../modules/vs-fix
119-
../modules/vscode
120-
../modules/waybar
121-
../modules/wofi
122-
../modules/zellij
123-
../modules/zsh
101+
flake-self.homeManagerModules.alacritty
102+
flake-self.homeManagerModules.ansible
103+
flake-self.homeManagerModules.chromium
104+
flake-self.homeManagerModules.development
105+
flake-self.homeManagerModules.direnv
106+
flake-self.homeManagerModules.foot
107+
flake-self.homeManagerModules.git
108+
flake-self.homeManagerModules.gtk
109+
flake-self.homeManagerModules.i3
110+
flake-self.homeManagerModules.kanshi
111+
flake-self.homeManagerModules.kubernetes
112+
flake-self.homeManagerModules.mako
113+
flake-self.homeManagerModules.wlsunset
114+
flake-self.homeManagerModules.nvim
115+
flake-self.homeManagerModules.python
116+
flake-self.homeManagerModules.sway
117+
flake-self.homeManagerModules.swaylock
118+
flake-self.homeManagerModules.tmux
119+
flake-self.homeManagerModules."vs-fix"
120+
flake-self.homeManagerModules.vscode
121+
flake-self.homeManagerModules.waybar
122+
flake-self.homeManagerModules.wofi
123+
flake-self.homeManagerModules.zellij
124+
flake-self.homeManagerModules.zsh
124125
];
125126

126127
programs.obs-studio = {

home-manager/profiles/mac.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{ config, pkgs, lib, ... }: {
1+
{ config, pkgs, lib, flake-self, ... }: {
22

33
home.packages = with pkgs;[
44
# GUI apps
@@ -42,8 +42,8 @@
4242
(self: super: { })
4343
];
4444
}
45-
../modules/git
46-
../modules/tmux
45+
flake-self.homeManagerModules.git
46+
flake-self.homeManagerModules.tmux
4747
];
4848

4949
home = {

home-manager/profiles/server.nix

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{ config, pkgs, lib, ... }: {
1+
{ config, pkgs, lib, flake-self, ... }: {
22

33
# Install these packages for my user
44
home.packages =
@@ -46,12 +46,12 @@
4646
imports = [
4747
./common.nix
4848
../colorscheme.nix
49-
../modules/direnv
50-
../modules/git
51-
../modules/nvim
52-
../modules/tmux
53-
../modules/zellij
54-
../modules/zsh
49+
flake-self.homeManagerModules.direnv
50+
flake-self.homeManagerModules.git
51+
flake-self.homeManagerModules.nvim
52+
flake-self.homeManagerModules.tmux
53+
flake-self.homeManagerModules.zellij
54+
flake-self.homeManagerModules.zsh
5555
];
5656

5757
}

0 commit comments

Comments
 (0)