diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-19 00:54:32 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-29 03:50:27 +0530 |
| commit | 23c07949ab400a49f05405feb5071812e6b81311 (patch) | |
| tree | db45bc8534cd5f4ce964b8f320998ebe93a73e13 /modules/web/chromium/extensions | |
| parent | a6fa6db17373eefaa2cffbfc4b882b145a733f9f (diff) | |
| download | home-manager-config-23c07949ab400a49f05405feb5071812e6b81311.tar.gz home-manager-config-23c07949ab400a49f05405feb5071812e6b81311.zip | |
refactor: remove eval-time impurities from chromium extensions
- Remove builtins.fetchurl-based version checking from lib.nix
- Move each extension into its own directory with default.nix + metadata.nix
- Add extensions/metadata.nix to compile all update metadata into a list
- Generate update checks via a standalone shell script in updates/
Diffstat (limited to 'modules/web/chromium/extensions')
18 files changed, 107 insertions, 65 deletions
diff --git a/modules/web/chromium/extensions/aria2-explorer.nix b/modules/web/chromium/extensions/aria2-explorer/default.nix index 32fb9b9..bb58170 100644 --- a/modules/web/chromium/extensions/aria2-explorer.nix +++ b/modules/web/chromium/extensions/aria2-explorer/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "aria2-explorer"; - owner = "alexhua"; - repo = "Aria2-Explorer"; - version = "2.8.2"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "hhndckjijagcbbljjhjcbnpjhamkkcjl"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/archive/refs/tags/v${version}.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/archive/refs/tags/v${meta.version}.zip"; hash = "sha256-4+SkvgWrELcohpv724YEtvSQSDCmjphkk8bvYggxVag="; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArOOLc1LawtEonls6j4P/KQyUAGO3KJcE9uAU9WV/tBIX6ulXivZypUAXC6Lokv56Bjnc08t/wUH8Xph0Gya4UzjSbZkdtR94yksY9mq5g/8df4p4v29SO+E6efQyXGyImEzFSHsNP4gu8akB5xT8O//51XRAXsMBVgUUTuUAlpnwd25Yy1tpQwqjbSV3gvAMo+a6+y0dBfXJ9fjwAYBwvx4cONSNjirIuyOG5r5FI5TaGMK+aV1xwNsDE59dyDkYL2f2mm1kN/2xMcayJrskVxtOcy18ijjXzyRJvNyhkLM2c5tEZHUkIlEgTjbJruF8EKrj2sCnodt1jknD0BSr1wIDAQAB"; }; diff --git a/modules/web/chromium/extensions/aria2-explorer/metadata.nix b/modules/web/chromium/extensions/aria2-explorer/metadata.nix new file mode 100644 index 0000000..792849b --- /dev/null +++ b/modules/web/chromium/extensions/aria2-explorer/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "aria2-explorer"; + owner = "alexhua"; + repo = "Aria2-Explorer"; + version = "2.8.2"; + updateType = "release"; + tagPrefix = "v"; +} diff --git a/modules/web/chromium/extensions/browserpass.nix b/modules/web/chromium/extensions/browserpass/default.nix index c8b59a1..288cf24 100644 --- a/modules/web/chromium/extensions/browserpass.nix +++ b/modules/web/chromium/extensions/browserpass/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "browserpass"; - owner = "browserpass"; - repo = "browserpass-extension"; - version = "3.12.0"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "jbaodoonnfhdccelcpnekimkijgdfjhl"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/releases/download/${version}/browserpass-chromium-${version}.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/releases/download/${meta.version}/browserpass-chromium-${meta.version}.zip"; hash = "sha256-WBpPTtec7zJPWM1xNKVxWWW/sB1aIuPecp5fUTWRE8c="; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv8xL6YhF7YTUE57jhme0vyJi4FZGXDBLV93QYWv6yrYbmczkM4aEOp4FWm63NnkJ8aGZ/0uL0rHmB4qo36awso/1L9XGJaBbQAQuOv/uIPAE18STJ4EtXA1hYDMGbkkr4fZHYJTH3GmoeajZYfp/cu8qc0cK4P5FVq67qwYSD4uFQJRJKuX8jM4lzO8dLH/tJsN3KwlfeSA8xvS2jiIJHtCKc6XqMrOCCfSmI8uILfg06fv46VOoVDH91dlZguOYANAJDW69uCY9YcvyVEmmf6DUnvmkrziDtV2O4/Af6nt7R5JHOcVcqVScoXJG9sfd4KATMcgoZj3fy19+R/4GvwIDAQAB"; }; diff --git a/modules/web/chromium/extensions/browserpass/metadata.nix b/modules/web/chromium/extensions/browserpass/metadata.nix new file mode 100644 index 0000000..edbfd81 --- /dev/null +++ b/modules/web/chromium/extensions/browserpass/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "browserpass"; + owner = "browserpass"; + repo = "browserpass-extension"; + version = "3.12.0"; + updateType = "release"; + tagPrefix = ""; +} diff --git a/modules/web/chromium/extensions/darkreader.nix b/modules/web/chromium/extensions/darkreader/default.nix index 94de411..9cc81d2 100644 --- a/modules/web/chromium/extensions/darkreader.nix +++ b/modules/web/chromium/extensions/darkreader/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "darkreader"; - owner = "darkreader"; - repo = "darkreader"; - version = "4.9.129"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "nfkppknaehpcafkbgmhfhkpapflndfip"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/releases/download/v${version}/darkreader-chrome.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/releases/download/v${meta.version}/darkreader-chrome.zip"; hash = "sha256-Yuhgoxp5MRgVMEEbOaQvRsVjYn/iaBhcHujipBX5rUE="; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8xN0p4CHkthdkB6imIb+8T2xsNSH9eeFAy7NhP3xAO1ML6FJyOFroabQIG6HcV7miXmJamY7zmE96QgEEvGqQ18+g+RsfvriJp0LRXi95TJBdCXoMiW348bWmue0Jk+/rhzWijMn/z/5fDnrZl0xjKU7MAXzW9dWfiTeIBc4wlk21zjGJxiG0uM1YAywe3jW8g0QCBga9iTaN67D+sBbBs4HmPa3xIbtPTAgqt1LDEk2T7IseoUia8MwxATWKWFegW6legMkPLVWH9jQ+x2ZbjtDP9GXk+1YqqWQUll1Xmal7C9ljeagkM5nhxgttAQoWBMPMJFwr7VN3AXtNXXPWQIDAQAB"; }; diff --git a/modules/web/chromium/extensions/darkreader/metadata.nix b/modules/web/chromium/extensions/darkreader/metadata.nix new file mode 100644 index 0000000..b5ee80f --- /dev/null +++ b/modules/web/chromium/extensions/darkreader/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "darkreader"; + owner = "darkreader"; + repo = "darkreader"; + version = "4.9.129"; + updateType = "release"; + tagPrefix = "v"; +} diff --git a/modules/web/chromium/extensions/default.nix b/modules/web/chromium/extensions/default.nix index 78c0630..91187b5 100644 --- a/modules/web/chromium/extensions/default.nix +++ b/modules/web/chromium/extensions/default.nix @@ -52,12 +52,12 @@ in # Readonly options get their actual value assigned here in this module config.web.chromium.extensions = { - aria2Explorer = mkExtension ./aria2-explorer.nix; - browserpass = mkExtension ./browserpass.nix; - darkreader = mkExtension ./darkreader.nix; - searxngHome = mkExtension ./searxng-home.nix; - theme = mkExtension ./theme.nix; - ublockOrigin = mkExtension ./ublock-origin.nix; - vimium = mkExtension ./vimium.nix; + aria2Explorer = mkExtension ./aria2-explorer; + browserpass = mkExtension ./browserpass; + darkreader = mkExtension ./darkreader; + searxngHome = mkExtension ./searxng-home; + theme = mkExtension ./theme; + ublockOrigin = mkExtension ./ublock-origin; + vimium = mkExtension ./vimium; }; } diff --git a/modules/web/chromium/extensions/metadata.nix b/modules/web/chromium/extensions/metadata.nix new file mode 100644 index 0000000..76b8916 --- /dev/null +++ b/modules/web/chromium/extensions/metadata.nix @@ -0,0 +1,8 @@ +[ + (import ./aria2-explorer/metadata.nix) + (import ./browserpass/metadata.nix) + (import ./darkreader/metadata.nix) + (import ./searxng-home/metadata.nix) + (import ./ublock-origin/metadata.nix) + (import ./vimium/metadata.nix) +] diff --git a/modules/web/chromium/extensions/searxng-home.nix b/modules/web/chromium/extensions/searxng-home/default.nix index 714ba90..e7ec05d 100644 --- a/modules/web/chromium/extensions/searxng-home.nix +++ b/modules/web/chromium/extensions/searxng-home/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "searxng-home"; - owner = "arpitchakladar"; - repo = "searxng-home"; - version = "0.2.0"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "gmkjafoflhifgcnmpomcoakhahmepfkc"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/releases/download/v${version}/chrome-v${version}.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/releases/download/v${meta.version}/chrome-v${meta.version}.zip"; hash = "sha256-fbXxtjTa8GKxylc5JS3GVj/oC+xCI5VJkE3bBpA2CbY="; isCrx = false; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2cDXvyOi1QgsWlC8LnwyXIV7EZ6yWLKvKCNBn8DPD4DwJgw221wqo6R9p/qnsnqAuveZrV/ApRq6MdzAclkWTGKyCJCRdJGBG/XM3BVfMBkuLXaLrvpFf8p/mDcAP37yOh0Z45XMTr55Y9ifnNH6Wu+3zAaASJlkBuGZ5ygbcUYcomcKjs7qfqxqY8Qe9ovIuLOQely+X9i+Qa6bZ0GJUTgXiKHckgY/43l+H+gs9V91he8qaSubzWPqwbYk8aWhTmjQTeR0vfUP+1/XBESt4u4NGxHsuk+ZwwbL6ThYRbzgj/UbvVGVQsanhIwODdJte51XanEo475Woal31++uxwIDAQAB"; diff --git a/modules/web/chromium/extensions/searxng-home/metadata.nix b/modules/web/chromium/extensions/searxng-home/metadata.nix new file mode 100644 index 0000000..0b232f2 --- /dev/null +++ b/modules/web/chromium/extensions/searxng-home/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "searxng-home"; + owner = "arpitchakladar"; + repo = "searxng-home"; + version = "0.2.0"; + updateType = "release"; + tagPrefix = "v"; +} diff --git a/modules/web/chromium/extensions/theme.nix b/modules/web/chromium/extensions/theme.nix deleted file mode 100644 index a77dc06..0000000 --- a/modules/web/chromium/extensions/theme.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - extLib, - ... -}: -let - pname = "theme"; -in -{ - inherit pname; - version = "1.0.0"; - id = null; - drv = extLib.mkLocalExtension { - inherit pname; - srcDir = ./theme; - }; -} diff --git a/modules/web/chromium/extensions/theme/default.nix b/modules/web/chromium/extensions/theme/default.nix new file mode 100644 index 0000000..674439c --- /dev/null +++ b/modules/web/chromium/extensions/theme/default.nix @@ -0,0 +1,16 @@ +{ + extLib, + ... +}: +let + meta = import ./metadata.nix; +in +{ + inherit (meta) pname; + version = meta.version; + id = null; + drv = extLib.mkLocalExtension { + inherit (meta) pname; + srcDir = ./theme; + }; +} diff --git a/modules/web/chromium/extensions/theme/metadata.nix b/modules/web/chromium/extensions/theme/metadata.nix new file mode 100644 index 0000000..4e9769d --- /dev/null +++ b/modules/web/chromium/extensions/theme/metadata.nix @@ -0,0 +1,4 @@ +{ + pname = "theme"; + version = "1.0.0"; +} diff --git a/modules/web/chromium/extensions/theme/manifest.json b/modules/web/chromium/extensions/theme/theme/manifest.json index 5be8622..5be8622 100644 --- a/modules/web/chromium/extensions/theme/manifest.json +++ b/modules/web/chromium/extensions/theme/theme/manifest.json diff --git a/modules/web/chromium/extensions/ublock-origin.nix b/modules/web/chromium/extensions/ublock-origin/default.nix index a46a74d..ccd46df 100644 --- a/modules/web/chromium/extensions/ublock-origin.nix +++ b/modules/web/chromium/extensions/ublock-origin/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "ublock-origin"; - owner = "gorhill"; - repo = "uBlock"; - version = "1.73.0"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "eahmphincfcmmpgkpobpneimcjndlcna"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/releases/download/${version}/uBlock0_${version}.chromium.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/releases/download/${meta.version}/uBlock0_${meta.version}.chromium.zip"; hash = "sha256-IsYrwPNe0MXpXR/IMagprxmcfKb9tPhBvgNMJXGc6RE="; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtXfkoFzWOh3Fet9x4L6WY1pw755kt7bFwqd/nmTm5Ptg7d40Qde0tTIhceCFVkwrWTQ3n2/WSpYXoU/UMgSW9anBzoUM0ZXanIdoeHwvL3eMNyx+iyvSrRxee26GwzbZ8J0UvH77KT3rW/iV5ejV4wTxTD3rFr0udkI5bbTPYpmGFOKPD8I3IB6BsoUTKW3XTSLM0fUYggdbDNwQGZvLYwqZzk/vWH/oifHR6CEvdFR51JAdf3tJQhttI6My49Vq6etCi9y5ZLXrMksxcEcIlQKaF2fdlfL1bYXRAVFDsieuAmu3gJPBj65PVJif5A7DfcH8zm8YGPwrJlTjaJQeDQIDAQAB"; }; diff --git a/modules/web/chromium/extensions/ublock-origin/metadata.nix b/modules/web/chromium/extensions/ublock-origin/metadata.nix new file mode 100644 index 0000000..2687ec8 --- /dev/null +++ b/modules/web/chromium/extensions/ublock-origin/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "ublock-origin"; + owner = "gorhill"; + repo = "uBlock"; + version = "1.73.0"; + updateType = "release"; + tagPrefix = ""; +} diff --git a/modules/web/chromium/extensions/vimium.nix b/modules/web/chromium/extensions/vimium/default.nix index 61b10c0..dbb77c0 100644 --- a/modules/web/chromium/extensions/vimium.nix +++ b/modules/web/chromium/extensions/vimium/default.nix @@ -3,17 +3,14 @@ ... }: let - pname = "vimium"; - owner = "philc"; - repo = "vimium"; - version = "2.4.2"; + meta = import ./metadata.nix; in { - inherit pname version; + inherit (meta) pname version; id = "ojbnfglfbelfbgfjlkehclgfkdkkjkdj"; drv = extLib.fetchUnpackedExtension { - inherit pname version; - url = "https://github.com/${owner}/${repo}/archive/refs/tags/v${version}.zip"; + inherit (meta) pname version; + url = "https://github.com/${meta.owner}/${meta.repo}/archive/refs/tags/v${meta.version}.zip"; hash = "sha256-Q+Tus7nl7TiuVJ4hn8vYg9L2cC4NhqWSOr5WKD0RSq0="; extensionKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqUw4MXlUYAqIQqJ1Gb/RH7RdgVjekKed1aoJS1OPM5C9EFfvVlj0/eIf8dVbCMKc7ThRYYJkZPqFNN38T0LtnBJbvdiJztL/nGueJT7GupXisIzJ9s17X+HpogODouDY7qHldQRw/7qnrBe0NeNxWVeUOH9PmHi8nBTZ3JRygS9svZ1BvY0ZkPZyNDTEsXCbb+fkSOOkjqDNqtt98eFJhPGZ0W+cn3KgTdr+rC0rqfacwfu41dpmQPEirOFtshs8DywoI+L66UtqVfwhBNdb3+JN7oeDs4HNFjCPbqOTSKKCng+nNndpIen2CKYUuYztvmrrRdQeEv5i3l7/MFrRXQIDAQAB"; }; diff --git a/modules/web/chromium/extensions/vimium/metadata.nix b/modules/web/chromium/extensions/vimium/metadata.nix new file mode 100644 index 0000000..f9f2465 --- /dev/null +++ b/modules/web/chromium/extensions/vimium/metadata.nix @@ -0,0 +1,8 @@ +{ + pname = "vimium"; + owner = "philc"; + repo = "vimium"; + version = "2.4.2"; + updateType = "tag"; + tagPrefix = "v"; +} |
