mirror of
https://codeberg.org/muon/home.git
synced 2025-12-06 08:07:45 +00:00
322 lines
9.4 KiB
Nix
322 lines
9.4 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
osConfig,
|
|
system,
|
|
inputs,
|
|
...
|
|
}: let
|
|
color = config.lib.stylix.colors.withHashtag;
|
|
in
|
|
with lib; {
|
|
options.mods.desktop.productivity.enable =
|
|
lib.mkEnableOption "enables gui productivity tools";
|
|
|
|
imports = [
|
|
inputs.zen-browser.homeModules.beta
|
|
# or inputs.zen-browser.homeModules.twilight
|
|
# or inputs.zen-browser.homeModules.twilight-official
|
|
];
|
|
|
|
config = lib.mkIf config.mods.desktop.productivity.enable {
|
|
home.packages = with pkgs; [
|
|
# ISO downloader
|
|
qbittorrent
|
|
xd
|
|
biglybt
|
|
# transmission_4-gtk
|
|
|
|
# email
|
|
thunderbird
|
|
|
|
# webgl
|
|
# mullvad-browser
|
|
|
|
# password manager
|
|
bitwarden-desktop
|
|
|
|
# file management
|
|
libsForQt5.breeze-icons
|
|
libsForQt5.qt5ct
|
|
|
|
# documents
|
|
# texliveFull
|
|
# texstudio
|
|
|
|
# 3D
|
|
blender
|
|
];
|
|
|
|
# qt.platformTheme = "qtct";
|
|
|
|
home.sessionVariables.BROWSER = "librewolf";
|
|
programs.zsh.sessionVariables.BROWSER = "librewolf";
|
|
|
|
services.flameshot = {
|
|
enable = false;
|
|
settings = {
|
|
General = {
|
|
disabledTrayIcon = true;
|
|
showStartupLaunchMessage = false;
|
|
startupLaunch = false;
|
|
|
|
uiColor = color.base01;
|
|
contrastUiColor = color.base00;
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.librewolf = {
|
|
enable = false;
|
|
settings = {
|
|
"webgl.disabled" = true;
|
|
"privacy.resistFingerprinting" = true;
|
|
"privacy.clearOnShutdown.history" = false;
|
|
"privacy.clearOnShutdown.cookies" = false;
|
|
"network.cookie.lifetimePolicy" = 0;
|
|
};
|
|
};
|
|
|
|
xdg.desktopEntries = lib.mkIf osConfig.mods.i2p.enable {
|
|
i2p-browser = {
|
|
name = "i2p Browser";
|
|
genericName = "Web Browser";
|
|
exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -p i2p";
|
|
};
|
|
};
|
|
|
|
stylix.targets.zen-browser.profileNames = [];
|
|
programs.zen-browser = {
|
|
enable = true;
|
|
|
|
policies = let
|
|
mkLockedAttrs = builtins.mapAttrs (_: value: {
|
|
Value = value;
|
|
Status = "locked";
|
|
});
|
|
|
|
mkPluginUrl = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
|
|
|
|
mkExtensionEntry = {
|
|
id,
|
|
pinned ? false,
|
|
}: let
|
|
base = {
|
|
install_url = mkPluginUrl id;
|
|
installation_mode = "force_installed";
|
|
};
|
|
in
|
|
if pinned
|
|
then base // {default_area = "navbar";}
|
|
else base;
|
|
|
|
mkExtensionSettings = builtins.mapAttrs (_: entry:
|
|
if builtins.isAttrs entry
|
|
then entry
|
|
else mkExtensionEntry {id = entry;});
|
|
in {
|
|
AutofillAddressEnabled = false;
|
|
AutofillCreditCardEnabled = false;
|
|
DisableAppUpdate = true;
|
|
DisableFeedbackCommands = true;
|
|
DisableFirefoxStudies = true;
|
|
DisablePocket = true;
|
|
DisableTelemetry = true;
|
|
DontCheckDefaultBrowser = true;
|
|
OfferToSaveLogins = false;
|
|
EnableTrackingProtection = {
|
|
Value = true;
|
|
Locked = true;
|
|
Cryptomining = true;
|
|
Fingerprinting = true;
|
|
};
|
|
ExtensionSettings = mkExtensionSettings {
|
|
"uBlock0@raymondhill.net" = mkExtensionEntry {
|
|
id = "ublock-origin";
|
|
pinned = true;
|
|
};
|
|
"{85860b32-02a8-431a-b2b1-40fbd64c9c69}" = "github-file-icons";
|
|
"{74145f27-f039-47ce-a470-a662b129930a}" = "clearurls";
|
|
"github-no-more@ihatereality.space" = "github-no-more";
|
|
"github-repository-size@pranavmangal" = "gh-repo-size";
|
|
"@searchengineadremover" = "searchengineadremover";
|
|
"jid1-BoFifL9Vbdl2zQ@jetpack" = "decentraleyes";
|
|
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = "vimium-ff";
|
|
};
|
|
Preferences = mkLockedAttrs {
|
|
"browser.aboutConfig.showWarning" = false;
|
|
"browser.tabs.warnOnClose" = false;
|
|
"media.videocontrols.picture-in-picture.video-toggle.enabled" = true;
|
|
# Disable swipe gestures (Browser:BackOrBackDuplicate, Browser:ForwardOrForwardDuplicate)
|
|
"browser.gesture.swipe.left" = "";
|
|
"browser.gesture.swipe.right" = "";
|
|
"browser.tabs.hoverPreview.enabled" = true;
|
|
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
|
"browser.topsites.contile.enabled" = false;
|
|
|
|
"privacy.resistFingerprinting" = true;
|
|
"privacy.firstparty.isolate" = true;
|
|
"network.cookie.cookieBehavior" = 5;
|
|
"dom.battery.enabled" = false;
|
|
|
|
"gfx.webrender.all" = true;
|
|
"network.http.http3.enabled" = true;
|
|
};
|
|
};
|
|
|
|
profiles.default = rec {
|
|
settings = {
|
|
"zen.workspaces.continue-where-left-off" = true;
|
|
"zen.workspaces.natural-scroll" = true;
|
|
"zen.view.compact.hide-tabbar" = true;
|
|
"zen.view.compact.hide-toolbar" = true;
|
|
"zen.view.compact.animate-sidebar" = false;
|
|
"zen.welcome-screen.seen" = true;
|
|
};
|
|
|
|
bookmarks = {
|
|
force = true;
|
|
settings = [
|
|
{
|
|
name = "Nix sites";
|
|
toolbar = true;
|
|
bookmarks = [
|
|
{
|
|
name = "homepage";
|
|
url = "https://nixos.org/";
|
|
}
|
|
{
|
|
name = "wiki";
|
|
tags = ["wiki" "nix"];
|
|
url = "https://wiki.nixos.org/";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
pinsForce = true;
|
|
pins = {
|
|
"GitHub" = {
|
|
id = "48e8a119-5a14-4826-9545-91c8e8dd3bf6";
|
|
workspace = spaces."Work".id;
|
|
url = "https://github.com";
|
|
position = 101;
|
|
isEssential = false;
|
|
};
|
|
};
|
|
|
|
containersForce = true;
|
|
containers = {
|
|
Work = {
|
|
color = "blue";
|
|
icon = "briefcase";
|
|
id = 2;
|
|
};
|
|
};
|
|
|
|
spacesForce = true;
|
|
spaces = {
|
|
"Personal" = {
|
|
id = "572910e1-4468-4832-a869-0b3a93e2f165";
|
|
# icon = "";
|
|
position = 1000;
|
|
};
|
|
"Work" = {
|
|
id = "ec287d7f-d910-4860-b400-513f269dee77";
|
|
# icon = "briefcase";
|
|
position = 1001;
|
|
container = containers."Work".id;
|
|
};
|
|
};
|
|
|
|
search = {
|
|
force = true;
|
|
default = "searx";
|
|
engines = let
|
|
nixSnowflakeIcon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
in {
|
|
"Nix Packages" = {
|
|
urls = [
|
|
{
|
|
template = "https://search.nixos.org/packages";
|
|
params = [
|
|
{
|
|
name = "type";
|
|
value = "packages";
|
|
}
|
|
{
|
|
name = "channel";
|
|
value = "unstable";
|
|
}
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
icon = nixSnowflakeIcon;
|
|
definedAliases = ["np"];
|
|
};
|
|
"Nix Options" = {
|
|
urls = [
|
|
{
|
|
template = "https://search.nixos.org/options";
|
|
params = [
|
|
{
|
|
name = "channel";
|
|
value = "unstable";
|
|
}
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
icon = nixSnowflakeIcon;
|
|
definedAliases = ["nop"];
|
|
};
|
|
"Home Manager Options" = {
|
|
urls = [
|
|
{
|
|
template = "https://home-manager-options.extranix.com/";
|
|
params = [
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
{
|
|
name = "release";
|
|
value = "master"; # unstable
|
|
}
|
|
];
|
|
}
|
|
];
|
|
icon = nixSnowflakeIcon;
|
|
definedAliases = ["hm"];
|
|
};
|
|
"searx" = {
|
|
urls = [
|
|
{
|
|
template = "https://search.muon.host/search";
|
|
params = [
|
|
{
|
|
name = "q";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
icon = "magnifying-glass";
|
|
definedAliases = ["srx"];
|
|
};
|
|
bing.metaData.hidden = "true";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|