From 3bea79854cace0611297452214187038e3ae83d7 Mon Sep 17 00:00:00 2001 From: Wong Ding Feng Date: Sun, 18 Jan 2026 23:56:35 +0800 Subject: [PATCH] test --- darwin/configuration.nix | 1 + {home-manager/modules => darwin}/skhd.nix | 8 +-- home-manager/home.nix | 1 - home-manager/modules/fish.md | 82 +++++++++++------------ 4 files changed, 46 insertions(+), 46 deletions(-) rename {home-manager/modules => darwin}/skhd.nix (97%) diff --git a/darwin/configuration.nix b/darwin/configuration.nix index de94401..048dc24 100644 --- a/darwin/configuration.nix +++ b/darwin/configuration.nix @@ -14,6 +14,7 @@ # Window management services ./yabai.nix + ./skhd.nix # If you want to use modules your own flake exports (from modules/darwin): # inputs.self.darwinModules.example diff --git a/home-manager/modules/skhd.nix b/darwin/skhd.nix similarity index 97% rename from home-manager/modules/skhd.nix rename to darwin/skhd.nix index 6c65afb..4a5d0c8 100644 --- a/home-manager/modules/skhd.nix +++ b/darwin/skhd.nix @@ -1,5 +1,5 @@ # skhd (Simple Hotkey Daemon) configuration for macOS -# Uses upstream home-manager's services.skhd module +# Uses nix-darwin's services.skhd module { config, lib, @@ -7,10 +7,10 @@ ... }: let super = "lalt"; -in lib.mkIf pkgs.stdenv.isDarwin { +in { services.skhd = { enable = true; - config = '' + skhdConfig = '' ## Navigation (${super} - ...) # Space Navigation (four spaces per display): ${super} - {1, 2, 3, 4} ${super} - 1 : yabai -m space --focus 1 @@ -103,7 +103,7 @@ in lib.mkIf pkgs.stdenv.isDarwin { ## Misc # Open new Kitty window - ${super} - return : kitty + ${super} - return : kitty --single-instance # Bring Kitty window to current space ${super} - o : yabai -m window $(yabai -m query --windows | jq '.[] | select(.app==".kitty-wrapped") | .id') --space $(yabai -m query --spaces | jq '.[] | select(.has-focus==1) .id') ''; diff --git a/home-manager/home.nix b/home-manager/home.nix index c1a0051..25e9fb4 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -25,7 +25,6 @@ ./modules/kitty.nix ./modules/neovim.nix ./modules/tmux.nix - ./modules/skhd.nix # Doom Emacs via nix-doom-emacs-unstraightened ./modules/doom-emacs.nix diff --git a/home-manager/modules/fish.md b/home-manager/modules/fish.md index 92c66d7..6ca6019 100644 --- a/home-manager/modules/fish.md +++ b/home-manager/modules/fish.md @@ -1,62 +1,62 @@ # Fish Plugins Available in Nixpkgs ## Directory Navigation -- **z** - Pure-fish z directory jumping -- **fish-bd** - Fish plugin to quickly go back to a parent directory up in your current working directory tree +- **z** (`pkgs.fishPlugins.z`) - Pure-fish z directory jumping +- **fish-bd** (`pkgs.fishPlugins.fish-bd`) - Fish plugin to quickly go back to a parent directory up in your current working directory tree ## Prompts & Themes -- **tide** - Ultimate Fish prompt -- **pure** - Pretty, minimal and fast Fish prompt, ported from zsh -- **hydro** - Ultra-pure, lag-free prompt with async Git status -- **bobthefish** - Powerline-style, Git-aware fish theme optimized for awesome -- **bobthefisher** - Powerline-style, Git-aware fish theme optimized for awesome (fork of bobthefish) -- **transient-fish** - Fish plugin to enable a transient prompt -- **gruvbox** - Gruvbox theme for fish shell -- **async-prompt** - Make your prompt asynchronous to improve the reactivity +- **tide** (`pkgs.fishPlugins.tide`) - Ultimate Fish prompt +- **pure** (`pkgs.fishPlugins.pure`) - Pretty, minimal and fast Fish prompt, ported from zsh +- **hydro** (`pkgs.fishPlugins.hydro`) - Ultra-pure, lag-free prompt with async Git status +- **bobthefish** (`pkgs.fishPlugins.bobthefish`) - Powerline-style, Git-aware fish theme optimized for awesome +- **bobthefisher** (`pkgs.fishPlugins.bobthefisher`) - Powerline-style, Git-aware fish theme optimized for awesome (fork of bobthefish) +- **transient-fish** (`pkgs.fishPlugins.transient-fish`) - Fish plugin to enable a transient prompt +- **gruvbox** (`pkgs.fishPlugins.gruvbox`) - Gruvbox theme for fish shell +- **async-prompt** (`pkgs.fishPlugins.async-prompt`) - Make your prompt asynchronous to improve the reactivity ## Fuzzy Finding & Search -- **fzf-fish** - Augment your fish command line with fzf key bindings -- **fzf** - Ef-fish-ient fish keybindings for fzf -- **fifc** - Fzf powers on top of fish completion engine and allows customizable completion rules +- **fzf-fish** (`pkgs.fishPlugins.fzf-fish`) - Augment your fish command line with fzf key bindings +- **fzf** (`pkgs.fishPlugins.fzf`) - Ef-fish-ient fish keybindings for fzf +- **fifc** (`pkgs.fishPlugins.fifc`) - Fzf powers on top of fish completion engine and allows customizable completion rules ## Git Integration -- **forgit** - Utility tool powered by fzf for using git interactively -- **plugin-git** - Git plugin for fish (similar to oh-my-zsh git) -- **git-abbr** - Abbreviations for git for the fish shell 🐟 +- **forgit** (`pkgs.fishPlugins.forgit`) - Utility tool powered by fzf for using git interactively +- **plugin-git** (`pkgs.fishPlugins.plugin-git`) - Git plugin for fish (similar to oh-my-zsh git) +- **git-abbr** (`pkgs.fishPlugins.git-abbr`) - Abbreviations for git for the fish shell 🐟 ## Quality of Life -- **autopair** - Auto-complete matching pairs in the Fish command line -- **done** - Automatically receive notifications when long processes finish -- **sponge** - Keeps your fish shell history clean from typos, incorrectly used commands and everything you don't want to store due to privacy reasons -- **puffer** - Text Expansions for Fish -- **colored-man-pages** - Fish shell plugin to colorize man pages -- **pisces** - Paired symbols in the command line -- **spark** - Sparklines for Fish -- **humantime-fish** - Turn milliseconds into a human-readable string in Fish +- **autopair** (`pkgs.fishPlugins.autopair`) - Auto-complete matching pairs in the Fish command line +- **done** (`pkgs.fishPlugins.done`) - Automatically receive notifications when long processes finish +- **sponge** (`pkgs.fishPlugins.sponge`) - Keeps your fish shell history clean from typos, incorrectly used commands and everything you don't want to store due to privacy reasons +- **puffer** (`pkgs.fishPlugins.puffer`) - Text Expansions for Fish +- **colored-man-pages** (`pkgs.fishPlugins.colored-man-pages`) - Fish shell plugin to colorize man pages +- **pisces** (`pkgs.fishPlugins.pisces`) - Paired symbols in the command line +- **spark** (`pkgs.fishPlugins.spark`) - Sparklines for Fish +- **humantime-fish** (`pkgs.fishPlugins.humantime-fish`) - Turn milliseconds into a human-readable string in Fish ## Shell Compatibility & Utilities -- **bass** - Fish function making it easy to use utilities written for Bash in Fish shell -- **foreign-env** - Foreign environment interface for Fish shell -- **grc** - Grc Colourizer for some commands on Fish shell -- **plugin-sudope** - Fish plugin to quickly put 'sudo' in your command -- **fishbang** - Bash bang commands for fish -- **bang-bang** - Bash style history substitution for Oh My Fish +- **bass** (`pkgs.fishPlugins.bass`) - Fish function making it easy to use utilities written for Bash in Fish shell +- **foreign-env** (`pkgs.fishPlugins.foreign-env`) - Foreign environment interface for Fish shell +- **grc** (`pkgs.fishPlugins.grc`) - Grc Colourizer for some commands on Fish shell +- **plugin-sudope** (`pkgs.fishPlugins.plugin-sudope`) - Fish plugin to quickly put 'sudo' in your command +- **fishbang** (`pkgs.fishPlugins.fishbang`) - Bash bang commands for fish +- **bang-bang** (`pkgs.fishPlugins.bang-bang`) - Bash style history substitution for Oh My Fish ## Development Tools -- **nvm** - Node.js version manager you'll adore, crafted just for Fish -- **sdkman-for-fish** - Adds support for SDKMAN! to fish -- **github-copilot-cli-fish** - GitHub Copilot CLI aliases for Fish Shell -- **exercism-cli-fish-wrapper** - Fish wrapper for the Exercism CLI -- **aws** - Completions and integrations with the AWS CLI +- **nvm** (`pkgs.fishPlugins.nvm`) - Node.js version manager you'll adore, crafted just for Fish +- **sdkman-for-fish** (`pkgs.fishPlugins.sdkman-for-fish`) - Adds support for SDKMAN! to fish +- **github-copilot-cli-fish** (`pkgs.fishPlugins.github-copilot-cli-fish`) - GitHub Copilot CLI aliases for Fish Shell +- **exercism-cli-fish-wrapper** (`pkgs.fishPlugins.exercism-cli-fish-wrapper`) - Fish wrapper for the Exercism CLI +- **aws** (`pkgs.fishPlugins.aws`) - Completions and integrations with the AWS CLI ## Testing & Development -- **fishtape** - TAP-based test runner for Fish -- **fishtape_3** - 100% pure-Fish test runner -- **clownfish** - Fish function to mock the behaviour of commands +- **fishtape** (`pkgs.fishPlugins.fishtape`) - TAP-based test runner for Fish +- **fishtape_3** (`pkgs.fishPlugins.fishtape_3`) - 100% pure-Fish test runner +- **clownfish** (`pkgs.fishPlugins.clownfish`) - Fish function to mock the behaviour of commands ## Productivity & Monitoring -- **wakatime-fish** - Fish plugin for wakatime -- **fish-you-should-use** - Fish plugin that reminds you to use your aliases +- **wakatime-fish** (`pkgs.fishPlugins.wakatime-fish`) - Fish plugin for wakatime +- **fish-you-should-use** (`pkgs.fishPlugins.fish-you-should-use`) - Fish plugin that reminds you to use your aliases ## Platform-Specific -- **macos** - MacOS functions for Fish +- **macos** (`pkgs.fishPlugins.macos`) - MacOS functions for Fish