Version 26.05
Packages
The following packages are provided by nixkit:
| Package | Description | Platforms |
|---|---|---|
| aerospace-swipe | switch workspaces in AeroSpace with trackpad swipes | macOS (ARM) |
| defaultbrowser | Utility to set the default browser on macOS | macOS (ARM) |
| dimclient | Python client for DIM (DNS and IP Management) | Linux, macOS (ARM), Linux (ARM) |
| ghostty-tip | 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. | macOS (ARM) |
| kubernetes-mcp-server | Kubernetes MCP server for AI tools to interact with Kubernetes clusters | macOS (ARM), Linux, Linux (ARM) |
| ndcli | Command line interface for DIM (DNS and IP Management) | Linux, macOS (ARM), Linux (ARM) |
| nixupdater | Menu bar app to check for updates on macOS | macOS (ARM) |
| opsops | A simple tool for managing secrets (with 1password integration) | macOS (ARM), Linux (ARM), Linux |
| podman-mac-helper | Helper binary for running Podman on macOS | macOS (ARM) |
| prlsp | LSP server that surfaces GitHub PR review comments as editor diagnostics | macOS (ARM), Linux, Linux (ARM) |
| prlsp-nvim | Neovim plugin for prlsp — view and reply to GitHub PR review comments via LSP | Linux, macOS (ARM), Linux (ARM) |
| prometheus-mcp-server | MCP server for Prometheus integration | Linux, Linux (ARM), macOS (ARM) |
| raycast-beta | Control your tools with a few keystrokes - beta release | macOS (ARM) |
| skhd_zig | Simple Hotkey Daemon for macOS, ported from skhd by koekeishiya | macOS (ARM) |
| yabai | Tiling window manager for macOS based on binary space partitioning | macOS (ARM) |
Requirements
- Nix with flakes enabled
- For Home Manager modules: Home Manager
- For NixOS modules: NixOS system
- For Darwin modules: nix-darwin
-
programs.aerospace-swipe.enable -
Whether to enable aerospace-swipe configuration.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/aerospace-swipe.nix -
programs.aerospace-swipe.fingers -
Number of fingers needed for swipe
Type: signed integer
Default:
3Example:
"4"Declared by:
modules/home/aerospace-swipe.nix -
programs.aerospace-swipe.haptic -
Enable haptic feedback
Type: boolean
Default:
falseExample:
"true"Declared by:
modules/home/aerospace-swipe.nix -
programs.aerospace-swipe.natural_swipe -
Enable natural swipe
Type: boolean
Default:
falseExample:
"true"Declared by:
modules/home/aerospace-swipe.nix -
programs.aerospace-swipe.skip_empty -
Skip empty workspaces
Type: boolean
Default:
trueExample:
"false"Declared by:
modules/home/aerospace-swipe.nix -
programs.aerospace-swipe.wrap_around -
Wrap around workpsace
Type: boolean
Default:
trueExample:
"false"Declared by:
modules/home/aerospace-swipe.nix -
programs.default-browser.enable -
Whether to enable Default browser configuration.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/default-browser.nix -
programs.default-browser.browser -
The browser to set as default
Type: string
Default:
""Example:
"firefox"Declared by:
modules/home/default-browser.nix -
programs.ndcli.enable -
Whether to enable ndcli command line tool.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/ndcli.nix -
programs.ndcli.server -
DIM server URL
Type: string
Default:
"http://localhost:5000"Declared by:
modules/home/ndcli.nix -
programs.ndcli.username -
Username for DIM authentication
Type: string
Default:
{ _type = "override"; content = ""; priority = 1000; }Declared by:
modules/home/ndcli.nix -
programs.nixupdater.enable -
Whether to enable nixupdater configuration.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/nixupdater.nix -
programs.nixupdater.command -
Command to run when updates are available. Can be used to trigger a notification or directly apply updates
Type: string
Default:
"jinx update"Example:
"darwin-rebuild switch --flake .#my-mac"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.flake -
Sets the flake path.
Type: string
Default:
""Example:
"/Users/alice/other-dotfiles"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.interval -
Set the interval in seconds for checking for updates
Type: signed integer
Default:
1800Example:
"300"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.terminal -
Terminal to use for running the update command. Options: terminal macOS Terminal.app iterm iTerm2 kitty new kitty window (default) kitty-tab new tab in the running kitty instance * kitty-overlay overlay in the focused kitty window * alacritty ghostty
kitty-tab and kitty-overlay use kitty’s remote-control protocol (kitty @ new-window). They require
allow_remote_control yesin kitty.conf, or kitty launched with --listen-on / KITTY_LISTEN_ON. Falls back to a new kitty window when no running instance is found.
Type: one of “terminal”, “iterm”, “kitty”, “kitty-tab”, “kitty-overlay”, “alacritty”, “ghostty”
Default:
"kitty"Example:
"kitty-overlay"Declared by:
modules/home/nixupdater.nix -
programs.raycast.enable -
Whether to enable Raycast configuration management.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/raycast -
programs.raycast.anonymousId -
Anonymous ID (UUID)
Type: string
Default:
"00000000-0000-0000-0000-000000000000"Declared by:
modules/home/raycast -
programs.raycast.automationHotkey -
AppleScript modifier keys for the Raycast automation hotkey. Used by the raycast-import-config script to open Raycast.
Common values:
“option down” for Option+Space
“command down” for Cmd+Space
“control down” for Ctrl+Space
Must match your Raycast global hotkey setting.
Type: string
Default:
"option down"Example:
"command down"Declared by:
modules/home/raycast -
programs.raycast.configFile -
Path to a JSON file containing Raycast configuration. This takes precedence over both
settingsand declarative options.The JSON file should be an exported Raycast configuration that has been decrypted and decompressed.
Example: programs.raycast.configFile = ./raycast-export.json;
Type: null or absolute path
Default:
nullExample:
./raycast-config.jsonDeclared by:
modules/home/raycast -
programs.raycast.encryptionPassword -
Password to encrypt the .rayconfig file with AES-256-CBC. If null, the file will be generated unencrypted (gzipped only). Raycast can import both encrypted and unencrypted files.
Type: null or string
Default:
nullExample:
"12345678"Declared by:
modules/home/raycast -
programs.raycast.extraConfig -
Extra configuration merged into the generated JSON
Type: attribute set
Default:
{ }Example:
{ builtin_package_github = { provider_schemaVersion = 1; repositories = ["owner/repo"]; }; }Declared by:
modules/home/raycast -
programs.raycast.fallbackSearches -
Enabled fallback search identifiers
Type: list of string
Default:
[ "builtin_command_fileSearch_fallbackSearch" "builtin_command_extensionStore_fallbackSearch" "builtin_command_searchSnippets_fallbackSearch" "builtin_command_dictionary_defineWord_fallbackSearch" "builtin_command_translate_fallbackSearch" "builtin_command_searchEmoji_fallbackSearch" "builtin_command_searchMenuItems_fallbackSearch" ]Declared by:
modules/home/raycast -
programs.raycast.floatingNotes -
Floating notes configuration
Type: list of (attribute set)
Default:
[ ]Declared by:
modules/home/raycast -
programs.raycast.installationDate -
Installation date in ISO 8601 format
Type: string
Default:
"2024-01-01T00:00:00Z"Declared by:
modules/home/raycast -
programs.raycast.installedExtensions -
List of installed native extension identifiers
Type: list of string
Default:
[ ]Example:
[ "builtin_package_media" ]Declared by:
modules/home/raycast -
programs.raycast.outputPath -
Where to place the generated .rayconfig file
Type: string
Default:
"$HOME/.config/raycast/import.rayconfig"Declared by:
modules/home/raycast -
programs.raycast.preferences.advanced.keepWindowVisibleOnResign -
Keep window visible when resigning
Type: boolean
Default:
falseDeclared by:
modules/home/raycast -
programs.raycast.preferences.advanced.navigationStyle -
Navigation command style
Type: string
Default:
"macos"Declared by:
modules/home/raycast -
programs.raycast.preferences.advanced.popToRootTimeout -
Pop to root timeout in seconds
Type: signed integer
Default:
90Declared by:
modules/home/raycast -
programs.raycast.preferences.advanced.windowPresentationMode -
Window presentation mode (0 = default)
Type: signed integer
Default:
0Declared by:
modules/home/raycast -
programs.raycast.preferences.appearance.showFavoritesInCompactMode -
Show favorites in compact mode
Type: boolean
Default:
trueDeclared by:
modules/home/raycast -
programs.raycast.preferences.appearance.statusBarVisible -
Show Raycast in menu bar
Type: boolean
Default:
trueDeclared by:
modules/home/raycast -
programs.raycast.preferences.appearance.textSize -
Preferred text size
Type: one of “small”, “medium”, “large”
Default:
"medium"Declared by:
modules/home/raycast -
programs.raycast.preferences.appearance.windowMode -
Window mode
Type: one of “default”, “compact”
Default:
"default"Declared by:
modules/home/raycast -
programs.raycast.preferences.general.alternativeEscape -
Use alternative escape behavior
Type: boolean
Default:
falseDeclared by:
modules/home/raycast -
programs.raycast.preferences.general.globalHotkey -
Global hotkey to open Raycast (e.g., ‘Command-49’ for Cmd+Space)
Type: string
Default:
"Command-49"Example:
"Option-49"Declared by:
modules/home/raycast -
programs.raycast.settings -
Complete Raycast configuration as an attribute set. When set, this takes precedence over the declarative options. Use this to import an existing configuration exported from Raycast.
Note: If
configFileis set, it takes precedence over this option.Type: null or (attribute set)
Default:
nullExample:
{ raycast_version = "1.79.1"; builtin_package_raycastPreferences = { # ... }; }Declared by:
modules/home/raycast -
programs.raycast.snippets -
Raycast snippets
Type: list of (attribute set)
Default:
[ ]Example:
[ { name = "Email"; text = "user@example.com"; keyword = "email"; } ]Declared by:
modules/home/raycast -
programs.raycast.version -
Raycast version string
Type: string
Default:
"1.0.0"Declared by:
modules/home/raycast
Known Issues
Claude Code deduplicates MCP servers by command path
Home Manager provides a
programs.mcp.servers option for configuring MCP servers. When multiple servers use
the same binary (e.g. two instances of prometheus-mcp-server pointed at different
clusters), Claude Code (v2.1.71+) incorrectly treats them as duplicates and silently
drops all but one — even when their environment variables differ.
Workaround: wrap each server in a pkgs.writeShellScriptBin stub so each entry
gets a unique store path:
let
mkWrapper = name:
pkgs.writeShellScriptBin "prometheus-mcp-server-${name}" ''
exec ${pkgs.prometheus-mcp-server}/bin/prometheus-mcp-server "$@"
'';
in {
programs.mcp.servers = {
"prometheus/cluster-a" = {
command = "${mkWrapper "cluster-a"}/bin/prometheus-mcp-server-cluster-a";
args = [];
env.PROMETHEUS_URL = "https://prometheus.cluster-a.example.com";
};
"prometheus/cluster-b" = {
command = "${mkWrapper "cluster-b"}/bin/prometheus-mcp-server-cluster-b";
args = [];
env.PROMETHEUS_URL = "https://prometheus.cluster-b.example.com";
};
};
}
Tracked upstream at anthropics/claude-code#32549.
Raycast Configuration Module
A Home Manager module for declarative Raycast configuration management using Nix. This module generates native .rayconfig files that can be imported directly into Raycast, enabling reproducible configuration across machines.
Overview
This module provides three approaches to managing Raycast configuration:
Declarative Configuration - Define settings directly in Nix using structured options
File Import - Import existing
.rayconfigexports as JSON filesAttribute Set - Use Nix attribute sets for full configuration control
The module handles encryption, compression, and format conversion automatically, producing .rayconfig files compatible with Raycast’s native import functionality.
Features
Installs Raycast Beta (0.61.0.0) when module is enabled
Declarative configuration of Raycast preferences, snippets, and extensions
Import and export existing Raycast configurations
Automatic
.rayconfigfile generation with proper encryptionScrypt + AES-256-GCM encryption support
Helper utilities for config inspection and conversion
Automated import via AppleScript (macOS only)
No external dependencies beyond standard Nix tools
Installation
Add the nixkit flake to your Home Manager configuration and import the Raycast module:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixkit.url = "github:frostplexx/nixkit";
};
outputs = { nixpkgs, nixkit, ... }: {
homeConfigurations.username = home-manager.lib.homeManagerConfiguration {
modules = [
nixkit.homeManagerModules.default
./home.nix
];
};
};
}
Quick Start
Basic Configuration
Enable the module and define basic preferences. The module will automatically install Raycast Beta (0.61.0.0) to /Applications/Raycast Beta.app:
programs.raycast = {
enable = true;
preferences = {
general.globalHotkey = "Option-49";
appearance = {
textSize = "medium";
statusBarVisible = true;
};
};
snippets = [
{
name = "Email Signature";
text = "user@example.com";
keyword = "email";
}
];
};
Note: Raycast is unfree software. Ensure your NixOS configuration allows unfree packages:
nixpkgs.config.allowUnfree = true;
Apply and Import
After running home-manager switch, import the generated configuration:
# Automated import (requires Accessibility permissions)
raycast-import-config
# Manual import
# 1. Open Raycast
# 2. Navigate to Settings → Advanced → Import Settings & Data
# 3. Select ~/.config/raycast/import.rayconfig
Configuration Methods
Method 1: Declarative Configuration
Define Raycast settings directly in Nix using structured options. This approach provides type safety and validation.
programs.raycast = {
enable = true;
version = "1.79.1";
preferences = {
general = {
globalHotkey = "Command-49";
alternativeEscape = false;
};
appearance = {
statusBarVisible = true;
textSize = "medium"; # Options: "small" | "medium" | "large"
windowMode = "default"; # Options: "default" | "compact"
showFavoritesInCompactMode = true;
};
advanced = {
navigationStyle = "macos";
popToRootTimeout = 90;
keepWindowVisibleOnResign = false;
};
};
snippets = [
{
name = "Shrug";
text = "¯\\_(ツ)_/¯";
keyword = "shrug";
}
];
fallbackSearches = [
"builtin_command_fileSearch_fallbackSearch"
"builtin_command_searchEmoji_fallbackSearch"
];
encryptionPassword = "your-password"; # Optional
};
Method 2: Import from JSON File
Import an existing Raycast export. This is the recommended approach for migrating existing configurations.
programs.raycast = {
enable = true;
configFile = ./raycast-config.json;
# Re-encrypt with a different password (optional)
encryptionPassword = "new-password";
};
Method 3: Attribute Set Import
Use Nix expressions to load and manipulate configuration programmatically.
programs.raycast = {
enable = true;
settings = builtins.fromJSON (builtins.readFile ./raycast-export.json);
encryptionPassword = "password";
};
Advanced Configuration
Extend the configuration with custom package settings:
programs.raycast = {
enable = true;
preferences.general.globalHotkey = "Option-49";
extraConfig = {
builtin_package_github = {
provider_schemaVersion = 1;
repositories = ["owner/repo1" "owner/repo2"];
};
builtin_package_linear = {
provider_schemaVersion = 1;
teamIds = ["team-id-1"];
};
};
};
Command-Line Utilities
The module provides several command-line utilities for working with .rayconfig files. The decrypt and encrypt utilities are always available, even when the module is disabled.
raycast-decrypt-config
Decrypt and inspect .rayconfig files.
Syntax:
raycast-decrypt-config <input.rayconfig> [password] [output.json]
Examples:
# Decrypt with default password
raycast-decrypt-config export.rayconfig
# Decrypt with custom password
raycast-decrypt-config export.rayconfig mysecret output.json
# Process unencrypted file
raycast-decrypt-config export.rayconfig "" output.json
The decrypted JSON can be used with configFile or modified and re-imported.
raycast-encrypt-config
Create .rayconfig files from JSON configuration.
Syntax:
raycast-encrypt-config <input.json> [password] [output.rayconfig]
Examples:
# Create unencrypted .rayconfig
raycast-encrypt-config config.json
# Create encrypted .rayconfig
raycast-encrypt-config config.json your-password
# Specify custom output path
raycast-encrypt-config config.json password output.rayconfig
raycast-import-config
Automate the Raycast import process using AppleScript. Available only when the module is enabled.
Syntax:
raycast-import-config
This utility:
Activates Raycast
Invokes the configured global hotkey
Searches for “Import Settings & Data”
Attempts to automatically select the configuration file
Requirements:
macOS Accessibility permissions for your terminal emulator
Correct
automationHotkeyconfiguration
Configuration:
programs.raycast = {
automationHotkey = "option down"; # Must match Raycast global hotkey
};
Hotkey Values:
"option down"- Option+Space (default)"command down"- Cmd+Space"control down"- Ctrl+Space
Exporting Existing Configuration
To migrate your current Raycast configuration to this module:
Step 1: Export from Raycast
Open Raycast
Search for “Export Settings & Data”
Choose whether to encrypt (optional, recommended for sensitive data)
Save the
.rayconfigfile
Step 2: Decrypt the Export
Convert the .rayconfig file to JSON:
raycast-decrypt-config ~/Downloads/Raycast-2026-05-27.rayconfig [password]
This produces Raycast-2026-05-27.json containing the configuration data.
Step 3: Import to Nix
Reference the decrypted JSON in your configuration:
programs.raycast = {
enable = true;
configFile = ./Raycast-2026-05-27.json;
# Optionally re-encrypt with a new password
encryptionPassword = "new-password";
};
Alternatively, use an attribute set for programmatic manipulation:
programs.raycast = {
enable = true;
settings = builtins.fromJSON (builtins.readFile ./Raycast-2026-05-27.json);
};
Module Options Reference
Core Options
programs.raycast.enable
Type:
booleanDefault:
false
Enable Raycast configuration management. When enabled, the module generates a .rayconfig file at the specified output path.
programs.raycast.version
Type:
stringDefault:
"1.0.0"
Raycast version string included in the generated configuration metadata.
programs.raycast.installationDate
Type:
stringDefault:
"2024-01-01T00:00:00Z"
Installation timestamp in ISO 8601 format.
programs.raycast.anonymousId
Type:
stringDefault:
"00000000-0000-0000-0000-000000000000"
Anonymous identifier (UUID format).
Configuration Sources
These options are mutually exclusive, with priority order: configFile > settings > declarative options.
programs.raycast.configFile
Type:
null or pathDefault:
nullExample:
./raycast-export.json
Path to a JSON file containing complete Raycast configuration. This is the recommended approach for importing existing configurations.
programs.raycast.settings
Type:
null or attribute setDefault:
null
Complete Raycast configuration as a Nix attribute set. Use this when you need to programmatically manipulate configuration.
Declarative Options
programs.raycast.preferences
Type:
attribute setDefault:
{}
Structured Raycast preferences organized into three categories:
preferences.general
globalHotkey(string): Keyboard shortcut (e.g., “Command-49”)alternativeEscape(boolean): Enable alternative escape behavior
preferences.appearance
statusBarVisible(boolean): Show Raycast in menu bartextSize(enum): “small” | “medium” | “large”windowMode(enum): “default” | “compact”showFavoritesInCompactMode(boolean)
preferences.advanced
windowPresentationMode(integer): Window presentation modenavigationStyle(string): Navigation command stylepopToRootTimeout(integer): Timeout in secondskeepWindowVisibleOnResign(boolean)
programs.raycast.snippets
Type:
list of attribute setsDefault:
[]
Text snippets configuration. Each snippet requires:
name(string): Display nametext(string): Snippet contentkeyword(string): Trigger keyword
programs.raycast.fallbackSearches
Type:
list of stringsDefault: (includes file search, emoji search, etc.)
List of enabled fallback search identifiers.
programs.raycast.installedExtensions
Type:
list of stringsDefault:
[]
Native extension identifiers to mark as installed.
programs.raycast.floatingNotes
Type:
list of attribute setsDefault:
[]
Floating notes configuration.
programs.raycast.extraConfig
Type:
attribute setDefault:
{}
Additional configuration merged into the generated JSON. Use this for package-specific settings not covered by other options.
Security Options
programs.raycast.encryptionPassword
Type:
null or stringDefault:
null
Password for encrypting the .rayconfig file using Scrypt + AES-256-GCM. When null, the file is generated unencrypted (gzip only).
Automation Options
programs.raycast.automationHotkey
Type:
stringDefault:
"option down"
AppleScript key modifier for automated import. Must match your Raycast global hotkey configuration.
programs.raycast.outputPath
Type:
stringDefault:
"$HOME/.config/raycast/import.rayconfig"
Output path for the generated .rayconfig file.
Technical Specification
File Format
The .rayconfig file is a gzipped JSON file with the following structure:
{
"exportedAt": "2026-05-27T06:38:52.663Z",
"appVersion": "0.61.0.0",
"osName": "macOS",
"osVersion": "26.5.0",
"osArch": "arm64",
"schemaVersion": 2,
"data": "<hex-encoded encrypted data>",
"encryption": {
"iv": "<hex-encoded initialization vector>",
"salt": "<hex-encoded salt>",
"authTag": "<hex-encoded authentication tag>"
}
}
Encryption Process
When encryption is enabled:
Compress: The configuration JSON is gzipped
Derive Key: Scrypt key derivation with parameters:
N = 16384
r = 8
p = 1
Key length = 32 bytes
Encrypt: AES-256-GCM encryption with:
12-byte random initialization vector
16-byte random salt
16-byte authentication tag
Encode: Ciphertext and metadata are hex-encoded
Wrap: Metadata wrapper JSON is created
Compress: Final JSON is gzipped to produce
.rayconfig
Unencrypted Format
For unencrypted configurations:
Configuration JSON is gzipped and hex-encoded
Placed in the
datafield without encryption metadataWrapper JSON is gzipped to produce
.rayconfig
Both encrypted and unencrypted .rayconfig files can be imported by Raycast.
Troubleshooting
Build Failures
Module not found or import errors
Ensure nixkit is properly added to your flake inputs and imported in your Home Manager configuration:
imports = [ nixkit.homeManagerModules.default ];
Python dependency errors
The module requires Python 3 with the cryptography library. This is automatically provided by Nix and should not require manual intervention.
Import Issues
Automated import not working
Verify Accessibility permissions:
Open System Settings → Privacy & Security → Accessibility
Grant permission to your terminal emulator (Terminal, iTerm2, etc.)
Confirm hotkey configuration matches Raycast settings:
programs.raycast.automationHotkey = "option down";Verify the configuration file exists:
ls -lh ~/.config/raycast/import.rayconfigTest file validity:
raycast-decrypt-config ~/.config/raycast/import.rayconfigFall back to manual import if automation fails
Import fails with decryption error
If Raycast reports a decryption error:
Verify the password is correct:
raycast-decrypt-config ~/.config/raycast/import.rayconfig your-passwordCheck the file is not corrupted:
gunzip -c ~/.config/raycast/import.rayconfig | jq .Regenerate the configuration with
home-manager switch
Decryption Errors
Wrong password
Ensure you’re using the correct password from the original export:
raycast-decrypt-config export.rayconfig CORRECT_PASSWORD output.json
Corrupted file
Verify the file is valid gzipped JSON:
gunzip -c export.rayconfig | jq empty
Configuration Issues
Settings not applying
The module generates .rayconfig files but does not automatically import them. You must:
Run
home-manager switchto generate the fileImport the file into Raycast (automated or manual)
Restart Raycast if settings don’t take effect immediately
Encryption password stored in plain text
The encryptionPassword option stores the password in the Nix store, which is world-readable. Consider:
Using an unencrypted configuration if no sensitive data is present
Managing secrets with a dedicated secrets management solution
Understanding that the encryption primarily protects the file at rest, not in the Nix store
Security Considerations
Password Storage
The encryptionPassword option stores passwords in the Nix store, which is world-readable. This presents several security implications:
Nix Store Visibility: All users on the system can read the Nix store
Build Logs: Passwords may appear in build outputs
Git History: Committed passwords remain in version control history
Recommendations:
Omit encryption if your configuration contains no sensitive data
Use secrets management solutions like sops-nix or agenix for production environments
Understand the threat model: The encryption primarily protects exported files, not the configuration source
Sensitive Data
Raycast configurations may contain:
API tokens for extensions
Workspace identifiers
Custom script contents
Search history
Review your configuration before committing it to version control or sharing publicly.
Related Projects
nixkit - NixOS modules collection containing this module
Home Manager - User environment manager for NixOS
Raycast - Extensible macOS launcher
References
Raycast Manual - Official Raycast documentation
Import/Export Format Analysis - Community reverse-engineering of
.rayconfigformatHome Manager Manual - Home Manager documentation
Contributing
Issues and pull requests are welcome at the nixkit repository. When reporting issues, please include:
Your NixOS and Home Manager versions
Relevant configuration snippets
Error messages or unexpected behavior
Steps to reproduce
License
This module is part of nixkit. See the main repository for license information.