Refactor trusted browser and add build-time chrome extension support#1455
Merged
brianmcgillion merged 2 commits intotiiuae:mainfrom Oct 15, 2025
Merged
Refactor trusted browser and add build-time chrome extension support#1455brianmcgillion merged 2 commits intotiiuae:mainfrom
brianmcgillion merged 2 commits intotiiuae:mainfrom
Conversation
vunnyso
reviewed
Oct 13, 2025
Collaborator
vunnyso
left a comment
There was a problem hiding this comment.
Overall good. It would be beneficial to include documentation on the usage of the 'Session Buddy' feature.
ec4089f to
35a7ec2
Compare
- expanded google-chrome module: - allow installing webstore extensions at build time using attr 'local' - 'local' extensions are provided by a local update server - added chrome-extensions package: - provides a mkExtension helper - extensions can be easily packaged with an id, name, and hash - packaged extensions are accessible under pkgs.chrome-extensions Signed-off-by: Kajus Naujokaitis <kajus.naujokaitis@unikie.com>
35a7ec2 to
fa359b0
Compare
- refactored trusted browser to use new chrome extension module syntax - added 'Session Buddy' extension to trusted browser - disabled session restore popup for trusted browser - disabled 'first run' dialogs for trusted browser - renamed 'open in normal extension' to 'open-normal' - moved 'open-normal' extension under chrome-extensions package set - added comments and notes to chrome-extensions package set Signed-off-by: Kajus Naujokaitis <kajus.naujokaitis@unikie.com>
fa359b0 to
a53695d
Compare
Collaborator
Author
I couldn't find a proper place in our docs documenting the use of Trusted Browser and Chrome, let alone Chrome extensions. The way I see it, Session Buddy is an extension meant for power users. These users shouldn't have too much trouble learning it, as it's fairly straight forward as-is, and, provides its own "Help" section, which can be accessed in a normal browser. |
vunnyso
approved these changes
Oct 15, 2025
|
Tested on Lenovo-X1 (new installation, rebased to include #1431) All good!
|
brianmcgillion
approved these changes
Oct 15, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Changes
Chrome extensions build-time installation
modules/reference/programs/google-chrome.nix) to support installing Web Store extensions at build time..crxand version information.New
chrome-extensionspackage setpkgs.chrome-extensionsnamespace for managing Chrome extensions.mkExtensionhelper for packaging Web Store extensions with a name, ID, and hash.open-normalextension underpkgs.chrome-extensionsfor consistency.Trusted browser refactor
First run dialogs here are mostly useless, due to trusted browser having no access to neither Google's sign-in server nor any other search engines.
Session restoration can be done manually via the new Session Buddy extension.
open-normal, now built and managed as part ofpkgs.chrome-extensions.With these changes, more extensions can be added to Google Chrome easily following this general process:
Add the extension to
packages/chrome-extensions/default.nixAdd the new extension package to the
extensionslist ofgoogle-chromemodule, wherever it is enabled:Notes:
After such an update and a rebuild on our end, a hash conflict is expected for the respective extension package in
packages/chrome-extensions/default.nixThe
hashmust then be recalculated and updated accordingly.session-buddy, for example, has only been updated once in the last year, so these shouldn't cause too much of a headache in maintenance for us.Type of Change
Related Issues / Tickets
Addresses https://jira.tii.ae/browse/SSRCSP-7164, which is re-introduced by #1452
NOT TO BE MERGED BEFORE #1452Checklist
make-checksand it passesTesting Instructions
Applicable Targets
aarch64aarch64x86_64x86_64x86_64Installation Method
nixos-rebuild ... switchTest Steps To Verify: