summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2026-04-04 15:19:42 +0200
committeradikro <adikro@disroot.org>2026-04-04 15:19:42 +0200
commit156b4f2c45321bd6cbb63097105c31baa955bfc6 (patch)
treecc639e5a8f3e2859db46f41c28747bb162f7a4ba
parent4ff17027412da68da76a988f3d4d6d633e2ebb91 (diff)
moving away from home manager
-rw-r--r--flake.lock60
-rw-r--r--hm/dotfiles/fastfetch/config.jsonc0
-rw-r--r--hm/dotfiles/fsel/config.toml0
-rw-r--r--hm/dotfiles/mako/config0
-rw-r--r--hm/dotfiles/otter/config.toml0
-rw-r--r--hm/dotfiles/waybar/config.jsonc0
-rw-r--r--hm/dotfiles/waybar/style.css0
-rw-r--r--hm/env/awww.nix4
-rw-r--r--hm/env/fsel.nix2
-rw-r--r--hm/env/fuzzel.nix4
-rw-r--r--hm/env/mako.nix7
-rw-r--r--hm/env/otter.nix7
-rw-r--r--hm/env/screenshot.nix10
-rw-r--r--hm/env/waybar.nix6
-rw-r--r--hm/soft/browser.nix365
-rw-r--r--hm/soft/email.nix57
-rw-r--r--hm/soft/media.nix1
-rw-r--r--hosts/desktop/configuration.nix11
-rw-r--r--hosts/desktop/home.nix5
-rw-r--r--os/srv/i2p.nix63
-rw-r--r--os/srv/srv.nix1
-rw-r--r--os/srv/tor.nix15
22 files changed, 297 insertions, 321 deletions
diff --git a/flake.lock b/flake.lock
index 8e42f8a..6dd86c3 100644
--- a/flake.lock
+++ b/flake.lock
@@ -361,11 +361,11 @@
]
},
"locked": {
- "lastModified": 1775104157,
- "narHash": "sha256-rm/7k0D2J9SP30pyZ2C1HqarDncZDN6KAUI0gzgg4TA=",
+ "lastModified": 1775268934,
+ "narHash": "sha256-Sa5tW5kYPJornQEkFVD43F/0d4/WP+/GLTNktTFe2qU=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "41e6e2ab37763c09db4e639033392cf40900440a",
+ "rev": "9dc93220c1c9a410ef6277d6dc55c571d9e592d0",
"type": "github"
},
"original": {
@@ -653,11 +653,11 @@
]
},
"locked": {
- "lastModified": 1775133667,
- "narHash": "sha256-pZ+FDlNcx9bzv960+uGF8KKCsXwCjUaNuhBtTffajrM=",
+ "lastModified": 1775138742,
+ "narHash": "sha256-cyipL9p0VzyZT0wa+3KkeJYvtEYzyI1PjBOnGU8z3gI=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
- "rev": "f01686c6dd725efc9ece1f715d887a36d184e6cf",
+ "rev": "0fff256cfbc6978e711c43555df210d46940e943",
"type": "github"
},
"original": {
@@ -771,11 +771,11 @@
"nixpkgs-nixcord": "nixpkgs-nixcord"
},
"locked": {
- "lastModified": 1775090912,
- "narHash": "sha256-Z69XJYa7IIa1d2SwFmeXbSXFK1eYFMuy122n1N3lOig=",
+ "lastModified": 1775293624,
+ "narHash": "sha256-LcalbpqkLs0GfAuZH/TvF1u33hLUNtl+HrkdqVHLl8U=",
"owner": "KaylorBen",
"repo": "nixcord",
- "rev": "851474101e35826fd1c46142976fbd403c11ec9b",
+ "rev": "3eb858c93518bae0bbe30a45845b9c5ea2fc9940",
"type": "github"
},
"original": {
@@ -786,11 +786,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1774933469,
- "narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=",
+ "lastModified": 1775203647,
+ "narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337",
+ "rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0",
"type": "github"
},
"original": {
@@ -935,11 +935,11 @@
"systems": "systems_2"
},
"locked": {
- "lastModified": 1774802402,
- "narHash": "sha256-L1UJ/zxKTyyaGGmytH6OYlgQ0HGSMhvPkvU+iz4Mkb8=",
+ "lastModified": 1775268911,
+ "narHash": "sha256-3Ro4qz3HXgos0mvAkrTWsBTpIgPO6K+fogUYoO3c/UA=",
"owner": "nix-community",
"repo": "nixvim",
- "rev": "cbd8536a05d1aae2593cb5c9ace1010c8c5845cb",
+ "rev": "0166a4a54c0430e59308e9a3b0ab95f42293ac4e",
"type": "github"
},
"original": {
@@ -954,11 +954,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1775135359,
- "narHash": "sha256-u5whz68RBCUXI9QbVSWb0FqmjAr6BwZSBlUg0ldo8K4=",
+ "lastModified": 1775300049,
+ "narHash": "sha256-wtQrLCi2RBsaK/FVoCVkTEo1txBPki6nHHkWAIYidas=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "ce32b8c5a9eca687fd12569117337ab77fedc716",
+ "rev": "129d734fa79c213806007aa9d047679c4bfcdb2e",
"type": "github"
},
"original": {
@@ -1023,11 +1023,11 @@
"systems": "systems_4"
},
"locked": {
- "lastModified": 1774841714,
- "narHash": "sha256-KusCEQLPAFn+aX6LD3pg8CVjTNDe0LaGYcpuvikNYog=",
+ "lastModified": 1775197069,
+ "narHash": "sha256-ip0O6l9H64WpZRdFDltTMyqOvFmtSSThciQChAQ8sAk=",
"owner": "kuokuo123",
"repo": "otter-launcher",
- "rev": "313ab686256f3113107159d698e3555b4fc4bf3c",
+ "rev": "58762fbde17243e9a2e88b4f3480514ac42d6f7b",
"type": "github"
},
"original": {
@@ -1140,11 +1140,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1774938158,
- "narHash": "sha256-lkxHU999pm5HDcMRjJlj0qTyTyMZY4r3a7lySWUpbl4=",
+ "lastModified": 1775224332,
+ "narHash": "sha256-gYbb2zzwWhE83XTjr1fNn+z2nwY3P8GrrCOdxIuCoOw=",
"owner": "gabm",
"repo": "Satty",
- "rev": "7986f9e63dd68e58fbe7d31207b62d59db9b7a8c",
+ "rev": "5443eb2c5209618107efd1a51ecc9fc31d7467fe",
"type": "github"
},
"original": {
@@ -1160,11 +1160,11 @@
]
},
"locked": {
- "lastModified": 1774910634,
- "narHash": "sha256-B+rZDPyktGEjOMt8PcHKYmgmKoF+GaNAFJhguktXAo0=",
+ "lastModified": 1775188331,
+ "narHash": "sha256-/0BoSi0Dg0ON7IW0oscM12WSPBaMSCn36XTt0lHZoy8=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "19bf3d8678fbbfbc173beaa0b5b37d37938db301",
+ "rev": "8f093d0d2f08f37317778bd94db5951d6cce6c46",
"type": "github"
},
"original": {
@@ -1364,11 +1364,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
- "lastModified": 1775132067,
- "narHash": "sha256-JFcGvXwV9O55bUDY9MilD2+/qUPqYg9IHsdH6oJzCGw=",
+ "lastModified": 1775220334,
+ "narHash": "sha256-IOF5iEoYyx9rMGh5lGH53yaHkaqEFX7P0VPSXzsXDmM=",
"owner": "sxyazi",
"repo": "yazi",
- "rev": "86b8f0779ca5406fb6fead8c248d3ab23c9b1db0",
+ "rev": "0cedbd9c7bbc44b23d54306b3effa3fa68eacdd8",
"type": "github"
},
"original": {
diff --git a/hm/dotfiles/fastfetch/config.jsonc b/hm/dotfiles/fastfetch/config.jsonc
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/fastfetch/config.jsonc
+++ /dev/null
diff --git a/hm/dotfiles/fsel/config.toml b/hm/dotfiles/fsel/config.toml
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/fsel/config.toml
+++ /dev/null
diff --git a/hm/dotfiles/mako/config b/hm/dotfiles/mako/config
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/mako/config
+++ /dev/null
diff --git a/hm/dotfiles/otter/config.toml b/hm/dotfiles/otter/config.toml
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/otter/config.toml
+++ /dev/null
diff --git a/hm/dotfiles/waybar/config.jsonc b/hm/dotfiles/waybar/config.jsonc
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/waybar/config.jsonc
+++ /dev/null
diff --git a/hm/dotfiles/waybar/style.css b/hm/dotfiles/waybar/style.css
deleted file mode 100644
index e69de29..0000000
--- a/hm/dotfiles/waybar/style.css
+++ /dev/null
diff --git a/hm/env/awww.nix b/hm/env/awww.nix
index a25f4e6..3742e24 100644
--- a/hm/env/awww.nix
+++ b/hm/env/awww.nix
@@ -5,8 +5,6 @@ in
{
options.hm.env.awww.enable = lib.mkEnableOption "enables awww";
config = lib.mkIf cfg.enable {
- services.swww = {
- enable = true;
- };
+ services.awww.enable = true;
};
}
diff --git a/hm/env/fsel.nix b/hm/env/fsel.nix
index 636cb3c..faa7f24 100644
--- a/hm/env/fsel.nix
+++ b/hm/env/fsel.nix
@@ -12,7 +12,5 @@ in
options.hm.env.fsel.enable = lib.mkEnableOption "enables fsel";
config = lib.mkIf cfg.enable {
home.packages = [ inputs.fsel.packages.${pkgs.stdenv.hostPlatform.system}.default ];
- xdg.configFile."fsel/config.toml".source =
- config.lib.file.mkOutOfStoreSymlink "../dotfiles/fsel/config.toml";
};
}
diff --git a/hm/env/fuzzel.nix b/hm/env/fuzzel.nix
index 8d4462f..4dfb0fb 100644
--- a/hm/env/fuzzel.nix
+++ b/hm/env/fuzzel.nix
@@ -5,8 +5,6 @@ in
{
options.hm.env.fuzzel.enable = lib.mkEnableOption "enables fuzzel";
config = lib.mkIf cfg.enable {
- programs.fuzzel = {
- enable = true;
- };
+ programs.fuzzel.enable = true;
};
}
diff --git a/hm/env/mako.nix b/hm/env/mako.nix
index 3adc5d7..2a22029 100644
--- a/hm/env/mako.nix
+++ b/hm/env/mako.nix
@@ -5,11 +5,6 @@ in
{
options.hm.env.mako.enable = lib.mkEnableOption "enables mako notifications";
config = lib.mkIf cfg.enable {
- services.mako = {
- enable = true;
- };
- xdg.configFile."mako/config".source = lib.mkForce (
- config.lib.file.mkOutOfStoreSymlink "../dotfiles/mako/config"
- );
+ services.mako.enable = true;
};
}
diff --git a/hm/env/otter.nix b/hm/env/otter.nix
index 966bbb7..7e7c72e 100644
--- a/hm/env/otter.nix
+++ b/hm/env/otter.nix
@@ -12,11 +12,6 @@ in
options.hm.env.otter.enable = lib.mkEnableOption "enables otter launcher";
config = lib.mkIf cfg.enable {
- programs.otter-launcher = {
- enable = true;
- };
- xdg.configFile."otter-launcher/config.toml".source = lib.mkForce (
- config.lib.file.mkOutOfStoreSymlink "../dotfiles/otter/config.toml"
- );
+ programs.otter-launcher.enable = true;
};
}
diff --git a/hm/env/screenshot.nix b/hm/env/screenshot.nix
index eac2fe7..b4d87e6 100644
--- a/hm/env/screenshot.nix
+++ b/hm/env/screenshot.nix
@@ -3,14 +3,14 @@
lib,
pkgs,
...
-}: let
+}:
+let
cfg = config.hm.env.screenshot;
-in {
+in
+{
options.hm.env.screenshot.enable = lib.mkEnableOption "enables screenshot utilities";
config = lib.mkIf cfg.enable {
- programs.satty = {
- enable = true;
- };
+ programs.satty.enable = true;
home.packages = with pkgs; [
wayfreeze
grim
diff --git a/hm/env/waybar.nix b/hm/env/waybar.nix
index 6176216..970c29a 100644
--- a/hm/env/waybar.nix
+++ b/hm/env/waybar.nix
@@ -16,11 +16,5 @@ in
targets = [ "graphical-session.target" ];
};
};
- xdg.configFile."waybar/config.jsonc".source = lib.mkForce (
- config.lib.file.mkOutOfStoreSymlink "../dotfiles/waybar/config.jsonc"
- );
- xdg.configFile."waybar/style.css".source = lib.mkForce (
- config.lib.file.mkOutOfStoreSymlink "../dotfiles/waybar/style.css"
- );
};
}
diff --git a/hm/soft/browser.nix b/hm/soft/browser.nix
index a66b733..b53804e 100644
--- a/hm/soft/browser.nix
+++ b/hm/soft/browser.nix
@@ -1,196 +1,191 @@
{
config,
lib,
- pkgs,
...
}:
let
cfg = config.hm.soft.browser;
in
{
- options.hm.soft.browser = {
- librewolf.enable = lib.mkEnableOption "LibreWolf browser";
- brave.enable = lib.mkEnableOption "Brave browser";
+ options.hm.soft.browser.librewolf.enable = lib.mkEnableOption "Enables the librewolf browser";
+ config = lib.mkIf cfg.librewolf.enable {
+ programs.librewolf = {
+ enable = true;
+ # policies = {
+ # DisableTelemetry = true;
+ # DisableFirefoxStudies = true;
+ # DontCheckDefaultBrowser = true;
+ # SearchEngines = {
+ # Remove = [
+ # "Google"
+ # "Bing"
+ # "Perplexity"
+ # "Wikipedia (en)"
+ # "DuckDuckGo"
+ # "DuckDuckGo Lite"
+ # "Searx Belgium"
+ # "MetaGer"
+ # "Startpage"
+ # "Mojeek"
+ # ];
+ # PreventInstalls = true;
+ # };
+ # };
+ #
+ # profiles = {
+ # main = {
+ # id = 0;
+ # name = "main";
+ # isDefault = true;
+ # search = {
+ # force = true;
+ # default = "OmniSearch";
+ # order = [
+ # "OmniSearch"
+ # "SearXNG"
+ # ];
+ # engines = {
+ # "google".metaData.hidden = true;
+ # "bing".metaData.hidden = true;
+ # "ddg".metaData.hidden = true;
+ # "perplexity".metaData.hidden = true;
+ # "wikipedia".metaData.hidden = true;
+ # "policy-DuckDuckGo Lite".metaData.hidden = true;
+ # "policy-Searx Belgium".metaData.hidden = true;
+ # "policy-MetaGer".metaData.hidden = true;
+ # "policy-Startpage".metaData.hidden = true;
+ # "policy-Mojeek".metaData.hidden = true;
+ #
+ # "OmniSearch" = {
+ # urls = [ { template = "http://127.0.0.1:8087/search?q={searchTerms}"; } ];
+ # definedAliases = [ "@o" ];
+ # };
+ # "SearXNG" = {
+ # urls = [ { template = "https://sxng.violets-purgatory.dev/search?q={searchTerms}"; } ];
+ # icon = "https://sxng.violets-purgatory.dev/favicon.ico";
+ # definedAliases = [ "@s" ];
+ # };
+ # "NixOS Packages" = {
+ # urls = [ { template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; } ];
+ # icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ # definedAliases = [ "@np" ];
+ # };
+ # "NixOS Options" = {
+ # urls = [ { template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; } ];
+ # icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ # definedAliases = [ "@no" ];
+ # };
+ # "Home Manager Options" = {
+ # urls = [
+ # { template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master"; }
+ # ];
+ # icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ # definedAliases = [ "@hm" ];
+ # };
+ # };
+ # };
+ # extensions = {
+ # force = true;
+ # packages =
+ # (with pkgs.nur.repos.rycee.firefox-addons; [
+ # vimium
+ # sidebery
+ # buster-captcha-solver
+ # sponsorblock
+ # dearrow
+ # darkreader
+ # i-dont-care-about-cookies
+ # keepassxc-browser
+ # ])
+ # };
+ # settings = {
+ # "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ #
+ # "identity.fxaccounts.enabled" = true;
+ # "extensions.autoDisableScopes" = 0;
+ # # --- Privacy & Fingerprinting ---
+ # "privacy.resistFingerprinting" = true;
+ # "privacy.fingerprintingProtection" = true;
+ # "privacy.query_stripping.enabled" = true;
+ # "privacy.query_stripping.enabled.pbmode" = true;
+ # "privacy.trackingprotection.enabled" = true;
+ # "privacy.trackingprotection.socialtracking.enabled" = true;
+ # "privacy.trackingprotection.emailtracking.enabled" = true;
+ # "privacy.bounceTrackingProtection.mode" = 1;
+ # "privacy.annotate_channels.strict_list.enabled" = true;
+ # "privacy.clearOnShutdown_v2.formdata" = true;
+ #
+ # # --- Data Collection & Form Security ---
+ # "dom.forms.autocomplete.formautofill" = false;
+ # "signon.management.page.breach-alerts.enabled" = false;
+ # "browser.translations.enable" = false;
+ # "browser.region.update.enabled" = false;
+ #
+ # # --- Search & URL Bar ---
+ # "browser.urlbar.shortcuts.bookmarks" = false;
+ # "browser.urlbar.shortcuts.history" = false;
+ # "browser.urlbar.shortcuts.tabs" = false;
+ # "browser.urlbar.shortcuts.actions" = false;
+ # "browser.urlbar.showSearchTerms.enabled" = false;
+ #
+ # # --- Networking & Performance ---
+ # "network.proxy.type" = 0;
+ # "network.prefetch-next" = false;
+ # "network.predictor.enabled" = false;
+ # "network.http.speculative-parallel-limit" = 0;
+ # "network.early-hints.preconnect.max_connections" = 0;
+ # "network.connectivity-service.enabled" = false;
+ # "network.captive-portal-service.enabled" = false;
+ # "security.tls.enable_0rtt_data" = false;
+ #
+ # # --- Interface & De-clutter ---
+ # "browser.startup.page" = 3;
+ # "browser.startup.homepage" = "chrome://browser/content/blanktab.html";
+ # "browser.newtabpage.enabled" = false;
+ # "browser.newtabpage.activity-stream.showSearch" = false;
+ # "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false;
+ # "browser.bookmarks.restore_default_bookmarks" = false;
+ # "media.hardwaremediakeys.enabled" = false;
+ # "media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
+ # "layout.spellcheckDefault" = 0;
+ #
+ # # --- Safe Browsing (Privacy Trade-off) ---
+ # "browser.safebrowsing.downloads.remote.enabled" = false;
+ # "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
+ # "browser.safebrowsing.downloads.remote.block_uncommon" = false;
+ # };
+ # userChrome = ''
+ # #TabsToolbar { visibility: collapse !important; }
+ # #sidebar-header { display: none !important; }
+ # #toolbar-menubar { display: none !important; }
+ # '';
+ # };
+ # privacy = {
+ # id = 1;
+ # name = "I2P";
+ # settings = {
+ # "javascript.enabled" = false;
+ # "dom.visibility_control.enabled" = false;
+ #
+ # "media.peerconnection.enabled" = false;
+ # "network.proxy.type" = 1;
+ #
+ # "network.proxy.http" = "127.0.0.1";
+ # "network.proxy.http_port" = 4444;
+ #
+ # "network.proxy.ssl" = "127.0.0.1";
+ # "network.proxy.ssl_port" = 4444;
+ #
+ # "network.proxy.no_proxies_on" = "localhost, 127.0.0.1";
+ #
+ # "network.http.proxy.pipelining" = true;
+ # "network.proxy.share_proxy_settings" = true;
+ #
+ # "network.prefetch-next" = false;
+ # "network.dns.disablePrefetch" = true;
+ # };
+ # };
+ # };
+ };
};
- config = lib.mkMerge [
- (lib.mkIf cfg.librewolf.enable {
- programs.librewolf = {
- enable = true;
- policies = {
- DisableTelemetry = true;
- DisableFirefoxStudies = true;
- DontCheckDefaultBrowser = true;
- SearchEngines = {
- Remove = [
- "Google"
- "Bing"
- "Perplexity"
- "Wikipedia (en)"
- "DuckDuckGo"
- "DuckDuckGo Lite"
- "Searx Belgium"
- "MetaGer"
- "Startpage"
- "Mojeek"
- ];
- PreventInstalls = true;
- };
- };
-
- profiles = {
- main = {
- id = 0;
- name = "main";
- isDefault = true;
- search = {
- force = true;
- default = "OmniSearch";
- order = [
- "OmniSearch"
- "SearXNG"
- ];
- engines = {
- "google".metaData.hidden = true;
- "bing".metaData.hidden = true;
- "ddg".metaData.hidden = true;
- "perplexity".metaData.hidden = true;
- "wikipedia".metaData.hidden = true;
- "policy-DuckDuckGo Lite".metaData.hidden = true;
- "policy-Searx Belgium".metaData.hidden = true;
- "policy-MetaGer".metaData.hidden = true;
- "policy-Startpage".metaData.hidden = true;
- "policy-Mojeek".metaData.hidden = true;
-
- "OmniSearch" = {
- urls = [ { template = "http://127.0.0.1:8087/search?q={searchTerms}"; } ];
- definedAliases = [ "@o" ];
- };
- "SearXNG" = {
- urls = [ { template = "https://sxng.violets-purgatory.dev/search?q={searchTerms}"; } ];
- icon = "https://sxng.violets-purgatory.dev/favicon.ico";
- definedAliases = [ "@s" ];
- };
- "NixOS Packages" = {
- urls = [ { template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; } ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@np" ];
- };
- "NixOS Options" = {
- urls = [ { template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; } ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@no" ];
- };
- "Home Manager Options" = {
- urls = [
- { template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master"; }
- ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@hm" ];
- };
- };
- };
- extensions = {
- force = true;
- packages = with pkgs.nur.repos.rycee.firefox-addons; [
- vimium
- sidebery
- buster-captcha-solver
- sponsorblock
- dearrow
- darkreader
- i-dont-care-about-cookies
- keepassxc-browser
- ];
- };
- settings = {
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
-
- "identity.fxaccounts.enabled" = true;
- "extensions.autoDisableScopes" = 0;
- # --- Privacy & Fingerprinting ---
- "privacy.resistFingerprinting" = true;
- "privacy.fingerprintingProtection" = true;
- "privacy.query_stripping.enabled" = true;
- "privacy.query_stripping.enabled.pbmode" = true;
- "privacy.trackingprotection.enabled" = true;
- "privacy.trackingprotection.socialtracking.enabled" = true;
- "privacy.trackingprotection.emailtracking.enabled" = true;
- "privacy.bounceTrackingProtection.mode" = 1;
- "privacy.annotate_channels.strict_list.enabled" = true;
- "privacy.clearOnShutdown_v2.formdata" = true;
-
- # --- Data Collection & Form Security ---
- "dom.forms.autocomplete.formautofill" = false;
- "signon.management.page.breach-alerts.enabled" = false;
- "browser.translations.enable" = false;
- "browser.region.update.enabled" = false;
-
- # --- Search & URL Bar ---
- "browser.urlbar.shortcuts.bookmarks" = false;
- "browser.urlbar.shortcuts.history" = false;
- "browser.urlbar.shortcuts.tabs" = false;
- "browser.urlbar.shortcuts.actions" = false;
- "browser.urlbar.showSearchTerms.enabled" = false;
-
- # --- Networking & Performance ---
- "network.proxy.type" = 0;
- "network.prefetch-next" = false;
- "network.predictor.enabled" = false;
- "network.http.speculative-parallel-limit" = 0;
- "network.early-hints.preconnect.max_connections" = 0;
- "network.connectivity-service.enabled" = false;
- "network.captive-portal-service.enabled" = false;
- "security.tls.enable_0rtt_data" = false;
-
- # --- Interface & De-clutter ---
- "browser.startup.page" = 3;
- "browser.startup.homepage" = "chrome://browser/content/blanktab.html";
- "browser.newtabpage.enabled" = false;
- "browser.newtabpage.activity-stream.showSearch" = false;
- "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false;
- "browser.bookmarks.restore_default_bookmarks" = false;
- "media.hardwaremediakeys.enabled" = false;
- "media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
- "layout.spellcheckDefault" = 0;
-
- # --- Safe Browsing (Privacy Trade-off) ---
- "browser.safebrowsing.downloads.remote.enabled" = false;
- "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
- "browser.safebrowsing.downloads.remote.block_uncommon" = false;
- };
- userChrome = ''
- #TabsToolbar { visibility: collapse !important; }
- #sidebar-header { display: none !important; }
- #toolbar-menubar { display: none !important; }
- '';
- };
- privacy = {
- id = 1;
- name = "I2P";
- settings = {
- "media.peerconnection.enabled" = false;
- "network.proxy.type" = 1;
-
- "network.proxy.http" = "127.0.0.1";
- "network.proxy.http_port" = 4444;
-
- "network.proxy.ssl" = "127.0.0.1";
- "network.proxy.ssl_port" = 4444;
-
- "network.proxy.no_proxies_on" = "localhost, 127.0.0.1";
-
- "network.http.proxy.pipelining" = true;
- "network.proxy.share_proxy_settings" = true;
-
- "network.prefetch-next" = false;
- "network.dns.disablePrefetch" = true;
- };
- };
- };
- };
- })
- (lib.mkIf cfg.brave.enable {
- home.packages = [ pkgs.brave ];
- })
- ];
}
diff --git a/hm/soft/email.nix b/hm/soft/email.nix
index 869c4ed..33c8f34 100644
--- a/hm/soft/email.nix
+++ b/hm/soft/email.nix
@@ -1,53 +1,18 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
+{ config, lib, ... }:
let
cfg = config.hm.soft.email;
in
{
- options.hm.soft.email = {
- thunderbird.enable = lib.mkEnableOption "thunderbird config";
- evolution.enable = lib.mkEnableOption "evolution config";
- };
- config = lib.mkMerge [
- {
- accounts.email.accounts.disroot = {
- primary = true;
- address = "adikro@disroot.org";
- userName = "adikro@disroot.org";
- realName = "adi";
-
- imap = {
- host = "disroot.org";
- port = 993;
- tls.enable = true;
- };
- smtp = {
- host = "disroot.org";
- port = 465;
- tls.enable = true;
+ options.hm.soft.email.thunderbird.enable = lib.mkEnableOption "thunderbird config";
+ config = lib.mkIf cfg.thunderbird.enable {
+ programs.thunderbird = {
+ enable = true;
+ profiles.main = {
+ isDefault = true;
+ settings = {
+ "network.proxy.type" = 0;
};
-
- thunderbird.enable = cfg.thunderbird.enable;
};
- }
- (lib.mkIf cfg.thunderbird.enable {
- programs.thunderbird = {
- enable = true;
- profiles.main = {
- isDefault = true;
- settings = {
- "network.proxy.type" = 0;
- };
- };
- };
- })
-
- (lib.mkIf cfg.evolution.enable {
- home.packages = [ pkgs.evolution ];
- })
- ];
+ };
+ };
}
diff --git a/hm/soft/media.nix b/hm/soft/media.nix
index de70715..350517b 100644
--- a/hm/soft/media.nix
+++ b/hm/soft/media.nix
@@ -11,6 +11,7 @@ in
options.hm.soft.media.enable = lib.mkEnableOption "media cli tools";
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
+ stremio-linux-shell
czkawka
nsxiv
pinta
diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix
index f12c54b..47f2704 100644
--- a/hosts/desktop/configuration.nix
+++ b/hosts/desktop/configuration.nix
@@ -1,8 +1,4 @@
-{
- config,
- username,
- ...
-}:
+{ config, username, ... }:
{
system.stateVersion = "25.05";
@@ -60,7 +56,10 @@
srv = {
bluetooth.enable = true;
yggdrasil.enable = true;
- i2p.enable = true;
+ i2p = {
+ enable = true;
+ enableBrowser = true;
+ };
files = {
enable = true;
localsend.enable = true;
diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix
index c1f1517..e8581bc 100644
--- a/hosts/desktop/home.nix
+++ b/hosts/desktop/home.nix
@@ -47,10 +47,7 @@
};
soft = {
sioyek.enable = true;
- browser = {
- librewolf.enable = true;
- brave.enable = true;
- };
+ browser.librewolf.enable = true;
email.thunderbird.enable = true;
media.enable = true;
mpv.enable = true;
diff --git a/os/srv/i2p.nix b/os/srv/i2p.nix
index 8850795..f2c27b1 100644
--- a/os/srv/i2p.nix
+++ b/os/srv/i2p.nix
@@ -1,32 +1,57 @@
{
config,
lib,
+ pkgs,
+ username,
...
}:
let
cfg = config.os.srv.i2p;
in
{
- options.os.srv.i2p.enable = lib.mkEnableOption "enables i2pd";
+ options.os.srv.i2p = {
+ enable = lib.mkEnableOption "enables i2pd";
+ enableBrowser = lib.mkEnableOption "enables mullvad browser and creates a desktop entry";
+ };
- config = lib.mkIf cfg.enable {
- services.i2pd = {
- enable = true;
- upnp.enable = true;
- bandwidth = 1024;
- ssu2 = {
+ config = lib.mkMerge [
+ (lib.mkIf cfg.enable {
+ services.i2pd = {
enable = true;
- # published = true;
+ bandwidth = 1024;
+ logLevel = "info";
+ upnp.enable = true;
+ proto = {
+ i2pControl.enable = true;
+ http.enable = true;
+ httpProxy.enable = true;
+ socksProxy = {
+ enable = true;
+ outproxyEnable = true;
+ };
+ sam.enable = true;
+ };
+ yggdrasil = {
+ enable = true;
+ # address = "";
+ };
+ ssu2 = {
+ enable = true;
+ # published = true;
+ };
};
- reseed.verify = true;
- # proto = {
- # socksProxy = {
- # enable = true;
- # port = 4445;
- # };
- # i2pControl.enable = true;
- # };
- yggdrasil.enable = true;
- };
- };
+ })
+ (lib.mkIf cfg.enableBrowser {
+ home-manager.users.${username} = {
+ home.packages = [ pkgs.mullvad-browser ];
+ xdg.desktopEntries = {
+ i2p-browser = {
+ name = "i2p Browser";
+ genericName = "Web Browser";
+ exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -p i2p";
+ };
+ };
+ };
+ })
+ ];
}
diff --git a/os/srv/srv.nix b/os/srv/srv.nix
index cfd4cfb..80b6296 100644
--- a/os/srv/srv.nix
+++ b/os/srv/srv.nix
@@ -2,6 +2,7 @@
{
imports = [
./syncthing.nix
+ ./tor.nix
./sops.nix
./bluetooth.nix
./compat.nix
diff --git a/os/srv/tor.nix b/os/srv/tor.nix
new file mode 100644
index 0000000..a33f486
--- /dev/null
+++ b/os/srv/tor.nix
@@ -0,0 +1,15 @@
+{
+ config,
+ lib,
+ ...
+}:
+let
+ cfg = config.os.srv.tor;
+in
+{
+ options.os.srv.tor.enable = lib.mkEnableOption "enables tor services and browser";
+
+ config = lib.mkIf cfg.enable {
+
+ };
+}