mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 06:18:03 +03:00
helium & extensions
This commit is contained in:
1 parent
9c3f671acf
commit
7beff3b25f
2 files changed
+104
-2
No files matched your search
@@ -0,0 +1,100 @@
|
||||
{ ... }:
|
||||
{
|
||||
# sidechery "sidebery" ported to chromium for helium built from source and side-loaded.
|
||||
flake.homeModules.home-browser-helium-sidechery =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
sidechery = pkgs.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sidechery";
|
||||
version = (builtins.fromJSON (builtins.readFile "${inputs.sidechery}/package.json")).version;
|
||||
src = inputs.sidechery;
|
||||
|
||||
pnpmDeps = pkgs.fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pkgs.pnpm_10;
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-c05e5Wchb3mq45cHcjjiUCAzi9RrhtKWunYJ7QK30wM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.nodejs
|
||||
pkgs.pnpm_10
|
||||
pkgs.pnpmConfigHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
pnpm run build:chrome
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -r .output/chrome-mv3 $out
|
||||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
|
||||
panelColors = [
|
||||
"red"
|
||||
"orange"
|
||||
"yellow"
|
||||
"green"
|
||||
"cyan"
|
||||
"purple"
|
||||
"pink"
|
||||
];
|
||||
|
||||
sidechery-styled = pkgs.runCommand "sidechery-styled" { } ''
|
||||
cp -r ${sidechery} $out
|
||||
chmod -R u+w $out
|
||||
cat ${pkgs.writeText "sidechery-extra.css" config.elars.sidechery.extraCss} >> $out/styles/sidebar.css
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.elars.sidechery.extraCss = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
CSS appended to sidechery's sidebar stylesheet at build time, so
|
||||
styling doesn't depend on the in-extension styles editor.
|
||||
'';
|
||||
};
|
||||
config.xdg.configFile."sidechery/panels.json".text = builtins.toJSON {
|
||||
ver = sidechery.version;
|
||||
sidebar = {
|
||||
panels = lib.genAttrs panelColors (color: {
|
||||
type = 2; # PanelType.tabs
|
||||
id = color;
|
||||
name = color;
|
||||
inherit color;
|
||||
iconSVG = "icon_circle";
|
||||
});
|
||||
nav = panelColors ++ [
|
||||
"collapse"
|
||||
"settings"
|
||||
"create_snapshot"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
config.programs.helium = {
|
||||
extraFlags = [ "--load-extension=${sidechery-styled}" ];
|
||||
|
||||
preferences = {
|
||||
helium.browser.layout = 2;
|
||||
extensions.commands."linux:Ctrl+S" = {
|
||||
command_name = "_execute_action";
|
||||
extension = "napehjbogfncaoogcckddbidjgcapclg";
|
||||
global = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user