mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-16 07:02:37 +00:00
Compare commits
70 Commits
lazynvim
...
b7edc19958
| Author | SHA1 | Date | |
|---|---|---|---|
|
b7edc19958
|
|||
|
8bc955b12f
|
|||
| 28c71ee752 | |||
|
920d87f8e0
|
|||
|
d90146fde3
|
|||
|
40fe096baa
|
|||
|
9dd5559af5
|
|||
|
c96dd116c9
|
|||
|
92fbde1e00
|
|||
|
b77180638a
|
|||
|
a06f1cc2a6
|
|||
|
2a54c8c599
|
|||
|
dddcb877d6
|
|||
|
0bd1e6242d
|
|||
|
e8de865417
|
|||
|
3825ef78ff
|
|||
|
81582b2194
|
|||
|
9363055e5a
|
|||
|
3230fb7007
|
|||
|
6f11d99043
|
|||
|
802ea082c8
|
|||
|
9cb3792223
|
|||
|
3041d0a5e5
|
|||
|
ecf3e98e25
|
|||
|
cbe4ebc538
|
|||
|
511c7307b6
|
|||
|
30ac84ecac
|
|||
|
547cc41436
|
|||
|
3fd33cd92e
|
|||
|
8c83898abf
|
|||
|
3fc1054206
|
|||
|
6c6c5c507d
|
|||
|
b627d68ae3
|
|||
|
d8feb9535d
|
|||
|
73973aed67
|
|||
|
534a902512
|
|||
|
5dc1b33da8
|
|||
|
4624fa48d3
|
|||
|
fa0cf72ae0
|
|||
|
e10715940f
|
|||
|
a5ca5b4f63
|
|||
|
26b98e444d
|
|||
|
3796572324
|
|||
|
3382c4b165
|
|||
|
afdedc5acf
|
|||
|
ad5ade6679
|
|||
|
994ff17ceb
|
|||
|
ccc2367bc3
|
|||
|
7f98d4046f
|
|||
|
98804b3aa5
|
|||
|
53db3f3e8f
|
|||
|
86422bd68b
|
|||
|
95139d50ba
|
|||
|
15b1aded69
|
|||
|
dcac27db37
|
|||
|
a71ae05e5b
|
|||
|
9a1b00610e
|
|||
|
4f47e288ea
|
|||
|
963fcd2810
|
|||
|
9ead148f34
|
|||
|
0d8364eaf9
|
|||
|
4d42fa4dab
|
|||
|
f23adad4b0
|
|||
|
44f5c35d38
|
|||
|
25ddde6e12
|
|||
|
4a023203bd
|
|||
|
5f07ffede9
|
|||
|
6cdf85b4e3
|
|||
|
876e7f6d0e
|
|||
|
b78fb64bd3
|
3
.markdownlint.jsonc
Normal file
3
.markdownlint.jsonc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"MD013": { "code_blocks": false }
|
||||
}
|
||||
2
.prettierrc.yaml
Normal file
2
.prettierrc.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
proseWrap: always
|
||||
printWidth: 80
|
||||
2
TODO.md
2
TODO.md
@@ -5,3 +5,5 @@
|
||||
- Add tmux-powerline linking to `dots` cli manager.
|
||||
- Clean up zet commands, maybe make a gum / fzf filter script.
|
||||
- Update README to reflect ansible installation
|
||||
- Update ansible to do gpg installation.
|
||||
- Update ansible to include sketchybar.
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Facebook Bot Instructions
|
||||
|
||||
This is used to programmaticly make posts to Facebook.
|
||||
|
||||
## References
|
||||
|
||||
- https://developers.facebook.com/docs/graph-api/reference/v18.0/group/feed
|
||||
- https://developers.facebook.com/tools/explorer?method=GET&path=896542914538874&version=v18.0
|
||||
|
||||
An access token with `publish_to_groups` permissions is required to post to
|
||||
groups.
|
||||
32
ghostty/config
Normal file
32
ghostty/config
Normal file
@@ -0,0 +1,32 @@
|
||||
theme = Catppuccin Mocha
|
||||
|
||||
confirm-close-surface = false
|
||||
|
||||
font-size = 13
|
||||
font-thicken = false
|
||||
|
||||
window-save-state = always
|
||||
|
||||
# NOTE: This setting removes tabs, rounded borders, and window controls.
|
||||
# Also makes some of the below macos-titlebar-* things not matter, but
|
||||
# will take affect if this is set to true.
|
||||
window-decoration = true
|
||||
|
||||
copy-on-select = true
|
||||
quit-after-last-window-closed = true
|
||||
|
||||
macos-auto-secure-input = true
|
||||
macos-non-native-fullscreen = visible-menu
|
||||
macos-titlebar-style = transparent
|
||||
macos-titlebar-proxy-icon = hidden
|
||||
macos-icon = custom-style
|
||||
|
||||
keybind = super+shift+t=toggle_quick_terminal
|
||||
|
||||
# Splits
|
||||
keybind = super+j=goto_split:down
|
||||
keybind = super+h=goto_split:left
|
||||
keybind = super+k=goto_split:up
|
||||
keybind = super+l=goto_split:right
|
||||
keybind = super+shift+j=goto_split:previous
|
||||
keybind = super+shift+k=goto_split:next
|
||||
@@ -1,29 +1,67 @@
|
||||
[core]
|
||||
excludesfile = ~/.config/git/gitignore
|
||||
ignorecasse = false
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[user]
|
||||
name = Michael Housh
|
||||
email = mhoush@houshhomeenergy.com
|
||||
signingkey = mhoush@houshhomeenergy.com
|
||||
email = michael@mhoush.com
|
||||
signingkey = 0x90D3EB6274D5B7CF
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
||||
sort = version:refname
|
||||
|
||||
[color]
|
||||
ui = true
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
|
||||
[credential]
|
||||
helper = gopass
|
||||
|
||||
[credential "https://git.housh.dev"]
|
||||
username = michael
|
||||
|
||||
[push]
|
||||
default = simple
|
||||
autoSetupRemote = true
|
||||
followTags = true
|
||||
|
||||
[fetch]
|
||||
prune = true
|
||||
#pruneTags = true
|
||||
#all = true
|
||||
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
[filter "lfs"]
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
|
||||
[column]
|
||||
ui = auto
|
||||
|
||||
[branch]
|
||||
sort = committerdate
|
||||
|
||||
[diff]
|
||||
algorithm = histogram
|
||||
colorMoved = plain
|
||||
mnemonicPrefix = true
|
||||
renames = true
|
||||
|
||||
[rerere]
|
||||
enabled = true
|
||||
autoupdate = true
|
||||
|
||||
[rebase]
|
||||
autoSquash = true
|
||||
autoStash = true
|
||||
updateRefs = true
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
[mounts]
|
||||
path = /Users/michael/.local/share/password-store
|
||||
path = /home/michael/.local/share/gopass/passwordstore
|
||||
[recipients]
|
||||
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
|
||||
hash = 6a408ace969698b274c7c7580f7b0187e8aab4018ae06c5de895d69ae99b8b44
|
||||
[mounts "servers"]
|
||||
path = /Users/michael/.local/share/gopass/stores/servers
|
||||
[recipients "homelab"]
|
||||
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0
|
||||
[mounts "homelab"]
|
||||
[recipients "new-test"]
|
||||
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
|
||||
[mounts "new-test"]
|
||||
[recipients "servers"]
|
||||
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0
|
||||
|
||||
16
gpg/LaunchAgents/gnupg.gpg-agent-symlink.plist
Normal file
16
gpg/LaunchAgents/gnupg.gpg-agent-symlink.plist
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ProperyList-1.0/dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>net.jms1.gpg-agent-symlink</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/bin/sh</string>
|
||||
<string>-c</string>
|
||||
<string>/bin/ln -sf $HOME/.gnupg/S.gpg-agent.ssh $SSH_AUTH_SOCK</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
17
gpg/LaunchAgents/gnupg.gpg-agent.plist
Normal file
17
gpg/LaunchAgents/gnupg.gpg-agent.plist
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>net.jms1.gpg-agent</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<false/>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/local/MacGPG2/bin/gpg-connect-agent</string>
|
||||
<string>/bye</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
13
gpg/gpg-agent.conf
Normal file
13
gpg/gpg-agent.conf
Normal file
@@ -0,0 +1,13 @@
|
||||
# https://github.com/drduh/config/blob/main/gpg-agent.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html
|
||||
enable-ssh-support
|
||||
ttyname $GPG_TTY
|
||||
default-cache-ttl 60
|
||||
max-cache-ttl 120
|
||||
#pinentry-program /usr/bin/pinentry-curses
|
||||
#pinentry-program /usr/bin/pinentry-gnome3
|
||||
#pinentry-program /usr/bin/pinentry-tty
|
||||
#pinentry-program /usr/bin/pinentry-x11
|
||||
#pinentry-program /usr/local/bin/pinentry-curses
|
||||
|
||||
#pinentry-program /opt/homebrew/bin/pinentry-mac
|
||||
70
gpg/gpg.conf
Normal file
70
gpg/gpg.conf
Normal file
@@ -0,0 +1,70 @@
|
||||
# https://github.com/drduh/config/blob/main/gpg.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Options.html
|
||||
# 'gpg --version' to get capabilities
|
||||
# Use AES256, 192, or 128 as cipher
|
||||
personal-cipher-preferences AES256 AES192 AES
|
||||
# Use SHA512, 384, or 256 as digest
|
||||
personal-digest-preferences SHA512 SHA384 SHA256
|
||||
# Use ZLIB, BZIP2, ZIP, or no compression
|
||||
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
|
||||
# Default preferences for new keys
|
||||
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
|
||||
# SHA512 as digest to sign keys
|
||||
cert-digest-algo SHA512
|
||||
# SHA512 as digest for symmetric ops
|
||||
s2k-digest-algo SHA512
|
||||
# AES256 as cipher for symmetric ops
|
||||
s2k-cipher-algo AES256
|
||||
# UTF-8 support for compatibility
|
||||
charset utf-8
|
||||
# No comments in messages
|
||||
no-comments
|
||||
# No version in output
|
||||
no-emit-version
|
||||
# Disable banner
|
||||
no-greeting
|
||||
# Long key id format
|
||||
keyid-format 0xlong
|
||||
# Display UID validity
|
||||
list-options show-uid-validity
|
||||
verify-options show-uid-validity
|
||||
# Display all keys and their fingerprints
|
||||
with-fingerprint
|
||||
# Display key origins and updates
|
||||
#with-key-origin
|
||||
# Cross-certify subkeys are present and valid
|
||||
require-cross-certification
|
||||
# Enforce memory locking to avoid accidentally swapping GPG memory to disk
|
||||
require-secmem
|
||||
# Disable caching of passphrase for symmetrical ops
|
||||
no-symkey-cache
|
||||
# Output ASCII instead of binary
|
||||
armor
|
||||
# Enable smartcard
|
||||
use-agent
|
||||
# Disable recipient key ID in messages (breaks Mailvelope)
|
||||
throw-keyids
|
||||
# Default key ID to use (helpful with throw-keyids)
|
||||
#default-key 0xFF00000000000001
|
||||
#trusted-key 0xFF00000000000001
|
||||
# Group recipient keys (preferred ID last)
|
||||
#group keygroup = 0xFF00000000000003 0xFF00000000000002 0xFF00000000000001
|
||||
# Keyserver URL
|
||||
#keyserver hkps://keys.openpgp.org
|
||||
#keyserver hkps://keys.mailvelope.com
|
||||
#keyserver hkps://keyserver.ubuntu.com:443
|
||||
#keyserver hkps://pgpkeys.eu
|
||||
#keyserver hkps://pgp.circl.lu
|
||||
#keyserver hkp://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion
|
||||
# Keyserver proxy
|
||||
#keyserver-options http-proxy=http://127.0.0.1:8118
|
||||
#keyserver-options http-proxy=socks5-hostname://127.0.0.1:9050
|
||||
# Enable key retrieval using WKD and DANE
|
||||
#auto-key-locate wkd,dane,local
|
||||
#auto-key-retrieve
|
||||
# Trust delegation mechanism
|
||||
#trust-model tofu+pgp
|
||||
# Show expired subkeys
|
||||
#list-options show-unusable-subkeys
|
||||
# Verbose output
|
||||
#verbose
|
||||
@@ -1,15 +0,0 @@
|
||||
theme = "nightfox"
|
||||
|
||||
[editor]
|
||||
line-number = "relative"
|
||||
cursorline = true
|
||||
color-modes = true
|
||||
shell = ["zsh", "-c"]
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
hidden = false
|
||||
71
hpa/config.toml
Normal file
71
hpa/config.toml
Normal file
@@ -0,0 +1,71 @@
|
||||
# NOTE:
|
||||
# Configuration settings for the `hpa` command line tool.
|
||||
# You can delete settings that are not applicable to your use case.
|
||||
|
||||
# Default arguments / options that get passed into `ansible-playbook` commands.
|
||||
# WARNING: Do not put arguments / options that contain spaces in the same string,
|
||||
# they should be separate strings, for example do not do something like
|
||||
# ['--tags debug'], instead use ['--tags', 'debug'].
|
||||
#
|
||||
args = []
|
||||
|
||||
# Set to true if you want to pass the vault args to `ansible-playbook` commands.
|
||||
useVaultArgs = true
|
||||
|
||||
# NOTE:
|
||||
# Configuration for running the generate command(s). This allows custimizations
|
||||
# to the files that get used to generate the final output (generally a pdf).
|
||||
# See `pandoc --help`. Below are the defaults that get used, which only need
|
||||
# adjusted if your template does not follow the default template design or if
|
||||
# you add extra files to your template that need to be included in the final
|
||||
# output. Also be aware that any of the files specified in the `files` or
|
||||
# `includeInHeader` options, need to be inside the `buildDirectory` when generating
|
||||
# the final output file.
|
||||
|
||||
# [generate]
|
||||
# this relative to the project directory.
|
||||
# buildDirectory = '.build'
|
||||
# pdfEngine = 'xelatex'
|
||||
# includeInHeader = [
|
||||
# 'head.tex',
|
||||
# 'footer.tex'
|
||||
# ]
|
||||
# files = [
|
||||
# 'Report.md',
|
||||
# 'Definitions.md'
|
||||
# ]
|
||||
# outputFileName = 'Report'
|
||||
|
||||
# NOTE:
|
||||
# These are more for local development of the ansible playbook and should not be needed
|
||||
# in most cases. Uncomment the lines if you want to customize the playbook and use it
|
||||
# instead of the provided / default playbook.
|
||||
|
||||
#[playbook]
|
||||
#directory = '/path/to/local/playbook-directory'
|
||||
#inventory = '/path/to/local/inventory.ini'
|
||||
#version = 'main'
|
||||
|
||||
# NOTE:
|
||||
# These are to declare where your template files are either on your local system or
|
||||
# a remote git repository.
|
||||
[template]
|
||||
# The directory path on your local system to the template files.
|
||||
directory = '/Volumes/Bucket/Repos/hhe-consult-template'
|
||||
# The url to a git repository that contains your template files.
|
||||
url = 'https://git.housh.dev/hhe/consult-template.git'
|
||||
|
||||
# The version, tag, branch, or sha of the template files to clone from the remote
|
||||
# template repository. In general it is best practice to use a version instead of a
|
||||
# branch.
|
||||
version = 'main'
|
||||
|
||||
# NOTE:
|
||||
# Holds settings for `ansible-vault` commands.
|
||||
[vault]
|
||||
# Arguments to pass to commands that use `ansible-vault`, such as encrypting or decrypting
|
||||
# files.
|
||||
args = [ '--vault-id=consults@$SCRIPTS/vault-gopass-client' ]
|
||||
|
||||
# An id to use when encrypting `ansible-vault` files.
|
||||
encryptId = 'consults'
|
||||
35
hypr/env.conf
Normal file
35
hypr/env.conf
Normal file
@@ -0,0 +1,35 @@
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
# Cursor size
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
# Force all apps to use Wayland
|
||||
env = GDK_BACKEND,wayland,x11,*
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_STYLE_OVERRIDE,kvantum
|
||||
env = SDL_VIDEODRIVER,wayland
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||
env = OZONE_PLATFORM,wayland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
|
||||
# Allow better support for screen sharing (Google Meet, Discord, etc)
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
# Use XCompose file
|
||||
env = XCOMPOSEFILE,~/.XCompose
|
||||
|
||||
# Don't show update on first launch
|
||||
ecosystem {
|
||||
no_update_news = true
|
||||
}
|
||||
188
hypr/hyprland.conf
Normal file
188
hypr/hyprland.conf
Normal file
@@ -0,0 +1,188 @@
|
||||
|
||||
# #######################################################################################
|
||||
# HYPRLAND - GENERAL CONFIG
|
||||
# #######################################################################################
|
||||
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
exec-once = waybar & swaync & elephant & hyprpaper
|
||||
|
||||
source = ~/.config/hypr/windows.conf
|
||||
source = ~/.config/hypr/env.conf
|
||||
|
||||
###################
|
||||
### PERMISSIONS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Permissions/
|
||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
# for security reasons
|
||||
|
||||
# ecosystem {
|
||||
# enforce_permissions = 1
|
||||
# }
|
||||
|
||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 5
|
||||
|
||||
border_size = 1
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = true
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 2
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = ctrl:nocaps
|
||||
kb_rules =
|
||||
|
||||
repeat_rate = 35
|
||||
repeat_delay = 200
|
||||
|
||||
follow_mouse = 2
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
tap-to-click = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
source = ~/.config/hypr/windows.conf
|
||||
# Include the keybinds file.
|
||||
source = ~/.config/hypr/keybinds.conf
|
||||
109
hypr/hyprlock.conf
Normal file
109
hypr/hyprlock.conf
Normal file
@@ -0,0 +1,109 @@
|
||||
# sample hyprlock.conf
|
||||
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
|
||||
#
|
||||
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
|
||||
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
|
||||
#
|
||||
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
|
||||
#
|
||||
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
|
||||
#
|
||||
|
||||
$font = Monospace
|
||||
|
||||
general {
|
||||
hide_cursor = false
|
||||
}
|
||||
|
||||
# uncomment to enable fingerprint authentication
|
||||
# auth {
|
||||
# fingerprint {
|
||||
# enabled = true
|
||||
# ready_message = Scan fingerprint to unlock
|
||||
# present_message = Scanning...
|
||||
# retry_delay = 250 # in milliseconds
|
||||
# }
|
||||
# }
|
||||
|
||||
# NOTE: Currently enabling animations and background 'path = screenshot' causes hyprlock
|
||||
# to not work, so they are disabled.
|
||||
animations {
|
||||
enabled = false
|
||||
bezier = linear, 1, 1, 0, 0
|
||||
animation = fadeIn, 1, 5, linear
|
||||
animation = fadeOut, 1, 5, linear
|
||||
animaution = inputFieldDots, 1, 2, linear
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
#path = screenshot
|
||||
path = ~/.config/hypr/wallpaper.png
|
||||
blur_passes = 3
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor = eDP-1
|
||||
size = 20%, 5%
|
||||
outline_thickness = 3
|
||||
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
||||
|
||||
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
|
||||
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
|
||||
|
||||
font_color = rgb(143, 143, 143)
|
||||
fade_on_empty = false
|
||||
rounding = 15
|
||||
|
||||
font_family = $font
|
||||
placeholder_text = Input password...
|
||||
fail_text = $PAMFAIL
|
||||
|
||||
# uncomment to use a letter instead of a dot to indicate the typed password
|
||||
# dots_text_format = *
|
||||
# dots_size = 0.4
|
||||
dots_spacing = 0.3
|
||||
|
||||
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
|
||||
# hide_input = true
|
||||
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
|
||||
font_size = 90
|
||||
font_family = $font
|
||||
|
||||
position = -30, 0
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
|
||||
position = -30, -150
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = $LAYOUT[en,ru]
|
||||
font_size = 24
|
||||
onclick = hyprctl switchxkblayout all next
|
||||
|
||||
position = 250, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
3
hypr/hyprpaper.conf
Normal file
3
hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
preload = /home/michael/.config/hypr/wallpaper.png
|
||||
wallpaper = ,/home/michael/.config/hypr/wallpaper.png
|
||||
splash = true
|
||||
136
hypr/keybinds.conf
Normal file
136
hypr/keybinds.conf
Normal file
@@ -0,0 +1,136 @@
|
||||
##############################
|
||||
### HYPRLAND - KEYBINDINGS ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Command/Windows" key as main modifier
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
#
|
||||
# Set programs that you use
|
||||
$terminal = ghostty
|
||||
$browser = zen-browser
|
||||
$fileManager = $terminal -e yazi
|
||||
$fileBrowser = nautilus
|
||||
$menu = walker
|
||||
#$pwa = chromium --profile-directory=Default --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
$pwa = ~/.local/bin/launch-webapp
|
||||
$launch = gtk-launch
|
||||
|
||||
$btop = $terminal -e btop
|
||||
$config = $terminal -e ~/.local/share/scripts/tmux-sessionator ~/.config
|
||||
$email = $pwa "https://mail.proton.me" # proton mail
|
||||
$excalidraw = $pwa "https://draw.housh.dev"
|
||||
$gitea = $pwa "https://git.housh.dev"
|
||||
$neovim = $terminal -e nvim
|
||||
$protonPass = $pwa "https://pass.proton.me"
|
||||
$youtube = $pwa "https://youtube.com"
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# Apps
|
||||
bind = $mainMod, Space, exec, $menu # launcher (set above)
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, A, exec, $pwa "https://chatgpt.com"
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod SHIFT, B, exec, $browser --private-window
|
||||
bind = $mainMod, C, exec, $config
|
||||
bind = $mainMod, D, exec, $excalidraw
|
||||
bind = $mainMod SHIFT, D, exec, ~/.local/bin/toggle-desktop
|
||||
bind = $mainMod, E, exec, $email
|
||||
bind = $mainMod, F, exec, $fileManager
|
||||
bind = $mainMod, K, exec, $launch Komodo
|
||||
bind = $mainMod SHIFT, F, exec, $fileBrowser
|
||||
bind = $mainMod, G, exec, $gitea
|
||||
bind = $mainMod, N, exec, $neovim
|
||||
bind = $mainMod, P, exec, $protonPass
|
||||
bind = $mainMod, Y, exec, $youtube
|
||||
|
||||
bind = $mainMod, W, killactive,
|
||||
# TODO: change modifier key.
|
||||
#bind = $mainMod SHIFT, L, exec, hyprlock
|
||||
# TODO: change modifier key.
|
||||
bind = $mainMod, M, exec, ~/.local/bin/toggle-waybar
|
||||
bind = $mainMod, V, togglefloating
|
||||
#bind = $mainMod, P, pseudo, # dwindle
|
||||
#bind = $mainMod, J, togglesplit, # dwindle
|
||||
#
|
||||
# Screenshots
|
||||
bind = $mainMod SHIFT ALT, 3, exec, hyprshot -m window -o ~/Pictures
|
||||
bind = $mainMod SHIFT ALT, 4, exec, hyprshot -m region -o ~/Pictures
|
||||
|
||||
bind = CTRL, F, exec, hyprctl dispatch togglefloating \
|
||||
&& hyprctl dispatch centerwindow
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
# Move windows with mainMod + Shift
|
||||
bind = $mainMod SHIFT, H, movewindow, l
|
||||
bind = $mainMod SHIFT, L, movewindow, r
|
||||
bind = $mainMod SHIFT, K, movewindow, u
|
||||
bind = $mainMod SHIFT, J, movewindow, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
bindm = $mainMod SHIFT, mouse_down, resizewindow
|
||||
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# Shut off laptop monitor when lid is closed and on when lid is open.
|
||||
bindl = , switch:on:Lid Switch, exec, hyprctl dispatch dpms off
|
||||
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
|
||||
|
||||
|
||||
9
hypr/monitors.conf
Normal file
9
hypr/monitors.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor= ,preferred,auto,auto
|
||||
monitor = HDMI-A-1, 3440x1440@59.97, 0x0, 1
|
||||
|
||||
|
||||
BIN
hypr/wallpaper.png
Normal file
BIN
hypr/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
25
hypr/windows.conf
Normal file
25
hypr/windows.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
windowrule = float,class:^(float)$
|
||||
#windowrule = float,title:InstallWebApp
|
||||
windowrule = size 800 600,class:^(float)$,title:^(Install Web App)$
|
||||
windowrule = center,class:^(float)$,title:^(Install Web App)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Just a dash of opacity by default.
|
||||
windowrule = opacity 0.97 0.92, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
#windowrule = float, class:.*pass.proton.me.*
|
||||
|
||||
workspace = special:hidden, invisible
|
||||
|
||||
0
hypr/workspaces.conf
Normal file
0
hypr/workspaces.conf
Normal file
@@ -1,202 +0,0 @@
|
||||
{
|
||||
"global": {
|
||||
"ask_for_confirmation_before_quitting": true,
|
||||
"check_for_updates_on_startup": true,
|
||||
"show_in_menu_bar": true,
|
||||
"show_profile_name_in_menu_bar": false,
|
||||
"unsafe_ui": false
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"parameters": {
|
||||
"basic.simultaneous_threshold_milliseconds": 50,
|
||||
"basic.to_delayed_action_delay_milliseconds": 500,
|
||||
"basic.to_if_alone_timeout_milliseconds": 1000,
|
||||
"basic.to_if_held_down_threshold_milliseconds": 500,
|
||||
"mouse_motion_to_scroll.speed": 100
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
"devices": [
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": true,
|
||||
"is_pointing_device": false,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": false,
|
||||
"manipulate_caps_lock_led": true,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
},
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": false,
|
||||
"is_pointing_device": true,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": true,
|
||||
"manipulate_caps_lock_led": false,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
}
|
||||
],
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f1"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f2"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_increment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f3"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "mission_control"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f4"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "spotlight"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f5"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "dictation"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f6"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "f6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f7"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "rewind"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f8"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "play_or_pause"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f9"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "fast_forward"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f10"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "mute"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f11"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f12"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Default profile",
|
||||
"parameters": {
|
||||
"delay_milliseconds_before_open_device": 1000
|
||||
},
|
||||
"selected": true,
|
||||
"simple_modifications": [],
|
||||
"virtual_hid_keyboard": {
|
||||
"country_code": 0,
|
||||
"indicate_sticky_modifier_keys_state": true,
|
||||
"mouse_key_xy_scale": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,240 +0,0 @@
|
||||
{
|
||||
"global": {
|
||||
"ask_for_confirmation_before_quitting": true,
|
||||
"check_for_updates_on_startup": true,
|
||||
"show_in_menu_bar": true,
|
||||
"show_profile_name_in_menu_bar": false,
|
||||
"unsafe_ui": false
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"parameters": {
|
||||
"basic.simultaneous_threshold_milliseconds": 50,
|
||||
"basic.to_delayed_action_delay_milliseconds": 500,
|
||||
"basic.to_if_alone_timeout_milliseconds": 1000,
|
||||
"basic.to_if_held_down_threshold_milliseconds": 500,
|
||||
"mouse_motion_to_scroll.speed": 100
|
||||
},
|
||||
"rules": [
|
||||
{
|
||||
"manipulators": [
|
||||
{
|
||||
"description": "Change caps_lock to command+control+option+shift.",
|
||||
"from": {
|
||||
"key_code": "caps_lock",
|
||||
"modifiers": {
|
||||
"optional": [
|
||||
"any"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "left_shift",
|
||||
"modifiers": [
|
||||
"left_command",
|
||||
"left_control",
|
||||
"left_option"
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"devices": [
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": true,
|
||||
"is_pointing_device": false,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": false,
|
||||
"manipulate_caps_lock_led": true,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "caps_lock"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "left_control"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"treat_as_built_in_keyboard": false
|
||||
},
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": false,
|
||||
"is_pointing_device": true,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": true,
|
||||
"manipulate_caps_lock_led": false,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
}
|
||||
],
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f1"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f2"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_increment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f3"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "mission_control"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f4"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "spotlight"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f5"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "dictation"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f6"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "f6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f7"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "rewind"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f8"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "play_or_pause"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f9"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "fast_forward"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f10"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "mute"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f11"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f12"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Default profile",
|
||||
"parameters": {
|
||||
"delay_milliseconds_before_open_device": 1000
|
||||
},
|
||||
"selected": true,
|
||||
"simple_modifications": [],
|
||||
"virtual_hid_keyboard": {
|
||||
"country_code": 0,
|
||||
"indicate_sticky_modifier_keys_state": true,
|
||||
"mouse_key_xy_scale": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,11 +1,89 @@
|
||||
# vim:ft=kitty
|
||||
# _ _ _ ___ ___ _ _ ____ ____ _ _ ____
|
||||
# |_/ | | | \_/ | | | |\ | |___
|
||||
# | \_ | | | | .|___ |__| | \| |
|
||||
#
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
||||
|
||||
font_family Droid Sans Mono for Powerline Regular
|
||||
|
||||
font_size 16.0
|
||||
font_size 13.0
|
||||
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
|
||||
narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
|
||||
|
||||
@@ -15,3 +93,4 @@ background_opacity 0.9
|
||||
|
||||
#hide_window_decorations titlebar-only
|
||||
hide_window_decorations no
|
||||
confirm_os_window_close 0
|
||||
|
||||
@@ -1,720 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AllowClipboardAccess</key>
|
||||
<true/>
|
||||
<key>Default Bookmark Guid</key>
|
||||
<string>A30A702C-1CC2-4C2A-A29F-505BC017C0A6</string>
|
||||
<key>DoubleClickPerformsSmartSelection</key>
|
||||
<true/>
|
||||
<key>EnableProxyIcon</key>
|
||||
<false/>
|
||||
<key>HapticFeedbackForEsc</key>
|
||||
<false/>
|
||||
<key>HotkeyMigratedFromSingleToMulti</key>
|
||||
<true/>
|
||||
<key>IRMemory</key>
|
||||
<integer>4</integer>
|
||||
<key>New Bookmarks</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>ASCII Anti Aliased</key>
|
||||
<true/>
|
||||
<key>Ambiguous Double Width</key>
|
||||
<false/>
|
||||
<key>Ansi 0 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0</string>
|
||||
<key>Green Component</key>
|
||||
<string>0</string>
|
||||
<key>Red Component</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Ansi 1 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0</string>
|
||||
<key>Green Component</key>
|
||||
<string>0</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.8</string>
|
||||
</dict>
|
||||
<key>Ansi 10 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.2039216</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.8862745</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.5411764999999999</string>
|
||||
</dict>
|
||||
<key>Ansi 11 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.3098039</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.9137255</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.9882353</string>
|
||||
</dict>
|
||||
<key>Ansi 12 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.8117647</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.6235294</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.4470588</string>
|
||||
</dict>
|
||||
<key>Ansi 13 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.6588235</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.4980392</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.6784314</string>
|
||||
</dict>
|
||||
<key>Ansi 14 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.8862745</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.8862745</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.2039216</string>
|
||||
</dict>
|
||||
<key>Ansi 15 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.9254902</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.9333333</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.9333333</string>
|
||||
</dict>
|
||||
<key>Ansi 2 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.02352941</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.6039215999999999</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.3058824</string>
|
||||
</dict>
|
||||
<key>Ansi 3 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.627451</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.7686275</string>
|
||||
</dict>
|
||||
<key>Ansi 4 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.6431373</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.3960784</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.2039216</string>
|
||||
</dict>
|
||||
<key>Ansi 5 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.4823529</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.3137255</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.4588235</string>
|
||||
</dict>
|
||||
<key>Ansi 6 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.6039215999999999</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.5960785</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.02352941</string>
|
||||
</dict>
|
||||
<key>Ansi 7 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.8117647</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.8431373</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.827451</string>
|
||||
</dict>
|
||||
<key>Ansi 8 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.3254902</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.3411765</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.3333333</string>
|
||||
</dict>
|
||||
<key>Ansi 9 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0.1607843</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.1607843</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.9372549</string>
|
||||
</dict>
|
||||
<key>BM Growl</key>
|
||||
<true/>
|
||||
<key>Background Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.10000000000000001</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.10000000000000001</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.10000000000000001</real>
|
||||
</dict>
|
||||
<key>Background Image Location</key>
|
||||
<string></string>
|
||||
<key>Badge Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>0.5</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.14910030364990234</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Blinking Cursor</key>
|
||||
<false/>
|
||||
<key>Blur</key>
|
||||
<false/>
|
||||
<key>Bold Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>1</string>
|
||||
<key>Green Component</key>
|
||||
<string>1</string>
|
||||
<key>Red Component</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>Bound Hosts</key>
|
||||
<array/>
|
||||
<key>Character Encoding</key>
|
||||
<integer>4</integer>
|
||||
<key>Close Sessions On End</key>
|
||||
<true/>
|
||||
<key>Columns</key>
|
||||
<integer>180</integer>
|
||||
<key>Command</key>
|
||||
<string></string>
|
||||
<key>Cursor Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>1</string>
|
||||
<key>Green Component</key>
|
||||
<string>1</string>
|
||||
<key>Red Component</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>Cursor Guide Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>0.25</real>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.92681378126144409</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.70214027166366577</real>
|
||||
</dict>
|
||||
<key>Cursor Text Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0</string>
|
||||
<key>Green Component</key>
|
||||
<string>0</string>
|
||||
<key>Red Component</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Custom Command</key>
|
||||
<string>No</string>
|
||||
<key>Custom Directory</key>
|
||||
<string>No</string>
|
||||
<key>Default Bookmark</key>
|
||||
<string>No</string>
|
||||
<key>Description</key>
|
||||
<string>Default</string>
|
||||
<key>Disable Window Resizing</key>
|
||||
<true/>
|
||||
<key>Flashing Bell</key>
|
||||
<false/>
|
||||
<key>Foreground Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>1</string>
|
||||
<key>Green Component</key>
|
||||
<string>1</string>
|
||||
<key>Red Component</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>Guid</key>
|
||||
<string>A30A702C-1CC2-4C2A-A29F-505BC017C0A6</string>
|
||||
<key>Horizontal Spacing</key>
|
||||
<real>1</real>
|
||||
<key>Idle Code</key>
|
||||
<integer>0</integer>
|
||||
<key>Jobs to Ignore</key>
|
||||
<array>
|
||||
<string>rlogin</string>
|
||||
<string>ssh</string>
|
||||
<string>slogin</string>
|
||||
<string>telnet</string>
|
||||
</array>
|
||||
<key>Keyboard Map</key>
|
||||
<dict>
|
||||
<key>0x2d-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1f</string>
|
||||
</dict>
|
||||
<key>0x32-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x00</string>
|
||||
</dict>
|
||||
<key>0x33-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1b</string>
|
||||
</dict>
|
||||
<key>0x34-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1c</string>
|
||||
</dict>
|
||||
<key>0x35-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1d</string>
|
||||
</dict>
|
||||
<key>0x36-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1e</string>
|
||||
</dict>
|
||||
<key>0x37-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1f</string>
|
||||
</dict>
|
||||
<key>0x38-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x7f</string>
|
||||
</dict>
|
||||
<key>0xf700-0x220000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2A</string>
|
||||
</dict>
|
||||
<key>0xf700-0x240000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5A</string>
|
||||
</dict>
|
||||
<key>0xf700-0x260000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;6A</string>
|
||||
</dict>
|
||||
<key>0xf700-0x280000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1b 0x1b 0x5b 0x41</string>
|
||||
</dict>
|
||||
<key>0xf701-0x220000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2B</string>
|
||||
</dict>
|
||||
<key>0xf701-0x240000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5B</string>
|
||||
</dict>
|
||||
<key>0xf701-0x260000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;6B</string>
|
||||
</dict>
|
||||
<key>0xf701-0x280000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1b 0x1b 0x5b 0x42</string>
|
||||
</dict>
|
||||
<key>0xf702-0x220000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2D</string>
|
||||
</dict>
|
||||
<key>0xf702-0x240000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5D</string>
|
||||
</dict>
|
||||
<key>0xf702-0x260000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;6D</string>
|
||||
</dict>
|
||||
<key>0xf702-0x280000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1b 0x1b 0x5b 0x44</string>
|
||||
</dict>
|
||||
<key>0xf703-0x220000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2C</string>
|
||||
</dict>
|
||||
<key>0xf703-0x240000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5C</string>
|
||||
</dict>
|
||||
<key>0xf703-0x260000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;6C</string>
|
||||
</dict>
|
||||
<key>0xf703-0x280000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>11</integer>
|
||||
<key>Text</key>
|
||||
<string>0x1b 0x1b 0x5b 0x43</string>
|
||||
</dict>
|
||||
<key>0xf704-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2P</string>
|
||||
</dict>
|
||||
<key>0xf705-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2Q</string>
|
||||
</dict>
|
||||
<key>0xf706-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2R</string>
|
||||
</dict>
|
||||
<key>0xf707-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2S</string>
|
||||
</dict>
|
||||
<key>0xf708-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[15;2~</string>
|
||||
</dict>
|
||||
<key>0xf709-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[17;2~</string>
|
||||
</dict>
|
||||
<key>0xf70a-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[18;2~</string>
|
||||
</dict>
|
||||
<key>0xf70b-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[19;2~</string>
|
||||
</dict>
|
||||
<key>0xf70c-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[20;2~</string>
|
||||
</dict>
|
||||
<key>0xf70d-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[21;2~</string>
|
||||
</dict>
|
||||
<key>0xf70e-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[23;2~</string>
|
||||
</dict>
|
||||
<key>0xf70f-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[24;2~</string>
|
||||
</dict>
|
||||
<key>0xf729-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2H</string>
|
||||
</dict>
|
||||
<key>0xf729-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5H</string>
|
||||
</dict>
|
||||
<key>0xf72b-0x20000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;2F</string>
|
||||
</dict>
|
||||
<key>0xf72b-0x40000</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<integer>10</integer>
|
||||
<key>Text</key>
|
||||
<string>[1;5F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Link Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.73422706127166748</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.35915294289588928</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
<key>Mouse Reporting</key>
|
||||
<true/>
|
||||
<key>Name</key>
|
||||
<string>mhoush</string>
|
||||
<key>Non Ascii Font</key>
|
||||
<string>icomoon 12</string>
|
||||
<key>Non-ASCII Anti Aliased</key>
|
||||
<true/>
|
||||
<key>Normal Font</key>
|
||||
<string>InconsolataNerdFontCompleteM-Regular 20</string>
|
||||
<key>Option Key Sends</key>
|
||||
<integer>0</integer>
|
||||
<key>Prompt Before Closing 2</key>
|
||||
<false/>
|
||||
<key>Right Option Key Sends</key>
|
||||
<integer>0</integer>
|
||||
<key>Rows</key>
|
||||
<integer>60</integer>
|
||||
<key>Screen</key>
|
||||
<integer>-1</integer>
|
||||
<key>Scrollback Lines</key>
|
||||
<integer>1000</integer>
|
||||
<key>Selected Text Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>0</string>
|
||||
<key>Green Component</key>
|
||||
<string>0</string>
|
||||
<key>Red Component</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Selection Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<string>1</string>
|
||||
<key>Green Component</key>
|
||||
<string>0.8353</string>
|
||||
<key>Red Component</key>
|
||||
<string>0.7098</string>
|
||||
</dict>
|
||||
<key>Send Code When Idle</key>
|
||||
<false/>
|
||||
<key>Shortcut</key>
|
||||
<string></string>
|
||||
<key>Show Status Bar</key>
|
||||
<false/>
|
||||
<key>Silence Bell</key>
|
||||
<false/>
|
||||
<key>Sync Title</key>
|
||||
<false/>
|
||||
<key>Tags</key>
|
||||
<array/>
|
||||
<key>Terminal Type</key>
|
||||
<string>xterm-256color</string>
|
||||
<key>Transparency</key>
|
||||
<real>0.0</real>
|
||||
<key>Unlimited Scrollback</key>
|
||||
<false/>
|
||||
<key>Use Bold Font</key>
|
||||
<true/>
|
||||
<key>Use Bright Bold</key>
|
||||
<true/>
|
||||
<key>Use Italic Font</key>
|
||||
<true/>
|
||||
<key>Use Non-ASCII Font</key>
|
||||
<false/>
|
||||
<key>Vertical Spacing</key>
|
||||
<real>1</real>
|
||||
<key>Visual Bell</key>
|
||||
<true/>
|
||||
<key>Window Type</key>
|
||||
<integer>0</integer>
|
||||
<key>Working Directory</key>
|
||||
<string>/Users/michael</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>OnlyWhenMoreTabs</key>
|
||||
<false/>
|
||||
<key>OpenArrangementAtStartup</key>
|
||||
<false/>
|
||||
<key>OpenNoWindowsAtStartup</key>
|
||||
<false/>
|
||||
<key>OpenTmuxWindowsIn</key>
|
||||
<integer>0</integer>
|
||||
<key>PointerActions</key>
|
||||
<dict>
|
||||
<key>Button,1,1,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kContextMenuPointerAction</string>
|
||||
</dict>
|
||||
<key>Button,2,1,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kPasteFromClipboardPointerAction</string>
|
||||
</dict>
|
||||
<key>Gesture,ThreeFingerSwipeDown,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kPrevWindowPointerAction</string>
|
||||
</dict>
|
||||
<key>Gesture,ThreeFingerSwipeLeft,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kPrevTabPointerAction</string>
|
||||
</dict>
|
||||
<key>Gesture,ThreeFingerSwipeRight,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kNextTabPointerAction</string>
|
||||
</dict>
|
||||
<key>Gesture,ThreeFingerSwipeUp,,</key>
|
||||
<dict>
|
||||
<key>Action</key>
|
||||
<string>kNextWindowPointerAction</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Print In Black And White</key>
|
||||
<true/>
|
||||
<key>PromptOnQuit</key>
|
||||
<false/>
|
||||
<key>QuitWhenAllWindowsClosed</key>
|
||||
<true/>
|
||||
<key>SoundForEsc</key>
|
||||
<false/>
|
||||
<key>SwitchPaneModifier</key>
|
||||
<integer>1</integer>
|
||||
<key>TabStyleWithAutomaticOption</key>
|
||||
<integer>5</integer>
|
||||
<key>VisualIndicatorForEsc</key>
|
||||
<false/>
|
||||
<key>kCPKSelectionViewPreferredModeKey</key>
|
||||
<integer>5</integer>
|
||||
<key>kCPKSelectionViewShowHSBTextFieldsKey</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,360 +0,0 @@
|
||||
{
|
||||
"Link Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.73422706127166748,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.35915294289588928
|
||||
},
|
||||
"Tags" : [
|
||||
|
||||
],
|
||||
"Ansi 12 Color" : {
|
||||
"Green Component" : "0.6235294",
|
||||
"Blue Component" : "0.8117647",
|
||||
"Red Component" : "0.4470588"
|
||||
},
|
||||
"Ansi 7 Color" : {
|
||||
"Green Component" : "0.8431373",
|
||||
"Blue Component" : "0.8117647",
|
||||
"Red Component" : "0.827451"
|
||||
},
|
||||
"Ansi 8 Color" : {
|
||||
"Green Component" : "0.3411765",
|
||||
"Blue Component" : "0.3254902",
|
||||
"Red Component" : "0.3333333"
|
||||
},
|
||||
"Bold Color" : {
|
||||
"Green Component" : "1",
|
||||
"Blue Component" : "1",
|
||||
"Red Component" : "1"
|
||||
},
|
||||
"Ansi 9 Color" : {
|
||||
"Green Component" : "0.1607843",
|
||||
"Blue Component" : "0.1607843",
|
||||
"Red Component" : "0.9372549"
|
||||
},
|
||||
"Horizontal Spacing" : 1,
|
||||
"Right Option Key Sends" : 0,
|
||||
"Rows" : 60,
|
||||
"Default Bookmark" : "No",
|
||||
"Cursor Guide Color" : {
|
||||
"Red Component" : 0.70214027166366577,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 1,
|
||||
"Alpha Component" : 0.25,
|
||||
"Green Component" : 0.92681378126144409
|
||||
},
|
||||
"Non-ASCII Anti Aliased" : true,
|
||||
"Use Bright Bold" : true,
|
||||
"Ansi 10 Color" : {
|
||||
"Green Component" : "0.8862745",
|
||||
"Blue Component" : "0.2039216",
|
||||
"Red Component" : "0.5411764999999999"
|
||||
},
|
||||
"Ambiguous Double Width" : false,
|
||||
"Jobs to Ignore" : [
|
||||
"rlogin",
|
||||
"ssh",
|
||||
"slogin",
|
||||
"telnet"
|
||||
],
|
||||
"Show Status Bar" : false,
|
||||
"Ansi 15 Color" : {
|
||||
"Green Component" : "0.9333333",
|
||||
"Blue Component" : "0.9254902",
|
||||
"Red Component" : "0.9333333"
|
||||
},
|
||||
"Foreground Color" : {
|
||||
"Green Component" : "1",
|
||||
"Blue Component" : "1",
|
||||
"Red Component" : "1"
|
||||
},
|
||||
"Bound Hosts" : [
|
||||
|
||||
],
|
||||
"Working Directory" : "\/Users\/michael",
|
||||
"Blinking Cursor" : false,
|
||||
"Disable Window Resizing" : true,
|
||||
"Sync Title" : false,
|
||||
"Prompt Before Closing 2" : false,
|
||||
"BM Growl" : true,
|
||||
"Command" : "",
|
||||
"Description" : "Default",
|
||||
"Mouse Reporting" : true,
|
||||
"Screen" : -1,
|
||||
"Selection Color" : {
|
||||
"Green Component" : "0.8353",
|
||||
"Blue Component" : "1",
|
||||
"Red Component" : "0.7098"
|
||||
},
|
||||
"Columns" : 180,
|
||||
"Idle Code" : 0,
|
||||
"Ansi 13 Color" : {
|
||||
"Green Component" : "0.4980392",
|
||||
"Blue Component" : "0.6588235",
|
||||
"Red Component" : "0.6784314"
|
||||
},
|
||||
"Custom Command" : "No",
|
||||
"ASCII Anti Aliased" : true,
|
||||
"Non Ascii Font" : "icomoon 12",
|
||||
"Vertical Spacing" : 1,
|
||||
"Use Bold Font" : true,
|
||||
"Option Key Sends" : 0,
|
||||
"Selected Text Color" : {
|
||||
"Green Component" : "0",
|
||||
"Blue Component" : "0",
|
||||
"Red Component" : "0"
|
||||
},
|
||||
"Background Color" : {
|
||||
"Red Component" : 0.10000000000000001,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.10000000000000001,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.10000000000000001
|
||||
},
|
||||
"Character Encoding" : 4,
|
||||
"Ansi 11 Color" : {
|
||||
"Green Component" : "0.9137255",
|
||||
"Blue Component" : "0.3098039",
|
||||
"Red Component" : "0.9882353"
|
||||
},
|
||||
"Use Italic Font" : true,
|
||||
"Unlimited Scrollback" : false,
|
||||
"Keyboard Map" : {
|
||||
"0xf700-0x260000" : {
|
||||
"Text" : "[1;6A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x37-0x40000" : {
|
||||
"Text" : "0x1f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x32-0x40000" : {
|
||||
"Text" : "0x00",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf709-0x20000" : {
|
||||
"Text" : "[17;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70c-0x20000" : {
|
||||
"Text" : "[20;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf729-0x20000" : {
|
||||
"Text" : "[1;2H",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf72b-0x40000" : {
|
||||
"Text" : "[1;5F",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf705-0x20000" : {
|
||||
"Text" : "[1;2Q",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x260000" : {
|
||||
"Text" : "[1;6C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf700-0x220000" : {
|
||||
"Text" : "[1;2A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x42",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x38-0x40000" : {
|
||||
"Text" : "0x7f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x33-0x40000" : {
|
||||
"Text" : "0x1b",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf703-0x220000" : {
|
||||
"Text" : "[1;2C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x240000" : {
|
||||
"Text" : "[1;5B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70d-0x20000" : {
|
||||
"Text" : "[21;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x260000" : {
|
||||
"Text" : "[1;6D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf729-0x40000" : {
|
||||
"Text" : "[1;5H",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf706-0x20000" : {
|
||||
"Text" : "[1;2R",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x34-0x40000" : {
|
||||
"Text" : "0x1c",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf700-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x41",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x2d-0x40000" : {
|
||||
"Text" : "0x1f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf70e-0x20000" : {
|
||||
"Text" : "[23;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x220000" : {
|
||||
"Text" : "[1;2D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x43",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf700-0x240000" : {
|
||||
"Text" : "[1;5A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf707-0x20000" : {
|
||||
"Text" : "[1;2S",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70a-0x20000" : {
|
||||
"Text" : "[18;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x35-0x40000" : {
|
||||
"Text" : "0x1d",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf70f-0x20000" : {
|
||||
"Text" : "[24;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x240000" : {
|
||||
"Text" : "[1;5C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x260000" : {
|
||||
"Text" : "[1;6B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x44",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf72b-0x20000" : {
|
||||
"Text" : "[1;2F",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x36-0x40000" : {
|
||||
"Text" : "0x1e",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf708-0x20000" : {
|
||||
"Text" : "[15;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x220000" : {
|
||||
"Text" : "[1;2B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70b-0x20000" : {
|
||||
"Text" : "[19;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x240000" : {
|
||||
"Text" : "[1;5D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf704-0x20000" : {
|
||||
"Text" : "[1;2P",
|
||||
"Action" : 10
|
||||
}
|
||||
},
|
||||
"Window Type" : 0,
|
||||
"Background Image Location" : "",
|
||||
"Blur" : false,
|
||||
"Badge Color" : {
|
||||
"Red Component" : 1,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0,
|
||||
"Alpha Component" : 0.5,
|
||||
"Green Component" : 0.14910030364990234
|
||||
},
|
||||
"Scrollback Lines" : 1000,
|
||||
"Send Code When Idle" : false,
|
||||
"Close Sessions On End" : true,
|
||||
"Terminal Type" : "xterm-256color",
|
||||
"Visual Bell" : true,
|
||||
"Flashing Bell" : false,
|
||||
"Silence Bell" : false,
|
||||
"Ansi 14 Color" : {
|
||||
"Green Component" : "0.8862745",
|
||||
"Blue Component" : "0.8862745",
|
||||
"Red Component" : "0.2039216"
|
||||
},
|
||||
"Name" : "mhoush",
|
||||
"Cursor Text Color" : {
|
||||
"Green Component" : "0",
|
||||
"Blue Component" : "0",
|
||||
"Red Component" : "0"
|
||||
},
|
||||
"Shortcut" : "",
|
||||
"Cursor Color" : {
|
||||
"Green Component" : "1",
|
||||
"Blue Component" : "1",
|
||||
"Red Component" : "1"
|
||||
},
|
||||
"Transparency" : 0,
|
||||
"Ansi 1 Color" : {
|
||||
"Green Component" : "0",
|
||||
"Blue Component" : "0",
|
||||
"Red Component" : "0.8"
|
||||
},
|
||||
"Ansi 2 Color" : {
|
||||
"Green Component" : "0.6039215999999999",
|
||||
"Blue Component" : "0.02352941",
|
||||
"Red Component" : "0.3058824"
|
||||
},
|
||||
"Ansi 3 Color" : {
|
||||
"Green Component" : "0.627451",
|
||||
"Blue Component" : "0",
|
||||
"Red Component" : "0.7686275"
|
||||
},
|
||||
"Ansi 4 Color" : {
|
||||
"Green Component" : "0.3960784",
|
||||
"Blue Component" : "0.6431373",
|
||||
"Red Component" : "0.2039216"
|
||||
},
|
||||
"Ansi 5 Color" : {
|
||||
"Green Component" : "0.3137255",
|
||||
"Blue Component" : "0.4823529",
|
||||
"Red Component" : "0.4588235"
|
||||
},
|
||||
"Use Non-ASCII Font" : false,
|
||||
"Ansi 6 Color" : {
|
||||
"Green Component" : "0.5960785",
|
||||
"Blue Component" : "0.6039215999999999",
|
||||
"Red Component" : "0.02352941"
|
||||
},
|
||||
"Normal Font" : "InconsolataNerdFontCompleteM-Regular 20",
|
||||
"Custom Directory" : "No",
|
||||
"Ansi 0 Color" : {
|
||||
"Green Component" : "0",
|
||||
"Blue Component" : "0",
|
||||
"Red Component" : "0"
|
||||
},
|
||||
"Guid" : "A30A702C-1CC2-4C2A-A29F-505BC017C0A6"
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.micheal.clear-screenshots</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>zsh</string>
|
||||
<string>-c</string>
|
||||
<string>/Users/michael/.config/zsh/functions/clean-screenshots</string>
|
||||
</array>
|
||||
<key>StartCalendarInterval</key>
|
||||
<dict>
|
||||
<key>Day</key>
|
||||
<integer>1</integer>
|
||||
<key>Hour</key>
|
||||
<integer>0</integer>
|
||||
<key>Minute</key>
|
||||
<integer>0</integer>
|
||||
<key>Weekday</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>UserName</key>
|
||||
<string>michael</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>StandardOutPath</key>
|
||||
<string>/var/log/com.michael.clear-screenshots.out.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/var/log/com.michael.clear-screenshots.error.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.micheal.dotfiles.commit</string>
|
||||
|
||||
<key>WorkingDirectory</key>
|
||||
<string>/Users/michael/.dotfiles</string>
|
||||
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/Users/michael/.local/share/scripts/auto-git-commit</string>
|
||||
</array>
|
||||
|
||||
<key>StartInterval</key>
|
||||
<integer>3600</integer>
|
||||
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/com.michael.dotfiles.commit.log</string>
|
||||
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/com.michael.dotfiles.commit.error.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,17 +0,0 @@
|
||||
# Configuration
|
||||
home: ~/.local/nap
|
||||
default_language: go
|
||||
theme: nord
|
||||
|
||||
# Colors
|
||||
background: "0"
|
||||
foreground: "7"
|
||||
primary_color: "#AFBEE1"
|
||||
primary_color_subdued: "#64708D"
|
||||
green: "#527251"
|
||||
bright_green: "#BCE1AF"
|
||||
bright_red: "#E49393"
|
||||
red: "#A46060"
|
||||
black: "#373B41"
|
||||
gray: "240"
|
||||
white: "#FFFFFF"
|
||||
@@ -1,14 +1,27 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.coding.mini-snippets",
|
||||
"lazyvim.plugins.extras.coding.mini-surround",
|
||||
"lazyvim.plugins.extras.editor.fzf",
|
||||
"lazyvim.plugins.extras.editor.harpoon2",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
"lazyvim.plugins.extras.lang.clangd",
|
||||
"lazyvim.plugins.extras.lang.docker"
|
||||
"lazyvim.plugins.extras.lang.cmake",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.sql",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.tex",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.util.startuptime"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
"NEWS.md": "11866"
|
||||
},
|
||||
"version": 7
|
||||
"version": 8
|
||||
}
|
||||
@@ -1,28 +1,29 @@
|
||||
local defaultGroupOptions = { clear = true }
|
||||
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
|
||||
local spellGroup = vim.api.nvim_create_augroup("SpellGroup", defaultGroupOptions)
|
||||
local createCmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- Spell check
|
||||
createCmd("BufEnter", {
|
||||
pattern = { "*.md", "*.markdown", "*.txt", "*.tex" },
|
||||
group = spellGroup,
|
||||
pattern = "*.md",
|
||||
group = markdownGroup,
|
||||
callback = function(_)
|
||||
-- HACK: Set filetype to markdown for '.md' files.
|
||||
-- Not sure why it doesn't detect these as markdown files, but this fixes the issue.
|
||||
vim.cmd.setlocal("filetype=markdown")
|
||||
vim.cmd.setlocal("textwidth=80")
|
||||
vim.cmd.setlocal("spell spelllang=en_us")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Markdown
|
||||
createCmd("BufWritePost", {
|
||||
pattern = { "*.md", "*.markdown" },
|
||||
group = markdownGroup,
|
||||
callback = function(_)
|
||||
local cursor = vim.fn.getpos(".")
|
||||
vim.cmd("FormatWrite")
|
||||
vim.fn.setpos(".", cursor)
|
||||
end,
|
||||
})
|
||||
-- createCmd("BufWritePost", {
|
||||
-- pattern = { "*.md", "*.markdown" },
|
||||
-- group = markdownGroup,
|
||||
-- callback = function(_)
|
||||
-- -- local cursor = vim.fn.getpos(".")
|
||||
-- vim.cmd("FormatWrite")
|
||||
-- -- vim.fn.setpos(".", cursor)
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Go
|
||||
createCmd("BufWritePre", {
|
||||
@@ -33,6 +34,7 @@ createCmd("BufWritePre", {
|
||||
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
||||
})
|
||||
|
||||
-- GoPass
|
||||
vim.api.nvim_exec2(
|
||||
[[
|
||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
||||
|
||||
@@ -18,6 +18,22 @@ require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
{
|
||||
import = "lazyvim.plugins.extras.editor.mini-files",
|
||||
opts = {
|
||||
options = {
|
||||
use_as_default_explorer = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
import = "lazyvim.plugins.extras.coding.blink",
|
||||
keymap = {
|
||||
preset = "enter",
|
||||
["<C-y>"] = { "select_and_accept" },
|
||||
},
|
||||
},
|
||||
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
|
||||
8
nvim/lazynvim/lua/plugins/cmp.lua
Normal file
8
nvim/lazynvim/lua/plugins/cmp.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"saghen/blink.cmp",
|
||||
opts = {
|
||||
keymap = {
|
||||
preset = "default"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
return {
|
||||
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
|
||||
{ "akinsho/bufferline.nvim", enabled = false },
|
||||
}
|
||||
|
||||
@@ -1,23 +1,30 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
formatters = {
|
||||
["markdown-toc"] = {
|
||||
condition = function(_, ctx)
|
||||
for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do
|
||||
if line:find("<!%-%- toc %-%->") then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
["markdownlint-cli2"] = {
|
||||
condition = function(_, ctx)
|
||||
local diag = vim.tbl_filter(function(d)
|
||||
return d.source == "markdownlint"
|
||||
end, vim.diagnostic.get(ctx.buf))
|
||||
return #diag > 0
|
||||
end,
|
||||
},
|
||||
},
|
||||
formatters_by_ft = {
|
||||
["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
||||
["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
||||
lua = { "stulua" },
|
||||
markdown = {
|
||||
"prettier",
|
||||
prepend_args = {
|
||||
"--print-width",
|
||||
"100",
|
||||
"--prose-wrap",
|
||||
"always",
|
||||
"--parser",
|
||||
"markdown",
|
||||
},
|
||||
},
|
||||
swift = { "swiftformat" },
|
||||
-- ["*"] = {
|
||||
-- require("formatter.filetypes.any").remove_trailing_whitespace,
|
||||
-- },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,21 +1,6 @@
|
||||
-- Plugins that don't require much configuration are in here.
|
||||
--
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.ansible" },
|
||||
{ import = "lazyvim.plugins.extras.lang.cmake" },
|
||||
{ import = "lazyvim.plugins.extras.lang.docker" },
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
{ import = "lazyvim.plugins.extras.lang.markdown" },
|
||||
{ import = "lazyvim.plugins.extras.lang.yaml" },
|
||||
{ import = "lazyvim.plugins.extras.coding.luasnip" },
|
||||
{
|
||||
import = "lazyvim.plugins.extras.editor.mini-files",
|
||||
opts = {
|
||||
options = {
|
||||
use_as_default_explorer = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
@@ -23,10 +8,22 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
import = "lazyvim.plugins.extras.coding.blink",
|
||||
keymap = {
|
||||
preset = "enter",
|
||||
["<C-y>"] = { "select_and_accept" },
|
||||
"christoomey/vim-tmux-navigator",
|
||||
lazy = false,
|
||||
cmd = {
|
||||
"TmuxNavigateLeft",
|
||||
"TmuxNavigateDown",
|
||||
"TmuxNavigateUp",
|
||||
"TmuxNavigateRight",
|
||||
"TmuxNavigatePrevious",
|
||||
"TmuxNavigatorProcessList",
|
||||
},
|
||||
keys = {
|
||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
12
nvim/lazynvim/lua/plugins/lint.lua
Normal file
12
nvim/lazynvim/lua/plugins/lint.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = {
|
||||
linters = {
|
||||
markdownlint = {
|
||||
args = { "--config", "~/.markdownlint.jsonc", "--" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
@@ -9,6 +9,7 @@ return {
|
||||
"clangd",
|
||||
"marksman",
|
||||
"shfmt",
|
||||
"tinymist",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -38,10 +39,33 @@ return {
|
||||
clangd = {},
|
||||
dockerls = {},
|
||||
gopls = {},
|
||||
harper_ls = {},
|
||||
jsonls = {},
|
||||
lua_ls = {},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
},
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
telemetry = {
|
||||
enable = false
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
marksman = {},
|
||||
sourcekit = {},
|
||||
tinymist = {
|
||||
settings = {
|
||||
formatterMode = "typstyle",
|
||||
},
|
||||
},
|
||||
yamlls = {},
|
||||
},
|
||||
setup = {
|
||||
|
||||
47
nvim/lazynvim/lua/plugins/snacks.lua
Normal file
47
nvim/lazynvim/lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
-- NOTE: Header looks jacked up here, but fine when rendered in the ui.
|
||||
return {
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
picker = {
|
||||
hidden = true,
|
||||
ignored = true
|
||||
},
|
||||
image = {
|
||||
doc = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
dashboard = {
|
||||
row = nil,
|
||||
col = nil,
|
||||
preset = {
|
||||
header = [[
|
||||
*
|
||||
+++++
|
||||
+++++++++
|
||||
==+++++++++++
|
||||
+===:+++++++++++*
|
||||
+======--+++++++++++*##+====
|
||||
+==========:=+++++++++++#+====
|
||||
+=============-=++++++++++++====
|
||||
+================-:+++++++++++++==
|
||||
+===================--++++++++++++++*
|
||||
+======================--+++++++++++++++*
|
||||
=========================-++++++++++++++++
|
||||
==========================:+++++++++++++++
|
||||
===========================:++++++++++++++
|
||||
===========================-.-++++++++++++
|
||||
===========================-::.=++++++++++
|
||||
===========================----..=++++++++
|
||||
===========================------..:=+++++
|
||||
===========================--------:...-++
|
||||
===========================------------:.:
|
||||
===========================---------------
|
||||
===========================---------------
|
||||
===========================---------------
|
||||
]],
|
||||
},
|
||||
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
return {
|
||||
{
|
||||
import = "lazyvim.plugins.extras.editor.telescope",
|
||||
enabled = false,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"swift",
|
||||
|
||||
15
nvim/lazynvim/lua/plugins/typst-preview.lua
Normal file
15
nvim/lazynvim/lua/plugins/typst-preview.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
return {
|
||||
'chomosuke/typst-preview.nvim',
|
||||
ft = 'typst', -- or ft = 'typst'
|
||||
version = '1.*',
|
||||
opts = {
|
||||
debug = true,
|
||||
}, -- lazy.nvim will implicitly calls `setup {}`
|
||||
keys = {
|
||||
{
|
||||
"<leader>tp",
|
||||
"<CMD>TypstPreviewToggle<CR>",
|
||||
desc = "Toggle typst preview."
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local t = ls.text_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
ls.add_snippets("lua", {
|
||||
-- Setup a new snippet file.
|
||||
@@ -31,4 +32,10 @@ ls.add_snippets("lua", {
|
||||
"})",
|
||||
}),
|
||||
}),
|
||||
s("c", {
|
||||
c(1, {
|
||||
fmt("{}", { i(1), t("debug") }),
|
||||
fmt("{}", { i(1), t("warning") }),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
|
||||
@@ -14,3 +14,8 @@ wc
|
||||
HVAC
|
||||
dehumidification
|
||||
ansible
|
||||
orchestrator
|
||||
ethernet
|
||||
unifi
|
||||
wildcard
|
||||
Housh
|
||||
|
||||
Binary file not shown.
@@ -7,16 +7,16 @@ vim.g.maplocalleader = " "
|
||||
-- file for projects.
|
||||
|
||||
-- Common settings
|
||||
require("user.settings")
|
||||
require("config.settings")
|
||||
|
||||
-- Auto commands
|
||||
require("user.autocmd")
|
||||
require("config.autocmd")
|
||||
|
||||
-- Plugins
|
||||
require("user.plugins")
|
||||
require("config.lazy")
|
||||
|
||||
-- Key maps
|
||||
require("user.keymaps")
|
||||
require("config.keymaps")
|
||||
|
||||
-- Theme (must stay after plugins are loaded)
|
||||
require("user.theme")
|
||||
require("config.theme")
|
||||
|
||||
@@ -33,6 +33,14 @@ createCmd("BufWritePre", {
|
||||
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
||||
})
|
||||
|
||||
-- Leaf
|
||||
createCmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = "*.leaf",
|
||||
callback = function()
|
||||
vim.opt.filetype = "html"
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_exec2(
|
||||
[[
|
||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
||||
83
nvim/m-housh/lua/config/lazy.lua
Executable file
83
nvim/m-housh/lua/config/lazy.lua
Executable file
@@ -0,0 +1,83 @@
|
||||
-- Bootstrap Lazy.
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
dev = {
|
||||
path = "~/LocalProjects/plugins",
|
||||
fallback = true,
|
||||
},
|
||||
-- Import all the plugin configs in the 'plugin' directory
|
||||
{ import = "plugins" },
|
||||
-- Plugins that don't have a configuration file.
|
||||
{
|
||||
"folke/zen-mode.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"christoomey/vim-tmux-navigator",
|
||||
lazy = false,
|
||||
},
|
||||
{ "NoahTheDuke/vim-just", ft = { "just" } },
|
||||
{
|
||||
"chipsenkbeil/distant.nvim",
|
||||
version = "v0.*",
|
||||
event = "VeryLazy",
|
||||
},
|
||||
{
|
||||
"echasnovski/mini.ai",
|
||||
version = "*",
|
||||
config = function()
|
||||
require("mini.ai").setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"vhyrro/luarocks.nvim",
|
||||
enabled = true,
|
||||
priority = 1001, -- this plugin needs to run before anything else
|
||||
opts = {
|
||||
rocks = { "magick" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
-- dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.icons" }, -- if you use standalone mini plugins
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||
opts = {},
|
||||
},
|
||||
}, {
|
||||
checker = {
|
||||
enabled = true,
|
||||
notify = false,
|
||||
},
|
||||
change_detection = {
|
||||
notify = false,
|
||||
},
|
||||
rocks = {
|
||||
hererocks = true, -- recommended if you do not have global installation of Lua 5.1.
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>ll", "<CMD>Lazy<CR>", { desc = "Open [L]azy" })
|
||||
61
nvim/m-housh/lua/plugins/blink.lua
Normal file
61
nvim/m-housh/lua/plugins/blink.lua
Normal file
@@ -0,0 +1,61 @@
|
||||
-- https://cmp.saghen.dev/
|
||||
return {
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
enabled = false,
|
||||
dependencies = {
|
||||
-- "rafamadriz/friendly-snippets",
|
||||
{ "L3MON4D3/LuaSnip", version = "v2.*" },
|
||||
},
|
||||
version = "v0.*",
|
||||
opts = {
|
||||
signature = { enabled = true },
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer", "luasnip" },
|
||||
providers = {
|
||||
lsp = {
|
||||
name = "lsp",
|
||||
enabled = true,
|
||||
module = "blink.cmp.sources.lsp",
|
||||
score_offset = 1000, -- higher = higher priority
|
||||
},
|
||||
luasnip = {
|
||||
name = "luasnip",
|
||||
enabled = true,
|
||||
module = "blink.cmp.sources.luasnip",
|
||||
score_offset = 950,
|
||||
},
|
||||
snippets = {
|
||||
name = "snippets",
|
||||
enabled = true,
|
||||
module = "blink.cmp.sources.snippets",
|
||||
score_offset = 900,
|
||||
},
|
||||
},
|
||||
},
|
||||
snippets = {
|
||||
expand = function(snippet)
|
||||
require("luasnip").lsp_expand(snippet)
|
||||
end,
|
||||
active = function(filter)
|
||||
if filter and filter.direction then
|
||||
return require("luasnip").jumpable(filter.direction)
|
||||
end
|
||||
return require("luasnip").in_snippet()
|
||||
end,
|
||||
jump = function(direction)
|
||||
require("luasnip").jump(direction)
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
keymap = {
|
||||
preset = "default",
|
||||
|
||||
["<Tab>"] = {},
|
||||
["<S-Tab>"] = {},
|
||||
["<C-b>"] = { "snippet_backward", "fallback" },
|
||||
["<C-f>"] = { "snippet_forward", "fallback" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -3,6 +3,8 @@ return {
|
||||
enabled = true,
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
"folke/lazydev.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer", -- source for text in buffer
|
||||
"hrsh7th/cmp-path", -- source for file system paths
|
||||
@@ -74,8 +76,10 @@ return {
|
||||
}),
|
||||
-- sources for autocompletion
|
||||
sources = cmp.config.sources({
|
||||
{ name = "lazydev", group_index = 0 },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" }, -- snippets
|
||||
{ name = "render-markdown" }, -- markdown
|
||||
{ name = "buffer" }, -- text within current buffer
|
||||
{ name = "path" }, -- file system paths
|
||||
}),
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
opts = {
|
||||
-- add any options here
|
||||
},
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
}
|
||||
20
nvim/m-housh/lua/plugins/fidget.lua
Normal file
20
nvim/m-housh/lua/plugins/fidget.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
"j-hui/fidget.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
notification = {
|
||||
window = {
|
||||
normal_hl = "String", -- Base highlight group in the notification window
|
||||
winblend = 0, -- Background color opacity in the notification window
|
||||
border = "rounded", -- Border around the notification window
|
||||
zindex = 45, -- Stacking priority of the notification window
|
||||
max_width = 0, -- Maximum width of the notification window
|
||||
max_height = 0, -- Maximum height of the notification window
|
||||
x_padding = 1, -- Padding from right edge of window boundary
|
||||
y_padding = 1, -- Padding from bottom edge of window boundary
|
||||
align = "bottom", -- How to align the notification window
|
||||
relative = "editor", -- What the notification window position is relative to
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
56
nvim/m-housh/lua/plugins/flash.lua
Normal file
56
nvim/m-housh/lua/plugins/flash.lua
Normal file
@@ -0,0 +1,56 @@
|
||||
return {
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
search = {
|
||||
mode = "normal",
|
||||
},
|
||||
modes = {
|
||||
char = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"s",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").jump()
|
||||
end,
|
||||
desc = "Flash",
|
||||
},
|
||||
{
|
||||
"S",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").treesitter()
|
||||
end,
|
||||
desc = "Flash Treesitter",
|
||||
},
|
||||
{
|
||||
"r",
|
||||
mode = "o",
|
||||
function()
|
||||
require("flash").remote()
|
||||
end,
|
||||
desc = "Remote Flash",
|
||||
},
|
||||
{
|
||||
"R",
|
||||
mode = { "o", "x" },
|
||||
function()
|
||||
require("flash").treesitter_search()
|
||||
end,
|
||||
desc = "Treesitter Search",
|
||||
},
|
||||
{
|
||||
"<c-s>",
|
||||
mode = { "c" },
|
||||
function()
|
||||
require("flash").toggle()
|
||||
end,
|
||||
desc = "Toggle Flash Search",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,7 +1,19 @@
|
||||
return {
|
||||
"mhartington/formatter.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
keys = {
|
||||
{
|
||||
"<leader>f",
|
||||
":Format",
|
||||
desc = "[F]ormat",
|
||||
},
|
||||
{
|
||||
"<leader>F",
|
||||
":FormatWrite",
|
||||
desc = "[F]ormat write",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
local util = require("formatter.util")
|
||||
require("formatter").setup({
|
||||
filetype = {
|
||||
@@ -50,13 +62,6 @@ return {
|
||||
},
|
||||
})
|
||||
|
||||
-- Keymaps
|
||||
local wk = require("which-key")
|
||||
wk.add({
|
||||
{ "<space>f", ":Format", desc = "[F]ormat" },
|
||||
{ "<space>F", ":FormateWrite", desc = "[F]ormat write" },
|
||||
}, { mode = "n", silent = true })
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
5
nvim/m-housh/lua/plugins/ghostty.lua
Normal file
5
nvim/m-housh/lua/plugins/ghostty.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"ghostty",
|
||||
dir = vim.env.GHOSTTY_PATH .. "/Contents/Resources/vim/vimfiles/",
|
||||
lazy = false,
|
||||
}
|
||||
86
nvim/m-housh/lua/plugins/harpoon.lua
Normal file
86
nvim/m-housh/lua/plugins/harpoon.lua
Normal file
@@ -0,0 +1,86 @@
|
||||
return {
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
config = function()
|
||||
local harpoon = require("harpoon")
|
||||
harpoon:setup({
|
||||
settings = {
|
||||
save_on_toggle = true,
|
||||
sync_on_ui_close = true,
|
||||
key = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
local conf = require("telescope.config").values
|
||||
local function toggle_telescope(harpoon_files)
|
||||
local file_paths = {}
|
||||
for _, item in ipairs(harpoon_files.items) do
|
||||
table.insert(file_paths, item.value)
|
||||
end
|
||||
|
||||
require("telescope.pickers")
|
||||
.new({}, {
|
||||
prompt_title = "Harpoon",
|
||||
finder = require("telescope.finders").new_table({
|
||||
results = file_paths,
|
||||
}),
|
||||
previewer = conf.file_previewer({}),
|
||||
sorter = conf.generic_sorter({}),
|
||||
})
|
||||
:find()
|
||||
end
|
||||
|
||||
-- Keymaps
|
||||
vim.keymap.set("n", "<C-e>", function()
|
||||
toggle_telescope(harpoon:list())
|
||||
end, { desc = "Open Harpoon window" })
|
||||
|
||||
vim.keymap.set("n", "<leader>a", function()
|
||||
harpoon:list():add()
|
||||
end, { desc = "[A]dd to harpoon list." })
|
||||
vim.keymap.set("n", "<C-e>", function()
|
||||
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||
end, { desc = "Toggle quick menu." })
|
||||
|
||||
-- Buffer key maps. Currently keeping all buffer movements
|
||||
-- isolated to top left row of keys on keyboard and all begin
|
||||
-- with the <Control> key.
|
||||
|
||||
-- Select buffer numbers.
|
||||
vim.keymap.set("n", "<A-y>", function()
|
||||
harpoon:list():select(1)
|
||||
end, { desc = "Select first harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-u>", function()
|
||||
harpoon:list():select(2)
|
||||
end, { desc = "Select second harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-i>", function()
|
||||
harpoon:list():select(3)
|
||||
end, { desc = "Select third harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-o>", function()
|
||||
harpoon:list():select(4)
|
||||
end, { desc = "Select fourth harpoon buffer." })
|
||||
|
||||
-- Toggle previous and next buffers.
|
||||
vim.keymap.set("n", "<C-[>", function()
|
||||
harpoon:list():prev()
|
||||
end, { desc = "[P]revious harpoon buffer." })
|
||||
vim.keymap.set("n", "<C-]>", function()
|
||||
harpoon:list():next()
|
||||
end, { desc = "[N]ext harpoon buffer." })
|
||||
|
||||
-- Extensions
|
||||
harpoon:extend({
|
||||
UI_CREATE = function(cx)
|
||||
vim.keymap.set("n", "<C-v>", function()
|
||||
harpoon.ui:select_menu_item({ vsplit = true })
|
||||
end, { buffer = cx.buffer, desc = "Open in [V]split" })
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
45
nvim/m-housh/lua/plugins/image.lua
Normal file
45
nvim/m-housh/lua/plugins/image.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
return {
|
||||
"3rd/image.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = { "markdown" },
|
||||
highlight = { enable = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
backend = "kitty",
|
||||
--backend = "ueberzug",
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = true,
|
||||
floating_windows = true,
|
||||
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||
},
|
||||
neorg = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = false,
|
||||
filetypes = { "norg" },
|
||||
},
|
||||
},
|
||||
max_width = nil,
|
||||
max_height = nil,
|
||||
max_width_window_percentage = nil,
|
||||
max_height_window_percentage = 50,
|
||||
editor_only_render_when_focused = true, -- auto show/hide images when the editor gains/looses focus
|
||||
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||
kitty_method = "normal",
|
||||
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
|
||||
},
|
||||
}
|
||||
120
nvim/m-housh/lua/plugins/lsp.lua
Executable file
120
nvim/m-housh/lua/plugins/lsp.lua
Executable file
@@ -0,0 +1,120 @@
|
||||
return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
-- "saghen/blink.cmp",
|
||||
{ "antosha417/nvim-lsp-file-operations", config = true },
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"bashls",
|
||||
"clangd",
|
||||
"dockerls",
|
||||
"gopls",
|
||||
"jinja_lsp",
|
||||
"jqls",
|
||||
"jsonls",
|
||||
"ltex",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
"tinymist",
|
||||
"yamlls",
|
||||
},
|
||||
automatic_installation = true,
|
||||
})
|
||||
local lspconfig = require("lspconfig")
|
||||
local cmp_nvim_lsp = require("cmp_nvim_lsp")
|
||||
local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||
-- local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
local opts = { noremap = true, silent = true }
|
||||
local on_attach = function(_, bufnr)
|
||||
opts.buffer = bufnr
|
||||
|
||||
opts.desc = "Show line diagnostics"
|
||||
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts)
|
||||
|
||||
opts.desc = "Show diagnostics in Telescope"
|
||||
vim.keymap.set("n", "<leader><leader>d", "<CMD>Telescope diagnostics bufnr=0<CR>", opts)
|
||||
|
||||
opts.desc = "Show documentation for what is under cursor"
|
||||
vim.keymap.set("n", "<C-k>", vim.lsp.buf.hover, opts)
|
||||
|
||||
opts.desc = "[G]oto [D]efinition"
|
||||
vim.keymap.set("n", "gd", "<cmd>Telescope lsp_definitions trim_text=true<cr>", opts)
|
||||
|
||||
opts.desc = "[G]oto [D]eclaration"
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
|
||||
opts.desc = "[G]oto [R]eferences"
|
||||
vim.keymap.set("n", "gr", "<CMD>Telescope lsp_references<CR>", opts)
|
||||
|
||||
opts.desc = "LSP [C]ode [A]ction"
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||
|
||||
--opts.desc = "[R]e-[N]ame"
|
||||
--vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||
|
||||
opts.desc = "[R]eload or start LSP"
|
||||
vim.keymap.set({ "n", "x" }, "<leader>rl", ":LspRestart | :LspStart<CR>", opts)
|
||||
|
||||
opts.desc = "Goto previous diagnostic"
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||
|
||||
opts.desc = "Goto next diagnostic"
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||
end
|
||||
|
||||
-- The language servers to setup.
|
||||
local lsp_servers = {
|
||||
"bashls",
|
||||
"clangd",
|
||||
"dockerls",
|
||||
"gopls",
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
"sourcekit",
|
||||
"tinymist",
|
||||
"yamlls",
|
||||
}
|
||||
|
||||
for _, lsp in ipairs(lsp_servers) do
|
||||
lspconfig[lsp].setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
on_init = function(client)
|
||||
-- HACK: to fix some issues with LSP
|
||||
-- more details: https://github.com/neovim/neovim/issues/19237#issuecomment-2237037154
|
||||
client.offset_encoding = "utf-8"
|
||||
end,
|
||||
cmd = lsp == "sourcekit" and { vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) } or nil,
|
||||
})
|
||||
end
|
||||
|
||||
-- nice icons
|
||||
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
end
|
||||
|
||||
-- For some reason I was having trouble getting this to work inside the on-attach, so it's here.
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "[R]e-[N]ame" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
69
nvim/m-housh/lua/plugins/lualine.lua
Executable file
69
nvim/m-housh/lua/plugins/lualine.lua
Executable file
@@ -0,0 +1,69 @@
|
||||
local function xcodebuild_device()
|
||||
if vim.g.xcodebuild_platform == "macOS" then
|
||||
return " macOS"
|
||||
end
|
||||
|
||||
if vim.g.xcodebuild_os then
|
||||
return " " .. vim.g.xcodebuild_device_name .. " (" .. vim.g.xcodebuild_os .. ")"
|
||||
end
|
||||
|
||||
return " " .. vim.g.xcodebuild_device_name
|
||||
end
|
||||
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
opts = {
|
||||
options = {
|
||||
globalstatus = true,
|
||||
theme = "auto",
|
||||
symbols = {
|
||||
alternate_file = "#",
|
||||
directory = "",
|
||||
readonly = "",
|
||||
unnamed = "[No Name]",
|
||||
newfile = "[New]",
|
||||
},
|
||||
disabled_buftypes = { "quickfix", "prompt" },
|
||||
component_separators = "",
|
||||
section_separators = { left = "", right = "" },
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
-- { "mode" },
|
||||
{ "filename" },
|
||||
},
|
||||
lualine_b = {
|
||||
{ "diagnostics" },
|
||||
{ "diff" },
|
||||
{
|
||||
"searchcount",
|
||||
maxcount = 999,
|
||||
timeout = 500,
|
||||
},
|
||||
},
|
||||
lualine_c = {},
|
||||
lualine_x = {
|
||||
{ "' ' .. vim.g.xcodebuild_last_status", color = { fg = "#a6e3a1" } },
|
||||
-- { "' ' .. vim.g.xcodebuild_test_plan", color = { fg = "#a6e3a1", bg = "#161622" } },
|
||||
{ xcodebuild_device, color = { fg = "#f9e2af", bg = "#161622" } },
|
||||
},
|
||||
lualine_y = {
|
||||
{ "branch" },
|
||||
},
|
||||
lualine_z = {
|
||||
{ "location" },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
extensions = { "nvim-dap-ui", "quickfix", "trouble", "nvim-tree", "lazy", "mason" },
|
||||
|
||||
},
|
||||
}
|
||||
55
nvim/m-housh/lua/plugins/luasnip.lua
Normal file
55
nvim/m-housh/lua/plugins/luasnip.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
return {
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "v2.*",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<C-k>",
|
||||
mode = { "i", "s" },
|
||||
function()
|
||||
local ls = require("luasnip")
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"<C-j>",
|
||||
mode = { "i", "s" },
|
||||
function()
|
||||
local ls = require("luasnip")
|
||||
if ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"<C-n>",
|
||||
mode = { "i", "s" },
|
||||
function()
|
||||
local ls = require("luasnip")
|
||||
if ls.choice_active() then
|
||||
ls.change_choice(1)
|
||||
end
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local ls = require("luasnip")
|
||||
ls.setup({
|
||||
history = true,
|
||||
enable_autosnippets = false,
|
||||
updatevents = "TextChanged,TextChangedI",
|
||||
extra_opts = {
|
||||
[require("luasnip.util.types").choiceNode] = {
|
||||
active = {
|
||||
virt_text = { { "choiceNode", "Comment" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_lua").lazy_load({ paths = vim.fn.stdpath("config") .. "/snippets" })
|
||||
end,
|
||||
}
|
||||
24
nvim/m-housh/lua/plugins/markdown-preview.lua
Normal file
24
nvim/m-housh/lua/plugins/markdown-preview.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- This needs some work, as it's not working. May need to install a different browser??
|
||||
return {
|
||||
"iamcco/markdown-preview.nvim",
|
||||
enabled = false,
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
config = function()
|
||||
return {
|
||||
mkdp_browser = "Vivaldi",
|
||||
}
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>mp",
|
||||
ft = "markdown",
|
||||
"<cmd>MarkdownPreviewToggle<cr>",
|
||||
desc = "Markdown Preview",
|
||||
},
|
||||
},
|
||||
build = "cd app && yarn install",
|
||||
init = function()
|
||||
vim.g.mkdp_filetypes = { "markdown" }
|
||||
end,
|
||||
}
|
||||
46
nvim/m-housh/lua/plugins/noice.lua
Executable file
46
nvim/m-housh/lua/plugins/noice.lua
Executable file
@@ -0,0 +1,46 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||
"MunifTanjim/nui.nvim",
|
||||
-- OPTIONAL:
|
||||
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||
-- If not available, we use `mini` as the fallback
|
||||
"rcarriga/nvim-notify",
|
||||
},
|
||||
opts = {
|
||||
lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
presets = {
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
signature = { enabled = false },
|
||||
},
|
||||
routes = {
|
||||
{ -- enables messages for showing macro recording.
|
||||
view = "notify",
|
||||
filter = { event = "msg_showmode" },
|
||||
},
|
||||
{ -- Hide the written messages.
|
||||
view = "notify",
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
kind = "",
|
||||
find = "written",
|
||||
},
|
||||
opts = { skip = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
38
nvim/m-housh/lua/plugins/oil.lua
Normal file
38
nvim/m-housh/lua/plugins/oil.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
return {
|
||||
"stevearc/oil.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
columns = { "icon" },
|
||||
keymaps = {
|
||||
["<C-h>"] = false,
|
||||
["<M-h>"] = "actions.select_split",
|
||||
["<C-v>"] = {
|
||||
"actions.select",
|
||||
opts = { vertical = true },
|
||||
desc = "Open the entry in a vertical split",
|
||||
},
|
||||
},
|
||||
view_options = {
|
||||
is_hidden_file = function(name, _) -- second arg is bufnr, but not currently used.
|
||||
-- Don't show .DS_Store in output.
|
||||
local is_ds_store = name ~= ".DS_Store"
|
||||
return not is_ds_store
|
||||
end,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
-- Show the parent directory in current window.
|
||||
{ "-", "<CMD>Oil<CR>", desc = "Open directory." },
|
||||
-- Open parent directory in floating window.
|
||||
{
|
||||
"<leader>-",
|
||||
function()
|
||||
require("oil").toggle_float()
|
||||
end,
|
||||
desc = "Open directory in float.",
|
||||
},
|
||||
},
|
||||
}
|
||||
8
nvim/m-housh/lua/plugins/presenting.lua
Normal file
8
nvim/m-housh/lua/plugins/presenting.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"sotte/presenting.nvim",
|
||||
opts = {
|
||||
-- fill in your options here
|
||||
-- see :help Presenting.config
|
||||
},
|
||||
cmd = { "Presenting" },
|
||||
}
|
||||
49
nvim/m-housh/lua/plugins/todo-comments.lua
Normal file
49
nvim/m-housh/lua/plugins/todo-comments.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
opts = {
|
||||
keywords = {
|
||||
-- Adds the important keyword, I primarily use this in markdown
|
||||
-- documents to be able to jump and color appropriately.
|
||||
FIX = { alt = { "IMPORTANT" } },
|
||||
|
||||
-- Adds mark keyword, used in swift.
|
||||
NOTE = { alt = { "MARK" } },
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>tq",
|
||||
"<CMD>Trouble todo toggle<CR>",
|
||||
desc = "Todo quick fix list.",
|
||||
},
|
||||
{
|
||||
"<leader><leader>t",
|
||||
"<CMD>TodoTelescope<CR>",
|
||||
desc = "Todo telescope list.",
|
||||
},
|
||||
{
|
||||
"<leader>tl",
|
||||
"<CMD>TodoLocList<CR>",
|
||||
desc = "Todo location list.",
|
||||
},
|
||||
{
|
||||
"]t",
|
||||
function()
|
||||
require("todo-comments").jump_next()
|
||||
end,
|
||||
desc = "Next todo.",
|
||||
},
|
||||
{
|
||||
"[t",
|
||||
function()
|
||||
require("todo-comments").jump_prev()
|
||||
end,
|
||||
desc = "Previous todo.",
|
||||
},
|
||||
},
|
||||
}
|
||||
76
nvim/m-housh/lua/plugins/treesitter.lua
Executable file
76
nvim/m-housh/lua/plugins/treesitter.lua
Executable file
@@ -0,0 +1,76 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
},
|
||||
build = ":TSUpdate",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"cmake",
|
||||
"dockerfile",
|
||||
"go",
|
||||
"hcl",
|
||||
"html",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"ledger",
|
||||
"llvm",
|
||||
"lua",
|
||||
"make",
|
||||
"markdown",
|
||||
"python",
|
||||
"swift",
|
||||
"toml",
|
||||
"xml",
|
||||
"yaml",
|
||||
}, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||
ignore_install = {}, -- List of parsers to ignore installing
|
||||
highlight = {
|
||||
enable = true, -- false will disable the whole extension
|
||||
disable = {}, -- list of language that will be disabled
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<CR>",
|
||||
scope_incremental = "<CR>",
|
||||
node_incremental = "<TAB>",
|
||||
node_decremental = "<S-TAB>",
|
||||
},
|
||||
},
|
||||
indent = { enable = true },
|
||||
autopairs = { { enable = true } },
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@loop.outer",
|
||||
["il"] = "@loop.inner",
|
||||
["ib"] = "@block.inner",
|
||||
["ab"] = "@block.outer",
|
||||
["ir"] = "@parameter.inner",
|
||||
["ar"] = "@parameter.outer",
|
||||
["a="] = "@assignment.outer",
|
||||
["i="] = "@assignment.inner",
|
||||
},
|
||||
},
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 2000, -- Do not enable for files with more than specified lines
|
||||
},
|
||||
},
|
||||
}
|
||||
16
nvim/m-housh/lua/plugins/which-key.lua
Executable file
16
nvim/m-housh/lua/plugins/which-key.lua
Executable file
@@ -0,0 +1,16 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
preset = "helix",
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -2,7 +2,8 @@ local progress_handle
|
||||
|
||||
return {
|
||||
"wojciech-kulik/xcodebuild.nvim",
|
||||
event = "VeryLazy",
|
||||
--event = "VeryLazy",
|
||||
ft = "swift",
|
||||
--branch = "fix/issue-249",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
@@ -1,58 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
enabeld = false,
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
--"L3MON4D3/LuaSnip",
|
||||
},
|
||||
version = "v0.*",
|
||||
opts = {
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = "mono",
|
||||
},
|
||||
signature = { enabled = true },
|
||||
keymap = {
|
||||
preset = "default",
|
||||
["<CR>"] = { "accept", "fallback" },
|
||||
["<C-space>"] = {
|
||||
function(cmp)
|
||||
cmp.show({ providers = { "snippets" } })
|
||||
end,
|
||||
},
|
||||
--["<C-k>"] = { "select_prev", "fallback" },
|
||||
--["<C-j>"] = { "select_next", "fallback" },
|
||||
["<C-n>"] = {
|
||||
function(cmp)
|
||||
if cmp.snippet_active() then
|
||||
return cmp.accept()
|
||||
else
|
||||
return cmp.select_and_accept()
|
||||
end
|
||||
end,
|
||||
"snippet_forward",
|
||||
"fallback",
|
||||
},
|
||||
},
|
||||
-- snippets = {
|
||||
-- expand = function(snippet)
|
||||
-- require("luasnip").lsp_expand(snippet)
|
||||
-- end,
|
||||
-- active = function(filter)
|
||||
-- if filter and filter.direction then
|
||||
-- return require("luasnip").jumpable(filter.direction)
|
||||
-- end
|
||||
-- return require("luasnip").in_snippet()
|
||||
-- end,
|
||||
-- jump = function(direction)
|
||||
-- require("luasnip").jump(direction)
|
||||
-- end,
|
||||
-- },
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
},
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
},
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
return {
|
||||
"j-hui/fidget.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
local fidget = require("fidget")
|
||||
fidget.setup({
|
||||
notification = {
|
||||
window = {
|
||||
normal_hl = "String", -- Base highlight group in the notification window
|
||||
winblend = 0, -- Background color opacity in the notification window
|
||||
border = "rounded", -- Border around the notification window
|
||||
zindex = 45, -- Stacking priority of the notification window
|
||||
max_width = 0, -- Maximum width of the notification window
|
||||
max_height = 0, -- Maximum height of the notification window
|
||||
x_padding = 1, -- Padding from right edge of window boundary
|
||||
y_padding = 1, -- Padding from bottom edge of window boundary
|
||||
align = "bottom", -- How to align the notification window
|
||||
relative = "editor", -- What the notification window position is relative to
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
return {
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
config = function()
|
||||
local harpoon = require("harpoon")
|
||||
harpoon:setup({
|
||||
settings = {
|
||||
save_on_toggle = true,
|
||||
sync_on_ui_close = true,
|
||||
key = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
local conf = require("telescope.config").values
|
||||
local function toggle_telescope(harpoon_files)
|
||||
local file_paths = {}
|
||||
for _, item in ipairs(harpoon_files.items) do
|
||||
table.insert(file_paths, item.value)
|
||||
end
|
||||
|
||||
require("telescope.pickers")
|
||||
.new({}, {
|
||||
prompt_title = "Harpoon",
|
||||
finder = require("telescope.finders").new_table({
|
||||
results = file_paths,
|
||||
}),
|
||||
previewer = conf.file_previewer({}),
|
||||
sorter = conf.generic_sorter({}),
|
||||
})
|
||||
:find()
|
||||
end
|
||||
|
||||
-- Keymaps
|
||||
vim.keymap.set("n", "<C-e>", function()
|
||||
toggle_telescope(harpoon:list())
|
||||
end, { desc = "Open Harpoon window" })
|
||||
|
||||
vim.keymap.set("n", "<leader>a", function()
|
||||
harpoon:list():add()
|
||||
end, { desc = "[A]dd to harpoon list." })
|
||||
vim.keymap.set("n", "<C-e>", function()
|
||||
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||
end, { desc = "Toggle quick menu." })
|
||||
|
||||
-- Buffer key maps. Currently keeping all buffer movements
|
||||
-- isolated to top left row of keys on keyboard and all begin
|
||||
-- with the <Control> key.
|
||||
|
||||
-- Select buffer numbers.
|
||||
vim.keymap.set("n", "<A-y>", function()
|
||||
harpoon:list():select(1)
|
||||
end, { desc = "Select first harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-u>", function()
|
||||
harpoon:list():select(2)
|
||||
end, { desc = "Select second harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-i>", function()
|
||||
harpoon:list():select(3)
|
||||
end, { desc = "Select third harpoon buffer." })
|
||||
vim.keymap.set("n", "<A-o>", function()
|
||||
harpoon:list():select(4)
|
||||
end, { desc = "Select fourth harpoon buffer." })
|
||||
|
||||
-- Toggle previous and next buffers.
|
||||
vim.keymap.set("n", "<C-[>", function()
|
||||
harpoon:list():prev()
|
||||
end, { desc = "[P]revious harpoon buffer." })
|
||||
vim.keymap.set("n", "<C-]>", function()
|
||||
harpoon:list():next()
|
||||
end, { desc = "[N]ext harpoon buffer." })
|
||||
|
||||
-- Extensions
|
||||
harpoon:extend({
|
||||
UI_CREATE = function(cx)
|
||||
vim.keymap.set("n", "<C-v>", function()
|
||||
harpoon.ui:select_menu_item({ vsplit = true })
|
||||
end, { buffer = cx.buffer, desc = "Open in [V]split" })
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
-- The language servers to setup.
|
||||
local lsp_servers = {
|
||||
"bashls",
|
||||
"clangd",
|
||||
"dockerls",
|
||||
"gopls",
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
"sourcekit",
|
||||
"yamlls",
|
||||
}
|
||||
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
-- "hrsh7th/cmp-nvim-lsp",
|
||||
"saghen/blink.cmp",
|
||||
{ "antosha417/nvim-lsp-file-operations", config = true },
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
opts = {
|
||||
ensure_installed = lsp_servers,
|
||||
},
|
||||
})
|
||||
local lspconfig = require("lspconfig")
|
||||
--local cmp_nvim_lsp = require("cmp_nvim_lsp")
|
||||
--local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
local opts = { noremap = true, silent = true }
|
||||
local on_attach = function(_, bufnr)
|
||||
opts.buffer = bufnr
|
||||
|
||||
opts.desc = "Show line diagnostics"
|
||||
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts)
|
||||
|
||||
opts.desc = "Show diagnostics in Telescope"
|
||||
vim.keymap.set("n", "<leader><leader>d", "<CMD>Telescope diagnostics bufnr=0<CR>", opts)
|
||||
|
||||
opts.desc = "Show documentation for what is under cursor"
|
||||
vim.keymap.set("n", "<C-k>", vim.lsp.buf.hover, opts)
|
||||
|
||||
opts.desc = "[G]oto [D]efinition"
|
||||
vim.keymap.set("n", "gd", "<cmd>Telescope lsp_definitions trim_text=true<cr>", opts)
|
||||
|
||||
opts.desc = "[G]oto [D]eclaration"
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
|
||||
opts.desc = "[G]oto [R]eferences"
|
||||
vim.keymap.set("n", "gr", "<CMD>Telescope lsp_references<CR>", opts)
|
||||
|
||||
opts.desc = "LSP [C]ode [A]ction"
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||
|
||||
--opts.desc = "[R]e-[N]ame"
|
||||
--vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||
|
||||
opts.desc = "[R]eload or start LSP"
|
||||
vim.keymap.set("n", "<leader>rl", ":LspRestart | :LspStart<CR>", opts)
|
||||
|
||||
opts.desc = "Goto previous diagnostic"
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||
|
||||
opts.desc = "Goto next diagnostic"
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||
end
|
||||
|
||||
for _, lsp in ipairs(lsp_servers) do
|
||||
lspconfig[lsp].setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
on_init = function(client)
|
||||
-- HACK: to fix some issues with LSP
|
||||
-- more details: https://github.com/neovim/neovim/issues/19237#issuecomment-2237037154
|
||||
client.offset_encoding = "utf-8"
|
||||
end,
|
||||
cmd = lsp == "sourcekit" and { vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) } or nil,
|
||||
})
|
||||
end
|
||||
|
||||
-- nice icons
|
||||
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
end
|
||||
|
||||
-- For some reason I was having trouble getting this to work inside the on-attach, so it's here.
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "[R]e-[N]ame" })
|
||||
end,
|
||||
}
|
||||
@@ -1,217 +0,0 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
local lualine = require("lualine")
|
||||
|
||||
local function xcodebuild_device()
|
||||
if vim.g.xcodebuild_platform == "macOS" then
|
||||
return " macOS"
|
||||
end
|
||||
|
||||
if vim.g.xcodebuild_os then
|
||||
return " " .. vim.g.xcodebuild_device_name .. " (" .. vim.g.xcodebuild_os .. ")"
|
||||
end
|
||||
|
||||
return " " .. vim.g.xcodebuild_device_name
|
||||
end
|
||||
|
||||
lualine.setup({
|
||||
options = {
|
||||
globalstatus = true,
|
||||
theme = "auto",
|
||||
symbols = {
|
||||
alternate_file = "#",
|
||||
directory = "",
|
||||
readonly = "",
|
||||
unnamed = "[No Name]",
|
||||
newfile = "[New]",
|
||||
},
|
||||
disabled_buftypes = { "quickfix", "prompt" },
|
||||
component_separators = "",
|
||||
section_separators = { left = "", right = "" },
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
-- { "mode" },
|
||||
{ "filename" },
|
||||
},
|
||||
lualine_b = {
|
||||
{ "diagnostics" },
|
||||
{ "diff" },
|
||||
{
|
||||
"searchcount",
|
||||
maxcount = 999,
|
||||
timeout = 500,
|
||||
},
|
||||
},
|
||||
lualine_c = {},
|
||||
lualine_x = {
|
||||
{ "' ' .. vim.g.xcodebuild_last_status", color = { fg = "#a6e3a1" } },
|
||||
-- { "' ' .. vim.g.xcodebuild_test_plan", color = { fg = "#a6e3a1", bg = "#161622" } },
|
||||
{ xcodebuild_device, color = { fg = "#f9e2af", bg = "#161622" } },
|
||||
},
|
||||
lualine_y = {
|
||||
{ "branch" },
|
||||
},
|
||||
lualine_z = {
|
||||
{ "location" },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
extensions = { "nvim-dap-ui", "quickfix", "trouble", "nvim-tree", "lazy", "mason" },
|
||||
})
|
||||
end,
|
||||
}
|
||||
-- return {
|
||||
-- "nvim-lualine/lualine.nvim",
|
||||
-- config = function()
|
||||
-- local colors = {
|
||||
-- red = '#ca1243',
|
||||
-- grey = '#a0a1a7',
|
||||
-- black = '#383a42',
|
||||
-- white = '#f3f3f3',
|
||||
-- light_green = '#83a598',
|
||||
-- orange = '#fe8019',
|
||||
-- green = '#8ec07c',
|
||||
-- }
|
||||
--
|
||||
-- local empty = require('lualine.component'):extend()
|
||||
-- function empty:draw(default_highlight)
|
||||
-- self.status = ''
|
||||
-- self.applied_separator = ''
|
||||
-- self:apply_highlights(default_highlight)
|
||||
-- self:apply_section_separators()
|
||||
-- return self.status
|
||||
-- end
|
||||
--
|
||||
-- -- Put proper separators and gaps between components in sections
|
||||
-- local function process_sections(sections)
|
||||
-- for name, section in pairs(sections) do
|
||||
-- local left = name:sub(9, 10) < 'x'
|
||||
-- for pos = 1, name ~= 'lualine_z' and #section or #section - 1 do
|
||||
-- table.insert(section, pos * 2, { empty, color = { fg = colors.white, bg = colors.white } })
|
||||
-- end
|
||||
-- for id, comp in ipairs(section) do
|
||||
-- if type(comp) ~= 'table' then
|
||||
-- comp = { comp }
|
||||
-- section[id] = comp
|
||||
-- end
|
||||
-- comp.separator = left and { right = '' } or { left = '' }
|
||||
-- end
|
||||
-- end
|
||||
-- return sections
|
||||
-- end
|
||||
--
|
||||
-- local function search_result()
|
||||
-- if vim.v.hlsearch == 0 then
|
||||
-- return ''
|
||||
-- end
|
||||
-- local last_search = vim.fn.getreg '/'
|
||||
-- if not last_search or last_search == '' then
|
||||
-- return ''
|
||||
-- end
|
||||
-- local searchcount = vim.fn.searchcount { maxcount = 9999 }
|
||||
-- return last_search .. '(' .. searchcount.current .. '/' .. searchcount.total .. ')'
|
||||
-- end
|
||||
--
|
||||
-- local function modified()
|
||||
-- if vim.bo.modified then
|
||||
-- return '+'
|
||||
-- elseif vim.bo.modifiable == false or vim.bo.readonly == true then
|
||||
-- return '-'
|
||||
-- end
|
||||
-- return ''
|
||||
-- end
|
||||
--
|
||||
-- local function xcodebuild_device()
|
||||
-- if vim.g.xcodebuild_platform == "macOS" then
|
||||
-- return " macOS"
|
||||
-- end
|
||||
--
|
||||
-- local deviceIcon = ""
|
||||
-- if vim.g.xcodebuild_platform:match("watch") then
|
||||
-- deviceIcon = ""
|
||||
-- elseif vim.g.xcodebuild_platform:match("tv") then
|
||||
-- deviceIcon = " "
|
||||
-- elseif vim.g.xcodebuild_platform:match("vision") then
|
||||
-- deviceIcon = " "
|
||||
-- end
|
||||
--
|
||||
-- if vim.g.xcodebuild_os then
|
||||
-- return deviceIcon .. " " .. vim.g.xcodebuild_device_name .. " (" .. vim.g.xcodebuild_os .. ")"
|
||||
-- end
|
||||
--
|
||||
-- return deviceIcon .. " " .. vim.g.xcodebuild_device_name
|
||||
-- end
|
||||
--
|
||||
--
|
||||
-- require('lualine').setup {
|
||||
-- options = {
|
||||
-- theme = 'auto',
|
||||
-- component_separators = '',
|
||||
-- section_separators = { left = '', right = '' },
|
||||
-- },
|
||||
-- sections = process_sections {
|
||||
-- lualine_a = { 'mode' },
|
||||
-- lualine_b = {
|
||||
-- 'branch',
|
||||
-- 'diff',
|
||||
-- {
|
||||
-- 'diagnostics',
|
||||
-- source = { 'nvim' },
|
||||
-- sections = { 'error' },
|
||||
-- diagnostics_color = { error = { bg = colors.red, fg = colors.white } },
|
||||
-- },
|
||||
-- {
|
||||
-- 'diagnostics',
|
||||
-- source = { 'nvim' },
|
||||
-- sections = { 'warn' },
|
||||
-- diagnostics_color = { warn = { bg = colors.orange, fg = colors.white } },
|
||||
-- },
|
||||
-- { 'filename', file_status = false, path = 1 },
|
||||
-- { modified, color = { bg = colors.red } },
|
||||
-- {
|
||||
-- '%w',
|
||||
-- cond = function()
|
||||
-- return vim.wo.previewwindow
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- '%r',
|
||||
-- cond = function()
|
||||
-- return vim.bo.readonly
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- '%q',
|
||||
-- cond = function()
|
||||
-- return vim.bo.buftype == 'quickfix'
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
-- lualine_c = {},
|
||||
-- lualine_x = {
|
||||
-- { "' ' .. vim.g.xcodebuild_last_status", color = { fg = "Gray" } },
|
||||
-- { "' ' .. vim.g.xcodebuild_test_plan", color = { fg = "#a6e3a1", bg = "#161622" } },
|
||||
-- { xcodebuild_device, color = { fg = "#f9e2af", bg = "#161622" } },
|
||||
-- },
|
||||
-- lualine_y = { search_result, 'filetype' },
|
||||
-- lualine_z = { '%l:%c', '%p%%/%L' },
|
||||
-- },
|
||||
-- inactive_sections = {
|
||||
-- lualine_c = { '%f %y %m' },
|
||||
-- lualine_x = {},
|
||||
-- },
|
||||
-- tabline = {},
|
||||
-- extensions = {"nvim-tree"}
|
||||
-- }
|
||||
-- end
|
||||
-- }
|
||||
@@ -1,45 +0,0 @@
|
||||
return {
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "v2.*",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
local ls = require("luasnip")
|
||||
local types = require("luasnip.util.types")
|
||||
ls.setup({
|
||||
history = true,
|
||||
enable_autosnippets = false,
|
||||
updatevents = "TextChanged,TextChangedI",
|
||||
extra_opts = {
|
||||
[types.choiceNode] = {
|
||||
active = {
|
||||
virt_text = { { "choiceNode", "Comment" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_lua").lazy_load({ paths = vim.fn.stdpath("config") .. "/snippets" })
|
||||
|
||||
-- Keymaps
|
||||
local opts = { silent = true }
|
||||
|
||||
-- Use <Ctrl>k to expand snippets.
|
||||
-- This will expand the current item or jump to the next item within the snippet.
|
||||
vim.keymap.set({ "i", "s" }, "<C-k>", function()
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
end
|
||||
end, opts)
|
||||
|
||||
-- Use <Ctrl>j to jump backwards in a snippet.
|
||||
-- This always moves to the previous item within a snippet.
|
||||
vim.keymap.set({ "i", "s" }, "<C-j>", function()
|
||||
if ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
end
|
||||
end, opts)
|
||||
|
||||
-- Reload snippets.
|
||||
vim.keymap.set("n", "<leader><leader>s", "<CMD>source ~/.config/m-housh/lua/user/plugin/luasnip.lua<CR>")
|
||||
end,
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
-- config.lsp.signature.enabled = false
|
||||
opts = {
|
||||
lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
presets = {
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
signature = { enabled = false },
|
||||
},
|
||||
routes = {
|
||||
{ -- enables messages for showing macro recording.
|
||||
view = "notify",
|
||||
filter = { event = "msg_showmode" },
|
||||
},
|
||||
{ -- Hide the written messages.
|
||||
view = 'notify',
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
kind = "",
|
||||
find = "written"
|
||||
},
|
||||
opts = { skip = true }
|
||||
}
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||
"MunifTanjim/nui.nvim",
|
||||
-- OPTIONAL:
|
||||
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||
-- If not available, we use `mini` as the fallback
|
||||
"rcarriga/nvim-notify",
|
||||
},
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
return {
|
||||
"stevearc/oil.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
columns = { "icon" },
|
||||
keymaps = {
|
||||
["<C-h>"] = false,
|
||||
["<M-h>"] = "actions.select_split",
|
||||
["<C-v>"] = {
|
||||
"actions.select",
|
||||
opts = { vertical = true },
|
||||
desc = "Open the entry in a vertical split",
|
||||
},
|
||||
},
|
||||
view_options = {
|
||||
is_hidden_file = function(name, _) -- second arg is bufnr, but not currently used.
|
||||
-- Don't show .DS_Store in output.
|
||||
local is_ds_store = name ~= ".DS_Store"
|
||||
return not is_ds_store
|
||||
end,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
-- Show the parent directory in current window.
|
||||
{ "-", "<CMD>Oil<CR>", desc = "Open directory." },
|
||||
-- Open parent directory in floating window.
|
||||
{
|
||||
"<leader>-",
|
||||
function()
|
||||
require("oil").toggle_float()
|
||||
end,
|
||||
desc = "Open directory in float.",
|
||||
},
|
||||
},
|
||||
-- config = function()
|
||||
-- require("oil").setup({
|
||||
-- columns = { "icon" },
|
||||
-- keymaps = {
|
||||
-- ["<C-h>"] = false,
|
||||
-- ["<M-h>"] = "actions.select_split",
|
||||
-- ["<C-v>"] = {
|
||||
-- "actions.select",
|
||||
-- opts = { vertical = true },
|
||||
-- desc = "Open the entry in a vertical split",
|
||||
-- },
|
||||
-- },
|
||||
-- view_options = {
|
||||
-- is_hidden_file = function(name, _) -- second arg is bufnr, but not currently used.
|
||||
-- -- Don't show .DS_Store in output.
|
||||
-- local is_ds_store = name ~= ".DS_Store"
|
||||
-- return not is_ds_store
|
||||
-- end,
|
||||
-- },
|
||||
-- })
|
||||
--
|
||||
-- -- Show the parent directory in current window.
|
||||
-- vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory." })
|
||||
--
|
||||
-- -- Open parent directory in floating window.
|
||||
-- vim.keymap.set("n", "<space>-", require("oil").toggle_float)
|
||||
--
|
||||
-- -- Old habits die hard, map what used to toggle neo-tree to just open a float.
|
||||
-- vim.keymap.set("n", "<C-n>", require("oil").toggle_float)
|
||||
-- end,
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
opts = {},
|
||||
config = function()
|
||||
local todos = require("todo-comments")
|
||||
|
||||
todos.setup({
|
||||
keywords = {
|
||||
-- Adds the important keyword, I primarily use this in markdown
|
||||
-- documents to be able to jump and color appropriately.
|
||||
FIX = { alt = { "IMPORTANT" } },
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>tq", "<CMD>Trouble todo toggle<CR>", { desc = "[T]odo [Q]uick fix list." })
|
||||
vim.keymap.set("n", "<leader><leader>t", "<CMD>TodoTelescope<CR>", { desc = "[T]odo telescope list." })
|
||||
vim.keymap.set("n", "<leader>tl", "<CMD>TodoLocList<CR>", { desc = "[T]odo [L]ocation list." })
|
||||
vim.keymap.set("n", "]t", function()
|
||||
todos.jump_next()
|
||||
end, { desc = "Next [T]odo" })
|
||||
vim.keymap.set("n", "[t", function()
|
||||
todos.jump_prev()
|
||||
end, { desc = "Previous [T]odo" })
|
||||
end,
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
},
|
||||
build = ":TSUpdate",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"cmake",
|
||||
"dockerfile",
|
||||
"go",
|
||||
"hcl",
|
||||
"html",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"ledger",
|
||||
"llvm",
|
||||
"lua",
|
||||
"make",
|
||||
"markdown",
|
||||
"python",
|
||||
"swift",
|
||||
"toml",
|
||||
"xml",
|
||||
"yaml",
|
||||
}, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||
ignore_install = {}, -- List of parsers to ignore installing
|
||||
highlight = {
|
||||
enable = true, -- false will disable the whole extension
|
||||
disable = {}, -- list of language that will be disabled
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<CR>",
|
||||
scope_incremental = "<CR>",
|
||||
node_incremental = "<TAB>",
|
||||
node_decremental = "<S-TAB>",
|
||||
},
|
||||
},
|
||||
indent = { enable = true },
|
||||
autopairs = { { enable = true } },
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@loop.outer",
|
||||
["il"] = "@loop.inner",
|
||||
["ib"] = "@block.inner",
|
||||
["ab"] = "@block.outer",
|
||||
["ir"] = "@parameter.inner",
|
||||
["ar"] = "@parameter.outer",
|
||||
["a="] = "@assignment.outer",
|
||||
["i="] = "@assignment.inner",
|
||||
},
|
||||
},
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 2000, -- Do not enable for files with more than specified lines
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
-- Bootstrap Lazy.
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
dev = {
|
||||
path = "~/LocalProjects/plugins",
|
||||
fallback = true,
|
||||
},
|
||||
-- Import all the plugin configs in the 'plugin' directory
|
||||
{ import = "user.plugin" },
|
||||
-- Plugins that don't have a configuration file.
|
||||
{
|
||||
"folke/zen-mode.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"christoomey/vim-tmux-navigator",
|
||||
lazy = false,
|
||||
},
|
||||
{ "NoahTheDuke/vim-just", ft = { "just" } },
|
||||
{
|
||||
"chipsenkbeil/distant.nvim",
|
||||
version = "v0.*",
|
||||
event = "VeryLazy",
|
||||
},
|
||||
}, {
|
||||
checker = {
|
||||
enabled = true,
|
||||
notify = false,
|
||||
},
|
||||
change_detection = {
|
||||
notify = false,
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>ll", "<CMD>Lazy<CR>", { desc = "Open [L]azy" })
|
||||
@@ -31,4 +31,11 @@ ls.add_snippets("lua", {
|
||||
"})",
|
||||
}),
|
||||
}),
|
||||
s("c", {
|
||||
c(1, {
|
||||
t("1st"),
|
||||
t("2nd"),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
|
||||
|
||||
@@ -11,8 +11,18 @@ local fmt = require("luasnip.extras.fmt").fmt
|
||||
local rep = require("luasnip.extras").rep
|
||||
-- Add snippets
|
||||
ls.add_snippets("swift", {
|
||||
|
||||
-- Logging
|
||||
s(
|
||||
{ trig = "logg", desc = "Log a message" },
|
||||
fmt('logger.{}("{}")', {
|
||||
i(1),
|
||||
i(2),
|
||||
})
|
||||
),
|
||||
|
||||
-- Add a dependency snippet.
|
||||
s({ trig = "@d", desc = "Add a dependency." }, fmt("@Dependency(\\.{}) var {}", { i(1), rep(1) })),
|
||||
s({ trig = "@dep", desc = "Add a dependency." }, fmt("@Dependency(\\.{}) var {}", { i(1), rep(1) })),
|
||||
|
||||
-- Add a dependency client.
|
||||
s(
|
||||
|
||||
Binary file not shown.
7
scripts/arch/launch-webapp
Executable file
7
scripts/arch/launch-webapp
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Adapted from https://github.com/basecamp/omarchy/tree/master?tab=readme-ov-file
|
||||
#
|
||||
browser="chromium.desktop"
|
||||
|
||||
exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
|
||||
29
scripts/arch/toggle-desktop
Executable file
29
scripts/arch/toggle-desktop
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Workspace to hide everything in
|
||||
HIDE_WS="special:hidden"
|
||||
|
||||
# File to store original workspace ID
|
||||
STATE_FILE="/tmp/hypr_hide_state"
|
||||
|
||||
# Get current workspace ID
|
||||
CUR_WS=$(hyprctl -j activeworkspace | jq -r '.id')
|
||||
|
||||
# Check if we're currently hidden
|
||||
if [[ -f "$STATE_FILE" ]]; then
|
||||
# Restore windows
|
||||
ORIG_WS=$(cat "$STATE_FILE")
|
||||
for win in $(hyprctl -j clients | jq -r '.[] | select(.workspace.name | contains("$HIDE_WS")) | .address'); do
|
||||
hyprctl dispatch movetoworkspace "$ORIG_WS,address:$win"
|
||||
hyprctl dispatch workspace "$ORIG_WS"
|
||||
done
|
||||
rm "$STATE_FILE"
|
||||
else
|
||||
# Hide all windows (move to special hidden workspace)
|
||||
for win in $(hyprctl -j clients | jq -r ".[] | select(.workspace.id == $CUR_WS) | .address"); do
|
||||
hyprctl dispatch movetoworkspace "$HIDE_WS,address:$win"
|
||||
hyprctl dispatch togglespecialworkspace "$HIDE_WS"
|
||||
done
|
||||
rm "$STATE_FILE"
|
||||
echo "$CUR_WS" >"$STATE_FILE"
|
||||
fi
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user