diff --git a/apps/firefox/home.nix b/apps/firefox/home.nix index e69de29..646bc4d 100644 --- a/apps/firefox/home.nix +++ b/apps/firefox/home.nix @@ -0,0 +1,113 @@ +{ + programs.firefox = { + enable = true; + languagePacks = [ + "en-US" + ]; + profiles = { + hakase = { + search.force = true; + isDefault = true; + search.default = "ddg"; + settings = { + "browser.contentblocking.category" = "strict"; + "extensions.pocket.enabled" = false; + "extensions.screenshots.disabled" = true; + "browser.topsites.contile.enabled" = false; + "browser.formfill.enable" = false; + "browser.search.suggest.enabled" = false; + "browser.search.suggest.enabled.private" = false; + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.showSearchSuggestionsFirst" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.feeds.snippets" = false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.system.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.startup.homepage" = "https://dash.sakamoto.dev"; + "browser.newtabpage.pinned" = [ + { + title = "Dashboard"; + url = "https://dash.sakamoto.dev"; + } + ]; + }; + bookmarks = { + force = false; + settings = [ + { + toolbar = true; + bookmarks = [ + { + name = "Home Manager"; + url = "https://mynixos.com/home-manager/options/programs"; + } + { + name = "YouTube"; + url = "https://youtube.com"; + } + ]; + } + ]; + }; + }; + }; + + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFirefoxScreenshots = true; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab" + DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" + SearchBar = "unified"; # alternative: "separate" + + /* + ---- EXTENSIONS ---- + */ + # Check about:support for extension/add-on ID strings. + # Valid strings for installation_mode are "allowed", "blocked", + # "force_installed" and "normal_installed". + ExtensionSettings = { + "*".installation_mode = "allowed"; + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4493940/bitwarden_password_manager-2025.5.0.xpi"; + installation_mode = "force_installed"; + }; + "tridactyl.vim@cmcaine.co.uk" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4405615/tridactyl_vim-1.24.2.xpi"; + installation_mode = "force_installed"; + }; + # Privacy Badger: + # "jid1-MnnxcxisBPnSXQ@jetpack" = { + # install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; + # installation_mode = "force_installed"; + # }; + # 1Password: + # "{d634138d-c276-4fc8-924b-40a0ea21d284}" = { + # install_url = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi"; + # installation_mode = "force_installed"; + # }; + }; + }; + }; +} diff --git a/apps/hyprland/home.nix b/apps/hyprland/home.nix index 4561767..1b7f67d 100644 --- a/apps/hyprland/home.nix +++ b/apps/hyprland/home.nix @@ -1,7 +1,6 @@ { - wayland.windowManager.hyprland.settings = { - imports = [ - ./hypr/binds.nix - ]; - }; + imports = [ + ./hypr/binds.nix + ]; + wayland.windowManager.hyprland.enable = true; } diff --git a/apps/hyprland/hypr/binds.nix b/apps/hyprland/hypr/binds.nix index 0d3a606..ebc57f8 100644 --- a/apps/hyprland/hypr/binds.nix +++ b/apps/hyprland/hypr/binds.nix @@ -1,6 +1,13 @@ { - bindd = [ - "SUPER, Return, Open Terminal, exec, ghostty" - "SUPER, Q, Kill active, killactive" - ]; + wayland.windowManager.hyprland.settings = { + bindd = [ + "SUPER, Return, Open Terminal, exec, ghostty" + "SUPER, Q, Kill active, killactive" + + "SUPER, J, Move focus down, movefocus, d" + "SUPER, K, Move focus up, movefocus, u" + "SUPER, H, Move focus left, movefocus, l" + "SUPER, L, Move focus right, movefocus, r" + ]; + }; } diff --git a/modules/system/default.nix b/modules/system/default.nix index 655ef5d..2ce9be5 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -9,6 +9,7 @@ ../../system/version.nix ../../system/fonts.nix ../../system/programs.nix + ../../system/security.nix ]; environment.systemPackages = with pkgs; [ git diff --git a/system/services.nix b/system/services.nix index e4789de..072c11e 100644 --- a/system/services.nix +++ b/system/services.nix @@ -1,8 +1,29 @@ -{pkgs, ...}: { +{ + pkgs, + myConfig, + ... +}: { services = { + greetd = { + enable = true; + settings = { + initial_session = { + command = "${pkgs.hyprland}/bin/Hyprland"; + user = "${myConfig.nixos.username}"; + }; + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland"; + }; + }; + }; + # essentials - openssh.enable = true; + openssh.enable = true; # FIXME: remove when done blueman.enable = true; + + # for encryption support for unfree apps + gnome.gnome-keyring.enable = true; + # Complements printer support printing.enable = true; avahi = {