From d876484ffd6f3acebd8383801ad8e420563d8197 Mon Sep 17 00:00:00 2001 From: Tyler Kelley Date: Tue, 6 Feb 2024 04:30:02 -0600 Subject: [PATCH] Add back proper web-search script --- config/home/packages.nix | 1 + config/scripts/web-search.nix | 43 +++++++++++++++++++++++++++++++++++ config/system/polkit.nix | 17 ++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 config/scripts/web-search.nix diff --git a/config/home/packages.nix b/config/home/packages.nix index 1503059..9b04488 100644 --- a/config/home/packages.nix +++ b/config/home/packages.nix @@ -21,5 +21,6 @@ in { (import ./../scripts/themechange.nix { inherit pkgs; inherit flakeDir; }) (import ./../scripts/theme-selector.nix { inherit pkgs; }) (import ./../scripts/nvidia-offload.nix { inherit pkgs; }) + (import ./../scripts/web-search.nix { inherit pkgs; }) ]; } diff --git a/config/scripts/web-search.nix b/config/scripts/web-search.nix new file mode 100644 index 0000000..069775f --- /dev/null +++ b/config/scripts/web-search.nix @@ -0,0 +1,43 @@ +{ pkgs }: + +pkgs.writeShellScriptBin "web-search" '' + declare -A URLS + + URLS=( + ["🌎 Search"]="https://search.brave.com/search?q=" + ["❄️ Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=" + ["🎞️ YouTube"]="https://www.youtube.com/results?search_query=" + ["🦥 Arch Wiki"]="https://wiki.archlinux.org/title/" + ["🐃 Gentoo Wiki"]="https://wiki.gentoo.org/index.php?title=" + ) + + # List for rofi + gen_list() { + for i in "''${!URLS[@]}" + do + echo "$i" + done + } + + main() { + # Pass the list to rofi + platform=$( (gen_list) | ${pkgs.rofi-wayland}/bin/rofi -dmenu ) + + if [[ -n "$platform" ]]; then + query=$( (echo ) | ${pkgs.rofi-wayland}/bin/rofi -dmenu ) + + if [[ -n "$query" ]]; then + url=''${URLS[$platform]}$query + xdg-open "$url" + else + exit + fi + else + exit + fi + } + + main + + exit 0 +'' diff --git a/config/system/polkit.nix b/config/system/polkit.nix index 90d24e0..0617006 100644 --- a/config/system/polkit.nix +++ b/config/system/polkit.nix @@ -19,4 +19,21 @@ security.polkit.enable = true; + security.polkit.extraConfig = '' + polkit.addRule(function(action, subject) { + if ( + subject.isInGroup("users") + && ( + action.id == "org.freedesktop.login1.reboot" || + action.id == "org.freedesktop.login1.reboot-multiple-sessions" || + action.id == "org.freedesktop.login1.power-off" || + action.id == "org.freedesktop.login1.power-off-multiple-sessions" + ) + ) + { + return polkit.Result.YES; + } + }) + ''; + }