test
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
# skhd (Simple Hotkey Daemon) configuration for macOS
|
||||
# Uses upstream home-manager's services.skhd module
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
super = "lalt";
|
||||
in lib.mkIf pkgs.stdenv.isDarwin {
|
||||
services.skhd = {
|
||||
enable = true;
|
||||
config = ''
|
||||
## Navigation (${super} - ...)
|
||||
# Space Navigation (four spaces per display): ${super} - {1, 2, 3, 4}
|
||||
${super} - 1 : yabai -m space --focus 1
|
||||
${super} - 2 : yabai -m space --focus 2
|
||||
${super} - 3 : yabai -m space --focus 3
|
||||
${super} - 4 : yabai -m space --focus 4
|
||||
${super} - 5 : yabai -m space --focus 5
|
||||
${super} - 6 : yabai -m space --focus 6
|
||||
${super} - 7 : yabai -m space --focus 7
|
||||
${super} - 8 : yabai -m space --focus 8
|
||||
${super} - 9 : yabai -m space --focus 9
|
||||
${super} - 0 : yabai -m space --focus 0
|
||||
|
||||
# Window Navigation (through display borders): ${super} - {h, j, k, l}
|
||||
${super} - h : yabai -m window --focus west || yabai -m display --focus west
|
||||
${super} - j : yabai -m window --focus south || yabai -m display --focus south
|
||||
${super} - k : yabai -m window --focus north || yabai -m display --focus north
|
||||
${super} - l : yabai -m window --focus east || yabai -m display --focus east
|
||||
|
||||
# Float / Unfloat window: ${super} - space
|
||||
# ${super} - space : yabai -m window --toggle float; sketchybar --trigger window_focus
|
||||
|
||||
# Make window zoom to fullscreen: shift + ${super} - f
|
||||
shift + ${super} - f : yabai -m window --toggle zoom-fullscreen; sketchybar --trigger window_focus
|
||||
|
||||
# Make window zoom to parent node: ${super} - f
|
||||
${super} - f : yabai -m window --toggle zoom-parent; sketchybar --trigger window_focus
|
||||
|
||||
## Window Movement (shift + ${super} - ...)
|
||||
# Moving windows in spaces: shift + ${super} - {h, j, k, l}
|
||||
shift + ${super} - h : yabai -m window --warp west || $(yabai -m window --display west && sketchybar --trigger windows_on_spaces && yabai -m display --focus west && yabai -m window --warp last) || yabai -m window --move rel:-10:0
|
||||
shift + ${super} - j : yabai -m window --warp south || $(yabai -m window --display south && sketchybar --trigger windows_on_spaces && yabai -m display --focus south) || yabai -m window --move rel:0:10
|
||||
shift + ${super} - k : yabai -m window --warp north || $(yabai -m window --display north && sketchybar --trigger windows_on_spaces && yabai -m display --focus north) || yabai -m window --move rel:0:-10
|
||||
shift + ${super} - l : yabai -m window --warp east || $(yabai -m window --display east && sketchybar --trigger windows_on_spaces && yabai -m display --focus east && yabai -m window --warp first) || yabai -m window --move rel:10:0
|
||||
|
||||
# Toggle split orientation of the selected windows node: shift + ${super} - s
|
||||
shift + ${super} - s : yabai -m window --toggle split
|
||||
|
||||
# Moving windows between spaces: shift + ${super} - {1, 2, 3, 4, p, n } (Assumes 4 Spaces Max per Display)
|
||||
shift + ${super} - 1 : DISPLAY="$(yabai -m query --displays --display | jq '.index')";\
|
||||
yabai -m window --space $((1+4*($DISPLAY - 1)));\
|
||||
sketchybar --trigger windows_on_spaces
|
||||
|
||||
shift + ${super} - 2 : DISPLAY="$(yabai -m query --displays --display | jq '.index')";\
|
||||
yabai -m window --space $((2+4*($DISPLAY - 1)));\
|
||||
sketchybar --trigger windows_on_spaces
|
||||
|
||||
shift + ${super} - 3 : DISPLAY="$(yabai -m query --displays --display | jq '.index')";\
|
||||
yabai -m window --space $((3+4*($DISPLAY - 1)));\
|
||||
sketchybar --trigger windows_on_spaces
|
||||
|
||||
shift + ${super} - 4 : DISPLAY="$(yabai -m query --displays --display | jq '.index')";\
|
||||
yabai -m window --space $((4+4*($DISPLAY - 1)));\
|
||||
sketchybar --trigger windows_on_spaces
|
||||
|
||||
shift + ${super} - p : yabai -m window --space prev; yabai -m space --focus prev; sketchybar --trigger windows_on_spaces
|
||||
shift + ${super} - n : yabai -m window --space next; yabai -m space --focus next; sketchybar --trigger windows_on_spaces
|
||||
|
||||
# Mirror Space on X and Y Axis: shift + ${super} - {x, y}
|
||||
shift + ${super} - x : yabai -m space --mirror x-axis
|
||||
shift + ${super} - y : yabai -m space --mirror y-axis
|
||||
|
||||
## Stacks (shift + ctrl - ...)
|
||||
# Add the active window to the window or stack to the {direction}: shift + ctrl - {h, j, k, l}
|
||||
shift + ctrl - h : yabai -m window west --stack $(yabai -m query --windows --window | jq -r '.id'); sketchybar --trigger window_focus
|
||||
shift + ctrl - j : yabai -m window south --stack $(yabai -m query --windows --window | jq -r '.id'); sketchybar --trigger window_focus
|
||||
shift + ctrl - k : yabai -m window north --stack $(yabai -m query --windows --window | jq -r '.id'); sketchybar --trigger window_focus
|
||||
shift + ctrl - l : yabai -m window east --stack $(yabai -m query --windows --window | jq -r '.id'); sketchybar --trigger window_focus
|
||||
|
||||
# Stack Navigation: shift + ctrl - {n, p}
|
||||
shift + ctrl - n : yabai -m window --focus stack.next
|
||||
shift + ctrl - p : yabai -m window --focus stack.prev
|
||||
|
||||
## Resize (ctrl + ${super} - ...)
|
||||
# Resize windows: ctrl + ${super} - {h, j, k, l}
|
||||
ctrl + ${super} - h : yabai -m window --resize right:-100:0 || yabai -m window --resize left:-100:0
|
||||
ctrl + ${super} - j : yabai -m window --resize bottom:0:100 || yabai -m window --resize top:0:100
|
||||
ctrl + ${super} - k : yabai -m window --resize bottom:0:-100 || yabai -m window --resize top:0:-100
|
||||
ctrl + ${super} - l : yabai -m window --resize right:100:0 || yabai -m window --resize left:100:0
|
||||
|
||||
# Equalize size of windows: ctrl + ${super} - e
|
||||
ctrl + ${super} - e : yabai -m space --balance
|
||||
|
||||
# Enable / Disable gaps in current workspace: ctrl + ${super} - g
|
||||
ctrl + ${super} - g : yabai -m space --toggle padding; yabai -m space --toggle gap
|
||||
|
||||
# Enable / Disable window borders in current workspace: ctrl + ${super} - b
|
||||
ctrl + ${super} - b : yabai -m config window_border off
|
||||
shift + ctrl + ${super} - b : yabai -m config window_border on
|
||||
|
||||
## Misc
|
||||
# Open new Kitty window
|
||||
${super} - return : kitty
|
||||
# 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')
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user