### Install Look on macOS with curl Source: https://noah-code.com/docs/look Alternative installation method using a curl script from the official repository. ```bash curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/install-look.sh | bash ``` -------------------------------- ### Example TOML configuration Source: https://noah-code.com/docs/look Example TOML file with two blocks: 'projects' (dir) and 'work' (do). Demonstrates the basic structure and usage. ```toml # ~/.look/sources/mine.toml [projects] name = "Projects" dir = "~/dev" only = "dirs" [work] name = "Work setup" do = [ "open -a Slack", "open -a Safari https://github.com", ] ``` -------------------------------- ### Install Look on NixOS with nix profile Source: https://noah-code.com/docs/look Installs Look to the user profile using nix profile install. ```bash nix profile install github:kunkka19xx/look?dir=apps/linows ``` -------------------------------- ### Install Look on Ubuntu/Debian with curl Source: https://noah-code.com/docs/look Installs Look on Ubuntu/Debian using the official Linux install script. ```bash curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/linux/install-look.sh | bash ``` -------------------------------- ### Install Look on Windows with PowerShell Source: https://noah-code.com/docs/look Installs Look on Windows using a PowerShell script. SmartScreen may warn on first run. ```powershell iex "& { $(irm https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/windows/install-look.ps1) }" ``` -------------------------------- ### Preferred Tools Configuration Example Source: https://noah-code.com/docs/look Example configuration for setting preferred tools in Look. Keys are optional; undeclared keys use system defaults. Values must be tool names, not commands. ```ini text_editor=nvim code_editor=zed terminal=ghostty file_manager=nautilus ``` -------------------------------- ### Install Look on Arch Linux with AUR helper Source: https://noah-code.com/docs/look Installs Look from AUR using yay or paru. ```bash yay -S look-bin # or paru -S look-bin ``` -------------------------------- ### Install Look on macOS with Homebrew Source: https://noah-code.com/docs/look Installs Look via Homebrew cask. Requires macOS 15.0+. ```bash brew install --cask kunkka19xx/tap/look ``` -------------------------------- ### Run side-by-side dev build Source: https://noah-code.com/docs/look Installs /Applications/Look Dev.app with a separate bundle id so the Homebrew-installed Look.app remains untouched. ```bash make app-run-dev ``` -------------------------------- ### Install Look on Arch Linux without AUR helper Source: https://noah-code.com/docs/look Builds and installs Look from the AUR repository manually using git and makepkg. ```bash git clone https://aur.archlinux.org/look-bin.git cd look-bin makepkg -si ``` -------------------------------- ### do block example Source: https://noah-code.com/docs/look A 'do' block that runs a sequence of commands when activated. Steps run in order; a failing step does not stop the rest. ```toml [work] name = "Work setup" icon = "🚀" do = [ "open -a Slack", "open -a Ghostty", ] ``` -------------------------------- ### JSON row format example Source: https://noah-code.com/docs/look Example of a JSON row with id, title, subtitle, and path fields. The path makes the row a filesystem object. ```json [{"id": "look", "title": "Look", "subtitle": "3 uncommitted", "path": "~/dev/look"}] ``` -------------------------------- ### run block example Source: https://noah-code.com/docs/look A 'run' block that executes a command on reload and caches its output. Rows are kept if the command fails or times out. ```toml [branches] name = "Git branches" run = "git -C ~/dev/look branch --format='%(refname:short)'" open = "git -C ~/dev/look switch {id}" ``` -------------------------------- ### Ignored File Patterns Example (INI) Source: https://noah-code.com/docs/look Example of ignored file patterns using gitignore-style globs. Group patterns under any ignored_patterns_ key; all such keys are merged. Patterns are separated by |, support * ** ? [abc], and ~ expands to home. Patterns match files only, not folders. ```ini # ignored_patterns_=Pattern1|Pattern2 ignored_patterns_browser=~/AppData/Local/BraveSoftware/**/*.log|~/AppData/Local/Google/Chrome/**/*.tmp ignored_patterns_sqlite=~/Documents/git/project/**/*.db-wal|~/Documents/git/project/**/*.db-shm ``` -------------------------------- ### Pin Look version or fork on macOS Source: https://noah-code.com/docs/look Installs a specific version or fork of Look using the curl script with --version and --repo flags. ```bash curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/install-look.sh | bash -s -- --version --repo kunkka19xx/look ``` -------------------------------- ### Running Apps Switcher: running_apps_placement Source: https://noah-code.com/docs/look Controls the running-apps row in the search bar. Options: none (off), right (on). When none, the row is hidden and the Cmd/Alt+1..9 switching shortcut is disabled; any other value shows it. Legacy top/bottom values from older releases still load as "on" and normalize to right on next save. The key is auto-appended to existing ~/.look/config files on first Save Config, so upgrading from an older Look install doesn't reset other settings. See Home Screen → Running Apps Switcher for the badge-key behavior. ```ini running_apps_placement=right ``` -------------------------------- ### file block example Source: https://noah-code.com/docs/look A 'file' block that reads rows from a text file. Each line becomes a row. ```toml [hosts] name = "SSH hosts" file = "~/.look/hosts.txt" open = "ssh {id}" ``` -------------------------------- ### dir block example Source: https://noah-code.com/docs/look A 'dir' block that lists immediate children of a directory. Supports options like depth, only, match, and exclude. ```toml [projects] name = "Projects" dir = "~/dev" # or: dirs = ["~/dev", "~/work"] depth = 1 # 1 = immediate children only = "dirs" # dirs | files | all ``` -------------------------------- ### Create sources directory Source: https://noah-code.com/docs/look Creates the ~/.look/sources directory where Look looks for TOML files. ```bash mkdir -p ~/.look/sources ``` -------------------------------- ### Run Look AppImage on any distro Source: https://noah-code.com/docs/look Makes the Look AppImage executable and runs it. ```bash chmod +x Look_*.AppImage ./Look_*.AppImage ``` -------------------------------- ### Background Image: ui_background_image_* Source: https://noah-code.com/docs/look Sets the background image path, mode, opacity, and blur. Mode options: fill, fit, tile, stretch. ```ini ui_background_image=~/look_bg.png ui_background_image_mode=fill ui_background_image_opacity=0.5 ui_background_image_blur=10 ``` -------------------------------- ### Run benchmarks Source: https://noah-code.com/docs/look Run the query throughput, scoped refresh, and watcher stress benchmarks from the tools/perf crate. ```bash cd tools/perf cargo run --release --bin query_engine_bench # query throughput + fuzzy scoring cargo run --release --bin scoped_refresh_bench # per-call refresh latency cargo run --release --bin watcher_stress # simulated event streams ``` -------------------------------- ### Build commands for core, FFI, and dev apps Source: https://noah-code.com/docs/look Commands to check the Rust core workspace, the FFI bridge, run the macOS dev app, and run the Tauri dev app on Windows/Linux. ```bash # Check Rust core workspace cd core cargo check --workspace # Check FFI bridge (macOS) cd bridge/ffi cargo check # Run macOS dev app make app-run # Run Tauri dev (Windows/Linux) cd apps/linows cargo tauri dev ``` -------------------------------- ### Define project and branch blocks with then drill-downs Source: https://noah-code.com/docs/look TOML configuration for a project directory and a branches block. The 'branches' block uses 'run' as the producer (project is {path}) and 'open' acts on the produced branch row (project is {parent.path}). Levels stack five deep and a 'then' target may live in another file. ```toml [projects] dir = "~/dev" only = "dirs" then = ["branches"] [branches] name = "Branches" run = "git -C {path} branch --format='%(refname:short)'" open = "git -C {parent.path} switch {id}" ``` -------------------------------- ### Define an applies rule for PNG files with a do action Source: https://noah-code.com/docs/look TOML configuration for an 'optimize' block that applies to PNG files. The 'applies' rule matches files with a .png extension, and the 'do' command runs oxipng on the selected file's path. Only a 'do' block can declare 'applies'. ```toml [optimize] name = "Optimize" applies = { ext = ["png"] } do = ["oxipng -o4 {path}"] ``` -------------------------------- ### Define Search Aliases in INI Format Source: https://noah-code.com/docs/look Defines aliases that map search terms to related apps. Aliases apply to app and System Settings search only, boost matching apps without creating synthetic results, and show no error if an aliased app is not installed. Keep lists short (5-10 targets) for best results. ```ini alias_note=Notion|Obsidian|Notes|Apple Notes|Bear|Logseq alias_code=Visual Studio Code|VSCode|Cursor|Windsurf|IntelliJ IDEA|PyCharm|WebStorm|Neovim|Xcode|Zed alias_term=Terminal|iTerm|iTerm2|Ghostty|WezTerm|Alacritty|Kitty|Warp alias_chat=Slack|Discord|Telegram|Messages alias_music=Spotify|Apple Music|Music alias_brow=Safari|Arc|Google Chrome|Chrome|Firefox|Brave ``` -------------------------------- ### Run Look on NixOS with nix run Source: https://noah-code.com/docs/look Runs Look directly from the flake using nix run. ```bash nix run github:kunkka19xx/look?dir=apps/linows ``` -------------------------------- ### Other Backend Options Configuration Source: https://noah-code.com/docs/look Configuration block for miscellaneous backend options including lazy indexing, skip directories, log level, and launch at login. ```ini lazy_indexing_enabled=true skip_dir_names=node_modules,target,build,dist,.git,vendor,out,coverage,tmp,cache,venv backend_log_level=info launch_at_login=false ``` -------------------------------- ### Appearance: ui_tint_*, ui_blur_*, ui_font_*, ui_border_* Source: https://noah-code.com/docs/look Configures UI appearance: tint color, blur material, font, and border. ui_blur_material uses hudWindow. ui_font_name uses SF Pro Text. ui_border_thickness is 1.0. All color components are in 0-1 range. ```ini ui_tint_red=0.08 ui_tint_green=0.10 ui_tint_blue=0.12 ui_tint_opacity=0.55 ui_blur_material=hudWindow ui_blur_opacity=0.95 ui_font_name=SF Pro Text ui_font_size=14 ui_font_red=0.96 ui_font_green=0.96 ui_font_blue=0.98 ui_font_opacity=0.96 ui_border_thickness=1.0 ui_border_red=1.0 ui_border_green=1.0 ui_border_blue=1.0 ui_border_opacity=0.12 ``` -------------------------------- ### Super Actions: super_actions_enabled Source: https://noah-code.com/docs/look Shows the control strip on the empty home screen. false hides it and disables its letter shortcuts. Which tiles are on the strip, where they sit, and any tiles of your own are not in this file. They are a drawing in ~/.look/super-actions.toml, seeded on first run and reloaded with Cmd/Ctrl+Shift+; - see Arranging the Strip. ```ini super_actions_enabled=true ``` -------------------------------- ### Run Rust and FFI tests Source: https://noah-code.com/docs/look Run the Rust core workspace tests and the FFI bridge tests. ```bash # Rust tests cd core cargo test --workspace # FFI bridge tests cd bridge/ffi cargo test ``` -------------------------------- ### Repository structure tree Source: https://noah-code.com/docs/look Shows the top-level layout of the Look repository, including the macOS SwiftUI app, Tauri v2 app, Rust core workspace, FFI bridge, and docs. ```text look/ ├── apps/macos/LauncherApp/ # SwiftUI shell (macOS) ├── apps/linows/ # Tauri v2 app (Windows + Linux) │ └── src-tauri/ # Rust backend ├── core/ # Rust workspace (shared) │ ├── engine/ # Search & indexing │ ├── matching/ # Fuzzy matching │ ├── ranking/ # Result ranking │ ├── storage/ # SQLite storage │ ├── answers/ # Web answer sources (Wikipedia, currency, ...) │ └── todo/ # Shared todo backend ├── bridge/ffi/ # Swift-Rust FFI (macOS) └── docs/ # Documentation ``` -------------------------------- ### Query local Look database for top candidates Source: https://noah-code.com/docs/look Inspect the SQLite database to see the most used candidates. The command differs by OS: macOS uses the Library path, Linux uses the .local path. ```bash # macOS sqlite3 "$HOME/Library/Application Support/look/look.db" \ "SELECT id,title,use_count FROM candidates ORDER BY use_count DESC LIMIT 20;" ``` ```bash # Linux sqlite3 "$HOME/.local/share/look/look.db" \ "SELECT id,title,use_count FROM candidates ORDER BY use_count DESC LIMIT 20;" ```