nix: remove top-level home-manager lib
This commit is contained in:
parent
7414fefa22
commit
716107b4df
7 changed files with 13 additions and 14 deletions
flake.in.nix
options/custom
|
@ -108,14 +108,7 @@
|
||||||
with inputs."nixpkgs-${branch}".lib;
|
with inputs."nixpkgs-${branch}".lib;
|
||||||
nixosSystem {
|
nixosSystem {
|
||||||
system = arch;
|
system = arch;
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
specialArgs = {
|
|
||||||
inherit inputs;
|
|
||||||
|
|
||||||
# Pass home-manager lib through nixpkgs lib
|
|
||||||
#?? lib.home-manager.*
|
|
||||||
lib = recursiveUpdate inputs."nixpkgs-${branch}".lib {home-manager = inputs."home-manager-${branch}".lib;};
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: Clean up optional attributes with each new release
|
# TODO: Clean up optional attributes with each new release
|
||||||
#!! Options will diverge between branches over time
|
#!! Options will diverge between branches over time
|
||||||
|
|
|
@ -5,13 +5,14 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.programs.discord;
|
cfg = config.custom.programs.discord;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
in {
|
in {
|
||||||
options.custom.programs.discord.enable = mkOption {default = false;};
|
options.custom.programs.discord.enable = mkOption {default = false;};
|
||||||
|
|
||||||
config.home-manager.users.myned = mkIf cfg.enable {
|
config.home-manager.users.myned = mkIf cfg.enable {
|
||||||
xdg.configFile."BetterDiscord" = {
|
xdg.configFile."BetterDiscord" = {
|
||||||
force = true;
|
force = true;
|
||||||
source = config.home-manager.users.${config.custom.username}.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/discord/BetterDiscord";
|
source = hm.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/discord/BetterDiscord";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.programs.libreoffice;
|
cfg = config.custom.programs.libreoffice;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
in {
|
in {
|
||||||
options.custom.programs.libreoffice = {
|
options.custom.programs.libreoffice = {
|
||||||
enable = mkOption {default = false;};
|
enable = mkOption {default = false;};
|
||||||
|
@ -20,7 +21,7 @@ in {
|
||||||
home-manager.users.${config.custom.username} = {
|
home-manager.users.${config.custom.username} = {
|
||||||
xdg.configFile."libreoffice/4/user" = {
|
xdg.configFile."libreoffice/4/user" = {
|
||||||
force = true;
|
force = true;
|
||||||
source = config.home-manager.users.${config.custom.username}.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/linux/config/libreoffice/user";
|
source = hm.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/linux/config/libreoffice/user";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.programs.logseq;
|
cfg = config.custom.programs.logseq;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
in {
|
in {
|
||||||
options.custom.programs.logseq.enable = mkOption {default = false;};
|
options.custom.programs.logseq.enable = mkOption {default = false;};
|
||||||
|
|
||||||
|
@ -12,7 +13,7 @@ in {
|
||||||
#!! Synced imperative configuration
|
#!! Synced imperative configuration
|
||||||
home.file.".logseq/" = {
|
home.file.".logseq/" = {
|
||||||
force = true;
|
force = true;
|
||||||
source = config.home-manager.users.${config.custom.username}.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/logseq/";
|
source = hm.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/logseq/";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.programs.obs-studio;
|
cfg = config.custom.programs.obs-studio;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
in {
|
in {
|
||||||
options.custom.programs.obs-studio.enable = mkOption {default = false;};
|
options.custom.programs.obs-studio.enable = mkOption {default = false;};
|
||||||
|
|
||||||
|
@ -12,6 +13,6 @@ in {
|
||||||
# https://github.com/obsproject/obs-studio
|
# https://github.com/obsproject/obs-studio
|
||||||
programs.obs-studio.enable = true;
|
programs.obs-studio.enable = true;
|
||||||
|
|
||||||
xdg.configFile."obs-studio".source = config.home-manager.users.${config.custom.username}.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/obs-studio";
|
xdg.configFile."obs-studio".source = hm.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/common/config/obs-studio";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.programs.remmina;
|
cfg = config.custom.programs.remmina;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
in {
|
in {
|
||||||
options.custom.programs.remmina.enable = mkOption {default = false;};
|
options.custom.programs.remmina.enable = mkOption {default = false;};
|
||||||
|
|
||||||
|
@ -13,7 +14,7 @@ in {
|
||||||
#!! Imperative configuration
|
#!! Imperative configuration
|
||||||
xdg.configFile."remmina/remmina.pref" = {
|
xdg.configFile."remmina/remmina.pref" = {
|
||||||
force = true;
|
force = true;
|
||||||
source = config.home-manager.users.${config.custom.username}.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/linux/config/remmina/remmina.pref";
|
source = hm.lib.file.mkOutOfStoreSymlink "${config.custom.sync}/linux/config/remmina/remmina.pref";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.custom.settings.fonts;
|
cfg = config.custom.settings.fonts;
|
||||||
|
hm = config.home-manager.users.${config.custom.username};
|
||||||
|
|
||||||
rsync = getExe pkgs.rsync;
|
rsync = getExe pkgs.rsync;
|
||||||
in {
|
in {
|
||||||
|
@ -101,7 +102,7 @@ in {
|
||||||
home.activation = {
|
home.activation = {
|
||||||
# BUG: rsync sets directory permissions too early
|
# BUG: rsync sets directory permissions too early
|
||||||
# https://github.com/RsyncProject/rsync/issues/609
|
# https://github.com/RsyncProject/rsync/issues/609
|
||||||
copy-fonts = lib.home-manager.hm.dag.entryAfter ["writeBoundary"] ''
|
copy-fonts = hm.lib.dag.entryAfter ["writeBoundary"] ''
|
||||||
run ${rsync} --recursive --copy-links --times \
|
run ${rsync} --recursive --copy-links --times \
|
||||||
/run/current-system/sw/share/fonts "$XDG_DATA_HOME/"
|
/run/current-system/sw/share/fonts "$XDG_DATA_HOME/"
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Add table
Reference in a new issue