From 919b0426569f1eb65290a5d1bf2aa19a4b0d18e3 Mon Sep 17 00:00:00 2001 From: willemml Date: Fri, 17 Mar 2023 10:06:22 -0700 Subject: [PATCH] Fix home configurations. --- flake-parts/home-manager/modules.nix | 20 +++++------- flake-parts/home-manager/users.nix | 32 +++++++++++++------ flake-parts/overlays.nix | 7 ++-- .../modules/profiles/user/willem/accounts.nix | 2 +- .../willem/{darwin.nix => darwin/default.nix} | 16 ++++++---- .../user/willem/{ => darwin}/finder.nix | 0 .../user/willem/{ => darwin}/iterm2.nix | 0 .../user/willem/{ => darwin}/launchd.nix | 0 .../modules/profiles/user/willem/default.nix | 4 +-- .../modules/profiles/user/willem/packages.nix | 4 +-- .../{programs.nix => programs/default.nix} | 7 ++-- .../user/willem/{ => programs}/emacs.nix | 2 +- .../user/willem/{ => programs}/firefox.nix | 0 13 files changed, 54 insertions(+), 40 deletions(-) rename home-manager/modules/profiles/user/willem/{darwin.nix => darwin/default.nix} (87%) rename home-manager/modules/profiles/user/willem/{ => darwin}/finder.nix (100%) rename home-manager/modules/profiles/user/willem/{ => darwin}/iterm2.nix (100%) rename home-manager/modules/profiles/user/willem/{ => darwin}/launchd.nix (100%) rename home-manager/modules/profiles/user/willem/{programs.nix => programs/default.nix} (98%) rename home-manager/modules/profiles/user/willem/{ => programs}/emacs.nix (99%) rename home-manager/modules/profiles/user/willem/{ => programs}/firefox.nix (100%) diff --git a/flake-parts/home-manager/modules.nix b/flake-parts/home-manager/modules.nix index 0a67e9d..756c00a 100644 --- a/flake-parts/home-manager/modules.nix +++ b/flake-parts/home-manager/modules.nix @@ -5,20 +5,16 @@ # https://github.com/terlar/nix-config/blob/00c8a3622e8bc4cb522bbf335e6ede04ca07da40/flake-parts/home-manager/modules.nix -{ - lib, - self, - inputs, - ... +{ lib +, self +, inputs +, ... }: { - flake.homeManagerModules = let - modules = self.lib.importDirToAttrs ../../home-manager/modules; - in + flake.homeManagerModules = + let + modules = self.lib.importDirToAttrs ../../home-manager/modules; + in { - default = { - imports = builtins.attrValues modules; - }; - nixpkgs-useFlakeNixpkgs = { home.sessionVariables.NIX_PATH = "nixpkgs=${inputs.nixpkgs}"; systemd.user.sessionVariables.NIX_PATH = lib.mkForce "nixpkgs=${inputs.nixpkgs}"; diff --git a/flake-parts/home-manager/users.nix b/flake-parts/home-manager/users.nix index 4feda07..7e74c8e 100644 --- a/flake-parts/home-manager/users.nix +++ b/flake-parts/home-manager/users.nix @@ -1,26 +1,38 @@ { inputs, self, lib, ... }: { - perSystem = { pkgs, ... }: - let - activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") self.homeConfigurations; - in - { + flake = { + homeManagerModules.nixpkgsConfig = { + nixpkgs.config.allowUnfreePredicate = lib.const true; + nixpkgs.config.packageOverrides = pkgs: { + nur = import inputs.nur { inherit pkgs; nurpkgs = pkgs; }; + }; + nixpkgs.config.allowUnsupportedSystem = true; + nixpkgs.overlays = builtins.attrValues self.overlays; + }; + testOutput = builtins.attrValues self.overlays; + }; + perSystem = { pkgs, self', ... }: + rec { homeConfigurations.willem = inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ + self.homeManagerModules.nixpkgs-useFlakeNixpkgs + self.homeManagerModules.nixpkgsConfig self.homeManagerModules.profiles-user-willem ]; extraSpecialArgs = { - inherit pkgs; nurNoPkgs = import inputs.nur { nurpkgs = pkgs; pkgs = throw "nixpkgs eval"; }; }; }; -# packages = lib.pipe activationPackages [ - # (lib.filterAttrs (_: drv: pkgs.system == drv.system)) - # (lib.mapAttrs' (username: lib.nameValuePair "home-${username}")) - # ]; + packages = + let activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") homeConfigurations; + in + lib.pipe activationPackages [ + (lib.filterAttrs (_: drv: pkgs.system == drv.system)) + (lib.mapAttrs' (username: lib.nameValuePair "home-${username}")) + ]; }; } diff --git a/flake-parts/overlays.nix b/flake-parts/overlays.nix index 48460cc..feb39e3 100644 --- a/flake-parts/overlays.nix +++ b/flake-parts/overlays.nix @@ -2,13 +2,12 @@ { flake.overlays = { - default = final: prev: ( + apps = final: prev: ( let appsDir = self.lib.importDirToAttrs ../apps; - builtApps = lib.mapAttrs (name: value: value.definition self.lib prev) appsDir; - packages = import ../packages final prev; in - builtApps // packages + lib.mapAttrs (name: value: value.definition self.lib prev) appsDir ); + default = import ../packages; }; } diff --git a/home-manager/modules/profiles/user/willem/accounts.nix b/home-manager/modules/profiles/user/willem/accounts.nix index ceb6934..2284587 100644 --- a/home-manager/modules/profiles/user/willem/accounts.nix +++ b/home-manager/modules/profiles/user/willem/accounts.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ config, pkgs, ... }: let passCmd = address: "${pkgs.python310Packages.keyring}/bin/keyring get login email(${address})"; diff --git a/home-manager/modules/profiles/user/willem/darwin.nix b/home-manager/modules/profiles/user/willem/darwin/default.nix similarity index 87% rename from home-manager/modules/profiles/user/willem/darwin.nix rename to home-manager/modules/profiles/user/willem/darwin/default.nix index 1c7ddb3..a176418 100644 --- a/home-manager/modules/profiles/user/willem/darwin.nix +++ b/home-manager/modules/profiles/user/willem/darwin/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, ... }: let inherit (lib) mkIf; @@ -15,11 +15,15 @@ let }; in { - imports = [ ./launchd.nix ./iterm2.nix ./finder.nix ]; - + imports = [ + ./finder.nix + ./iterm2.nix + ./launchd.nix + ]; + home.file.".gnupg/gpg-agent.conf" = mkIf stdenv.isDarwin { text = '' - pinentry-program "${pkgs.pinentry-touchid}/bin/pinentry-touchid" + pinentry-program "${pkgs.pinentryTouchid}/bin/pinentry-touchid" default-cache-ttl 30 max-cache-ttl 600 ''; @@ -43,8 +47,8 @@ in pinentry = "pinentry-mac"; } // lib.attrsets.mapAttrs (name: value: "open -a '" + value + "'") appCommands); - programs.firefox.package = mkIf stdenv.isDarwin (pkgs.callPackage ../overlays/firefox-mac.nix { inherit pkgs; }); - programs.chromium.package = mkIf stdenv.isDarwin (pkgs.callPackage ../overlays/chromium-mac.nix { inherit pkgs; }); + programs.firefox.package = mkIf stdenv.isDarwin pkgs.firefoxMac; + programs.chromium.package = mkIf stdenv.isDarwin pkgs.chromiumMac; targets.darwin = mkIf stdenv.isDarwin { defaults = { diff --git a/home-manager/modules/profiles/user/willem/finder.nix b/home-manager/modules/profiles/user/willem/darwin/finder.nix similarity index 100% rename from home-manager/modules/profiles/user/willem/finder.nix rename to home-manager/modules/profiles/user/willem/darwin/finder.nix diff --git a/home-manager/modules/profiles/user/willem/iterm2.nix b/home-manager/modules/profiles/user/willem/darwin/iterm2.nix similarity index 100% rename from home-manager/modules/profiles/user/willem/iterm2.nix rename to home-manager/modules/profiles/user/willem/darwin/iterm2.nix diff --git a/home-manager/modules/profiles/user/willem/launchd.nix b/home-manager/modules/profiles/user/willem/darwin/launchd.nix similarity index 100% rename from home-manager/modules/profiles/user/willem/launchd.nix rename to home-manager/modules/profiles/user/willem/darwin/launchd.nix diff --git a/home-manager/modules/profiles/user/willem/default.nix b/home-manager/modules/profiles/user/willem/default.nix index ef1d146..d2b0b6f 100644 --- a/home-manager/modules/profiles/user/willem/default.nix +++ b/home-manager/modules/profiles/user/willem/default.nix @@ -46,9 +46,9 @@ rec { imports = [ ./accounts.nix - ./darwin.nix + ./darwin ./feeds.nix ./packages.nix - ./programs.nix + ./programs ]; } diff --git a/home-manager/modules/profiles/user/willem/packages.nix b/home-manager/modules/profiles/user/willem/packages.nix index e7d29c6..9735651 100644 --- a/home-manager/modules/profiles/user/willem/packages.nix +++ b/home-manager/modules/profiles/user/willem/packages.nix @@ -3,8 +3,8 @@ let darwin = with pkgs; [ pngpaste - pinentry-touchid - pinentry-mac + pinentryTouchid + pinentryMac spoof-mac ]; linux = with pkgs; [ ]; diff --git a/home-manager/modules/profiles/user/willem/programs.nix b/home-manager/modules/profiles/user/willem/programs/default.nix similarity index 98% rename from home-manager/modules/profiles/user/willem/programs.nix rename to home-manager/modules/profiles/user/willem/programs/default.nix index 123f669..1668aef 100644 --- a/home-manager/modules/profiles/user/willem/programs.nix +++ b/home-manager/modules/profiles/user/willem/programs/default.nix @@ -1,5 +1,8 @@ -{ lib, config, inputs, pkgs, ... }: { - imports = [ ./emacs.nix ./firefox.nix ]; +{ lib, config, pkgs, ... }: { + imports = [ + ./emacs.nix + ./firefox.nix + ]; programs = { bash.enableCompletion = true; diff --git a/home-manager/modules/profiles/user/willem/emacs.nix b/home-manager/modules/profiles/user/willem/programs/emacs.nix similarity index 99% rename from home-manager/modules/profiles/user/willem/emacs.nix rename to home-manager/modules/profiles/user/willem/programs/emacs.nix index 7e244fe..be7a32a 100644 --- a/home-manager/modules/profiles/user/willem/emacs.nix +++ b/home-manager/modules/profiles/user/willem/programs/emacs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, nurNoPkgs, ... }: +{ config, pkgs, nurNoPkgs, ... }: let pcfg = config.programs.emacs.init.usePackage; diff --git a/home-manager/modules/profiles/user/willem/firefox.nix b/home-manager/modules/profiles/user/willem/programs/firefox.nix similarity index 100% rename from home-manager/modules/profiles/user/willem/firefox.nix rename to home-manager/modules/profiles/user/willem/programs/firefox.nix