diff --git a/darwin-configuration.nix b/darwin-configuration.nix index 4bb1788..f162f65 100644 --- a/darwin-configuration.nix +++ b/darwin-configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, currentSystem, ... }: +{ config, pkgs, lib, ... }: let user = builtins.getEnv "USER"; @@ -32,6 +32,8 @@ in # Create /etc/zshrc that loads the nix-darwin environment. programs.zsh.enable = true; + programs.gnupg.agent.enable = true; + # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 4; @@ -44,5 +46,5 @@ in services.emacs.enable = true; home-manager.useGlobalPkgs = true; - home-manager.users.${user} = import ./home.nix { inherit lib config pkgs currentSystem; }; + home-manager.users.${user} = import ./home.nix { inherit lib config pkgs; }; } diff --git a/emacs.nix b/emacs.nix deleted file mode 100644 index 540ff2a..0000000 --- a/emacs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.emacs = { - enable = true; - }; -} diff --git a/git.nix b/git.nix deleted file mode 100644 index 21dd353..0000000 --- a/git.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: - -{ - programs.git = { - enable = true; - delta = { - enable = true; - }; - signing = { -# gpgPath = "${pkgs.gpg.outPath}"; - key = "C3DE5DF6198DACBD"; - signByDefault = true; - }; - extraConfig.init.defaultBranch = "master"; - extraConfig.core.autocrlf = false; - package = pkgs.gitAndTools.gitFull; - userName = "willemml"; - userEmail = "willem@leit.so"; - }; -} diff --git a/gpg.nix b/gpg.nix deleted file mode 100644 index 8f7ff6b..0000000 --- a/gpg.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, ... }: - -{ - programs.gpg = { - enable = true; - homedir = "${config.home.homeDirectory}/.gnupg"; - settings = { - use-agent = true; - default-key = "860B5C62BF1FCE4272D26BF8C3DE5DF6198DACBD"; - }; - }; - services.gpg-agent = { - enable = false; - enableZshIntegration = true; - pinentryFlavor = "mac"; - }; -} diff --git a/home.nix b/home.nix index 3d2554a..eddbcc6 100644 --- a/home.nix +++ b/home.nix @@ -1,15 +1,21 @@ -{ pkgs, config, lib, currentSystem, ... }: +{ pkgs, config, lib, ... }: let inherit (lib.systems.elaborate { system = builtins.currentSystem; }) isLinux isDarwin; in -{ +rec { home.stateVersion = "22.05"; + home.packages = import ./packages.nix { inherit lib config pkgs isDarwin; }; - imports = [ - ./emacs.nix - ./git.nix - ./gpg.nix - ./zsh.nix - ]; + + programs = import ./programs.nix { inherit lib config pkgs isDarwin; }; + + home.file."${programs.gpg.homedir}/gpg-agent.conf" = { + source = pkgs.writeTextFile { + name = "gpg-agent-conf"; + text = '' + pinentry-program ${pkgs.pinentry_mac.out}/${pkgs.pinentry_mac.binaryPath} + ''; + }; + }; } diff --git a/zsh.nix b/programs.nix similarity index 58% rename from zsh.nix rename to programs.nix index 4aedaaf..33d9efe 100644 --- a/zsh.nix +++ b/programs.nix @@ -1,11 +1,34 @@ -{ pkgs, lib, ... }: +{ lib, config, pkgs, isDarwin, ... }: { - programs.zoxide = { + gpg = { enable = true; - enableZshIntegration = true; + homedir = "${config.users.users.willem.home}/.gnupg"; + settings = { + use-agent = true; + default-key = "860B5C62BF1FCE4272D26BF8C3DE5DF6198DACBD"; + }; }; - programs.zsh = { + + git = { + enable = true; + delta = { + enable = true; + }; + signing = { + key = "C3DE5DF6198DACBD"; + signByDefault = true; + }; + extraConfig.init.defaultBranch = "master"; + extraConfig.core.autocrlf = false; + package = pkgs.gitAndTools.gitFull; + userName = "willemml"; + userEmail = "willem@leit.so"; + }; + + emacs.enable = true; + + zsh = { enable = true; enableCompletion = true; enableSyntaxHighlighting = true; @@ -38,4 +61,3 @@ ]; }; } -