{ lib , config , ... }: with lib; let cfg = config.my.profiles.personal; in { options.my.profiles.personal.enable = mkEnableOption "personal profile"; config = mkIf cfg.enable { my = { services = { openconnect.enable = true; synology-drive.enable = true; }; programs = { ssh.includeSecrets = [ ../../secrets/ssh-home.age ]; git.signing = mkDefault true; hub.enable = mkDefault true; firefox.arkenfox = { enable = mkDefault true; overrides = mkDefault { ## arkenfox overrides # automatic search "keyword.enabled" = true; "browser.search.suggest.enabled" = true; "browser.urlbar.suggest.searches" = true; # startup page "browser.startup.page" = 0; # drm "media.eme.enabled" = true; # sanitisation "privacy.clearOnShutdown.history" = false; # disable letterboxing "privacy.resistFingerprinting.letterboxing" = false; ## OTHER # Dont show warning when accessing about:config "browser.aboutConfig.showWarning" = false; # Hide bookmarks "browser.toolbars.bookmarks.visibility" = "never"; # Smooth scrolling "general.smoothScroll.lines.durationMaxMS" = 125; "general.smoothScroll.lines.durationMinMS" = 125; "general.smoothScroll.mouseWheel.durationMaxMS" = 200; "general.smoothScroll.mouseWheel.durationMinMS" = 100; "general.smoothScroll.msdPhysics.enabled" = true; "general.smoothScroll.other.durationMaxMS" = 125; "general.smoothScroll.other.durationMinMS" = 125; "general.smoothScroll.pages.durationMaxMS" = 125; "general.smoothScroll.pages.durationMinMS" = 125; "mousewheel.min_line_scroll_amount" = 40; "mousewheel.system_scroll_override_on_root_content.enabled" = true; "mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175; "mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175; "toolkit.scrollbox.horizontalScrollDistance" = 6; "toolkit.scrollbox.verticalScrollDistance" = 2; }; }; }; }; nix.buildMachines = [{ hostName = "builder"; systems = [ "aarch64-linux" "x86_64-linux" ]; protocol = "ssh-ng"; maxJobs = 1; speedFactor = 1; supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; mandatoryFeatures = [ ]; }]; nix.distributedBuilds = true; # optional, useful when the builder has a faster internet connection than yours nix.extraOptions = '' builders-use-substitutes = true ''; age.secrets."ssh-builder" = { file = ../../secrets/ssh-builder.age; owner = "0"; path = "/root/.ssh/config"; }; }; }