### Install Built Binaries with CMake Source: https://docs.vicinae.com/build Installs the built Vicinae binaries using CMake's install command. This example installs to a user-defined prefix, typically in the home directory. ```bash sudo cmake --install build --prefix "$HOME/.local" ``` -------------------------------- ### Start Vicinae Server Source: https://docs.vicinae.com/quickstart/generic Run this command to start the Vicinae server. This is the most basic way to get the server running. ```bash vicinae server ``` -------------------------------- ### Install Built Binaries with Make Source: https://docs.vicinae.com/build Installs the built Vicinae binaries to standard system directories using the 'make install' command. This requires superuser privileges. ```bash sudo make install ``` -------------------------------- ### Install Terra and Vicinae on Fedora Source: https://docs.vicinae.com/install/repo Install the Terra package repository, then install Vicinae. ```bash sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release sudo dnf install vicinae ``` -------------------------------- ### Install Extension Dependencies Source: https://docs.vicinae.com/extensions/create Install the necessary dependencies for your newly created extension. ```bash npm install ``` -------------------------------- ### Install and Build Extension from Source Source: https://docs.vicinae.com/install-extensions Use these commands to install dependencies and build an extension after downloading its source code. No server restart is needed. ```bash npm install npm run build ``` -------------------------------- ### Install Build Dependencies on Ubuntu Source: https://docs.vicinae.com/build Installs necessary development tools and libraries for building Vicinae on Ubuntu. ```bash apt install -y \ build-essential \ cmake \ ninja-build \ nodejs \ npm \ qt6-base-dev \ qt6-svg-dev \ qt6-wayland-dev \ libqt6svg6 \ libprotobuf-dev \ cmark-gfm \ layer-shell-qt \ liblayershellqtinterface-dev \ libqalculate-dev \ libminizip-dev \ libabsl-dev \ libcmark-gfm-dev \ zlib1g-dev \ qtkeychain-qt6-dev \ librapidfuzz-cpp-dev \ libicu-dev ``` -------------------------------- ### User Configuration File Example Source: https://docs.vicinae.com/config Example of a user configuration file (~/.config/vicinae/settings.json) showing how to import other configuration files. Imported files are merged before the main user configuration. ```json { "imports": [ "base_config.json", "keybinds.json" ], // remaining configuration... } ``` -------------------------------- ### Start Vicinae Server and Toggle Source: https://docs.vicinae.com/quickstart/niri Add this to your niri configuration to start the Vicinae server on startup and bind a shortcut to toggle it. ```ini # ~/.config/niri/config.kdl spawn-at-startup "vicinae" "server" # use whatever shortcut floats your boat Mod+Space repeat=false { spawn "vicinae" "toggle"; } ``` -------------------------------- ### Quick Install Vicinae Source: https://docs.vicinae.com/install/script Run this command to perform a quick installation of Vicinae. It will download the latest AppImage and set up necessary files. ```bash curl -fsSL https://vicinae.com/install | bash ``` -------------------------------- ### Install Vicinae with Custom Prefix Source: https://docs.vicinae.com/install/script Use the --prefix option with the installation script to install Vicinae to a custom location, such as your home directory. ```bash curl -fsSL https://vicinae.com/install | bash -s -- --prefix ~/.local ``` -------------------------------- ### Example Extension Manifest Source: https://docs.vicinae.com/extensions/manifest This is a complete example of an extension manifest file, showcasing common fields like name, title, description, icon, commands, and dependencies. ```json { "name": "my-first-extension", "title": "My First Extension", "description": "This is my very first extension", "categories": [], "license": "MIT", "author": "aurelle", "contributors": [], "pastContributors": [], "icon": "extension_icon.webp", "commands": [ { "name": "my-first-command", "title": "My First Command", "subtitle": "My first subtitle", "description": "My first command description", "mode": "view" } ], "preferences": [], "scripts": { "build": "vici build", "dev": "vici develop" }, "dependencies": { "@vicinae/api": "^0.8.2" }, "devDependencies": { "typescript": "^5.9.2" } } ``` -------------------------------- ### Verify Vicinae Installation Source: https://docs.vicinae.com/install/script After installation, use this command to check the installed Vicinae version and build details. ```bash $> vicinae version Version v0.16.2 (commit b99015bc2) Build: GCC 15.2.0 - Release - LTO Provenance: appimage ``` -------------------------------- ### Install Build Dependencies on Gentoo Linux Source: https://docs.vicinae.com/build Installs necessary development tools and libraries for building Vicinae on Gentoo Linux. ```bash emerge -av \ qtkeychain \ qtbase \ minizip-ng \ rapidfuzz-cpp \ layer-shell-qt \ libqalculate \ nodejs \ cmake \ cmark-gfm \ dev-qt/qtsvg \ protobuf \ dev-build/ninja \ dev-libs/icu ``` -------------------------------- ### Add jaredallard's overlay and install Vicinae on Gentoo Source: https://docs.vicinae.com/install/repo Add a custom repository and sync it, then emerge the Vicinae package. ```bash eselect repository add jaredallard-overlay git https://github.com/jaredallard/overlay.git emerge --sync jaredallard-overlay emerge gui-apps/vicinae ``` -------------------------------- ### Enable COPR repository and install Vicinae on Fedora Source: https://docs.vicinae.com/install/repo Enable the Vicinae COPR repository and then install the Vicinae package using dnf. ```bash dnf copr enable quadratech188/vicinae dnf install vicinae ``` -------------------------------- ### Enable and start Vicinae systemd user service Source: https://docs.vicinae.com/quickstart/cosmic Use this command to immediately start the Vicinae server and ensure it runs on new COSMIC sessions. Requires systemd. ```bash systemctl --user enable vicinae --now ``` -------------------------------- ### Install Build Dependencies on Arch Linux Source: https://docs.vicinae.com/build Installs necessary development tools and libraries for building Vicinae on Arch Linux. ```bash pacman -Syu \ base-devel \ cmake \ ninja \ nodejs \ npm \ qt6-base \ qt6-svg \ protobuf \ cmark-gfm \ layer-shell-qt \ libqalculate \ minizip \ qtkeychain-qt6 \ rapidfuzz-cpp \ icu ``` -------------------------------- ### Start Extension in Development Mode Source: https://docs.vicinae.com/extensions/create Run your extension in development mode. Vicinae must be running for this command to work. ```bash npm run dev ``` -------------------------------- ### Install Vicinae on Bazzite using Terra Source: https://docs.vicinae.com/install/repo For Bazzite users, enable the Terra repository and install Vicinae using rpm-ostree. ```bash sudo rpm-ostree install vicinae ``` -------------------------------- ### Install Vicinae SDK for Raycast Extensions Source: https://docs.vicinae.com/extensions/debug-raycast Install the necessary Vicinae SDK packages within the extension's source tree to enable development mode. ```bash npm install npm install --save-dev @vicinae/api ``` -------------------------------- ### Install Vicinae on Fedora Atomic using Terra Source: https://docs.vicinae.com/install/repo Download the Terra repository configuration and install Vicinae using rpm-ostree. ```bash curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo sudo rpm-ostree install terra-release vicinae ``` -------------------------------- ### Launch a Specific Entrypoint Source: https://docs.vicinae.com/deeplinks Activate the primary action of an entrypoint by specifying its provider and name. For example, to open clipboard history. ```bash vicinae://launch/clipboard/history ``` ```bash vicinae://launch/clipboard/history ``` -------------------------------- ### Minimal TOML Theme Example Source: https://docs.vicinae.com/theming/getting-started A basic TOML theme configuration defining metadata and core colors. This example sets a dark variant and inherits from 'vicinae-dark'. ```toml [meta] version = 1 name = "My Custom Theme" description = "A personalized theme for Vicinae" variant = "dark" inherits = "vicinae-dark" [colors.core] background = "#1E1E2E" foreground = "#CDD6F4" accent = "#89B4FA" ``` -------------------------------- ### React/TypeScript List Extension Example Source: https://docs.vicinae.com/extensions/introduction This snippet demonstrates how to create a list view in Vicinae using the React/TypeScript API. It includes sections, list items with details, and actions like copying to the clipboard. Ensure you have the '@vicinae/api' package installed and data available in './data'. ```tsx import { ActionPanel, Action, List, Icon } from '@vicinae/api'; import { fruits } from './data'; export default function FruitList() { return ( {fruits.map(fruit => ( } actions={ } /> ))} ); } ``` -------------------------------- ### Install Vicinae on Arch Linux (AUR) Source: https://docs.vicinae.com/install/repo Use an AUR helper like 'yay' to install the prebuilt binary version of Vicinae from the Arch User Repository. ```bash yay -S vicinae-bin ``` -------------------------------- ### Configure Vicinae settings and extensions Source: https://docs.vicinae.com/nixos Declaratively configure Vicinae's behavior and enable extensions using Home Manager. This example sets various UI and functional options, including theme, font, and specific extensions. ```nix inputs.vicinae-extensions = { url = "github:vicinaehq/extensions"; inputs.nixpkgs.follows = "nixpkgs"; }; services.vicinae = { enable = true; systemd = { enable = true; autoStart = true; # default: false environment = { USE_LAYER_SHELL = 1; }; }; settings = { close_on_focus_loss = true; consider_preedit = true; pop_to_root_on_close = true; favicon_service = "twenty"; search_files_in_root = true; font = { normal = { size = 12; family = "Maple Nerd Font"; }; }; theme = { light = { name = "vicinae-light"; icon_theme = "default"; }; dark = { name = "vicinae-dark"; icon_theme = "default"; }; }; launcher_window = { opacity = 0.98; }; }; extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [ bluetooth nix power-profile # Extension names can be found in the link below, it's just the folder names ]; }; ``` -------------------------------- ### Configure Vicinae extension providers Source: https://docs.vicinae.com/nixos Configure specific Vicinae extensions declaratively by defining their provider settings. This example shows how to set preferences for the '@knoopx/nix-0' provider, including a GitHub token. ```nix { #... services.vicinae.settings = { providers = { # Notice name difference. If declaring install and not installing manually, the name is different "@knoopx/nix-0" = { preferences = { # Declaring Secrets to a public repo is not good. See section below for secrets management githubToken = "TOKEN HERE"; }; }; }; }; } ``` -------------------------------- ### Enable Vicinae Service with uwsm Source: https://docs.vicinae.com/quickstart/hyprland If using uwsm to manage Hyprland, enable and start the vicinae systemd service instead of using 'exec-once'. ```bash systemctl --user enable --now vicinae.service ``` -------------------------------- ### Set Capabilities for vicinae-input-server Source: https://docs.vicinae.com/snippets Manually set kernel capabilities for the vicinae-input-server if it fails to start due to insufficient privileges. This is typically handled by the package manager. ```bash sudo setcap "cap_dac_override+ep" $prefix/libexec/vicinae-input-server ``` -------------------------------- ### Get Default Vicinae Configuration Source: https://docs.vicinae.com/config Run this command to obtain the default configuration for Vicinae. ```bash vicinae config default ``` -------------------------------- ### Install Build Dependencies on Fedora Source: https://docs.vicinae.com/build Installs necessary development tools and libraries for building Vicinae on Fedora. Note that cmark-gfm requires a COPR repository. ```bash dnf install -y \ qt6-qtbase-devel \ qt6-qtsvg-devel \ qt6-qtbase-private-devel \ qt6-qtwayland-devel \ layer-shell-qt-devel \ libqalculate-devel \ minizip-devel \ rapidfuzz-cpp-devel \ qtkeychain-qt6-devel \ openssl-devel \ wayland-devel \ glibc-static \ libstdc++-static \ zlib-devel \ zlib-static \ abseil-cpp-devel \ protobuf-devel \ libicu-devel \ cmark-gfm-devel # cmark-gfm requires a copr (https://copr.fedoraincloud.org/coprs/quadratech188/cmark-gfm/) ``` -------------------------------- ### Configure sops-nix Templates for Vicinae Source: https://docs.vicinae.com/nixos Set up sops-nix secrets and templates in your Nix configuration. This example defines a template for Vicinae's settings, injecting the GitHub token securely. ```nix { config, ... }: { #... sops = { secrets = { github = { }; # ... - you can add more secrets if needed }; templates = { "vicinae-secrets.json" = { # wrapped in "quotes" because it contains a dot owner = "your-username"; # if you are using `home-manager`, you can omit this content = builtins.toJSON { providers = { "@knoopx/nix" = { # wrapped in "quotes" because it contains a `@` and a slash preferences = { githubToken = config.sops.placeholder.github; }; }; }; }; }; }; }; } ``` -------------------------------- ### Bind Keyboard Shortcut to Toggle Vicinae Source: https://docs.vicinae.com/deeplinks Example of how to bind a keyboard shortcut in Hyprland to toggle the Vicinae window. It's recommended to use the `vicinae` binary for direct execution. ```bash bind = $mainMod, Space, exec, vicinae vicinae://toggle ``` -------------------------------- ### Toggle Vicinae Window Source: https://docs.vicinae.com/quickstart/generic Use this command to show or hide the Vicinae window after the server has been started. This provides a quick way to interact with the application. ```bash vicinae toggle ``` -------------------------------- ### Python Script Example with Vicinae Directives Source: https://docs.vicinae.com/scripts/getting-started This is a basic Python script demonstrating the required Vicinae directives for title, schema version, and output mode. Ensure the script has executable permissions and a correct shebang line. ```python #!/usr/bin/env python3 # @vicinae.schemaVersion 1 # @vicinae.title My Script # @vicinae.mode fullOutput print("Hello world!") ``` -------------------------------- ### NixOS Configuration with Vicinae module Source: https://docs.vicinae.com/nixos Integrate Vicinae into your NixOS system configuration by including its default NixOS module. This example shows how to add Vicinae to your system and home-manager configurations. ```nix { inputs = { # ... vicinae.url = "github:vicinaehq/vicinae"; }; outputs = { nixpkgs, home-manager, vicinae, ... }: { nixosConfigurations."..." = nixpkgs.lib.nixosSystem { system = ""; # e.g., x86_64-linux modules = [ # ... your other configuration modules ... vicinae.nixosModules.default ]; }; homeConfigurations."..." = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.""; # e.g. x86_64-linux modules = [vicinae.homeManagerModules.default]; }; }; } ``` -------------------------------- ### Run Vicinae with nix shell Source: https://docs.vicinae.com/nixos Execute Vicinae directly without a full installation using a nix shell. This is useful for testing or temporary usage. ```bash nix shell github:vicinaehq/vicinae ``` -------------------------------- ### Pushing and Popping Views with useNavigation Source: https://docs.vicinae.com/extensions/view-command The `useNavigation` hook allows a view command to push new views onto the navigation stack or pop the current view. This example demonstrates pushing a `ListView` and popping it. ```tsx import { Detail, ActionPanel, Action, showToast, List, Icon, useNavigation } from '@vicinae/api'; // View to push on top of the main view const ListView = () => { const { push, pop } = useNavigation(); return ( push()} /> } /> } /> ) } // Main view export default function MyFirstCommand() { const { push } = useNavigation(); return ( {/** Note: should generally be used instead, but we show it for demonstration purposes */} push()} /> } /> ); } ``` -------------------------------- ### Import sops-nix Template into Vicinae Settings Source: https://docs.vicinae.com/nixos Import the generated sops-nix template file into Vicinae's settings. Ensure the correct sops configuration path is used based on your Nix setup (e.g., `config.sops` or `nixosConfig.sops`). ```nix { ... }: { services.vicinae.settings = { # NOTE: If you have sops configured in your home.nix, it will be config.sops... # otherwise, depending on how your nix is configured, it may be nixosConfig.sops... imports = [nixosConfig.sops.templates."vicinae-secrets.json".path]; }; } ``` -------------------------------- ### Display All Theme Commands Source: https://docs.vicinae.com/theming/cli-tools Run this command to see all available subcommands and options for theme management. ```bash vicinae theme --help ``` -------------------------------- ### Build AppImage Source: https://docs.vicinae.com/build-appimage After running the build environment, use these commands to clean the build tree and then build the AppImage. Ensure the build tree is clean before proceeding. ```bash make clean make appimage ``` -------------------------------- ### Define CMake Build Options Source: https://docs.vicinae.com/build Demonstrates how to define build options in CMakeLists.txt for features like LTO, symbol stripping, and using system libraries. ```cmake option(LTO "Enable Link Time Optimization (LTO). This will result in better performance, but greatly increased compile time." OFF) option(NOSTRIP "Never strip debug symbols from the binary, even in release mode. Note that symbols are never stripped for debug releases." OFF) option(USE_SYSTEM_PROTOBUF "Use system protobuf instead of building it from source" ON) option(USE_SYSTEM_ABSEIL "Use system abseil (libabsl) instead of building it from source" ON) option(USE_SYSTEM_CMARK_GFM "Use system cmark-gfm (github's fork of cmark) instead of building it from source" ON) ``` -------------------------------- ### Generate New Theme Template Source: https://docs.vicinae.com/theming/cli-tools Creates a complete theme template with all color keys and documentation, outputting it to stdout. Redirect the output to a file to save the template. ```bash vicinae theme template > ~/.local/share/vicinae/themes/my-new-theme.toml ``` -------------------------------- ### Uninstall Vicinae Source: https://docs.vicinae.com/install/script Execute the installation script with the --uninstall argument to remove Vicinae from your system. ```bash curl -fsSL https://vicinae.com/install | bash -s -- --uninstall ``` -------------------------------- ### List available clipboard offers Source: https://docs.vicinae.com/clipboard This command lists the different formats (offers) available for the current clipboard selection, showing the variety of data representations. ```bash # wl-paste -l x-special/gnome-copied-files application/vnd.portal.filetransfer application/vnd.portal.files text/uri-list text/plain;charset=utf-8 ``` -------------------------------- ### Dropdown Preference with Data Source: https://docs.vicinae.com/extensions/manifest An example of a preference object of type 'dropdown', which includes a 'data' field to specify the available options and their values. ```json { "name": "artwork", "title": "Artwork Style", "description": "Choose the preferred artwork style for Pokémon.", "required": false, "type": "dropdown", "default": "official", "data": [ { "title": "Official Artwork", "value": "official" }, { "title": "Pixel Art", "value": "pixel" } ] } ``` -------------------------------- ### Hyprland Main Configuration with Vicinae Source: https://docs.vicinae.com/quickstart/hyprland-lua Add this to your Hyprland configuration to enable Vicinae's server, toggle functionality, and apply visual rules like blur and animation disabling. ```lua -- ~/.config/hypr/hyprland.lua local mainMod = "SUPER" -- autostart hl.on("hyprland.start", function() hl.exec_cmd("vicinae server") end) -- use whatever shortcut floats your boat hl.bind(mainMod .. " + Space", hl.dsp.exec_cmd("vicinae toggle")) -- blur hl.layer_rule({ match = { namespace = "vicinae" }, name = "vicinae-blur", blur = true, ignore_alpha = 0, }) -- disable animation for vicinae only hl.layer_rule({ match = { namespace = "vicinae" }, name = "vicinae-no-animation", no_anim = true, }) ``` -------------------------------- ### Select Theme via CLI Source: https://docs.vicinae.com/theming/getting-started Use the Vicinae CLI to set a new theme. The theme ID corresponds to the filename of the TOML theme file. ```bash vicinae theme set ``` -------------------------------- ### Bind Custom Vicinae Command Source: https://docs.vicinae.com/quickstart/niri Create a custom binding in your niri configuration to open specific vicinae commands via deeplinks. This example opens the clipboard history. ```ini # ~/.config/niri/config.kdl Mod+P repeat=false { spawn "vicinae" "vicinae://launch/clipboard/history"; } ``` -------------------------------- ### Filter Root Search by Provider Source: https://docs.vicinae.com/deeplinks Restrict search results to a specific provider using the `vicinae://launch/` deeplink format. For example, to search only power commands. ```bash vicinae 'vicinae://launch/' ``` ```bash vicinae 'vicinae://launch/power' ``` -------------------------------- ### Combine Opacity and Lightness Modifications Source: https://docs.vicinae.com/theming/advanced-features Create a color that is both darker and semi-transparent by combining 'darker' and 'opacity' properties in a complex color object. This example defines a subtle accent color. ```toml [colors.core] subtle_accent = { name = "colors.accents.blue", darker = 150, opacity = 0.6 } ``` -------------------------------- ### Typical Vicinae Extension Directory Structure Source: https://docs.vicinae.com/extensions/file-structure Illustrates the standard layout of files and directories within a Vicinae extension project. ```bash my-first-extension ├── assets │ └── extension_icon.webp ├── package.json ├── package-lock.json ├── README.md ├── src │ └── my-first-command.tsx └── tsconfig.json ``` -------------------------------- ### dmenu mode wallpaper picker with quick look Source: https://docs.vicinae.com/dmenu Use this snippet to select a wallpaper from a list of image files, utilizing the quick look feature for previews. ```bash # a simple wallpaper picker swww img $(find ~/Pictures/walls -type f | vicinae dmenu -p 'Pick a wallpaper...') ``` -------------------------------- ### Generate Vicinae Theme from Image Source: https://docs.vicinae.com/theming/matugen Execute this command to generate a Vicinae theme from a specified image file using matugen. This process extracts colors, creates a theme, saves it, and applies it. ```bash matugen image /path/to/wallpaper.png ``` -------------------------------- ### Disable Telemetry Command Source: https://docs.vicinae.com/telemetry This command contacts the Vicinae server to delete telemetry data and disable telemetry collection. It should be used to request immediate and permanent removal of your installation's telemetry data. ```bash vicinae "vicinae://launch/core/forget-telemetry" ``` -------------------------------- ### Generic Release Build with Make Source: https://docs.vicinae.com/build Builds a generic, unoptimized release version of Vicinae using the 'make' command. This is suitable for general use when LTO is not required. ```bash make release ``` -------------------------------- ### Detect and Avoid Circular Color References Source: https://docs.vicinae.com/theming/advanced-features Circular references occur when colors directly or indirectly reference each other, preventing theme loading. This example shows a simple circular reference between background and foreground colors. ```toml [colors.core] background = "colors.core.foreground" foreground = "colors.core.background" ``` -------------------------------- ### Build AppImage Build Environment Locally Source: https://docs.vicinae.com/build-appimage Build the AppImage build environment Docker image locally. This process can be time-consuming and is generally recommended only if the DockerHub image cannot be used. ```bash make appimage-build-env ``` -------------------------------- ### Modify Color Lightness Source: https://docs.vicinae.com/theming/advanced-features Adjust the lightness of a color using 'darker' or 'lighter' properties within a complex color object. This example darkens the blue accent for the border and then lightens it for the input border focus. ```toml [colors.core] border = { name = "colors.accents.blue", darker = 300 } [colors.input] # Reference the darkened border and make it slightly lighter border_focus = { name = "colors.core.border", lighter = 100 } ``` -------------------------------- ### Create a custom keyboard shortcut to toggle Vicinae Source: https://docs.vicinae.com/quickstart/kde Configure a custom keyboard shortcut in KDE settings to toggle the Vicinae window. Ensure the Vicinae server is running for this to work. ```bash vicinae ``` -------------------------------- ### Define a Complex Color Value with Opacity Source: https://docs.vicinae.com/theming/advanced-features Use complex color objects to define colors with specific properties like opacity. This example sets the border color to a blue accent with 50% opacity. ```toml [colors.core] border = { name = "colors.accents.blue" } ``` ```toml [colors.core] accent = "#89B4FA" border = { name = "colors.core.accent", opacity = 0.5 } ``` -------------------------------- ### Configure Matugen for Vicinae Source: https://docs.vicinae.com/theming/matugen Add this TOML configuration to your matugen config file to set up wallpaper detection and theme generation for Vicinae. The post_hook ensures the theme is applied automatically. ```toml # Adjust this if you set your wallpaper using another software [config.wallpaper] command = "swww" arguments = ["img", "--transition-type", "center"] set = true [templates.vicinae] input_path = './templates/vicinae.toml' output_path = '~/.local/share/vicinae/themes/matugen.toml' post_hook = 'vicinae theme set matugen' ``` -------------------------------- ### Set Emoji Font Environment Variable Source: https://docs.vicinae.com/emoji Override the default emoji font by setting the EMOJI_FONT environment variable to your desired font family before starting the Vicinae server. If the font family is invalid, a warning will be issued. ```bash EMOJI_FONT=Twemoji vicinae server ``` -------------------------------- ### Home Manager configuration for Vicinae service Source: https://docs.vicinae.com/nixos Enable and configure the Vicinae systemd service using Home Manager. This snippet shows how to enable the service, set it to auto-start, and configure environment variables. ```nix { # ... services.vicinae = { enable = true; # default: false systemd = { enable = true; # default: false autoStart = true; # default: false environment = { USE_LAYER_SHELL = 1; }; }; }; } ``` -------------------------------- ### Create a Deeplink Shortcut Source: https://docs.vicinae.com/quickstart/gnome Sets up a custom keyboard shortcut to open a specific Vicinae command using deeplinks. This allows for quick access to predefined actions. ```bash vicinae deeplink vicinae://launch/clipboard/history ``` -------------------------------- ### Adjust scrolling velocity in Vicinae Source: https://docs.vicinae.com/faq Override the QT_QUICK_FLICKABLE_WHEEL_DECELERATION environment variable to adjust scrolling speed. A lower value increases scrolling velocity. Vicinae sets a slightly lower default starting from v0.20.4 if the variable is not specified. ```bash QT_QUICK_FLICKABLE_WHEEL_DECELERATION=5000 vicinae server ``` -------------------------------- ### Download Vicinae Matugen Template Source: https://docs.vicinae.com/theming/matugen Use this bash command to download the official Vicinae theme template for matugen. This template is necessary for matugen to generate compatible Vicinae themes. ```bash mkdir -p ~/.config/matugen/templates curl https://raw.githubusercontent.com/vicinaehq/vicinae/refs/heads/main/extra/matugen.toml > ~/.config/matugen/templates/vicinae.toml ``` -------------------------------- ### Launch Entrypoint with Toggle Behavior Source: https://docs.vicinae.com/deeplinks Append `toggle=true` to a launch deeplink to automatically close the window if it's already open, providing toggle functionality. ```bash vicinae 'vicinae://launch/clipboard/history?toggle=true' ``` -------------------------------- ### Optimized Release Build with Make Source: https://docs.vicinae.com/build Builds an optimized release version of Vicinae using 'make host-optimized'. This command enables system-specific optimizations for maximum performance. ```bash make host-optimized ``` -------------------------------- ### Vicinae System Telemetry Payload Source: https://docs.vicinae.com/telemetry This JSON object represents the system information collected by Vicinae upon startup. It includes details such as the installation's unique user ID, Vicinae version, display protocol, architecture, operating system, and screen configurations. This data is sent once every 24 hours to help track daily active users and version upgrade rates. ```jsonc { "userId": "user-344a37bd-2d65-49ad-9a2f-27769334f64e", // tied to vicinae installation, not derived from machine-id "desktops": [ "niri" ], "vicinaeVersion": "v0.20.5", "displayProtocol": "wayland", "architecture": "x86_64", "operatingSystem": "linux", "buildProvenance": "local", "locale": "en_US", // some vicinae features are affected by localization "screens": [ { "resolution": { "width": 1920, "height": 1080 }, "scale": 1 } ], "chassisType": "desktop", "kernelVersion": "6.16.7-gentoo", "productId": "gentoo", "productVersion": "2.18" } ``` -------------------------------- ### Clone Vicinae Repository Source: https://docs.vicinae.com/build Use this command to clone the Vicinae repository and navigate into the source directory. This is the first step for building from source. ```bash git clone https://github.com/vicinaehq/vicinae.git && cd vicinae ``` -------------------------------- ### Generic Release Build with CMake Source: https://docs.vicinae.com/build Configures and builds a generic release version of Vicinae using CMake. This command sets up the build directory and then initiates the build process. ```bash cmake -G Ninja -B build cmake --build build ``` -------------------------------- ### List Clipboard Offers Source: https://docs.vicinae.com/clipboard This command lists the available MIME types for a clipboard selection, useful for understanding what data is available. ```bash # wl-paste -l chromium/x-source-url image/png text/html text/x-moz-url ``` -------------------------------- ### Add Vicinae to Hyprland Configuration Source: https://docs.vicinae.com/quickstart/hyprland Add this to your Hyprland configuration file to enable Vicinae. Exclude the 'exec-once' line if using uwsm. ```ini # ~/.config/hypr/hyprland.conf exec-once = vicinae server # exclude this if using uwsm # use whatever shortcut floats your boat bind = $mainMod, Space, exec, vicinae toggle # old rule syntax (Hyprland < 0.53) # blur # layerrule = blur, vicinae # layerrule = ignorealpha 0, vicinae # disable animation for vicinae only # layerrule = noanim, vicinae # named rule syntax (Hyprland 0.53+) # blur layerrule { name = vicinae-blur blur = on ignore_alpha = 0 match:namespace = vicinae } # disable animation for vicinae only layerrule { name = vicinae-no-animation no_anim = on match:namespace = vicinae } # anonymous rule syntax (Hyprland 0.53+) # layerrule = blur on, ignore_alpha 0, match:namespace vicinae # layerrule = no_anim on, match:namespace vicinae ``` -------------------------------- ### View Command Entrypoint Implementation Source: https://docs.vicinae.com/extensions/view-command The entrypoint file for a view command must export a React component as the default export. This component will be rendered when the command is launched. ```tsx import { Detail, ActionPanel, Action, showToast } from '@vicinae/api'; export default function MyFirstCommand() { return ( showToast({ title: 'Hello!' })} /> } /> ); } ``` -------------------------------- ### Launch Entrypoint with Fallback Text Source: https://docs.vicinae.com/deeplinks Use the `fallbackText` query parameter to set a default search text when launching a command via deeplink. ```bash vicinae 'vicinae://launch/clipboard/history?fallbackText=text' ``` -------------------------------- ### dmenu mode from file input Source: https://docs.vicinae.com/dmenu Use this snippet to generate a menu from a list of options stored in a file. ```bash vicinae dmenu --placeholder "Select option" < options.txt ``` -------------------------------- ### Use vicinae package from nixpkgs Source: https://docs.vicinae.com/nixos Alternatively, use the vicinae package directly from nixpkgs if you prefer it to be built by Hydra and potentially be out of date. This configures the service to use the nixpkgs version. ```nix { pkgs, ... }: { services.vicinae = { package = pkgs.vicinae; }; } ``` -------------------------------- ### View Theme Search Paths Source: https://docs.vicinae.com/theming/cli-tools Displays the directories where Vicinae searches for theme files, listed in order of precedence. This helps understand how themes are loaded and shadowed. ```bash vicinae theme paths ``` -------------------------------- ### Run Raycast Extension in Development Mode Source: https://docs.vicinae.com/extensions/debug-raycast Use the Vicinae CLI to run a Raycast extension in development mode. Ensure you are using `@raycast/api` exports for debugging. ```bash npx vici develop ``` -------------------------------- ### Launch Emoji Picker Command Source: https://docs.vicinae.com/emoji To use the emoji picker, launch the 'Search Emojis and Symbols' command via the specified URI. ```markdown Simply launch the [Search Emojis and Symbols](vicinae://launch/core/search-emojis) command. ```