From e1c081b96d94372ed74adda70fcf0469ed6ecff9 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Sun, 10 Dec 2023 17:49:52 +0800 Subject: [PATCH] config: fix conditional home-manager config This should now work both for standalone home-manager and home-manager-with-NixOS setup. --- modules/home-manager/profiles/desktop.nix | 4 ++-- modules/home-manager/profiles/dev.nix | 4 ++-- users/home-manager/foo-dogsquared/modules/browser.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/home-manager/profiles/desktop.nix b/modules/home-manager/profiles/desktop.nix index fcd3ea38..15845e4a 100644 --- a/modules/home-manager/profiles/desktop.nix +++ b/modules/home-manager/profiles/desktop.nix @@ -1,5 +1,5 @@ # Enables all of my usual setup for desktop-oriented stuff. -{ config, lib, pkgs, osConfig ? { }, ... }: +{ config, lib, pkgs, ... }@attrs: let cfg = config.profiles.desktop; in { @@ -26,7 +26,7 @@ in { ffmpeg-full # Ah yes, everyman's multimedia swiss army knife. imagemagick # Ah yes, everyman's image manipulation tool. gmic # Don't let the gimmicks fool you, it's a magical image framework. - ] ++ (lib.optional (osConfig ? programs.blender.enable -> !osConfig.programs.blender.enable) blender); + ] ++ (lib.optional (attrs ? osConfig -> !attrs.osConfig.programs.blender.enable) blender); }) (lib.mkIf cfg.audio.enable { diff --git a/modules/home-manager/profiles/dev.nix b/modules/home-manager/profiles/dev.nix index 67f8fd04..4f67f625 100644 --- a/modules/home-manager/profiles/dev.nix +++ b/modules/home-manager/profiles/dev.nix @@ -1,6 +1,6 @@ # Arsenal for development (which is rare nowadays). ;p # If you're looking for text editors, go to `./editors.nix`. -{ config, lib, pkgs, osConfig ? { } ,... }: +{ config, lib, pkgs, ... }@attrs: let cfg = config.profiles.dev; in { @@ -110,7 +110,7 @@ in { }; # Echolocation. - programs.nix-index.enable = lib.mkIf (osConfig ? programs.nix-index.enable -> !osConfig.programs.nix-index.enable) true; + programs.nix-index.enable = lib.mkIf (attrs ? osConfig -> !attrs.osConfig.programs.nix-index.enable) true; }) (lib.mkIf cfg.shell.enable { diff --git a/users/home-manager/foo-dogsquared/modules/browser.nix b/users/home-manager/foo-dogsquared/modules/browser.nix index 77de67da..f06a57d7 100644 --- a/users/home-manager/foo-dogsquared/modules/browser.nix +++ b/users/home-manager/foo-dogsquared/modules/browser.nix @@ -1,5 +1,5 @@ # WHOA! Even browsers with extensions can be declarative! -{ config, lib, pkgs, osConfig ? { }, ... }: +{ config, lib, pkgs, ... }@attrs: { config = lib.mkMerge [ @@ -35,7 +35,7 @@ }; } - (lib.mkIf (osConfig ? programs.firefox.enable -> !osConfig.programs.firefox.enable) { + (lib.mkIf (attrs ? osConfig -> !attrs.osConfig.programs.firefox.enable) { # Despite the name, it isn't a browser for furries. programs.firefox = { enable = true;