Compare commits
No commits in common. "5582f5ef25ca0f19ed6ae2e23c26802e372ebe1e" and "5f65331bef3ad93750a736ad4af76fb7a6be8762" have entirely different histories.
5582f5ef25
...
5f65331bef
3 changed files with 103 additions and 34 deletions
|
|
@ -110,8 +110,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
services.displayManager.gdm.enable = true;
|
services.displayManager.gdm.enable = true;
|
||||||
services.desktopManager.gnome.enable = true;
|
services.desktopManager.gnome.enable = true;
|
||||||
services.gnome.sushi.enable = true;
|
services.gnome.sushi.enable = true;
|
||||||
|
|
@ -253,7 +251,6 @@
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
bubblewrap
|
bubblewrap
|
||||||
flatpak
|
|
||||||
wget
|
wget
|
||||||
nh
|
nh
|
||||||
];
|
];
|
||||||
|
|
|
||||||
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -180,11 +180,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775356232,
|
"lastModified": 1775325653,
|
||||||
"narHash": "sha256-oHbYzFPE2PoqfGKEQrLeSuJi944SvOCzNvcqQ5WHFjw=",
|
"narHash": "sha256-dlopJjB8mZ3wE4HEUgQOE79zy/rutmG5m96ehAwmTWU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "4755536f14c499dbfeabc316ba0650193d116bc1",
|
"rev": "63115094168cdfc8a4c09261f3f2fc9838f3affa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -228,11 +228,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775349555,
|
"lastModified": 1775278263,
|
||||||
"narHash": "sha256-4QuGX/NCAqojvTxatzZ0NiWuAV4EAOXU3UdlWsrYVAE=",
|
"narHash": "sha256-BgkUmlOuFaaZQCnlhXkQ3/Fng65aq00tJQkpoeTn7Mw=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "92cc7e68329b4e394fd1282d412029d550444628",
|
"rev": "bb051d7a0f04356d42528bbb65dc014adf2dab66",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
122
home.nix
122
home.nix
|
|
@ -43,11 +43,11 @@ let
|
||||||
terminal = false;
|
terminal = false;
|
||||||
categories = [ "Network" ];
|
categories = [ "Network" ];
|
||||||
};
|
};
|
||||||
betterbirdStartup = pkgs.makeDesktopItem {
|
thunderbirdStartup = pkgs.makeDesktopItem {
|
||||||
name = "betterbird-startup";
|
name = "thunderbird-startup";
|
||||||
desktopName = "Betterbird Startup";
|
desktopName = "Thunderbird Startup";
|
||||||
comment = "Launch Betterbird in fullscreen";
|
comment = "Launch Thunderbird in fullscreen";
|
||||||
exec = "${pkgs.flatpak}/bin/flatpak run eu.betterbird.Betterbird --fullscreen";
|
exec = "${pkgs.thunderbird}/bin/thunderbird --fullscreen";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
categories = [ "Network" ];
|
categories = [ "Network" ];
|
||||||
};
|
};
|
||||||
|
|
@ -716,24 +716,6 @@ in
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.desktopEntries.betterbird = {
|
|
||||||
name = "Betterbird";
|
|
||||||
genericName = "Mail Client";
|
|
||||||
exec = "${pkgs.flatpak}/bin/flatpak run eu.betterbird.Betterbird %u";
|
|
||||||
icon = "eu.betterbird.Betterbird";
|
|
||||||
type = "Application";
|
|
||||||
categories = [
|
|
||||||
"Network"
|
|
||||||
"Email"
|
|
||||||
];
|
|
||||||
mimeType = [
|
|
||||||
"x-scheme-handler/mailto"
|
|
||||||
"x-scheme-handler/webcal"
|
|
||||||
"text/calendar"
|
|
||||||
];
|
|
||||||
comment = "Fine-tuned Thunderbird mail client";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Autostart applications using proper desktop files
|
# Autostart applications using proper desktop files
|
||||||
xdg.autostart = {
|
xdg.autostart = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -741,7 +723,7 @@ in
|
||||||
zenStartup
|
zenStartup
|
||||||
kittyZellijStartup
|
kittyZellijStartup
|
||||||
signalStartup
|
signalStartup
|
||||||
betterbirdStartup
|
thunderbirdStartup
|
||||||
vesktopStartup
|
vesktopStartup
|
||||||
zulipStartup
|
zulipStartup
|
||||||
];
|
];
|
||||||
|
|
@ -778,7 +760,6 @@ in
|
||||||
"x-scheme-handler/https" = "zen-beta.desktop";
|
"x-scheme-handler/https" = "zen-beta.desktop";
|
||||||
"x-scheme-handler/about" = "zen-beta.desktop";
|
"x-scheme-handler/about" = "zen-beta.desktop";
|
||||||
"x-scheme-handler/unknown" = "zen-beta.desktop";
|
"x-scheme-handler/unknown" = "zen-beta.desktop";
|
||||||
"x-scheme-handler/mailto" = "betterbird.desktop";
|
|
||||||
"inode/directory" = "org.gnome.Nautilus.desktop";
|
"inode/directory" = "org.gnome.Nautilus.desktop";
|
||||||
"application/zip" = "org.gnome.FileRoller.desktop";
|
"application/zip" = "org.gnome.FileRoller.desktop";
|
||||||
"application/x-tar" = "org.gnome.FileRoller.desktop";
|
"application/x-tar" = "org.gnome.FileRoller.desktop";
|
||||||
|
|
@ -793,6 +774,97 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles.default = {
|
||||||
|
isDefault = true;
|
||||||
|
settings = {
|
||||||
|
# Use maildir instead of mbox — faster for large mailboxes
|
||||||
|
"mail.serverDefaultStoreContractID" = "@mozilla.org/msgstore/maildirstore;1";
|
||||||
|
|
||||||
|
# Increase IMAP connection limits
|
||||||
|
"mail.server.default.max_cached_connections" = 10;
|
||||||
|
"mail.imap.max_cached_connections" = 10;
|
||||||
|
|
||||||
|
# IMAP IDLE — server pushes new mail instantly (no polling delay)
|
||||||
|
"mail.server.default.use_idle" = true;
|
||||||
|
|
||||||
|
# Poll every 1 minute as fallback when IDLE drops
|
||||||
|
"mail.server.default.check_new_mail" = true;
|
||||||
|
"mail.server.default.check_time" = 1;
|
||||||
|
|
||||||
|
# Faster IMAP sync
|
||||||
|
"mail.imap.min_time_between_cleanups" = 300;
|
||||||
|
"mail.imap.fetch_by_chunks" = true;
|
||||||
|
"mail.imap.chunk_size" = 65536;
|
||||||
|
"mail.imap.chunk_add" = 16384;
|
||||||
|
|
||||||
|
# Reduce timeouts (fail fast instead of hanging)
|
||||||
|
"mail.server.default.timeout" = 60;
|
||||||
|
"mailnews.tcptimeout" = 60;
|
||||||
|
|
||||||
|
# Network performance
|
||||||
|
"network.http.max-connections" = 48;
|
||||||
|
"network.http.max-persistent-connections-per-server" = 10;
|
||||||
|
"network.dns.disablePrefetch" = false;
|
||||||
|
|
||||||
|
# Cache messages offline for instant reading
|
||||||
|
"mail.server.default.offline_download" = true;
|
||||||
|
"mail.server.default.download_on_biff" = true;
|
||||||
|
|
||||||
|
# Auto-compact folders when >20MB wasted (keeps mbox files lean)
|
||||||
|
"mail.purge_threshhold_mb" = 20;
|
||||||
|
"mail.prompt_purge_threshhold" = false;
|
||||||
|
|
||||||
|
# Block remote content by default (tracking pixels, slow image loads)
|
||||||
|
"mailnews.message_display.disable_remote_image" = true;
|
||||||
|
|
||||||
|
# Disable adaptive junk filter (server-side spam is better)
|
||||||
|
"mail.spam.manualMark" = true;
|
||||||
|
"mailnews.ui.junk.firstuse" = false;
|
||||||
|
"mailnews.ui.junk.manualMarkAsJunkMarksRead" = true;
|
||||||
|
|
||||||
|
# Prefetch next message while reading current one
|
||||||
|
"mail.server.default.autosync_offline_stores" = true;
|
||||||
|
|
||||||
|
# Open links in default browser (Zen) instead of Thunderbird's internal browser
|
||||||
|
"network.protocol-handler.warn-external.http" = false;
|
||||||
|
"network.protocol-handler.warn-external.https" = false;
|
||||||
|
"network.protocol-handler.expose-all" = true;
|
||||||
|
|
||||||
|
# Simplify message rendering
|
||||||
|
"mailnews.display.prefer_plaintext" = false;
|
||||||
|
"mailnews.display.disallow_mime_handlers" = 0;
|
||||||
|
"mailnews.display.html_as" = 0;
|
||||||
|
|
||||||
|
# Disable return receipt prompts
|
||||||
|
"mail.incorporate.return_receipt" = 0;
|
||||||
|
"mail.receipt.request_return_receipt_on" = false;
|
||||||
|
|
||||||
|
# Disable chat and calendar background connections
|
||||||
|
"mail.chat.enabled" = false;
|
||||||
|
"calendar.integration.notify" = false;
|
||||||
|
|
||||||
|
# Disable unnecessary features
|
||||||
|
"mail.phishing.detection.enabled" = false;
|
||||||
|
"mail.rights.version" = 1;
|
||||||
|
"mail.shell.checkDefaultClient" = false;
|
||||||
|
"mail.spotlight.enable" = false;
|
||||||
|
|
||||||
|
# Faster UI rendering
|
||||||
|
"gfx.webrender.all" = true;
|
||||||
|
|
||||||
|
# Network keepalive
|
||||||
|
"network.http.keep-alive.timeout" = 600;
|
||||||
|
"network.http.response.timeout" = 120;
|
||||||
|
|
||||||
|
# Fix UI not updating after delete/archive — move to next message automatically
|
||||||
|
"mail.delete_matches_sort_order" = true;
|
||||||
|
"mail.advance_on_delete" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".claude/settings.json".text = builtins.toJSON {
|
home.file.".claude/settings.json".text = builtins.toJSON {
|
||||||
allowedTools = [
|
allowedTools = [
|
||||||
"Read"
|
"Read"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue