From 9a18c250df8e9fcc6cff070e9eecaf9d2747e27b Mon Sep 17 00:00:00 2001 From: punkfairie Date: Sat, 31 May 2025 16:49:12 -0700 Subject: [PATCH] feat: floorp --- flake/config.nix | 4 --- modules/darwin/profiles.nix | 1 + modules/darwin/programs/default.nix | 1 + modules/darwin/programs/floorp.nix | 13 ++++++++++ modules/home/profiles.nix | 1 + modules/home/programs/default.nix | 1 + .../home/programs/floorp.nix | 25 ++++++++++++++----- overlays/firefox-addons/default.nix | 8 +++--- 8 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 modules/darwin/programs/floorp.nix rename snowflake/modules/home/programs/gui/floorp/default.nix => modules/home/programs/floorp.nix (96%) diff --git a/flake/config.nix b/flake/config.nix index fc3d862..9c707ed 100644 --- a/flake/config.nix +++ b/flake/config.nix @@ -15,10 +15,6 @@ # TODO: Move these to custom modules overlays = [ - (import ./overlays/firefox-addons { - inherit (inputs.nixpkgs) lib; - inherit inputs; - }) (import ./overlays/jetbrains.nix {inherit inputs;}) (import ./overlays/wezterm.nix {inherit inputs;}) ]; diff --git a/modules/darwin/profiles.nix b/modules/darwin/profiles.nix index e2abc74..03b7757 100644 --- a/modules/darwin/profiles.nix +++ b/modules/darwin/profiles.nix @@ -4,6 +4,7 @@ in { marleyos = { programs = { fish = enabled; + floorp = enabled; nh = enabled; wezterm = enabled; wireguard = enabled; diff --git a/modules/darwin/programs/default.nix b/modules/darwin/programs/default.nix index 04d920e..e60b321 100644 --- a/modules/darwin/programs/default.nix +++ b/modules/darwin/programs/default.nix @@ -1,6 +1,7 @@ { imports = [ ./fish.nix + ./floorp.nix ./nh.nix ./wezterm.nix ./wireguard.nix diff --git a/modules/darwin/programs/floorp.nix b/modules/darwin/programs/floorp.nix new file mode 100644 index 0000000..617779f --- /dev/null +++ b/modules/darwin/programs/floorp.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + cfg = config.marleyos.programs.floorp; +in { + options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp"; + + config = lib.mkIf cfg.enable { + homebrew.casks = ["floorp"]; + }; +} diff --git a/modules/home/profiles.nix b/modules/home/profiles.nix index 0995502..a773cb1 100644 --- a/modules/home/profiles.nix +++ b/modules/home/profiles.nix @@ -51,6 +51,7 @@ in { CEmu = enabled; cheat = enabled; discord = enabled; + floorp = enabled; fzf = enabled; gh = enabled; glow = enabled; diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix index 3b0a531..983f732 100644 --- a/modules/home/programs/default.nix +++ b/modules/home/programs/default.nix @@ -13,6 +13,7 @@ ./eza.nix ./figlet.nix ./fish.nix + ./floorp.nix ./fuzzel.nix ./fzf.nix ./gh.nix diff --git a/snowflake/modules/home/programs/gui/floorp/default.nix b/modules/home/programs/floorp.nix similarity index 96% rename from snowflake/modules/home/programs/gui/floorp/default.nix rename to modules/home/programs/floorp.nix index 6551698..0b669ab 100644 --- a/snowflake/modules/home/programs/gui/floorp/default.nix +++ b/modules/home/programs/floorp.nix @@ -1,15 +1,27 @@ { - lib, + marleylib, config, + osConfig, + lib, pkgs, ... }: let + inherit (marleylib.module) mkEnableOption'; + cfg = config.marleyos.programs.floorp; + osCfg = osConfig.marleyos.programs.floorp.enable or false; in { - options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp"; + options.marleyos.programs.floorp.enable = mkEnableOption' "floorp" osCfg; config = lib.mkIf cfg.enable { - # FIXME: switch to this once it's available + nixpkgs.overlays = [ + (import ../../../overlays/firefox-addons { + inherit lib; + inherit pkgs; + }) + ]; + + # FIXME: switch to this once upgraded to 25.05 # stylix.targets.floorp = { # enable = true; # colorTheme.enable = true; @@ -18,9 +30,10 @@ in { programs.floorp = { enable = true; + package = lib.mkIf pkgs.stdenv.isDarwin pkgs.emptyDirectory; profiles = { - "${config.marleyos.my.name}" = { + "${config.marleycfg.my.name}" = { extensions = (with pkgs.nur.repos.rycee.firefox-addons; [ archivebox-exporter @@ -75,7 +88,7 @@ in { # Quieter Fox - - - - - - - - - - - - - - - - - - - - - - - - - - - # Recommendations "extensions.getAddons.showPane" = false; # uses google analytics - "extensions.htmlaboutaddons.reccomendations.enabled" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; "browser.discovery.enabled" = false; "browser.shopping.experience2023.enabled" = false; @@ -177,7 +190,7 @@ in { "security.ssl.treat_unsafe_negotiation_as_broken" = true; "browser.xul.error_pages.expert_bad_cert" = true; - # Referers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # Referrers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "network.http.referer.XOriginTrimmingPolicy" = 2; # Containers - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/overlays/firefox-addons/default.nix b/overlays/firefox-addons/default.nix index 6ac15b2..901f1fd 100644 --- a/overlays/firefox-addons/default.nix +++ b/overlays/firefox-addons/default.nix @@ -1,11 +1,11 @@ { lib, - inputs, + pkgs, ... }: let buildFirefoxXpiAddon = lib.makeOverridable ({ - stdenv ? inputs.nixpkgs.stdenv, - fetchurl ? inputs.nixpkgs.fetchurl, + stdenv ? pkgs.stdenv, + fetchurl ? pkgs.fetchurl, pname, version, addonId, @@ -35,7 +35,7 @@ in _: prev: { marleyos = - prev.marleyos + (prev.marleyos or {}) // { firefox-addons = import ./addons.nix { inherit buildFirefoxXpiAddon lib;