fully refactored stolen config :D

This commit is contained in:
vali 2024-04-10 17:39:26 +02:00
commit f768ea6596
39 changed files with 1603 additions and 206 deletions

View file

@ -0,0 +1,39 @@
{
config,
lib,
...
}: with lib; let
cfg = config.myOptions.themes.cursor;
username = config.myOptions.other.system.username;
in {
options.myOptions.themes.cursor = {
enable = mkEnableOption "cursor theming";
package = mkOption {
description = "cursor theme package";
type = types.package;
};
name = mkOption {
description = "cursor theme name";
type = types.str;
};
size = mkOption {
description = "cursor size";
type = types.int;
};
};
config = mkIf cfg.enable {
environment.sessionVariables = {
XCURSOR_THEME = "${cfg.name}";
XCURSOR_SIZE = "${toString cfg.size}";
};
home-manager.users.${username} = {
home.pointerCursor = {
inherit (cfg) package name size;
gtk.enable = true;
x11.enable = true;
};
};
};
}

View file

@ -0,0 +1,373 @@
{
config,
lib,
pkgs,
...
}: with lib; let
cfg = config.myOptions.programs.vesktop;
username = config.myOptions.other.system.username;
in {
options.myOptions.programs.vesktop = {
enable = mkEnableOption "vesktop";
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
xdg.configFile."vesktop/settings.json".text = builtins.toJSON {
discordBranch = "ptb";
firstLaunch = false;
arRPC = "on";
splashColor = "rgb(219, 222, 225)";
splashBackground = "rgb(49, 51, 56)";
checkUpdates = false;
staticTitle = true;
disableMinSize = true;
minimizeToTray = false;
tray = false;
appBadge = false;
};
xdg.configFile."vesktop/settings/settings.json".text = builtins.toJSON {
notifyAboutUpdates = false;
autoUpdate = false;
autoUpdateNotification = false;
useQuickCss = true;
themeLinks = [];
enabledThemes = ["Catppuccin.theme.css"];
enableReactDevtools = true;
frameless = false;
transparent = false;
winCtrlQ = false;
macosTranslucency = false;
disableMinSize = true;
winNativeTitleBar = false;
plugins = {
BadgeAPI.enabled = true;
CommandsAPI.enabled = true;
ContextMenuAPI.enabled = true;
MemberListDecoratorsAPI.enabled = true;
MessageAccessoriesAPI.enabled = true;
MessageDecorationsAPI.enabled = true;
MessageEventsAPI.enabled = true;
MessagePopoverAPI.enabled = true;
NoticesAPI.enabled = true;
ServerListAPI.enabled = true;
SettingsStoreAPI.enabled = true;
NoTrack.enabled = true;
Settings = {
enabled = true;
settingsLocation = "aboveActivity";
};
AlwaysAnimate.enabled = false;
AlwaysTrust.enabled = false;
AnonymiseFileNames.enabled = false;
"WebRichPresence (arRPC)".enabled = false;
BANger.enabled = false;
BetterFolders = {
enabled = true;
sidebar = true;
sidebarAnim = true;
closeAllFolders = false;
closeAllHomeButton = false;
closeOthers = false;
forceOpen = false;
keepIcons = false;
showFolderIcon = 1;
};
BetterGifAltText.enabled = false;
BetterNotesBox.enabled = false;
BetterRoleDot.enabled = false;
BetterUploadButton.enabled = true;
BiggerStreamPreview.enabled = true;
BlurNSFW.enabled = false;
CallTimer = {
enabled = true;
format = "human";
};
ClearURLs.enabled = true;
ColorSighted.enabled = true;
ConsoleShortcuts.enabled = false;
CopyUserURLs.enabled = true;
CrashHandler.enabled = true;
CustomRPC.enabled = false;
Dearrow.enabled = true;
DisableDMCallIdle.enabled = true;
EmoteCloner.enabled = false;
Experiments = {
enabled = true;
enableIsStaff = false;
};
F8Break.enabled = false;
FakeNitro = {
enabled = true;
enableEmojiBypass = true;
emojiSize = 48;
transformEmojis = true;
enableStickerBypass = true;
stickerSize = 160;
transformStickers = true;
transformCompoundSentence = false;
enableStreamQualityBypass = true;
};
FakeProfileThemes = {
enabled = true;
nitroFirst = true;
};
FavoriteEmojiFirst.enabled = true;
FavoriteGifSearch = {
enabled = true;
searchOption = "hostandpath";
};
FixImagesQuality.enabled = true;
FixSpotifyEmbed = {
enabled = true;
volume = 10;
};
ForceOwnerCrown.enabled = true;
FriendInvites.enabled = false;
GameActivityToggle.enabled = true;
GifPaste.enabled = true;
HideAttachments.enabled = true;
iLoveSpam.enabled = true;
IgnoreActivities = {
enabled = true;
ignoredActivities = [];
};
ImageZoom = {
enabled = true;
saveZoomValues = true;
invertScroll = true;
nearestNeighbour = false;
square = false;
zoom = 2;
size = 100;
zoomSpeed = 0.5;
};
InvisibleChat = {
enabled = true;
savedPasswords = "password";
};
KeepCurrentChannel.enabled = true;
LastFMRichPresence.enabled = false;
LoadingQuotes.enabled = false;
MemberCount.enabled = true;
MessageClickActions = {
enabled = true;
enableDeleteOnClick = true;
enableDoubleClickToEdit = true;
enableDoubeClickToReply = true;
requireModifier = true;
};
MessageLinkEmbeds = {
enabled = true;
automodEmbeds = "never";
listMode = "blacklist";
idList = "";
};
MessageLogger = {
enabled = true;
deleteStyle = "text";
ignoreBots = false;
ignoreSelf = false;
ignoreUsers = "";
ignoreChannels = "";
ignoreGuilds = "";
};
MessageTags.enabled = false;
MoreCommands.enabled = true;
MoreKaomoji.enabled = true;
MoreUserTags.enabled = true;
Moyai.enabled = false;
MuteNewGuild = {
enabled = true;
guild = false;
everyone = true;
role = true;
};
MutualGroupDMs.enabled = true;
NoBlockedMessages = {
enabled = false;
ignoreBlockedMessages = false;
};
NoDevtoolsWarning.enabled = false;
NoF1.enabled = false;
NoPendingCount.enabled = false;
NoProfileThemes.enabled = true;
NoReplyMention = {
enabled = true;
userList = "372809091208445953";
shouldPingListed = false;
inverseShiftReply = true;
};
NoScreensharePreview.enabled = true;
NoTypingAnimation = true;
NoUnblockToJump.enabled = true;
NSFWGateBypass.enabled = true;
oneko.enabled = false;
OpenInApp.enabled = false;
"Party mode 🎉".enabled = false;
PermissionFreeWill = {
enabled = true;
lockout = true;
onboarding = true;
};
PermissionsViewer = {
enabled = true;
permissionsSortOrder = 0;
defaultPermissionsDropdownState = false;
};
petpet.enabled = true;
PictureInPicture = {
enabled = true;
loop = false;
};
PinDMs.enabled = true;
PlainFolderIcon.enabled = false;
PlatformIndicators = {
enabled = true;
list = true;
badges = true;
messages = true;
colorMobileIndicator = true;
};
PreviewMessage.enabled = true;
PronounDB.enabled = false;
QuickMention.enabled = false;
QuickReply.enabled = false;
ReactErrorDecoder.enabled = false;
ReadAllNotificationsButton.enabled = false;
RelationshipNotifier = {
enabled = true;
notices = true;
offlineRemovals = true;
friends = true;
friendRequestCancels = true;
servers = true;
groups = true;
};
RevealAllSpoilers.enabled = true;
ReverseImageSearch.enabled = false;
ReviewDB.enabled = false;
RoleColorEverywhere = {
enabled = true;
chatMentions = true;
memberList = true;
voiceUsers = true;
};
SearchReply.enabled = true;
SendTimestamps.enabled = false;
ServerListIndicators = {
enabled = true;
mode = 3;
};
ServerProfile.enabled = true;
ShikiCodeblocks = {
enabled = true;
theme = "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json";
tryHljs = "SECONDARY";
uesDevIcon = "GREYSCALE";
bgOpacity = 100;
};
ShowAllMessageButtons.enabled = true;
ShowConnections = {
enabled = true;
iconSize = 32;
iconSpacing = 1;
};
ShowHiddenChannels = {
enabled = true;
hideUnreads = true;
showMode = 0;
defaultAllowedUsersAndRolesDropdownState = true;
};
ShowMeYourName.enabled = false;
ShowTimeouts.enabled = true;
SilentMessageToggle = {
enabled = true;
persistState = false;
autoDisable = true;
};
SilentTyping = {
enabled = true;
showIcon = false;
isEnabled = true;
};
SortFriendRequests.enabled = false;
SpotifyControls.enabled = false;
SpotifyCrack.enabled = false;
SpotifyShareCommands.enabled = false;
StartupTimings.enabled = false;
SupportHelper.enabled = true;
TextReplace.enabled = false;
TimeBarAllActivities.enabled = false;
Translate.enabled = false;
TypingIndicator = {
enabled = true;
includeMutedChannels = false;
includeBlockedUsers = true;
};
TypingTweaks = {
enabled = true;
showAvatars = true;
showRoleColors = true;
alternativeFormatting = true;
};
Unindent.enabled = true;
UnsuppressEmbeds.enabled = true;
UrbanDictionary.enabled = false;
UserVoiceShow = {
enabled = true;
showInUserProfileModal = true;
showVoiceChannelSectionHeader = true;
};
USRBG.enabled = false;
UwUifier.enabled = false;
ValidUser.enabled = false;
VoiceChatDoubleClick.enabled = true;
VcNarrator.enabled = false;
VencordToolbox.enabled = false;
ViewIcons = {
enabled = true;
format = "png";
imgSize = "2048";
};
ViewRaw = {
enabled = true;
clickMethod = "Left";
};
VoiceMessages = {
enabled = true;
noiseSuppression = true;
echoCancellation = true;
};
WebContextMenus = {
enabled = true;
addBack = true;
};
WebKeybinds.enabled = true;
GreetStickerPicker.enabled = false;
WhoReacted.enabled = true;
Wikisearch.enabled = false;
NormalizeMessageLinks.enabled = false;
"AI Noise Suppression" = {
enabled = true;
isEnabled = true;
};
SecretRingToneEnabler.enabled = false;
};
notifications = {
timeout = 5000;
position = "bottom-right";
useNative = "not-focused";
logLimit = 50;
};
cloud = {
authenticated = false;
url = "https://api.vencord.dev/";
settingsSync = false;
settingsSyncVersion = 1682768329526;
};
};
};
};
}

75
modules/vali/gui/gtk.nix Normal file
View file

@ -0,0 +1,75 @@
{
config,
lib,
...
}: with lib; let
cfg = config.myOptions.themes.gtk;
username = config.myOptions.other.system.username;
hmCfg = config.home-manager.users.${username};
in {
options.myOptions.themes.gtk = {
enable = mkEnableOption "gtk theming";
name = mkOption {
description = "gtk theme name";
type = types.str;
};
variant = mkOption {
description = "gtk theme variant";
type = types.str;
};
accentColour = mkOption {
description = "accent colour for gtk theme";
type = types.str;
};
package = mkOption {
description = "gtk theme package";
type = types.package;
};
iconTheme = mkOption {
description = "gtk icon theme";
type = with types; submodule {
options = {
name = mkOption {
description = "gtk icon theme name";
type = str;
};
package = mkOption {
description = "gtk icon theme package";
type = package;
};
};
};
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
gtk = {
enable = true;
theme = {
inherit (cfg) name;
package = cfg.package.override {
size = "standard";
accents = [ cfg.accentColour ];
inherit (cfg) variant;
tweaks = [ "normal" ];
};
};
iconTheme = {
inherit (cfg.iconTheme) name;
package = cfg.iconTheme.package.override {
accent = cfg.accentColour;
flavor = cfg.variant;
};
};
gtk2 = {
configLocation = "${hmCfg.xdg.configHome}/gtk-2.0/gtkrc";
};
};
home.sessionVariables = {
GTK_THEME = cfg.name;
GTK_USE_PORTAL = "1";
};
};
};
}

32
modules/vali/gui/mpv.nix Normal file
View file

@ -0,0 +1,32 @@
{
config,
lib,
pkgs,
...
}: with lib; let
cfg = config.myOptions.programs.mpv;
username = config.myOptions.other.system.username;
in {
options.myOptions.programs.mpv.enable = mkEnableOption "mpv";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.mpv = {
enable = true;
config = {
hwdec = "auto";
volume = 50;
osc = "no";
osd-bar = "no";
border = "no";
};
scripts = with pkgs.mpvScripts; [
mpris
thumbfast
sponsorblock
uosc
];
};
};
};
}

87
modules/vali/gui/qt.nix Normal file
View file

@ -0,0 +1,87 @@
{
config,
lib,
pkgs,
...
}: with lib; let
cfg = config.myOptions.themes.qt;
username = config.myOptions.other.system.username;
in {
options.myOptions.themes.qt = {
enable = mkEnableOption "qt theming";
name = mkOption {
description = "qt theme name";
type = types.str;
};
variant = mkOption {
description = "qt theme variant";
type = types.str;
};
accentColour = mkOption {
description = "accent colour for qt theme";
type = types.str;
};
package = mkOption {
description = "qt theme package";
type = types.package;
};
};
config = mkIf cfg.enable {
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
home-manager.users.${username} = {
# thanks raf :3 https://github.com/NotAShelf/nyx/blob/main/homes/notashelf/themes/qt.nix
qt = {
enable = true;
platformTheme = "qtct";
style = {
inherit (cfg) name;
package = cfg.package.override {
flavour = [ cfg.variant ];
accents = [ cfg.accentColour ];
};
};
};
home = {
packages = with pkgs; [
qt5.qttools
qt6Packages.qtstyleplugin-kvantum
libsForQt5.qtstyleplugin-kvantum
libsForQt5.qt5ct
breeze-icons
];
sessionVariables = {
#QT_STYLE_OVERRIDE = "kvantum";
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
QT_QPA_PLATFORM = "wayland;xcb";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
DISABLE_QT_COMPAT = "0";
};
};
# TODO somehow make this configurable IDK
xdg.configFile = {
"Kvantum/catppuccin/catppuccin.kvconfig".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.kvconfig";
sha256 = "16ry4k09nf5w1gyawwz2ny14zn6infqk40l35lqlg30lhgbdmr5f";
};
"Kvantum/catppuccin/catppuccin.svg".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.svg";
sha256 = "1djh625qag34rjsp7y67nzbi9nbmiwgq63ydfizsh65n3fyfakf1";
};
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=catppuccin
[Applications]
catppuccin=qt5ct, org.qbittorrent.qBittorrent, hyprland-share-picker
'';
};
};
};
}

View file

@ -0,0 +1,104 @@
{
config,
inputs,
lib,
...
}: with lib; let
cfg = config.myOptions.programs.schizofox;
username = config.myOptions.other.system.username;
in {
options.myOptions.programs.schizofox = {
enable = mkEnableOption "schizofox";
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
imports = [ inputs.schizofox.homeManagerModule ];
programs.schizofox = {
enable = true;
theme = {
background-darker = "181825";
background = "1e1e2e";
foreground = "cdd6f4";
font = "Lexend";
simplefox.enable = false;
darkreader.enable = true;
extraCss = ''
body {
color: red !important;
}
'';
};
search = {
defaultSearchEngine = "Startpage";
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
searxUrl = "https://search.notashelf.dev";
searxQuery = "https://search.notashelf.dev/search?q={searchTerms}";
addEngines = [
{
Name = "NixOS Packages";
Description = "NixOS Unstable package search";
Alias = "!np";
Method = "GET";
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Options";
Description = "NixOS Unstable option search";
Alias = "!no";
Method = "GET";
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Wiki";
Description = "NixOS Wiki search";
Alias = "!nw";
Method = "GET";
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
}
{
Name = "Home Manager Options";
Description = "Home Manager option search";
Alias = "!hm";
Method = "GET";
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
}
{
Name = "Arch Wiki";
Description = "Arch Wiki search";
Alias = "!aw";
Method = "GET";
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
}
{
Name = "Gentoo Wiki";
Description = "Gentoo Wiki search";
Alias = "!gw";
Method = "GET";
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
}
{
Name = "Debian Wiki";
Description = "Debian Wiki search";
Alias = "!dw";
Method = "GET";
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
}
];
};
security = {
sanitizeOnShutdown = true;
sandbox = true;
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
};
misc = {
drmFix = false;
disableWebgl = true;
};
};
};
};
}