Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crabdancing/chromexup-flake
Automatic semi-declarative extensions for ungoogled-chromium
https://github.com/crabdancing/chromexup-flake
chromexup chromium-browser declarative extensions-chrome extensions-management nix-flake nixos-module ungoogled-chromium
Last synced: 10 days ago
JSON representation
Automatic semi-declarative extensions for ungoogled-chromium
- Host: GitHub
- URL: https://github.com/crabdancing/chromexup-flake
- Owner: crabdancing
- Created: 2024-04-22T18:37:26.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-08-19T06:17:13.000Z (4 months ago)
- Last Synced: 2024-08-19T07:30:03.573Z (4 months ago)
- Topics: chromexup, chromium-browser, declarative, extensions-chrome, extensions-management, nix-flake, nixos-module, ungoogled-chromium
- Language: Nix
- Homepage:
- Size: 41 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chromexup for NixOS
In the mess that is the modern browser ecosystem, [ungoogled-chromium](https://github.com/ungoogled-software/ungoogled-chromium) is a fairly solid browser choice. It's well funded, meaning the feature set & security is fairly on point -- but it's also a fork with all Google's creepy stuff removed. Awesome!
There's a problem though.
It can't interface with the Chromium web store! There are extensions to do this, but us Nix weirdos like to do things declaratively, so I'm using an ancient script called [chromexup](https://github.com/xsmile/chromexup). And amazingly, it still works fine, 6 years later without any changes!
However, it was never packaged for Nix.
So this repo takes care of the following problems:
- Package the `chromexup` repo for Nix so that it can be called from CLI.
- Add a Home Manager module to configure it declaratively# How to use
Get your system flake inputs in order:
```nix
# inside `inputs` scope
chromexup.url = "github:crabdancing/chromexup-flake";
```And hook it up to your `home-manager` instance:
```nix
# inside a module's `config` scope
home-manager.sharedModules = [
inputs.chromexup.homeManagerModules.default
];
```At which point, you can configure it inside home-manager for any user:
```nix
# inside a module's `config` scope
home-manager.red.programs.chromexup = {
enable = true;
extensions = {
UBlockOrigin = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
Bitwarden = "nngceckbapebfimnlniiiahkandclblb";
CurlWget = "dgcfkhmmpcmkikfmonjcalnjcmjcjjdn";
};
};
```### Someday Asked Questions
- Q: Do you accept PRs?
- A: Yes!
- Q: Where do I get the ID of the extension?
- A: E.g., if you search `uBlock Origin` on the [Chrome Web Store](https://chromewebstore.google.com), it gives you: https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm
- A: Therefore, the ID is: `cjpalhdlnbpafiamejdnhcphjbkeiagm`This will also automatically enable a systemd service & timer, so it will automatically run daily!