3 Commits
4 changed files with 8 additions and 9 deletions
+4
View File
@@ -1,5 +1,9 @@
# Changelog # Changelog
## 2026-08-16
- Fixed Firefox "profile cannot be loaded" error on macOS by removing `home.file."Library/Application Support/Firefox/installs.ini"`. Hardcoding an installation hash in `installs.ini` broke whenever Firefox was updated or rebuilt in the Nix store because the nix store path changed, causing Firefox to compute a new installation hash, fail to match or write to the read-only `installs.ini` symlink, and error out. Firefox on macOS uses `profiles.ini` (managed by Home Manager) and `MOZ_LEGACY_PROFILES=1` (exported by nixpkgs' launcher wrapper).
## 2026-08-03 ## 2026-08-03
- Added `presets/security/corporate-ca.nix` (nix-darwin) and enabled it on the - Added `presets/security/corporate-ca.nix` (nix-darwin) and enabled it on the
@@ -21,14 +21,6 @@ in
"okta-browser-plugin" "okta-browser-plugin"
]; ];
home.file."Library/Application Support/Firefox/installs.ini" = lib.mkIf pkgs.stdenv.isDarwin {
text = ''
[43AEB1562DAA8804]
Default=Profiles/default
Locked=1
'';
};
programs.firefox = { programs.firefox = {
enable = true; enable = true;
package = pkgs.firefox; package = pkgs.firefox;
@@ -26,7 +26,7 @@ let
-E pr=5000/prompt \ -E pr=5000/prompt \
-H "${ldap_scheme}://''${LDAP_HOST}:${builtins.toString ldap_port}" \ -H "${ldap_scheme}://''${LDAP_HOST}:${builtins.toString ldap_port}" \
-D "${pkgs.lib.toUpper magic_prefix}2\\${pkgs.lib.toLower config.home.username}" \ -D "${pkgs.lib.toUpper magic_prefix}2\\${pkgs.lib.toLower config.home.username}" \
-w "$(${pkgs._1password-cli}/bin/op item get T2 --fields label=password --reveal)" \ -w "$(/usr/local/bin/op item get T2 --fields label=password --reveal)" \
-b "dc=''${LDAP_HOST//./,dc=}" \ -b "dc=''${LDAP_HOST//./,dc=}" \
-s "sub" -x "(cn=''${SEARCH_FILTER})" \ -s "sub" -x "(cn=''${SEARCH_FILTER})" \
| ${jq_parse}/bin/ljq | ${jq_parse}/bin/ljq
@@ -80,6 +80,9 @@ function obj:init()
self.launcher:bind("", "H", function() self.launcher:bind("", "H", function()
self:switch("Hammerspoon.app") self:switch("Hammerspoon.app")
end) end)
self.launcher:bind("", "L", function()
self:switch("Claude.app")
end)
self.launcher:bind("", "M", function() self.launcher:bind("", "M", function()
self:switch("Messages.app") self:switch("Messages.app")
end) end)