Initial commit

This commit is contained in:
demenik
2025-12-01 18:24:34 +01:00
commit fc68fa5ce9
142 changed files with 6273 additions and 0 deletions

5
home/programs/cli/ai.nix Normal file
View File

@@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
gemini-cli
];
}

21
home/programs/cli/bat.nix Normal file
View File

@@ -0,0 +1,21 @@
{pkgs, ...}: {
programs.bat = {
enable = true;
# config.theme = "Catppuccin Mocha";
themes = {
"Catppuccin Mocha" = {
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "6810349";
sha256 = "1y5sfi7jfr97z1g6vm2mzbsw59j1jizwlmbadvmx842m0i5ak5ll";
};
file = "themes/Catppuccin Mocha.tmTheme";
};
};
};
programs.zsh.shellAliases = {
cat = "bat";
};
}

View File

@@ -0,0 +1,15 @@
{pkgs, ...}: {
programs.btop = {
enable = true;
# settings = {
# color_theme = "catppuccin-mocha";
# theme_background = false;
# };
themes = {
catppuccin-mocha = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/btop/f437574b600f1c6d932627050b15ff5153b58fa3/themes/catppuccin_mocha.theme";
sha256 = "0i263xwkkv8zgr71w13dnq6cv10bkiya7b06yqgjqa6skfmnjx2c";
};
};
};
}

View File

@@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
vscode-extensions.vadimcn.vscode-lldb
];
}

View File

@@ -0,0 +1,13 @@
{
imports = [
./zoxide.nix
./bat.nix
./eza.nix
./btop.nix
./ssh.nix
./fastfetch.nix
./jq.nix
./ai.nix
./debugging.nix
];
}

21
home/programs/cli/eza.nix Normal file
View File

@@ -0,0 +1,21 @@
{pkgs, ...}: {
programs.eza = {
enable = true;
enableZshIntegration = true;
colors = "auto";
extraOptions = [
"--classify"
"--group-directories-first"
];
theme = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/eza-community/eza-themes/17095bff4792eecd7f4f1ed8301b15000331c906/themes/catppuccin.yml";
sha256 = "0hpchiiadyxfl5rx12msww94jbj5hvqma5b2jgcvllv1b2pd1ghd";
};
};
programs.zsh.shellAliases = {
ls = "eza";
};
}

View File

@@ -0,0 +1,47 @@
{
programs.fastfetch = {
enable = true;
settings = {
display = {
separator = " = ";
};
modules = let
mkLiteral = type: key: format: {
inherit type;
key = " ${key}";
format = "${format};";
};
mkString = type: key: format: mkLiteral type key "\"${format}\"";
emptyLine = {
type = "custom";
format = "";
};
in [
{
type = "title";
format = "{host-name-colored}.users.{user-name-colored} = "; #
}
(mkString "host" "host" "{family}")
(mkString "cpu" "cpu" "{name} ({cores-physical}C/{cores-logical}T) @ {freq-max}")
(mkString "memory" "memory" "{used}/{total} ({percentage})")
(mkString "disk" "disk" "{name} ({filesystem}) {size-used}/{size-total} ({size-percentage})")
(mkString "os" "os" "{name} {release}")
(mkString "kernel" "kernel" "{sysname} {arch} {display-version}")
(mkString "localip" "ip" "{ipv4} {ifname}") # last seen
emptyLine
(mkString "wm" "wm" "{pretty-name} {version} ({protocol-name})")
(mkString "editor" "editor" "{name} {version}")
{
type = "custom";
format = "};";
}
];
};
};
}

3
home/programs/cli/jq.nix Normal file
View File

@@ -0,0 +1,3 @@
{
programs.jq.enable = true;
}

32
home/programs/cli/ssh.nix Normal file
View File

@@ -0,0 +1,32 @@
{
programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
identityFile = "~/.ssh/id_rsa";
};
"homelab" = {
hostname = "46.5.154.149";
user = "nix";
};
"hyperion" = {
hostname = "192.168.178.55";
user = "demenik";
};
"sgi-uni-ulm" = {
hostname = "login.informatik.uni-ulm.de";
user = "db56";
};
"github.com" = {
user = "git";
identitiesOnly = true;
};
"gitlab.uni-ulm.de" = {
user = "git";
identitiesOnly = true;
};
};
};
}

View File

@@ -0,0 +1,10 @@
{
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
programs.zsh.shellAliases = {
cd = "z";
};
}

44
home/programs/default.nix Normal file
View File

@@ -0,0 +1,44 @@
{
inputs,
pkgs,
...
}: {
imports = [
./cli
./firefox.nix
./qbittorrent.nix
./nmgui.nix
./overskride.nix
./rofi.nix
./emulator.nix
./vpn.nix
./spicetify.nix
./thunderbird.nix
./obsidian.nix
./office.nix
./vesktop.nix
];
home.packages = with pkgs; [
inputs.bettersoundcloud.packages.${system}.default
gimp
aseprite
nautilus
nautilus-open-any-terminal
rquickshare
flameshot
openvpn3
libreoffice
prismlauncher
];
}

View File

@@ -0,0 +1,7 @@
{
wayland.windowManager.hyprland.settings.windowrulev2 = map (rule: "${rule}, class:^(Emulator)$") [
"float"
"keepaspectratio"
"pin"
];
}

155
home/programs/firefox.nix Normal file
View File

@@ -0,0 +1,155 @@
{lib, ...}: {
home.sessionVariables."BROWSER" = "firefox";
wayland.windowManager.hyprland.settings = {
env = ["BROWSER,firefox"];
windowrulev2 =
[
"workspace 2, class:^(firefox)$"
"fullscreenstate -1 2, class:^(firefox)$"
"float, title:^(Firefox - Sharing Indicator)$"
"suppressevent maximize, class:^(firefox)$"
]
++ map (rule: "${rule}, class:^(firefox)$, title:^(Picture-in-Picture)$") [
"float"
"keepaspectratio"
"pin"
"move 100%-w-5 100%-w-5"
];
};
xdg = {
mimeApps.defaultApplications = builtins.listToAttrs (builtins.map (key: {
name = key;
value = ["firefox.desktop"];
}) [
"x-scheme-handler/http"
"x-scheme-handler/https"
"text/html"
"text/xml"
"application/pdf"
]);
};
programs.firefox = {
enable = true;
profiles.default = {
name = "Default";
settings = {
"extensions.pocket.enabled" = false;
"browser.uidensity" = 0;
"browser.urlbar.suggest.engines" = false;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.bookmark" = true;
"browser.toolbars.bookmarks.visibility" = "only show on new tab";
"browser.urlbar.suggest.addons" = false;
"browser.urlbar.suggest.pocket" = false;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"browser.formfill.enable" = false;
"extensions.formautofill.addresses.enabled" = false;
};
search = {
force = true;
default = "ud";
order = [
"ud"
"no"
"np"
"hm"
"nv"
"lsp"
"crates"
];
engines = let
mkParams = lib.mapAttrsToList (name: value: {
inherit name value;
});
mkEngine = {
icon,
template,
params ? {},
definedAliases ? [],
}: {
inherit icon definedAliases;
urls = [
{
inherit template;
params = mkParams params;
}
];
};
in {
ud = mkEngine {
icon = "https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico";
template = "https://unduck.demenik.tech";
params = {q = "{searchTerms}";};
};
np = mkEngine {
icon = "https://search.nixos.org/images/nix-logo.png";
definedAliases = ["@np"];
template = "https://search.nixos.org/packages";
params = {
type = "packages";
channel = "unstable";
query = "{searchTerms}";
};
};
no = mkEngine {
icon = "https://search.nixos.org/images/nix-logo.png";
definedAliases = ["@no"];
template = "https://search.nixos.org/options";
params = {
channel = "unstable";
query = "{searchTerms}";
};
};
hm = mkEngine {
icon = "https://home-manager-options.extranix.com/images/favicon.png";
definedAliases = ["@hm"];
template = "https://home-manager-options.extranix.com";
params = {
release = "master";
query = "{searchTerms}";
};
};
nv = mkEngine {
icon = "https://raw.githubusercontent.com/nix-community/nixvim/main/assets/nixvim_logo.svg";
definedAliases = ["@nv"];
template = "https://nix-community.github.io/nixvim/";
params = {
search = "{searchTerms}";
};
};
lsp = mkEngine {
icon = "https://github.com/neovim.png";
definedAliases = ["@lsp"];
template = "https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#{searchTerms}";
};
crates = mkEngine {
icon = "https://crates.io/assets/cargo.png";
definedAliases = ["@crates"];
template = "https://crates.io/search";
params = {
q = "{searchTerms}";
};
};
};
};
};
};
}

11
home/programs/nmgui.nix Normal file
View File

@@ -0,0 +1,11 @@
{pkgs, ...}: {
home.packages = with pkgs; [
nmgui
];
wayland.windowManager.hyprland.settings.windowrulev2 = map (rule: "${rule}, class:^(com.network.manager)$") [
"float"
"size 500 600"
"center"
];
}

View File

@@ -0,0 +1,7 @@
{pkgs, ...}: {
home.packages = with pkgs; [obsidian];
wayland.windowManager.hyprland.settings.windowrulev2 = [
"workspace 1, class:^(obsidian)$"
];
}

64
home/programs/office.nix Normal file
View File

@@ -0,0 +1,64 @@
{
pkgs,
config,
...
}: let
catppuccin = {
flavour = "mocha";
accent = "mauve";
socHash = "sha256-c7BIwKlwUpD+rLKQQi43mHi2s/hlNkxPE+eX7iWb2vI=";
};
themeName = "catppuccin-${catppuccin.flavour}-${catppuccin.accent}";
themeUrl = "https://raw.githubusercontent.com/catppuccin/libreoffice/main/themes/${catppuccin.flavour}/${catppuccin.accent}/${themeName}.soc";
themeFile = pkgs.fetchurl {
url = themeUrl;
hash = catppuccin.socHash;
};
in {
home.packages = with pkgs; [libreoffice];
xdg.configFile."libreoffice/4/user/config/catppuccin-mocha-mauve.soc" = {
source = themeFile;
executable = false;
};
# https://github.com/catppuccin/libreoffice/blob/main/scripts/install_theme.sh (edited for nix)
# home.activation.installCatppuccinLibreofficeTheme = ''
# PATH=${pkgs.lib.makeBinPath [pkgs.gawk pkgs.gnugrep pkgs.findutils pkgs.coreutils pkgs.gettext]}
# echo "Applying Catppuccin theme to LibreOffice..."
# configFile=$(find "${config.xdg.configHome}/libreoffice" -path '*/user/registrymodifications.xcu' -print -quit)
# if [[ -z "$configFile" || ! -f "$configFile" ]]; then
# echo "LibreOffice registrymodifications.xcu not found. Skipping."
# exit 0
# fi
# echo "Found config at: $configFile"
# if grep -q 'oor:name="${themeName}"' "$configFile"; then
# echo "Theme '${themeName}' is already installed. Nothing to do."
# exit 0
# fi
# echo "Injecting theme '${themeName}' into $configFile..."
# gawk -i inplace -v themePath="${themeFile}" '
# BEGIN {
# while ((getline line < themePath) > 0) {
# themeContent = themeContent line "\n"
# }
# close(themePath)
# }
# /<\/oor:items>/ {
# printf "%s", themeContent
# }
# { print }
# ' "$configFile"
# echo "Successfully applied theme."
# '';
}

View File

@@ -0,0 +1,11 @@
{pkgs, ...}: {
home.packages = with pkgs; [
overskride
];
wayland.windowManager.hyprland.settings.windowrulev2 = map (rule: "${rule}, class:^(io.github.kaii_lb.Overskride)$") [
"float"
"size 850 650"
"center"
];
}

View File

@@ -0,0 +1,22 @@
{pkgs, ...}: {
home.packages = with pkgs; [qbittorrent];
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/magnet" = ["org.qbittorrent.qBittorrent.desktop"];
};
};
programs.firefox.policies.Handlers = {
schemes.magnet = {
action = "useHelperApp";
handlers = [
{
name = "qBittorrent";
path = "${pkgs.qbittorrent}/share/application/org.qbittorrent.qBittorrent.desktop";
}
];
};
};
}

123
home/programs/rofi.nix Normal file
View File

@@ -0,0 +1,123 @@
{config, ...}: {
wayland.windowManager.hyprland.settings = {
bind = [
"SUPER, Space, exec, rofi -show drun -show-icons"
];
windowrulev2 = map (rule: "${rule}, class:^(Rofi)$") [
"float"
"dimaround"
"pin"
"stayfocused"
"persistentsize"
"decorate 0"
"center 1"
];
};
stylix.targets.rofi.enable = false;
programs.rofi = {
enable = true;
extraConfig = {
modi = "drun,run";
display-drun = "drun";
display-run = "run";
};
font = "sans-serif 12";
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = let
inherit (config.lib.stylix) colors;
in {
bg0 = mkLiteral "#${colors.base00}F2";
bg1 = mkLiteral "#${colors.base01}";
bg2 = mkLiteral "#${colors.base02}";
bg3 = mkLiteral "#${colors.base0E}";
fg0 = mkLiteral "#${colors.base05}";
fg1 = mkLiteral "#${colors.base04}";
fg2 = mkLiteral "#${colors.base03}";
fg3 = mkLiteral "#${colors.base02}";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@fg0";
margin = mkLiteral "0px";
padding = mkLiteral "0px";
spacing = mkLiteral "0px";
};
"window" = {
location = mkLiteral "north";
y-offset = mkLiteral "calc(50% - 176px)";
width = 480;
border-radius = mkLiteral "8px";
background-color = mkLiteral "@bg0";
};
"mainbox".padding = mkLiteral "12px";
"inputbar" = {
background-color = mkLiteral "@bg1";
border-color = mkLiteral "@bg3";
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "8px 16px";
spacing = mkLiteral "8px";
children = map mkLiteral ["prompt" "entry"];
};
"prompt".text-color = mkLiteral "@fg2";
"entry" = {
placeholder = " Search...";
placeholder-color = mkLiteral "@fg3";
};
"message" = {
margin = mkLiteral "12px 0 0";
border-radius = mkLiteral "8px";
border-color = mkLiteral "@bg2";
background-color = mkLiteral "@bg2";
};
"textbox".padding = mkLiteral "8px 24px";
"listview" = {
background-color = mkLiteral "transparent";
margin = mkLiteral "12px 0 0";
lines = 8;
columns = 1;
fixed-height = true;
};
"element" = {
padding = mkLiteral "8px 16px";
spacing = mkLiteral "8px";
border-radius = mkLiteral "8px";
};
"element normal active".text-color = mkLiteral "@bg3";
"element alternate active".text-color = mkLiteral "@bg3";
"element selected normal, element selected active" = {
text-color = mkLiteral "@bg0";
background-color = mkLiteral "@bg3";
};
"element-icon" = {
size = mkLiteral "1em";
vertical-align = mkLiteral "0.5";
};
"element-text".text-color = mkLiteral "inherit";
};
};
}

View File

@@ -0,0 +1,34 @@
{
inputs,
pkgs,
...
}: let
inherit (inputs) spicetify-nix;
in {
imports = [spicetify-nix.homeManagerModules.default];
programs.spicetify = let
spicePkgs = spicetify-nix.legacyPackages.${pkgs.system};
in {
enable = true;
spotifyLaunchFlags = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
enabledExtensions = with spicePkgs.extensions; [
keyboardShortcut
shuffle
groupSession
fullAlbumDate
showQueueDuration
betterGenres
lastfm
playNext
volumePercentage
allOfArtist
];
};
wayland.windowManager.hyprland.settings.windowrulev2 = [
"workspace 3, class:^(Spotify)$"
];
}

View File

@@ -0,0 +1,34 @@
{pkgs, ...}: {
programs.thunderbird = {
enable = true;
profiles.default = {
isDefault = true;
settings = {
"mail.ui.folderpane.view" = 2;
# "mail.account.special_folders.global_inbox" = 1;
"extensions.autoDisableScopes" = 0;
};
extensions = let
catppuccin-theme = pkgs.stdenv.mkDerivation {
name = "catppuccin-thunderbird";
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "thunderbird";
rev = "0289f3bd9566f9666682f66a3355155c0d0563fc";
hash = "sha256-07gT37m1+OhRTbUk51l0Nhx+I+tl1il5ayx2ow23APY=";
};
installPhase = ''
mkdir -p $out
cp -r $src/themes/mocha/mocha-mauve.xpi $out/catppuccin-mocha-mauve.xpi
'';
};
in [
catppuccin-theme
];
};
};
}

369
home/programs/vesktop.nix Normal file
View File

@@ -0,0 +1,369 @@
{config, ...}: let
inherit (config.lib.stylix) colors;
in {
stylix.targets.vesktop.enable = false;
wayland.windowManager.hyprland.settings.windowrulev2 =
[
"workspace 4, class:^(vesktop)$"
]
++ map (rule: "${rule}, class:^(vesktop)$, title:^(Discord Popout)$") [
"float"
"size 640 360"
"keepaspectratio"
"pin"
"move 100%-w-5 100%-w-5"
];
programs.vesktop = {
enable = true;
settings = {
discordBranch = "stable";
minimizeToTray = false;
arRPC = true;
splashColor = "#${colors.base0E}";
splashBackground = "#${colors.base00}";
};
vencord = {
settings = {
autoUpdate = true;
autpUpdateNotification = true;
useQuickCss = true;
eagerPatches = false;
enableReactDevtools = true;
frameless = false;
transparent = true;
winCtrlQ = false;
disableMinSize = true;
winNativeTitleBar = false;
themeLinks = [
"https://catppuccin.github.io/discord/dist/catppuccin-mocha-mauve.theme.css"
];
notifications = {
timeout = 5000;
position = "bottom-right";
useNative = "not-focused";
logLimit = 50;
};
cloud = {
authenticated = false;
url = "https://api.vencord.dev/";
settingsSync = false;
settingsSyncVersion = 0;
};
plugins = {
ChatInputButtonAPI.enabled = true;
CommandsAPI.enabled = true;
DynamicImageModalAPI.enabled = true;
MemberListDecoratorsAPI.enabled = true;
MessageAccessoriesAPI.enabled = true;
MessageDecorationsAPI.enabled = true;
MessageEventsAPI.enabled = true;
MessagePopoverAPI.enabled = true;
UserSettingsAPI.enabled = true;
AlwaysTrust = {
enabled = true;
domain = true;
file = true;
};
AnonymiseFileNames = {
enabled = true;
anonymiseByDefault = true;
method = 2;
randomisedLength = 7;
consistent = "image";
};
BetterFolders = {
enabled = true;
sidebarAnim = false;
sidebar = true;
closeAllFolders = false;
closeAllHomeButton = false;
closeOthers = false;
forceOpen = false;
keepIcons = false;
showFolderIcon = 1;
};
BetterGifAltText.enabled = true;
BetterGifPicker.enabled = true;
BetterSettings = {
enabled = true;
disableFade = true;
organizeMenu = true;
eagerLoad = true;
};
BetterUploadButton.enabled = true;
BiggerStreamPreview.enabled = true;
BlurNSFW = {
enabled = true;
blurAmount = 10;
};
CallTimer = {
enabled = true;
format = "stopwatch";
};
ClearURLs.enabled = true;
ConsoleJanitor = {
enabled = true;
disableLoggers = false;
disableSpotifyLogger = true;
whitelistedLoggers = "GatewaySocket; Routing/Utils";
};
CopyEmojiMarkdown.enabled = true;
CopyFileContents.enabled = true;
CopyUserURLs.enabled = true;
CrashHandler.enabled = true;
Decor.enabled = true;
DisableCallIdle.enabled = true;
DontRoundMyTimestamps.enabled = true;
FakeNitro = {
enabled = true;
enableEmojiBypass = true;
emojiSize = 48;
transformEmojis = true;
enableStickerBypass = true;
stickerSize = 160;
transformStickers = true;
transformCompoundSentence = false;
enableStreamQualityBypass = true;
useHyperLinks = true;
hyperLinkText = "{{NAME}}";
disableEmbedPermissionCheck = false;
};
FakeProfileThemes = {
enabled = true;
nitroFirst = true;
};
FavoriteEmojiFirst.enabled = true;
FavoriteGifSearch.enabled = true;
FixCodeblockGap.enabled = true;
FixImagesQuality.enabled = true;
FixSpotifyEmbeds = {
enabled = true;
volume = 10;
};
ForceOwnerCrown.enabled = true;
FriendInvites.enabled = true;
FriendsSince.enabled = true;
FullSearchContext.enabled = true;
GameActivityToggle = {
enabled = true;
oldIcon = false;
};
GifPaste.enabled = true;
GreetStickerPicker = {
enabled = true;
greetMode = "Greet";
};
iLoveSpam.enabled = true;
IgnoreActivities = {
enabled = false;
listMode = 0;
idsList = "";
ignorePlaying = false;
ignoreStreaming = false;
ignoreListening = false;
ignoreWatching = false;
ignoreCompeting = false;
};
ImplicitRelationships = {
enabled = true;
sortByAffinity = true;
};
MemberCount = {
enabled = true;
toolTip = true;
memberList = true;
};
MessageClickActions = {
enabled = true;
enableDeleteOnClick = true;
enableDoubleClickToEdit = true;
enableDoubleClickToReply = true;
requireModifier = false;
};
MessageLogger.enabled = true;
MoreCommands.enabled = true;
MoreKaomoji.enabled = true;
MutualGroupDMs.enabled = true;
NewGuildSettings = {
enabled = true;
guild = true;
messages = 3;
everyone = true;
role = true;
highlights = true;
events = true;
showAllChannels = true;
};
NoDevtoolsWarning.enabled = true;
NoMaskedUrlPaste.enabled = true;
NoMosaic = {
enabled = false;
inlineVideo = true;
};
NoOnboardingDelay.enabled = true;
NoPendingCount = {
enabled = true;
friendRequest = false;
messageRequest = false;
};
NoUnblockToJump.enabled = true;
NSFWGateBypass.enabled = true;
OnePingPerDM = {
enabled = true;
channelToAffect = "both_dms";
allowMentions = false;
allowEveryone = false;
};
OpenInApp = {
enabled = true;
spotify = true;
steam = true;
epic = true;
tidal = true;
itunes = true;
};
PauseInvitesForever.enabled = true;
PermissionFreeWill = {
enabled = true;
lockout = true;
onboarding = true;
};
PermissionsViewer.enabled = true;
petpet.enabled = true;
PictureInPicture.enabled = true;
PinDMs.enabled = true;
PlatformIndicators = {
enabled = true;
colorMobileIndicator = true;
list = true;
badges = true;
messages = true;
};
ReactErrorDecoder.enabled = true;
ReadAllNotificationsButton.enabled = true;
RelationshipNotifier = {
enabled = true;
offlineRemovals = true;
groups = true;
servers = true;
friends = true;
friendRequestCancels = true;
};
ReverseImageSearch.enabled = true;
ReviewDB = {
enabled = true;
notifyReviews = true;
showWarning = true;
hideTimestamps = false;
hideBlockedUsers = true;
};
ServerInfo.enabled = true;
ShikiCodeblocks = {
enabled = true;
theme = "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json";
tryHljs = "SECONDARY";
useDevIcon = "COLOR";
bgOpacity = 100;
customTheme = "";
};
ShowConnections.enabled = true;
ShowHiddenChannels = {
enabled = true;
hideUnreads = true;
showMode = 0;
defaultAllowedUsersAndRolesDropdownState = true;
};
ShowTimeoutDuration = {
enabled = true;
displayStyle = "ssalggnikool";
};
SilentTyping = {
enabled = true;
showIcon = false;
contextMenu = true;
isEnabled = true;
};
SpotifyCrack = {
enabled = true;
noSpotifyAutoPause = true;
keepSpotifyActivityOnIdle = false;
};
SpotifyShareCommands.enabled = true;
ThemeAttributes.enabled = true;
Translate = {
enabled = true;
showChatBarButton = true;
service = "google";
deeplApiKey = "";
autoTranslate = false;
showAutoTranslateTooltip = true;
receivedInput = "auto";
receivedOutput = "en";
sentInput = "auto";
sentOutput = "zh-CN";
showAutoTranslateAlert = false;
};
TypingIndicator.enabled = true;
Unindent.enabled = true;
UnlockedAvatarZoom.enabled = true;
UnsuppressEmbeds.enabled = true;
UserMessagesPronouns = {
enabled = true;
pronounsFormat = "LOWERCASE";
showSelf = true;
};
UserVoiceShow = {
enabled = true;
showInUserProfileModal = true;
showInMemberList = true;
showInMessages = true;
};
USRBG = {
enabled = true;
nitroFirst = true;
voiceBackground = true;
};
ValidReply.enabled = true;
ValidUser.enabled = true;
ViewIcons.enabled = true;
VoiceDownload.enabled = true;
VoiceMessages = {
enabled = true;
noiseSuppression = true;
echoCancellation = true;
};
VolumeBooster = {
enabled = true;
multiplier = 2;
};
WebKeybinds.enabled = true;
WebScreenShareFixes.enabled = true;
YoutubeAdblock.enabled = true;
NoTrack = {
enabled = true;
disableAnalytics = true;
};
WebContextMenus = {
enabled = true;
addBack = true;
};
Settings = {
enabled = true;
settingsLocation = "aboveNitro";
};
SupportHelper.enabled = true;
FullUserInChatbox.enabled = true;
BadgeAPI.enabled = true;
};
};
};
};
}

5
home/programs/vpn.nix Normal file
View File

@@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
openconnect
];
}