Compare commits
2 commits
3595e7653d
...
22676b476b
| Author | SHA1 | Date | |
|---|---|---|---|
| 22676b476b | |||
| 1db85130fa |
2 changed files with 145 additions and 61 deletions
|
|
@ -34,8 +34,12 @@
|
||||||
extensions.packages = with firefox-addons;
|
extensions.packages = with firefox-addons;
|
||||||
[
|
[
|
||||||
bitwarden
|
bitwarden
|
||||||
|
darkreader
|
||||||
|
dearrow
|
||||||
|
enhancer-for-youtube
|
||||||
multi-account-containers
|
multi-account-containers
|
||||||
old-reddit-redirect
|
old-reddit-redirect
|
||||||
|
sponsorblock
|
||||||
ublock-origin
|
ublock-origin
|
||||||
user-agent-string-switcher
|
user-agent-string-switcher
|
||||||
zotero-connector
|
zotero-connector
|
||||||
|
|
@ -176,11 +180,50 @@
|
||||||
# - Google Scholar
|
# - Google Scholar
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
settings = {
|
settings = let
|
||||||
|
isUuid = str:
|
||||||
|
(builtins.match
|
||||||
|
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
|
||||||
|
str) != null;
|
||||||
|
prefix = addon: if isUuid addon then "_" else "";
|
||||||
|
button = addon:
|
||||||
|
"${prefix addon}${addon}${prefix addon}-browser-action";
|
||||||
|
always-in-container = "a1e9543e-5f73-4763-b376-04e53fd12cbd";
|
||||||
|
bitwarden = "446900e4-71c2-419f-a6a7-df9c091e268b";
|
||||||
|
dark-reader = "addon_darkreader_org";
|
||||||
|
dearrow = "dearrow_ajay_app";
|
||||||
|
enhancer-for-youtube =
|
||||||
|
"enhancerforyoutube_maximerf_addons_mozilla_org";
|
||||||
|
old-reddit-redirect = "9063c2e9-e07c-4c2c-9646-cfe7ca8d0498";
|
||||||
|
open-with = "openwith_darktrojan_net";
|
||||||
|
plasma = "plasma-browser-integration";
|
||||||
|
sponsorblock = "sponsorblocker_ajay_app";
|
||||||
|
ublock-origin = "ublock0_raymondhill_net";
|
||||||
|
user-agent-switcher = "a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7";
|
||||||
|
zotero = "zotero_chnm_gmu_edu";
|
||||||
|
containers = "_testpilot-containers";
|
||||||
|
in {
|
||||||
"app.normandy.first_run" = false;
|
"app.normandy.first_run" = false;
|
||||||
"app.shield.optoutstudies.enabled" = false;
|
"app.shield.optoutstudies.enabled" = false;
|
||||||
|
"browser.ai.control.default" = "blocked";
|
||||||
|
"browser.ai.control.linkPreviewKeyPoints" = "blocked";
|
||||||
|
"browser.ai.control.pdfjsAltText" = "blocked";
|
||||||
|
"browser.ai.control.sidebarChatbot" = "blocked";
|
||||||
|
"browser.ai.control.smartTabGroups" = "blocked";
|
||||||
|
"browser.ai.control.translations" = "blocked";
|
||||||
"browser.contentblocking.category" = "strict";
|
"browser.contentblocking.category" = "strict";
|
||||||
"browser.formfill.enable" = false;
|
"browser.formfill.enable" = false;
|
||||||
|
"browser.ml.chat.enabled" = false;
|
||||||
|
"browser.ml.chat.menu" = false;
|
||||||
|
"browser.ml.chat.page" = false;
|
||||||
|
"browser.ml.chat.page.footerBadge" = false;
|
||||||
|
"browser.ml.chat.page.menuBadge" = false;
|
||||||
|
"browser.ml.chat.shortcuts" = false;
|
||||||
|
"browser.ml.chat.sidebar" = false;
|
||||||
|
"browser.ml.enable" = false;
|
||||||
|
"browser.ml.linkPreview.enabled" = false;
|
||||||
|
"browser.ml.pageAssist.enabled" = false;
|
||||||
|
"browser.ml.smartAssist.enabled" = false;
|
||||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" =
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" =
|
||||||
false;
|
false;
|
||||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
|
||||||
|
|
@ -231,25 +274,18 @@
|
||||||
baseDomain = "ksu.one45.com";
|
baseDomain = "ksu.one45.com";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
"browser.search.visualSearch.featureGate" = false;
|
||||||
"browser.shopping.experience2023.active" = false;
|
"browser.shopping.experience2023.active" = false;
|
||||||
"browser.startup.homepage_override.mstone" = "ignore";
|
"browser.startup.homepage_override.mstone" = "ignore";
|
||||||
"browser.tabs.closeWindowWithLastTab" = false;
|
"browser.tabs.closeWindowWithLastTab" = false;
|
||||||
|
"browser.tabs.groups.smart.enabled" = false;
|
||||||
|
"browser.tabs.groups.smart.userEnabled" = false;
|
||||||
"browser.tabs.inTitlebar" = 0;
|
"browser.tabs.inTitlebar" = 0;
|
||||||
"browser.theme.content-theme" = 0;
|
"browser.theme.content-theme" = 0;
|
||||||
"browser.theme.toolbar-theme" = 0;
|
"browser.theme.toolbar-theme" = 0;
|
||||||
"browser.toolbars.bookmarks.visibility" = "never";
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
"browser.uiCustomization.state" = {
|
"browser.uiCustomization.navBarWhenVerticalTabs" = [
|
||||||
placements = {
|
"sidebar-button"
|
||||||
"widget-overflow-fixed-list" = [ ];
|
|
||||||
"unified-extensions-area" = [
|
|
||||||
"floccus_handmadeideas_org-browser-action"
|
|
||||||
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
|
||||||
"plasma-browser-integration_kde_org-browser-action"
|
|
||||||
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action" # Web Archives
|
|
||||||
"openwith_darktrojan_net-browser-action"
|
|
||||||
"zotero_chnm_gmu_edu-browser-action"
|
|
||||||
];
|
|
||||||
"nav-bar" = [
|
|
||||||
"back-button"
|
"back-button"
|
||||||
"forward-button"
|
"forward-button"
|
||||||
"customizableui-special-spring1"
|
"customizableui-special-spring1"
|
||||||
|
|
@ -258,52 +294,90 @@
|
||||||
"stop-reload-button"
|
"stop-reload-button"
|
||||||
"customizableui-special-spring2"
|
"customizableui-special-spring2"
|
||||||
"downloads-button"
|
"downloads-button"
|
||||||
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" # Bitwarden
|
(button bitwarden)
|
||||||
"ublock0_raymondhill_net-browser-action"
|
(button ublock-origin)
|
||||||
"unified-extensions-button"
|
"unified-extensions-button"
|
||||||
"_testpilot-containers-browser-action"
|
(button containers)
|
||||||
];
|
];
|
||||||
"TabsToolbar" = [
|
"browser.uiCustomization.state" = {
|
||||||
"firefox-view-button"
|
placements = {
|
||||||
"tabbrowser-tabs"
|
unified-extensions-area = map button [
|
||||||
"new-tab-button"
|
dark-reader
|
||||||
"alltabs-button"
|
open-with
|
||||||
|
zotero
|
||||||
|
user-agent-switcher
|
||||||
|
enhancer-for-youtube
|
||||||
|
sponsorblock
|
||||||
|
dearrow
|
||||||
|
always-in-container
|
||||||
|
old-reddit-redirect
|
||||||
|
plasma
|
||||||
];
|
];
|
||||||
"vertical-tabs" = [ ];
|
nav-bar = [
|
||||||
"PersonalToolbar" = [ "import-button" "personal-bookmarks" ];
|
"back-button"
|
||||||
|
"forward-button"
|
||||||
|
"customizableui-special-spring1"
|
||||||
|
"vertical-spacer"
|
||||||
|
"urlbar-container"
|
||||||
|
"stop-reload-button"
|
||||||
|
"customizableui-special-spring2"
|
||||||
|
"downloads-button"
|
||||||
|
(button bitwarden)
|
||||||
|
(button ublock-origin)
|
||||||
|
"unified-extensions-button"
|
||||||
|
(button containers)
|
||||||
|
];
|
||||||
|
vertical-tabs = [ "tabbrowser-tabs" ];
|
||||||
|
PersonalToolbar = [ "import-button" "personal-bookmarks" ];
|
||||||
|
TabsToolbar = [ ];
|
||||||
|
widget-overflow-fixed-list = [ ];
|
||||||
};
|
};
|
||||||
seen = [
|
seen =
|
||||||
"save-to-pocket-button"
|
[ "save-to-pocket-button" "developer-button" "screenshot-button" ]
|
||||||
"developer-button"
|
++ (map button [
|
||||||
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
|
always-in-container
|
||||||
"_testpilot-containers-browser-action"
|
bitwarden
|
||||||
"floccus_handmadeideas_org-browser-action"
|
dark-reader
|
||||||
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
dearrow
|
||||||
"plasma-browser-integration_kde_org-browser-action"
|
enhancer-for-youtube
|
||||||
"ublock0_raymondhill_net-browser-action"
|
old-reddit-redirect
|
||||||
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action"
|
open-with
|
||||||
"zotero_chnm_gmu_edu-browser-action"
|
plasma
|
||||||
"openwith_darktrojan_net-browser-action"
|
sponsorblock
|
||||||
];
|
ublock-origin
|
||||||
|
user-agent-switcher
|
||||||
|
zotero
|
||||||
|
containers
|
||||||
|
]);
|
||||||
dirtyAreaCache = [
|
dirtyAreaCache = [
|
||||||
"nav-bar"
|
"nav-bar"
|
||||||
"vertical-tabs"
|
"vertical-tabs"
|
||||||
"PersonalToolbar"
|
"PersonalToolbar"
|
||||||
"unified-extensions-area"
|
"unified-extensions-area"
|
||||||
|
"TabsToolbar"
|
||||||
];
|
];
|
||||||
currentVersion = 21;
|
currentVersion = 23;
|
||||||
newElementCount = 3;
|
newElementCount = 0;
|
||||||
};
|
};
|
||||||
"browser.urlbar.suggest.showSearchSuggestionsFirst" = false;
|
"browser.uitour.enabled" = false;
|
||||||
|
"browser.urlbar.quicksuggest.mlEnabled" = false;
|
||||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
"browser.urlbar.suggest.quicksuggest.trending" = false;
|
"browser.urlbar.suggest.quicksuggest.trending" = false;
|
||||||
|
"browser.urlbar.suggest.showSearchSuggestionsFirst" = false;
|
||||||
"browser.warnOnQuitShortcut" = false;
|
"browser.warnOnQuitShortcut" = false;
|
||||||
"datareporting.healthreport.uploadEnabled" = false;
|
"datareporting.healthreport.uploadEnabled" = false;
|
||||||
"datareporting.usage.uploadEnabled" = false;
|
"datareporting.usage.uploadEnabled" = false;
|
||||||
|
"extensions.autoDisableScopes" = 0;
|
||||||
"extensions.formautofill.addresses.enabled" = false;
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
"extensions.formautofill.creditCards.enabled" = false;
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
"extensions.autoDisableScopes" = 0;
|
"extensions.ml.enabled" = false;
|
||||||
|
"extensions.update.autoUpdateDefault" = false;
|
||||||
|
"extensions.update.enabled" = false;
|
||||||
|
"pdfjs.enableAltText" = false;
|
||||||
|
"pdfjs.enableAltTextModelDownload" = false;
|
||||||
|
"pdfjs.enableGuessAltText" = false;
|
||||||
|
"places.semanticHistory.featureGate" = false;
|
||||||
"privacy.bounceTrackingProtection.mode" = 1;
|
"privacy.bounceTrackingProtection.mode" = 1;
|
||||||
"privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = false;
|
"privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = false;
|
||||||
"privacy.clearOnShutdown_v2.cache" = true;
|
"privacy.clearOnShutdown_v2.cache" = true;
|
||||||
|
|
@ -317,6 +391,14 @@
|
||||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||||
"privacy.trackingprotection.enabled" = true;
|
"privacy.trackingprotection.enabled" = true;
|
||||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||||
|
"sidebar.installed.extensions" = "{${bitwarden}}";
|
||||||
|
"sidebar.main.tools" = "syncedtabs,history,{${bitwarden}},bookmarks";
|
||||||
|
"sidebar.new-sidebar.has-used" = true;
|
||||||
|
"sidebar.revamp" = true;
|
||||||
|
"sidebar.verticalTabs" = true;
|
||||||
|
"sidebar.verticalTabs.dragToPinPromo.dismissed" = true;
|
||||||
|
"sidebar.visibility" = "expand-on-hover";
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -55,20 +55,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# This is a hack - I'm deliberately hijacking the systemd service that is
|
|
||||||
# set up by `services.caddy` in order to sync the `let` variables with the
|
|
||||||
# external Caddyfile via environment variables
|
|
||||||
# This is safe for NixOS 25.11 - see
|
|
||||||
# <https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/web-servers/caddy/default.nix#L412>
|
|
||||||
systemd.services.caddy.environment = {
|
|
||||||
MILLIRONX_PEERTUBE_PORT = port;
|
|
||||||
MILLIRONX_PEERTUBE_ASSETS_DIR = peertubeAssetsDir;
|
|
||||||
MILLIRONX_PEERTUBE_DATA_DIR = "${stateDirectory}/data";
|
|
||||||
};
|
|
||||||
# Another hack - allows the Caddy user to be able to read files that
|
|
||||||
# PeerTube writes into its dist/ folders
|
|
||||||
users.users.${config.services.caddy.user}.extraGroups = [ user ];
|
|
||||||
|
|
||||||
# Forward RTMP (privileged) port to container-accessible (non-privileged) port
|
# Forward RTMP (privileged) port to container-accessible (non-privileged) port
|
||||||
systemd = {
|
systemd = {
|
||||||
sockets."peertube-rtmp" = {
|
sockets."peertube-rtmp" = {
|
||||||
|
|
@ -81,7 +67,8 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services."peertube-rtmp-forward" = {
|
services = {
|
||||||
|
"peertube-rtmp-forward" = {
|
||||||
description = "PeerTube RTMP Port Forwarder";
|
description = "PeerTube RTMP Port Forwarder";
|
||||||
requires = [ "peertube-rtmp.socket" ];
|
requires = [ "peertube-rtmp.socket" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
|
|
@ -92,6 +79,18 @@ in {
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# This is a hack - I'm deliberately hijacking the systemd service that is
|
||||||
|
# set up by `services.caddy` in order to sync the `let` variables with the
|
||||||
|
# external Caddyfile via environment variables
|
||||||
|
# This is safe for NixOS 25.11 - see
|
||||||
|
# <https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/web-servers/caddy/default.nix#L412>
|
||||||
|
caddy.environment = {
|
||||||
|
MILLIRONX_PEERTUBE_PORT = port;
|
||||||
|
MILLIRONX_PEERTUBE_ASSETS_DIR = peertubeAssetsDir;
|
||||||
|
MILLIRONX_PEERTUBE_DATA_DIR = "${stateDirectory}/data";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
networking.firewall.allowedTCPPorts = [ 1935 ];
|
networking.firewall.allowedTCPPorts = [ 1935 ];
|
||||||
|
|
||||||
|
|
@ -104,6 +103,9 @@ in {
|
||||||
autoSubUidGidRange = true;
|
autoSubUidGidRange = true;
|
||||||
};
|
};
|
||||||
users.groups.${user} = { };
|
users.groups.${user} = { };
|
||||||
|
# Another hack - allows the Caddy user to be able to read files that
|
||||||
|
# PeerTube writes into its dist/ folders
|
||||||
|
users.users.${config.services.caddy.user}.extraGroups = [ user ];
|
||||||
|
|
||||||
home-manager.users.${user} = { config, osConfig, ... }: {
|
home-manager.users.${user} = { config, osConfig, ... }: {
|
||||||
imports = [ home-manager-quadlet-nix ];
|
imports = [ home-manager-quadlet-nix ];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue