diff --git a/modules/home/programs/firefox.nix b/modules/home/programs/firefox.nix index e27450a..2f54cc4 100644 --- a/modules/home/programs/firefox.nix +++ b/modules/home/programs/firefox.nix @@ -117,6 +117,7 @@ in "browser.uiCustomization.state" = uiState; "browser.startup.homepage" = lib.mkIf (cfg.homepage != null) cfg.homepage; "sidebar.position_start" = false; + "browser.toolbars.bookmarks.visibility" = "never"; "browser.bookmarks.restore_default_bookmarks" = false; "browser.bookmarks.file" = ""; "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; diff --git a/modules/home/services/ntfy-client.nix b/modules/home/services/ntfy-client.nix new file mode 100644 index 0000000..e7e08e5 --- /dev/null +++ b/modules/home/services/ntfy-client.nix @@ -0,0 +1,73 @@ +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.custom.services.ntfy-client; + + notifyScript = pkgs.writeShellApplication { + name = "ntfy-notify"; + runtimeInputs = [ pkgs.libnotify ]; + text = '' + case "$NTFY_PRIORITY" in + 1|2) + urgency=low + ;; + 3) + urgency=normal + ;; + 4|5) + urgency=critical + ;; + esac + + notify-send \ + --app-name="ntfy - $NTFY_TOPIC" \ + --urgency="$urgency" \ + "$NTFY_TITLE" \ + "$NTFY_MESSAGE" + ''; + }; +in +{ + options.custom.services.ntfy-client = { + enable = lib.mkEnableOption ""; + topic = lib.mkOption { + type = lib.types.nonEmptyStr; + default = "splitleaf"; + }; + server = lib.mkOption { + type = lib.types.nonEmptyStr; + default = "https://ntfy.sh"; + }; + }; + + config = lib.mkIf cfg.enable { + xdg.configFile."ntfy/client.yml".source = + { + default-host = cfg.server; + subscribe = lib.singleton { + inherit (cfg) topic; + command = lib.getExe notifyScript; + }; + } + |> (pkgs.formats.yaml { }).generate "ntfy-client.yml"; + + systemd.user.services.ntfy-client = { + Install.WantedBy = [ "graphical-session.target" ]; + Unit = { + Description = "ntfy client subscriber"; + PartOf = [ "graphical-session.target" ]; + After = [ "graphical-session.target" ]; + X-Restart-Triggers = [ config.xdg.configFile."ntfy/client.yml".source ]; + }; + Service = { + ExecStart = "${lib.getExe pkgs.ntfy-sh} subscribe --from-config"; + Restart = "on-failure"; + RestartSec = 10; + }; + }; + }; +} diff --git a/modules/nixos/web-services/searxng.nix b/modules/nixos/web-services/searxng.nix index 47429b7..ff83745 100644 --- a/modules/nixos/web-services/searxng.nix +++ b/modules/nixos/web-services/searxng.nix @@ -37,9 +37,10 @@ in hostnames = { remove = [ "(.*\.)?nixos.wiki$" ]; high_priority = [ - "(.*\.)?reddit.com$" + "(.*\.)?github.com$" "(.*\.)?nixos.org$" "(.*\.)archlinux.org$" + "(.*\.)?reddit.com$" ]; }; }; diff --git a/users/seb/home.nix b/users/seb/home.nix index b0ae7aa..6754862 100644 --- a/users/seb/home.nix +++ b/users/seb/home.nix @@ -21,6 +21,8 @@ desktop.hyprland.noctalia.enable = true; + services.ntfy-client.enable = true; + programs = { shell = { zsh.enable = true;