From e04cdab40919a11b6db505a234b5951034f1d64e Mon Sep 17 00:00:00 2001 From: Noah Masur <7386960+nmasur@users.noreply.github.com> Date: Wed, 8 Jul 2026 11:10:43 -0600 Subject: [PATCH] switch 1password on darwin to nix module --- .../modules/nmasur/presets/services/dock.nix | 2 +- .../modules/nmasur/profiles/work.nix | 4 +-- .../nmasur/presets/programs/_1password.nix | 29 +++++++++++++++++++ .../modules/nmasur/profiles/base.nix | 9 +++--- 4 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 platforms/nix-darwin/modules/nmasur/presets/programs/_1password.nix diff --git a/platforms/home-manager/modules/nmasur/presets/services/dock.nix b/platforms/home-manager/modules/nmasur/presets/services/dock.nix index 32b22c4f..98c4e381 100644 --- a/platforms/home-manager/modules/nmasur/presets/services/dock.nix +++ b/platforms/home-manager/modules/nmasur/presets/services/dock.nix @@ -48,7 +48,7 @@ in tilesize = 44; persistent-apps = map mkDockApp [ - "/Applications/1Password.app" + "${pkgs._1password-gui}/Applications/1Password.app" "${pkgs.slack}/Applications/Slack.app" "/System/Applications/Calendar.app" "${pkgs.firefox-unwrapped}/Applications/Firefox.app" diff --git a/platforms/home-manager/modules/nmasur/profiles/work.nix b/platforms/home-manager/modules/nmasur/profiles/work.nix index 960070ea..1e30bb4d 100644 --- a/platforms/home-manager/modules/nmasur/profiles/work.nix +++ b/platforms/home-manager/modules/nmasur/profiles/work.nix @@ -44,7 +44,7 @@ in ]; home.file.".Brewfile".text = /* homebrew */ '' - cask "1password" # 1Password will not launch from Nix on macOS + # cask "1password" # 1Password will not launch from Nix on macOS # cask "gitify" # Git notifications in menu bar (downgrade manually from 4.6.1) # cask "logitech-g-hub" # Mouse and keyboard management cask "logitune" # Logitech webcam firmware @@ -56,7 +56,7 @@ in nmasur.presets = { fonts.enable = lib.mkDefault true; programs = { - _1password.enable = lib.mkDefault true; + # _1password.enable = lib.mkDefault true; atuin.enable = lib.mkDefault true; aws-ssh.enable = lib.mkDefault true; bash.enable = lib.mkDefault true; diff --git a/platforms/nix-darwin/modules/nmasur/presets/programs/_1password.nix b/platforms/nix-darwin/modules/nmasur/presets/programs/_1password.nix new file mode 100644 index 00000000..c9a5dfcc --- /dev/null +++ b/platforms/nix-darwin/modules/nmasur/presets/programs/_1password.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + ... +}: + +let + cfg = config.nmasur.presets.programs._1password; +in + +{ + options.nmasur.presets.programs._1password.enable = lib.mkEnableOption "1Password password manager"; + + config = lib.mkIf cfg.enable { + allowUnfreePackages = [ + "1password" + "_1password-gui" + "1password-cli" + ]; + + programs._1password.enable = true; + programs._1password-gui = { + enable = true; + # Certain features, including CLI integration and system authentication support, + # require enabling PolKit integration on some desktop environments (e.g. Plasma). + # polkitPolicyOwners = [ "yourUsernameHere" ]; + }; + }; +} diff --git a/platforms/nix-darwin/modules/nmasur/profiles/base.nix b/platforms/nix-darwin/modules/nmasur/profiles/base.nix index 31b41d60..5da1f166 100644 --- a/platforms/nix-darwin/modules/nmasur/profiles/base.nix +++ b/platforms/nix-darwin/modules/nmasur/profiles/base.nix @@ -17,10 +17,11 @@ in system.primaryUser = config.nmasur.settings.username; nmasur.presets = { - # programs = { - # fish.enable = lib.mkDefault true; - # homebrew.enable = lib.mkDefault true; - # }; + programs = { + _1password.enable = lib.mkDefault true; + # fish.enable = lib.mkDefault true; + # homebrew.enable = lib.mkDefault true; + }; services = { # daily-summary.enable = lib.mkDefault false; # dock.enable = lib.mkDefault true;