many changes: prepare to allow multiple users

This commit is contained in:
Sean Kovacs 2026-04-02 19:36:49 -04:00
commit fab570dd29
Signed by: sckova
GPG key ID: 00F325187C68651A
42 changed files with 80 additions and 158 deletions

View file

@ -0,0 +1,35 @@
{ pkgs, ... }:
{
imports = [
# ./discord.nix
./firefox.nix
./mpv.nix
# ./vscode.nix
];
home.packages = with pkgs; [
# gui applications
input-leap
libreoffice-qt-fresh
# nur.repos.forkprince.helium-nightly
nautilus
fractal
tuba
# gui applications ( multimedia )
audacity
strawberry
musescore
gimp
# calibre
# riff
dissent
loupe
spotify-player
# overrides
(chromium.override {
enableWideVine = true;
})
];
}

View file

@ -0,0 +1,81 @@
{
config,
pkgs,
...
}:
let
mergedThemes = pkgs.runCommand "discordThemeDir" { } ''
mkdir -p $out
'';
vesktopSettings = {
discordBranch = "stable";
minimizeToTray = true;
arRPC = true;
splashColor = config.scheme.withHashtag.base05;
splashBackground = config.scheme.withHashtag.base00;
spellCheckLanguages = [
"en-US"
"en"
];
disableMinSize = true;
};
stateConfig = {
firstLaunch = false;
windowBounds = {
x = 0;
y = 0;
width = 853;
height = 1071;
};
};
in
{
home.packages = with pkgs; [ vesktop ];
home.file.".config/vesktop/settings.json" = {
text = builtins.toJSON vesktopSettings;
force = true;
};
home.file.".config/vesktop/settings/settings.json" = {
text = builtins.toJSON (import ./vencord.nix);
force = true;
};
home.file.".config/vesktop/settings/quickCss.css" = with config.scheme.withHashtag; {
text = ''
:root {
--base00: ${base00};
--base01: ${base01};
--base02: ${base02};
--base03: ${base03};
--base04: ${base04};
--base05: ${base05};
--base06: ${base06};
--base07: ${base07};
--base08: ${base08};
--base09: ${base09};
--base0A: ${base0A};
--base0B: ${base0B};
--base0C: ${base0C};
--base0D: ${base0D};
--base0E: ${base0E};
--base0F: ${base0F};
}
'';
force = true;
};
home.file.".config/vesktop/state.json" = {
text = builtins.toJSON stateConfig;
force = true;
};
home.file.".config/vesktop/themes" = {
source = mergedThemes;
recursive = true;
force = true;
};
}

View file

@ -0,0 +1,388 @@
# https://discourse.nixos.org/t/combining-best-of-system-firefox-and-home-manager-firefox-settings/37721
# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
{
pkgs,
config,
...
}:
{
home.file.".mozilla/firefox/default/chrome/" = {
source = ./firefox_css;
force = true;
recursive = true;
};
home.file.".mozilla/firefox/default/chrome/colors.css" = with config.scheme.withHashtag; {
text = ''
* {
--accent: ${config.scheme.withHashtag.${config.colors.accent}};
--rosewater: ${base06};
--flamingo: ${base0F};
--pink: ${base17};
--mauve: ${base0E};
--red: ${base08};
--maroon: ${base12};
--peach: ${base09};
--yellow: ${base0A};
--green: ${base0B};
--teal: ${base0C};
--sky: ${base15};
--sapphire: ${base16};
--blue: ${base0D};
--lavender: ${base07};
--text: ${base05};
--subtext1: ${base04};
--subtext0: ${base04};
--overlay2: ${base03};
--overlay1: ${base03};
--overlay0: ${base03};
--surface2: ${base02};
--surface1: ${base01};
--surface0: ${base01};
--base: ${base00};
--mantle: ${base10};
--crust: ${base11};
}
'';
force = true;
};
home.file.".local/share/firefoxpwa/profiles/01KEYXH9TC4B54J5CTPNE75JP0/prefs.js" = {
text = ''
user_pref("firefoxpwa.alwaysUseNativeWindowControls", true);
user_pref("firefoxpwa.displayUrlBar", 1);
user_pref("firefoxpwa.enableHidingIconBar", true);
user_pref("firefoxpwa.dynamicWindowTitle", true);
user_pref("ui.key.menuAccessKeyFocuses", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.ml.enable", false);
'';
force = true;
};
programs = {
firefoxpwa = {
enable = true;
settings.config = {
always_patch = false;
runtime_enable_wayland = true;
runtime_use_xinput2 = true;
runtime_use_portals = true;
use_linked_runtime = false;
};
profiles = {
"01KEYXH9TC4B54J5CTPNE75JP0".sites."01KEYXHK7XQQJ0M3J7SX4VD9PG" = {
name = "WhatsApp";
url = "https://web.whatsapp.com/";
manifestUrl = "https://web.whatsapp.com/data/manifest.json";
desktopEntry = {
icon = "${pkgs.morewaita-icon-theme}/share/icons/MoreWaita/scalable/apps/whatsapp.svg";
categories = [
"Network"
"Chat"
"Telephony"
];
};
};
};
};
firefox = {
enable = true;
package = pkgs.firefox.override {
nativeMessagingHosts = with pkgs; [
firefoxpwa
];
};
policies = {
BlockAboutConfig = false;
DefaultDownloadDirectory = "\${home}/Downloads";
# Check about:support for extension/add-on ID strings.
# Valid strings for installation_mode are "allowed", "blocked",
# "force_installed" and "normal_installed".
ExtensionSettings = {
"*".installation_mode = "blocked";
"uBlock0@raymondhill.net".installation_mode = "allowed";
"gdpr@cavi.au.dk".installation_mode = "allowed";
"{5cce4ab5-3d47-41b9-af5e-8203eea05245}".installation_mode = "allowed";
"jid1-MnnxcxisBPnSXQ@jetpack".installation_mode = "allowed";
"firefoxpwa@filips.si".installation_mode = "allowed";
"sponsorBlocker@ajay.app".installation_mode = "allowed";
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".installation_mode = "allowed";
"{aecec67f-0d10-4fa7-b7c7-609a2db280cf}".installation_mode = "allowed";
"{446900e4-71c2-419f-a6a7-df9c091e268b}".installation_mode = "allowed";
"CanvasBlocker@kkapsner.de".installation_mode = "allowed";
"shinigamieyes@shinigamieyes".installation_mode = "allowed";
"deArrow@ajay.app".installation_mode = "allowed";
};
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "newtab"; # alternatives: "always" or "newtab"
DisplayMenuBar = "always"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
};
profiles = {
default = {
id = 0;
name = "default";
isDefault = true;
extensions = {
force = true;
packages = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
stylus
violentmonkey
consent-o-matic
privacy-badger
sponsorblock
pwas-for-firefox
control-panel-for-twitter
bitwarden
canvasblocker
shinigami-eyes
dearrow
];
settings = {
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".settings = {
force = true;
settings = {
dbInChromeStorage = true;
};
};
};
};
settings = {
"extensions.autoDisableScopes" = 0; # enables all extensions automatically
"xpinstall.signatures.required" = false;
"extensions.update.autoUpdateDefault" = false;
"extensions.update.enabled" = false;
"browser.search.defaultenginename" = "searxng";
"browser.search.order.1" = "searxng";
"browser.toolbars.bookmarks.visibility" = "newtab";
"signon.rememberSignons" = false;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"browser.aboutConfig.showWarning" = false;
"browser.compactmode.show" = true;
"browser.cache.disk.enable" = true; # Set to false if you have a HDD
"browser.warnOnQuitShortcut" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"widget.disable-workspace-management" = true;
"browser.contentblocking.category" = {
Value = "strict";
Status = "locked";
};
"widget.gtk.global-menu.enabled" = true;
"widget.gtk.global-menu.wayland.enabled" = true;
"browser.tabs.inTitlebar" = 0;
"extensions.pocket.enabled" = false;
"extensions.screenshots.disabled" = true;
"browser.topsites.contile.enabled" = false;
"browser.formfill.enable" = false;
"browser.search.suggest.enabled" = false;
"browser.search.suggest.enabled.private" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.showSearchSuggestionsFirst" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showWeather" = false;
"browser.download.autoHideButton" = false;
"browser.startup.homepage" = "http://localhost:5364/";
# Disable Firefox's machine learning (AI) features
"browser.ml.enable" = false;
# For browser toolbox/live editing user CSS
"devtools.chrome.enabled" = true;
"devtools.debugger.remote-enabled" = true;
# Vertical tabs
"sidebar.verticalTabs" = true;
"sidebar.verticalTabs.dragToPinPromo.dismissed" = true;
"browser.uiCustomization.state" = {
placements = {
widget-overflow-fixed-list = [ ];
unified-extensions-area = [
"sponsorblocker_ajay_app-browser-action"
"ublock0_raymondhill_net-browser-action"
"jid1-mnnxcxisbpnsxq_jetpack-browser-action"
"gdpr_cavi_au_dk-browser-action"
"firefoxpwa_filips_si-browser-action"
"canvasblocker_kkapsner_de-browser-action"
"_5cce4ab5-3d47-41b9-af5e-8203eea05245_-browser-action"
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
"_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"
"_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"
"dearrow_ajay_app-browser-action"
];
nav-bar = [
# "sidebar-button"
"back-button"
"forward-button"
"stop-reload-button"
"urlbar-container"
"unified-extensions-button"
"downloads-button"
];
toolbar-menubar = [ "menubar-items" ];
TabsToolbar = [ ];
vertical-tabs = [ "tabbrowser-tabs" ];
PersonalToolbar = [ "personal-bookmarks" ];
};
seen = [
"gdpr_cavi_au_dk-browser-action"
"firefoxpwa_filips_si-browser-action"
"jid1-mnnxcxisbpnsxq_jetpack-browser-action"
"canvasblocker_kkapsner_de-browser-action"
"_5cce4ab5-3d47-41b9-af5e-8203eea05245_-browser-action"
"ublock0_raymondhill_net-browser-action"
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
"_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"
"_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"
"sponsorblocker_ajay_app-browser-action"
"dearrow_ajay_app-browser-action"
"developer-button"
];
dirtyAreaCache = [
"unified-extensions-area"
"nav-bar"
"TabsToolbar"
"vertical-tabs"
"PersonalToolbar"
"toolbar-menubar"
];
currentVersion = 23;
newElementCount = 1;
};
"privacy.resistFingerprinting" = false;
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"webgl.disabled" = false;
"privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
};
bookmarks = {
force = true;
settings = [
{
name = "Nix sites";
toolbar = true;
bookmarks = [
{
name = "NixOS";
url = "https://nixos.org/";
}
{
name = "Home Manager Appendix A";
url = "https://nix-community.github.io/home-manager/options.xhtml";
}
{
name = "NixOS config";
url = "https://ovips.us.to/git/sckova/nix";
}
];
}
];
};
search =
let
nixIcon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
searchIcon = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita/scalable/places/folder-saved-search-symbolic.svg";
in
{
force = true;
default = "searxng";
order = [
"searxng"
];
engines = {
nix-packages = {
name = "Nix Packages";
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = nixIcon;
definedAliases = [ "@np" ];
};
nix-options = {
name = "Nix Options";
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = nixIcon;
definedAliases = [ "@no" ];
};
nixos-wiki = {
name = "NixOS Wiki";
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
icon = nixIcon;
definedAliases = [ "@nw" ];
};
searxng = {
name = "SearXNG";
urls = [ { template = "http://localhost:5364/search?q={searchTerms}"; } ];
icon = searchIcon;
definedAliases = [ "@go" ];
};
wikipedia = {
name = "Wikipedia";
urls = [ { template = "https://en.wikipedia.org/w/index.php?search={searchTerms}"; } ];
definedAliases = [ "@wi" ];
};
};
};
};
};
};
};
}

View file

@ -0,0 +1,25 @@
#tracking-protection-icon-container {
display: none;
}
.bookmark-item[container] {
list-style-image: url("chrome://global/skin/dirListing/folder.png") !important;
}
#toolbar-menubar {
display: none !important;
}
#menubar-items {
visibility: hidden !important;
}
/*.browserContainer {
border-radius: 8px !important;
margin: 6px !important;
background-color: transparent !important;
}
browser {
border-radius: 8px !important;
}*/

View file

@ -0,0 +1,459 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* DO NOT EDIT this file directly, instead modify design-tokens.json
* and run `npm run build` to see your changes. */
@import "../colors.css";
@layer tokens-foundation, tokens-prefers-contrast, tokens-forced-colors;
@layer tokens-foundation {
:root,
:host(.anonymous-content-host) {
/** Background Color **/
--background-color-box: var(--base) !important;
--background-color-critical: var(--maroon) !important;
--background-color-information: var(--sapphire) !important;
--background-color-success: var(--teal) !important;
--background-color-warning: var(--peach) !important;
--promo-background-color: var(--background-color-information) !important;
--table-row-background-color: var(--mantle) !important;
/** Border **/
--border-color-card: color-mix(
in srgb,
currentColor 10%,
transparent
) !important;
--border-color-interactive-hover: var(
--border-color-interactive
) !important;
--border-color-interactive-active: var(
--border-color-interactive
) !important;
--border-color-interactive-disabled: var(
--border-color-interactive
) !important;
--border-color-selected: var(--accent) !important;
--border-color-transparent: transparent !important;
--border-radius-circle: 9999px !important;
--border-radius-xsmall: 2px !important;
--border-radius-small: 4px !important;
--border-radius-medium: 8px !important;
--border-radius-large: 16px !important;
--border-width: 0px !important;
/** Box Shadow **/
--box-shadow-card: var(--box-shadow-level-2) !important;
--box-shadow-card-hover: var(--box-shadow-level-4) !important;
--box-shadow-color-darker-layer-1: rgba(0, 0, 0, 0.15) !important;
--box-shadow-color-darker-layer-2: rgba(0, 0, 0, 0.2) !important;
--box-shadow-color-lighter-layer-1: rgba(0, 0, 0, 0.05) !important;
--box-shadow-color-lighter-layer-2: rgba(0, 0, 0, 0.1) !important;
--box-shadow-level-1:
0 0 1px var(--box-shadow-color-darker-layer-1),
0 1px 2px var(--box-shadow-color-darker-layer-2) !important;
--box-shadow-level-2:
0 0.25px 0.75px var(--box-shadow-color-lighter-layer-1),
0 2px 6px var(--box-shadow-color-lighter-layer-2) !important;
--box-shadow-level-3:
0 0.375px 1.5px var(--box-shadow-color-lighter-layer-1),
0 3px 12px var(--box-shadow-color-lighter-layer-2) !important;
--box-shadow-level-4:
0 0.5px 2px var(--box-shadow-color-lighter-layer-1),
0 4px 16px var(--box-shadow-color-lighter-layer-2) !important;
--box-shadow-popup: var(--box-shadow-level-3) !important;
--box-shadow-tab: var(--box-shadow-level-1) !important;
/** Button **/
--button-background-color-disabled: var(
--button-background-color
) !important;
--button-background-color-destructive: var(--red) !important;
--button-background-color-destructive-hover: color-mix(
in srgb,
var(--red),
var(--text) 10%
) !important;
--button-background-color-destructive-active: color-mix(
in srgb,
var(--red),
var(--text) 20%
) !important;
--button-background-color-destructive-disabled: var(
--button-background-color-destructive
) !important;
--button-background-color-destructive-selected: var(
--button-background-color-destructive-active
) !important;
--button-background-color-ghost: transparent !important;
--button-background-color-ghost-hover: var(
--button-background-color-hover
) !important;
--button-background-color-ghost-active: var(
--button-background-color-active
) !important;
--button-background-color-ghost-disabled: var(
--button-background-color-ghost
) !important;
--button-background-color-ghost-selected: var(
--button-background-color-ghost-active
) !important;
--button-background-color-primary: var(--accent) !important;
--button-background-color-primary-hover: color-mix(
in srgb,
var(--accent),
var(--text) 10%
) !important;
--button-background-color-primary-active: color-mix(
in srgb,
var(--accent),
var(--text) 20%
) !important;
--button-background-color-primary-disabled: var(
--button-background-color-primary
) !important;
--button-background-color-primary-selected: var(
--button-background-color-primary-active
) !important;
--button-background-color-selected: var(
--button-background-color-active
) !important;
--button-border: var(--border-width) solid var(--button-border-color) !important;
--button-border-color: transparent !important;
--button-border-color-hover: var(--button-border-color) !important;
--button-border-color-active: var(--button-border-color) !important;
--button-border-color-disabled: var(--button-border-color) !important;
--button-border-color-destructive: transparent !important;
--button-border-color-destructive-hover: var(
--button-border-color-destructive
) !important;
--button-border-color-destructive-active: var(
--button-border-color-destructive
) !important;
--button-border-color-destructive-disabled: var(
--button-border-color-destructive
) !important;
--button-border-color-destructive-selected: var(
--button-border-color-destructive-active
) !important;
--button-border-color-ghost: var(--button-border-color) !important;
--button-border-color-ghost-hover: var(
--button-border-color-hover
) !important;
--button-border-color-ghost-active: var(
--button-border-color-active
) !important;
--button-border-color-ghost-disabled: var(
--button-border-color-disabled
) !important;
--button-border-color-ghost-selected: var(
--button-border-color-ghost-active
) !important;
--button-border-color-primary: transparent !important;
--button-border-color-primary-hover: var(
--button-border-color-primary
) !important;
--button-border-color-primary-active: var(
--button-border-color-primary
) !important;
--button-border-color-primary-disabled: var(
--button-border-color-primary
) !important;
--button-border-color-primary-selected: var(
--button-border-color-primary-active
) !important;
--button-border-color-selected: var(
--button-border-color-active
) !important;
--button-border-radius: var(--border-radius-medium) !important;
--button-font-size: var(--font-size-root) !important;
--button-font-size-small: var(--font-size-small) !important;
--button-font-weight: var(--font-weight-semibold) !important;
--button-icon-fill: currentColor !important;
--button-icon-stroke: var(--button-icon-fill) !important;
--button-min-height: var(--size-item-large) !important;
--button-min-height-small: var(--size-item-medium) !important;
--button-opacity-disabled: 0.5 !important;
--button-padding: var(--space-xsmall) var(--space-large) !important;
--button-padding-icon: 0 !important;
--button-size-icon: var(--button-min-height) !important;
--button-size-icon-small: var(--button-min-height-small) !important;
--button-text-color-hover: var(--button-text-color) !important;
--button-text-color-active: var(--button-text-color) !important;
--button-text-color-disabled: var(--button-text-color) !important;
--button-text-color-destructive: var(--crust) !important;
--button-text-color-destructive-hover: var(
--button-text-color-destructive
) !important;
--button-text-color-destructive-active: var(
--button-text-color-destructive
) !important;
--button-text-color-destructive-disabled: var(
--button-text-color-destructive
) !important;
--button-text-color-destructive-selected: var(
--button-text-color-destructive-active
) !important;
--button-text-color-ghost: inherit !important;
--button-text-color-ghost-hover: inherit !important;
--button-text-color-ghost-active: inherit !important;
--button-text-color-ghost-disabled: inherit !important;
--button-text-color-ghost-selected: var(
--button-text-color-ghost-active
) !important;
--button-text-color-primary-hover: var(
--button-text-color-primary
) !important;
--button-text-color-primary-active: var(
--button-text-color-primary-hover
) !important;
--button-text-color-primary-disabled: var(
--button-text-color-primary
) !important;
--button-text-color-primary-selected: var(
--button-text-color-primary-active
) !important;
--button-text-color-selected: var(--button-text-color-active) !important;
/** Checkbox **/
--checkbox-margin-inline: var(--space-small) !important;
--checkbox-size: var(--size-item-small) !important;
/** Focus Outline **/
--focus-outline: var(--focus-outline-width) solid var(--focus-outline-color) !important;
--focus-outline-color: var(--accent) !important;
--focus-outline-inset: calc(-1 * var(--focus-outline-width)) !important;
--focus-outline-offset: 2px !important;
--focus-outline-width: 2px !important;
/** Font Weight **/
--font-weight: normal !important;
--font-weight-bold: 700 !important;
--font-weight-semibold: 600 !important;
/** Heading **/
--heading-font-size-medium: var(--font-size-large) !important;
--heading-font-size-large: var(--font-size-xlarge) !important;
--heading-font-size-xlarge: var(--font-size-xxlarge) !important;
--heading-font-weight: var(--font-weight-semibold) !important;
/** Icon **/
--icon-color: var(--subtext1) !important;
--icon-color-critical: var(--red) !important;
--icon-color-information: var(--sky) !important;
--icon-color-success: var(--green) !important;
--icon-color-warning: var(--yellow) !important;
--icon-size: var(--icon-size-small) !important;
--icon-size-xsmall: var(--size-item-xsmall) !important;
--icon-size-small: var(--size-item-small) !important;
--icon-size-medium: 20px !important;
--icon-size-large: var(--size-item-medium) !important;
--icon-size-xlarge: var(--size-item-large) !important;
/** Input - Text **/
--input-text-min-height: var(--button-min-height) !important;
/** Link **/
--link-focus-outline-offset: 1px !important;
/** Outline Color **/
--outline-color-error: var(--red) !important;
/** Size **/
--size-item-xsmall: 12px !important;
--size-item-small: 16px !important;
--size-item-medium: 24px !important;
--size-item-large: 32px !important;
--size-item-xlarge: 48px !important;
/** Space **/
--space-xxsmall: calc(0.5 * var(--space-xsmall)) !important;
--space-xsmall: 0.267rem !important;
--space-small: calc(2 * var(--space-xsmall)) !important;
--space-medium: calc(3 * var(--space-xsmall)) !important;
--space-large: calc(4 * var(--space-xsmall)) !important;
--space-xlarge: calc(6 * var(--space-xsmall)) !important;
--space-xxlarge: calc(8 * var(--space-xsmall)) !important;
/** Text **/
--text-color-disabled: color-mix(
in srgb,
currentColor 40%,
transparent
) !important;
--text-color-deemphasized: color-mix(
in srgb,
currentColor 69%,
transparent
) !important;
--text-color-error: var(--red) !important;
}
}
@layer tokens-prefers-contrast {
@media (prefers-contrast) {
:root,
:host(.anonymous-content-host) {
/** Attention Dot **/
--attention-dot-color: var(--accent) !important;
/** Background Color **/
--background-color-box: var(--base) !important;
--background-color-box-info: var(--base) !important;
--background-color-canvas: var(--base) !important;
--background-color-critical: var(--base) !important;
--background-color-information: var(--base) !important;
--background-color-success: var(--base) !important;
--background-color-warning: var(--base) !important;
/** Border **/
--border-color: var(--text) !important;
--border-color-card: color-mix(
in srgb,
currentColor 41%,
transparent
) !important;
--border-color-deemphasized: currentColor !important;
--border-color-interactive: var(--text) !important;
--border-color-transparent: var(--text) !important;
/** Button **/
--button-border-color: var(--button-text-color) !important;
--button-text-color-ghost-hover: var(
--button-text-color-hover
) !important;
--button-text-color-ghost-active: var(
--button-text-color-active
) !important;
/** Icon **/
--icon-color: var(--text) !important;
--icon-color-critical: var(--icon-color) !important;
--icon-color-information: var(--icon-color) !important;
--icon-color-success: var(--icon-color) !important;
--icon-color-warning: var(--icon-color) !important;
/** Outline Color **/
--outline-color-error: var(--border-color) !important;
/** Text **/
--text-color: var(--text) !important;
--text-color-deemphasized: inherit !important;
--text-color-error: inherit !important;
}
}
}
@layer tokens-forced-colors {
@media (forced-colors) {
:root,
:host(.anonymous-content-host) {
/** Background Color **/
--table-row-background-color-alternate: var(--base) !important;
/** Border **/
--border-color-card: var(--text) !important;
--border-color-deemphasized: var(--text) !important;
--border-color-interactive: var(--text) !important;
--border-color-interactive-hover: var(--accent) !important;
--border-color-interactive-active: var(--text) !important;
--border-color-interactive-disabled: var(--subtext0) !important;
--border-color-selected: var(--accent) !important;
/** Button **/
--button-background-color: var(--surface0) !important;
--button-background-color-hover: var(--crust) !important;
--button-background-color-active: var(--crust) !important;
--button-background-color-disabled: var(--surface0) !important;
--button-background-color-destructive: var(
--button-background-color-primary
) !important;
--button-background-color-destructive-hover: var(
--button-background-color-primary-hover
) !important;
--button-background-color-destructive-active: var(
--button-background-color-primary-active
) !important;
--button-background-color-destructive-disabled: var(
--button-background-color-primary-disabled
) !important;
--button-background-color-primary-disabled: var(
--button-text-color-disabled
) !important;
--button-border-color: var(--border-color-interactive) !important;
--button-border-color-hover: var(
--border-color-interactive-hover
) !important;
--button-border-color-active: var(
--border-color-interactive-active
) !important;
--button-border-color-disabled: var(
--border-color-interactive-disabled
) !important;
--button-border-color-destructive: var(
--button-border-color-primary
) !important;
--button-border-color-destructive-hover: var(
--button-border-color-primary-hover
) !important;
--button-border-color-destructive-active: var(
--button-border-color-primary-active
) !important;
--button-border-color-destructive-disabled: var(
--button-border-color-primary-disabled
) !important;
--button-border-color-primary: var(--surface0) !important;
--button-border-color-primary-hover: var(--crust) !important;
--button-border-color-primary-active: var(--text) !important;
--button-opacity-disabled: 1 !important;
--button-text-color: var(--text) !important;
--button-text-color-hover: var(--accent) !important;
--button-text-color-active: var(--accent) !important;
--button-text-color-disabled: var(--subtext0) !important;
--button-text-color-destructive: var(
--button-text-color-primary
) !important;
--button-text-color-destructive-hover: var(
--button-text-color-primary-hover
) !important;
--button-text-color-destructive-active: var(
--button-text-color-primary-active
) !important;
--button-text-color-destructive-disabled: var(
--button-text-color-primary-disabled
) !important;
--button-text-color-ghost-hover: var(
--button-text-color-hover
) !important;
--button-text-color-ghost-active: var(
--button-text-color-active
) !important;
--button-text-color-primary: var(--surface0) !important;
--button-text-color-primary-hover: var(--crust) !important;
/** Color **/
--color-accent-primary: var(--text) !important;
--color-accent-primary-hover: var(--accent) !important;
--color-accent-primary-active: var(
--color-accent-primary-hover
) !important;
--color-accent-primary-selected: var(--accent) !important;
/** Focus Outline **/
--focus-outline-color: var(--text) !important;
/** Link **/
--link-color: var(--blue) !important;
--link-color-hover: var(--blue) !important;
--link-color-active: var(--red) !important;
--link-color-visited: var(--link-color) !important;
/** Text **/
--text-color-disabled: var(--subtext0) !important;
--text-color-accent-primary-selected: var(--crust) !important;
}
}
}

View file

@ -0,0 +1,396 @@
@import "../colors.css";
/* ========================================================================
global variables
======================================================================== */
:root {
--border-color-card: 1px solid var(--surface0) !important;
--urlbar-container-border-width: 1px !important;
--urlbar-container-border-color: var(--surface0) !important;
/* arrow panels */
--arrowpanel-background: var(--surface0) !important;
--arrowpanel-border-color: var(--surface1) !important;
--arrowpanel-color: var(--text) !important;
--arrowpanel-dimmed-even-further: var(--overlay0) !important;
--arrowpanel-dimmed-further: var(--subtext1) !important;
--arrowpanel-dimmed: var(--subtext0) !important;
--default-arrowpanel-background: var(--surface0) !important;
--default-arrowpanel-border-color: var(--surface1) !important;
--default-arrowpanel-color: var(--text) !important;
/* autocomplete & popups */
--autocomplete-popup-background: var(--mantle) !important;
--autocomplete-popup-color: var(--text) !important;
--autocomplete-popup-highlight-background: var(--surface1) !important;
--autocomplete-popup-highlight-color: var(--text) !important;
--urlbar-popup-action-color: var(--accent) !important;
--urlbar-popup-url-color: var(--blue) !important;
--urlbar-separator-color: var(--surface0) !important;
/* buttons (global) */
--backbutton-active-background: var(--surface1) !important;
--backbutton-background: transparent !important;
--backbutton-border-color: transparent !important;
--backbutton-hover-background: var(--surface0) !important;
--cfr-active-color: var(--accent) !important;
--cfr-button-addons-icon: var(--text) !important;
--cfr-button-features-icon: var(--text) !important;
/* color palette (blue) */
--blue-40-a10: color-mix(in srgb, var(--blue), transparent 90%) !important;
--blue-40: var(--blue) !important;
--blue-50-a30: color-mix(in srgb, var(--blue), transparent 70%) !important;
--blue-50: var(--blue) !important;
--blue-60: var(--sapphire) !important;
--blue-70: var(--sky) !important;
--blue-80: var(--teal) !important;
/* color palette (green) */
--green-50: var(--green) !important;
--green-60: var(--green) !important;
--green-70: var(--teal) !important;
--green-80: var(--teal) !important;
--green-90: var(--teal) !important;
/* color palette (grey/overlay) */
--grey-20: var(--subtext1) !important;
--grey-30: var(--subtext0) !important;
--grey-40: var(--overlay2) !important;
--grey-60: var(--overlay0) !important;
--grey-70: var(--overlay2) !important;
--grey-80: var(--overlay2) !important;
--grey-90-a10: color-mix(
in srgb,
var(--surface1),
transparent 90%
) !important;
--grey-90-a20: color-mix(
in srgb,
var(--surface1),
transparent 80%
) !important;
--grey-90-a30: color-mix(
in srgb,
var(--surface1),
transparent 70%
) !important;
--grey-90-a50: color-mix(
in srgb,
var(--surface1),
transparent 50%
) !important;
--grey-90-a60: color-mix(
in srgb,
var(--surface1),
transparent 40%
) !important;
--grey-90: var(--surface1) !important;
/* color palette (misc) */
--orange-50: var(--peach) !important;
--purple-70: var(--mauve) !important;
/* color palette (red) */
--red-50-a30: color-mix(in srgb, var(--red), transparent 70%) !important;
--red-50: var(--red) !important;
--red-60: var(--maroon) !important;
--red-70: var(--maroon) !important;
--red-80: var(--maroon) !important;
--red-90: var(--maroon) !important;
/* color palette (yellow) */
--yellow-10: var(--yellow) !important;
--yellow-50: var(--yellow) !important;
--yellow-60-a30: color-mix(
in srgb,
var(--yellow),
transparent 70%
) !important;
--yellow-60: var(--yellow) !important;
--yellow-70: var(--peach) !important;
--yellow-80: var(--peach) !important;
--yellow-90: var(--peach) !important;
/* context menus */
--menu-background-color: var(--base) !important;
--menu-border-color: var(--surface1) !important;
--menu-color: var(--text) !important;
--menu-disabled-color: var(--overlay0) !important;
--menu-icon-opacity: 1 !important;
--menuitem-disabled-hover-background-color: transparent !important;
--menuitem-hover-background-color: var(--surface1) !important;
--panel-disabled-color: var(--overlay0) !important;
--panel-separator-color: var(--surface0) !important;
/* in-content ui (cards & boxes) */
--card-outline-color: var(--surface1) !important;
--card-shadow-focus: 0 0 0 2px var(--accent) !important;
--card-shadow-hover: 0 4px 8px
color-mix(in srgb, var(--crust), transparent 80%) !important;
--card-shadow: 0 1px 4px color-mix(in srgb, var(--crust), transparent 90%) !important;
--in-content-box-background-active: var(--surface1) !important;
--in-content-box-background-hover: var(--surface1) !important;
--in-content-box-background-odd: var(--mantle) !important;
--in-content-box-background: var(--surface0) !important;
--in-content-box-border-color: var(--surface1) !important;
--in-content-box-info-background: var(--surface0) !important;
/* in-content ui (colors & text) */
--in-content-deemphasized-text: var(--subtext0) !important;
--in-content-link-color-active: var(--sky) !important;
--in-content-link-color-hover: var(--sapphire) !important;
--in-content-link-color-visited: var(--lavender) !important;
--in-content-link-color: var(--blue) !important;
--in-content-page-background: var(--base) !important;
--in-content-page-color: var(--text) !important;
--in-content-selected-text: var(--surface2) !important;
--in-content-text-color: var(--text) !important;
/* in-content ui (forms & buttons) */
--in-content-border-active-shadow: 0 0 0 2px var(--accent) !important;
--in-content-border-active: var(--accent) !important;
--in-content-border-color: var(--surface1) !important;
--in-content-border-focus: var(--accent) !important;
--in-content-border-highlight: var(--blue) !important;
--in-content-border-hover: var(--surface2) !important;
--in-content-border-invalid-shadow: 0 0 0 2px var(--red) !important;
--in-content-border-invalid: var(--red) !important;
--in-content-button-background-active: var(--surface1) !important;
--in-content-button-background-hover: var(--surface2) !important;
--in-content-button-background: var(--surface0) !important;
--in-content-category-background-active: var(--surface1) !important;
--in-content-category-background-hover: var(--surface0) !important;
--in-content-category-background-selected-active: var(--surface2) !important;
--in-content-category-background-selected-hover: var(--surface1) !important;
--in-content-category-outline-focus: var(--accent) !important;
--in-content-category-text-selected-active: var(--accent) !important;
--in-content-category-text-selected: var(--accent) !important;
--in-content-item-hover: var(--surface0) !important;
--in-content-item-selected: var(--surface1) !important;
--in-content-primary-button-background-active: var(--maroon) !important;
--in-content-primary-button-background-hover: var(--peach) !important;
--in-content-primary-button-background: var(--accent) !important;
/* in-content ui (misc) */
--chrome-content-separator-color: var(--surface0) !important;
--in-content-dialog-header-background: var(--mantle) !important;
--in-content-tab-color: var(--subtext0) !important;
--in-content-table-background: var(--mantle) !important;
--in-content-table-border-dark-color: var(--surface1) !important;
--in-content-table-header-background: var(--surface0) !important;
--in-content-warning-container: var(--red) !important;
--shadow-10: 0 1px 2px color-mix(in srgb, var(--crust), transparent 90%) !important;
--shadow-30: 0 4px 8px color-mix(in srgb, var(--crust), transparent 80%) !important;
/* lightweight theme (lwt) */
--lwt-accent-color: var(--accent) !important;
--lwt-sidebar-background-color: var(--mantle) !important;
--lwt-sidebar-text-color: var(--text) !important;
--lwt-text-color: var(--text) !important;
--lwt-toolbar-field-background-color: var(--crust) !important;
--lwt-toolbar-field-border-color: var(--surface0) !important;
--lwt-toolbar-field-color: var(--text) !important;
--lwt-toolbar-field-focus-color: var(--text) !important;
--lwt-toolbar-field-focus: var(--accent) !important;
--lwt-toolbarbutton-icon-fill: var(--text) !important;
/* navigator tabs */
--tab-line-color: var(--accent) !important;
--tab-loading-fill: var(--accent) !important;
--tabs-border-color: var(--surface0) !important;
/* new tab page */
--newtab-background-color: var(--base) !important;
--newtab-border-primary-color: var(--surface1) !important;
--newtab-border-secondary-color: var(--surface0) !important;
--newtab-button-primary-color: var(--accent) !important;
--newtab-button-secondary-color: var(--surface0) !important;
--newtab-card-active-outline-color: var(--accent) !important;
--newtab-card-background-color: var(--surface0) !important;
--newtab-card-hairline-color: var(--surface1) !important;
--newtab-card-placeholder-color: var(--surface1) !important;
--newtab-card-shadow: 0 1px 4px
color-mix(in srgb, var(--crust), transparent 80%) !important;
--newtab-contextmenu-background-color: var(--surface0) !important;
--newtab-contextmenu-button-color: var(--text) !important;
--newtab-element-active-color: var(--surface1) !important;
--newtab-element-hover-color: var(--surface0) !important;
--newtab-feed-button-background-faded: var(--surface1) !important;
--newtab-feed-button-background: var(--surface0) !important;
--newtab-feed-button-spinner: var(--text) !important;
--newtab-feed-button-text-faded: var(--subtext0) !important;
--newtab-feed-button-text: var(--text) !important;
--newtab-icon-primary-color: var(--text) !important;
--newtab-icon-secondary-color: var(--subtext0) !important;
--newtab-icon-tertiary-color: var(--overlay0) !important;
--newtab-inner-box-shadow-color: color-mix(
in srgb,
var(--crust),
transparent 80%
) !important;
--newtab-link-primary-color: var(--blue) !important;
--newtab-link-secondary-color: var(--sapphire) !important;
--newtab-modal-color: var(--base) !important;
--newtab-overlay-color: color-mix(
in srgb,
var(--crust),
transparent 40%
) !important;
--newtab-search-border-color: var(--surface0) !important;
--newtab-search-dropdown-color: var(--mantle) !important;
--newtab-search-dropdown-header-color: var(--subtext1) !important;
--newtab-search-header-background-color: var(--base) !important;
--newtab-search-icon-color: var(--text) !important;
--newtab-search-icon: var(--text) !important;
--newtab-search-wordmark-color: var(--text) !important;
--newtab-section-active-contextmenu-color: var(--text) !important;
--newtab-section-header-text-color: var(--text) !important;
--newtab-section-navigation-text-color: var(--subtext0) !important;
--newtab-snippets-background-color: var(--surface0) !important;
--newtab-snippets-hairline-color: var(--surface1) !important;
--newtab-text-conditional-color: var(--red) !important;
--newtab-text-primary-color: var(--text) !important;
--newtab-text-secondary-color: var(--subtext0) !important;
--newtab-textbox-background-color: var(--crust) !important;
--newtab-textbox-border: var(--surface0) !important;
--newtab-textbox-focus-boxshadow: 0 0 0 2px var(--accent) !important;
--newtab-textbox-focus-color: var(--accent) !important;
--newtab-topsites-background-color: var(--base) !important;
--newtab-topsites-icon-shadow: none !important;
--newtab-topsites-label-color: var(--text) !important;
--trailhead-card-button-background-active-color: var(--accent) !important;
--trailhead-card-button-background-color: var(--surface1) !important;
--trailhead-card-button-background-hover-color: var(--surface2) !important;
--trailhead-cards-background-color: var(--surface0) !important;
--trailhead-header-text-color: var(--text) !important;
/* notifications */
--short-notification-background: var(--surface0) !important;
--short-notification-gradient: linear-gradient(
var(--surface0),
var(--surface0)
) !important;
/* sidebar */
--sidebar-background-color: var(--mantle) !important;
--sidebar-border-color: var(--surface0) !important;
--sidebar-text-color: var(--text) !important;
/* toolbar & urlbar */
--toolbar-bgcolor: var(--mantle) !important;
--toolbar-color: var(--text) !important;
--toolbar-field-focus-border-color: var(--accent) !important;
--toolbar-non-lwt-bgcolor: var(--mantle) !important;
--toolbar-non-lwt-textcolor: var(--text) !important;
--toolbarbutton-active-background: var(--surface1) !important;
--toolbarbutton-focus-outline: var(--accent) !important;
--toolbarbutton-hover-background: var(--surface0) !important;
--toolbarbutton-icon-fill-attention: var(--blue) !important;
}
/* ========================================================================
global component styles
======================================================================== */
#sidebar-main > *[expanded] {
background-color: var(--mantle) !important;
}
*,
:root {
accent-color: var(--accent) !important;
}
#TabsToolbar {
background-color: var(--mantle) !important;
}
#sidebar-launcher-splitter:hover {
background-color: var(--accent) !important;
}
[_moz-menuactive="true"] {
background-color: var(--accent) !important;
color: var(--mantle) !important;
}
menupopup {
--panel-background: var(--base) !important;
--panel-border-color: var(--surface1) !important;
--panel-text: var(--text) !important;
}
menuseparator {
border-color: var(--surface1) !important;
}
/* ========================================================================
overrides & media queries
======================================================================== */
@media {
#PersonalToolbar,
#nav-bar {
background-color: var(--mantle) !important;
}
:root {
/* browser tabs */
.tab-background[multiselected] {
--focus-outline-color: var(--surface0);
}
.tab-background[selected]:not([multiselected]) {
outline: 1px solid var(--surface0);
outline-offset: -1px;
}
.tabbrowser-tab[selected="true"] .tab-background {
border: 1px solid var(--surface0) !important;
}
#tabbrowser-tabs {
--tab-loading-fill: var(--text) !important;
}
/* general variable overrides */
--arrowpanel-background: var(--surface0) !important;
--arrowpanel-border-color: var(--surface0) !important;
--arrowpanel-color: var(--text) !important;
--chrome-content-separator-color: var(--surface0) !important;
--input-bgcolor: var(--crust) !important;
--input-border-color: var(--mantle) !important;
--input-color: var(--text) !important;
--tab-selected-bgcolor: var(--base) !important;
--tab-selected-textcolor: var(--text) !important;
--toolbar-bgcolor: var(--mantle) !important;
--toolbar-field-background-color: var(--input-bgcolor) !important;
--toolbar-field-border-color: var(--input-border-color) !important;
--toolbar-field-color: var(--input-color) !important;
--toolbar-field-focus-background-color: var(--base) !important;
--toolbar-field-focus-border-color: var(--surface0) !important;
--toolbarseparator-color: var(--text) !important;
--toolbox-non-lwt-bgcolor: var(--crust) !important;
--toolbox-non-lwt-textcolor: var(--text) !important;
/* inputs & selection */
#urlbar-input:focus::selection,
.searchbar-textbox:focus::selection {
background-color: var(--text);
color: var(--surface0);
}
/* toolbar buttons */
--toolbarbutton-active-background: var(--overlay0) !important;
--toolbarbutton-icon-fill: var(--text) !important;
--toolbarbutton-icon-fill-attention: var(--text) !important;
/* urlbar */
--urlbarView-highlight-background: var(--overlay0) !important;
--urlbarView-highlight-color: var(--text) !important;
&:where([tabsintitlebar]) {
--toolbox-non-lwt-bgcolor-inactive: var(--crust) !important;
}
}
}

View file

@ -0,0 +1,3 @@
@import "./colors.css";
@import "./theme/theme.css";
@import "./theme/hide.css";

48
home/sckova/apps/mpv.nix Normal file
View file

@ -0,0 +1,48 @@
{
config,
pkgs,
lib,
...
}:
{
programs.mpv = {
enable = true;
package = pkgs.mpv;
bindings = { };
config = with config.scheme.withHashtag; {
background-color = "#000000";
osd-back-color = base11;
osd-border-color = base11;
osd-color = base05;
osd-shadow-color = base00;
sub-font = config.userOptions.fontSans.name;
osd-font = config.userOptions.fontSans.name;
};
scripts = with pkgs.mpvScripts; [
uosc
mpv-subtitle-lines # requires uosc
mpris
autosub
youtube-upnext
youtube-chat
mpv-notify-send
];
scriptOpts = {
uosc = {
color =
with config.scheme;
lib.concatStringsSep "," (
lib.mapAttrsToList (key: value: "${key}=${value}") {
foreground = config.scheme.${config.colors.accent};
foreground_text = base01;
background = base00;
background_text = base05;
curtain = base10;
success = base0B;
error = base08;
}
);
};
};
};
}

View file

@ -0,0 +1,350 @@
{
autoUpdate = true;
autoUpdateNotification = true;
useQuickCss = true;
themeLinks = [ ];
eagerPatches = false;
enabledThemes = [ "base16.css" ];
enableReactDevtools = false;
frameless = false;
transparent = true;
winCtrlQ = false;
disableMinSize = true;
winNativeTitleBar = false;
plugins = {
BadgeAPI.enabled = true;
CommandsAPI.enabled = true;
ContextMenuAPI.enabled = true;
MemberListDecoratorsAPI.enabled = false;
MessageAccessoriesAPI.enabled = true;
MessageDecorationsAPI.enabled = false;
MessageEventsAPI.enabled = true;
MessagePopoverAPI.enabled = true;
NoticesAPI.enabled = true;
ServerListAPI.enabled = false;
SettingsStoreAPI.enabled = false;
NoTrack = {
enabled = true;
disableAnalytics = true;
};
Settings = {
enabled = true;
settingsLocation = "aboveActivity";
};
SupportHelper.enabled = true;
AlwaysAnimate.enabled = false;
AlwaysTrust = {
enabled = true;
domain = true;
file = true;
};
AnonymiseFileNames = {
enabled = false;
method = 0;
randomisedLength = 7;
anonymiseByDefault = true;
};
"WebRichPresence (arRPC)".enabled = false;
BANger = {
enabled = false;
source = "https://i.imgur.com/wp5q52C.mp4";
};
BetterFolders = {
enabled = false;
sidebar = true;
showFolderIcon = 1;
closeAllHomeButton = false;
keepIcons = false;
sidebarAnim = true;
closeAllFolders = false;
forceOpen = false;
closeOthers = false;
};
BetterGifAltText.enabled = false;
BetterNotesBox = {
enabled = false;
hide = false;
noSpellCheck = false;
};
BetterRoleDot = {
enabled = false;
bothStyles = false;
copyRoleColorInProfilePopout = false;
};
BetterUploadButton.enabled = false;
BiggerStreamPreview.enabled = true;
BlurNSFW = {
enabled = false;
blurAmount = 10;
};
CallTimer = {
enabled = true;
format = "stopwatch";
};
ClearURLs.enabled = true;
ClientTheme = {
enabled = false;
color = "31363b";
};
ColorSighted.enabled = false;
ConsoleShortcuts.enabled = false;
CopyUserURLs.enabled = false;
CrashHandler.enabled = true;
CustomRPC.enabled = false;
Dearrow = {
enabled = false;
hideButton = false;
replaceElements = 0;
dearrowByDefault = true;
};
Experiments = {
enabled = true;
toolbarDevMenu = false;
};
F8Break.enabled = false;
FakeNitro = {
enabled = true;
enableEmojiBypass = true;
enableStickerBypass = true;
enableStreamQualityBypass = true;
transformStickers = true;
transformEmojis = true;
transformCompoundSentence = false;
emojiSize = 48;
stickerSize = 160;
useHyperLinks = true;
hyperLinkText = "{{NAME}}";
disableEmbedPermissionCheck = false;
};
FakeProfileThemes.enabled = false;
FavoriteEmojiFirst.enabled = false;
FavoriteGifSearch.enabled = false;
FixImagesQuality.enabled = false;
ForceOwnerCrown.enabled = false;
FriendInvites.enabled = false;
GameActivityToggle.enabled = false;
GifPaste.enabled = false;
GreetStickerPicker = {
enabled = true;
greetMode = "Greet";
};
iLoveSpam.enabled = false;
IgnoreActivities.enabled = false;
ImageZoom.enabled = false;
KeepCurrentChannel.enabled = false;
LastFMRichPresence.enabled = false;
LoadingQuotes.enabled = false;
MemberCount.enabled = false;
MessageClickActions.enabled = false;
MessageLinkEmbeds.enabled = false;
MessageLogger = {
enabled = true;
deleteStyle = "text";
ignoreBots = false;
ignoreSelf = false;
ignoreUsers = "";
ignoreChannels = "";
ignoreGuilds = "";
logEdits = true;
logDeletes = true;
collapseDeleted = false;
inlineEdits = true;
};
MessageTags.enabled = false;
MoreCommands.enabled = false;
MoreKaomoji.enabled = false;
MoreUserTags.enabled = false;
Moyai.enabled = false;
MutualGroupDMs.enabled = false;
NoBlockedMessages.enabled = false;
NoDevtoolsWarning.enabled = false;
NoF1.enabled = false;
NoMosaic.enabled = false;
NoPendingCount = {
enabled = true;
hideFriendRequestsCount = true;
hideMessageRequestsCount = true;
hidePremiumOffersCount = true;
};
NoProfileThemes.enabled = true;
NoReplyMention.enabled = false;
NoScreensharePreview.enabled = false;
NoTypingAnimation.enabled = false;
NoUnblockToJump.enabled = false;
NormalizeMessageLinks.enabled = false;
NSFWGateBypass.enabled = false;
OnePingPerDM.enabled = false;
oneko.enabled = false;
OpenInApp.enabled = false;
PermissionFreeWill.enabled = false;
PermissionsViewer.enabled = false;
petpet.enabled = false;
PictureInPicture.enabled = true;
PinDMs.enabled = false;
PlainFolderIcon.enabled = false;
PlatformIndicators.enabled = false;
PreviewMessage.enabled = false;
QuickMention.enabled = false;
QuickReply.enabled = false;
ReactErrorDecoder.enabled = false;
ReadAllNotificationsButton.enabled = false;
RelationshipNotifier.enabled = false;
RevealAllSpoilers.enabled = false;
ReverseImageSearch.enabled = false;
RoleColorEverywhere.enabled = false;
SecretRingToneEnabler.enabled = false;
SendTimestamps.enabled = false;
ServerListIndicators.enabled = false;
ShowAllMessageButtons.enabled = false;
ShowConnections.enabled = false;
ShowHiddenChannels = {
enabled = true;
showMode = 1;
hideUnreads = true;
defaultAllowedUsersAndRolesDropdownState = true;
};
ShowMeYourName.enabled = false;
SilentMessageToggle.enabled = false;
SilentTyping.enabled = false;
SortFriendRequests.enabled = false;
SpotifyControls.enabled = false;
SpotifyCrack.enabled = false;
SpotifyShareCommands.enabled = false;
StartupTimings.enabled = true;
SuperReactionTweaks.enabled = false;
TextReplace.enabled = false;
ThemeAttributes.enabled = false;
TimeBarAllActivities.enabled = false;
Translate.enabled = false;
TypingIndicator.enabled = false;
TypingTweaks.enabled = false;
Unindent.enabled = false;
UnsuppressEmbeds.enabled = false;
UrbanDictionary.enabled = false;
UserVoiceShow.enabled = false;
USRBG = {
enabled = false;
voiceBackground = true;
nitroFirst = true;
};
ValidUser.enabled = false;
VoiceChatDoubleClick.enabled = true;
VcNarrator.enabled = false;
ViewIcons.enabled = false;
ViewRaw = {
enabled = true;
clickMethod = "Left";
};
VoiceMessages = {
enabled = false;
noiseSuppression = true;
echoCancellation = true;
};
WebContextMenus = {
enabled = false;
addBack = true;
};
WebKeybinds.enabled = true;
WhoReacted.enabled = true;
Wikisearch.enabled = true;
Decor.enabled = false;
NotificationVolume.enabled = false;
FixSpotifyEmbeds.enabled = false;
InvisibleChat.enabled = false;
ShikiCodeblocks.enabled = false;
XSOverlay.enabled = false;
BetterGifPicker.enabled = false;
FixCodeblockGap.enabled = false;
ReviewDB = {
enabled = true;
notifyReviews = true;
showWarning = true;
hideTimestamps = false;
hideBlockedUsers = true;
};
FixYoutubeEmbeds.enabled = false;
ChatInputButtonAPI.enabled = false;
DisableCallIdle.enabled = false;
NewGuildSettings.enabled = false;
BetterRoleContext.enabled = false;
FriendsSince.enabled = false;
ResurrectHome.enabled = false;
BetterSettings.enabled = false;
OverrideForumDefaults.enabled = false;
UnlockedAvatarZoom.enabled = false;
ShowHiddenThings.enabled = false;
BetterSessions.enabled = false;
ImplicitRelationships.enabled = false;
StreamerModeOnStream.enabled = false;
ImageLink.enabled = false;
MessageLatency.enabled = false;
PauseInvitesForever.enabled = false;
ReplyTimestamp.enabled = false;
VoiceDownload.enabled = true;
WebScreenShareFixes.enabled = true;
PartyMode.enabled = false;
AutomodContext.enabled = false;
CtrlEnterSend.enabled = false;
CustomIdle.enabled = false;
NoDefaultHangStatus.enabled = false;
NoServerEmojis.enabled = false;
ReplaceGoogleSearch.enabled = false;
ShowTimeoutDuration.enabled = false;
ValidReply.enabled = false;
DontRoundMyTimestamps.enabled = false;
MaskedLinkPaste.enabled = false;
Summaries.enabled = false;
ServerInfo.enabled = false;
YoutubeAdblock.enabled = false;
MessageUpdaterAPI.enabled = true;
UserSettingsAPI.enabled = true;
AppleMusicRichPresence.enabled = false;
ConsoleJanitor.enabled = false;
CopyEmojiMarkdown.enabled = false;
MentionAvatars.enabled = false;
NoOnboardingDelay.enabled = false;
SuncordToolbox.enabled = true;
AlwaysExpandRoles.enabled = false;
NoMaskedUrlPaste.enabled = false;
VencordToolbox.enabled = false;
AccountPanelServerProfile.enabled = false;
CopyFileContents.enabled = false;
StickerPaste.enabled = false;
VolumeBooster.enabled = false;
FullSearchContext.enabled = false;
UserMessagesPronouns = {
enabled = false;
showInMessages = true;
showSelf = true;
pronounSource = 0;
showInProfile = true;
pronounsFormat = "LOWERCASE";
};
DynamicImageModalAPI.enabled = false;
FullUserInChatbox.enabled = false;
HideMedia.enabled = false;
IrcColors.enabled = false;
DisableDeepLinks.enabled = true;
ExpressionCloner.enabled = true;
CopyStickerLinks.enabled = false;
ImageFilename.enabled = false;
};
uiElements = {
chatBarButtons = { };
messagePopoverButtons = { };
};
notifications = {
timeout = 5000;
position = "bottom-right";
useNative = "not-focused";
logLimit = 50;
};
cloud = {
authenticated = false;
url = "https://api.vencord.dev/";
settingsSync = false;
settingsSyncVersion = 1765984819568;
};
notifyAboutUpdates = false;
macosTranslucency = false;
}

View file

@ -0,0 +1,54 @@
{
config,
pkgs,
lib,
...
}:
let
capitalize =
str:
(lib.toUpper (builtins.substring 0 1 str)) + (builtins.substring 1 (builtins.stringLength str) str);
in
{
# home.sessionVariables = {
# EDITOR = "code";
# };
catppuccin.vscode.profiles.default = {
enable = true;
settings = {
workbenchMode = "minimal";
};
};
programs.vscode = {
enable = true;
profiles.default = {
enableExtensionUpdateCheck = true;
enableMcpIntegration = true;
enableUpdateCheck = true;
# https://search.nixos.org/packages?query=vscode-extensions
extensions = with pkgs.vscode-extensions; [
yzhang.markdown-all-in-one
jnoortheen.nix-ide
esbenp.prettier-vscode
];
userSettings = {
"window.menuBarVisibility" = "compact";
"workbench.navigationControl.enabled" = false;
"window.commandCenter" = false;
"workbench.layoutControl.enabled" = false;
"window.titleBarStyle" = "native";
"editor.minimap.enabled" = false;
"editor.semanticHighlighting.enabled" = true;
# Disable AI "features"
## Chat features
"chat.agent.enabled" = false;
"chat.commandCenter.enabled" = false;
"inlineChat.accessibleDiffView" = "off";
"terminal.integrated.initialHint" = false;
};
};
};
}