mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-16 15:12:36 +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.
|
- Add tmux-powerline linking to `dots` cli manager.
|
||||||
- Clean up zet commands, maybe make a gum / fzf filter script.
|
- Clean up zet commands, maybe make a gum / fzf filter script.
|
||||||
- Update README to reflect ansible installation
|
- 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]
|
[core]
|
||||||
excludesfile = ~/.config/git/gitignore
|
excludesfile = ~/.config/git/gitignore
|
||||||
ignorecasse = false
|
ignorecasse = false
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Michael Housh
|
name = Michael Housh
|
||||||
email = mhoush@houshhomeenergy.com
|
email = michael@mhoush.com
|
||||||
signingkey = mhoush@houshhomeenergy.com
|
signingkey = 0x90D3EB6274D5B7CF
|
||||||
|
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
|
||||||
[tag]
|
[tag]
|
||||||
gpgSign = true
|
gpgSign = true
|
||||||
|
sort = version:refname
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = true
|
ui = true
|
||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
[credential]
|
[credential]
|
||||||
helper = gopass
|
helper = gopass
|
||||||
|
|
||||||
[credential "https://git.housh.dev"]
|
[credential "https://git.housh.dev"]
|
||||||
username = michael
|
username = michael
|
||||||
|
|
||||||
[push]
|
[push]
|
||||||
|
default = simple
|
||||||
autoSetupRemote = true
|
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]
|
[mounts]
|
||||||
path = /Users/michael/.local/share/password-store
|
path = /home/michael/.local/share/gopass/passwordstore
|
||||||
[recipients]
|
[recipients]
|
||||||
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
|
hash = 6a408ace969698b274c7c7580f7b0187e8aab4018ae06c5de895d69ae99b8b44
|
||||||
[mounts "servers"]
|
[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_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
|
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
|
||||||
narrow_symbols 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 titlebar-only
|
||||||
hide_window_decorations no
|
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": [
|
"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.editor.harpoon2",
|
||||||
"lazyvim.plugins.extras.formatting.prettier",
|
"lazyvim.plugins.extras.formatting.prettier",
|
||||||
"lazyvim.plugins.extras.lang.ansible",
|
"lazyvim.plugins.extras.lang.ansible",
|
||||||
"lazyvim.plugins.extras.lang.clangd",
|
"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": {
|
||||||
"NEWS.md": "10960"
|
"NEWS.md": "11866"
|
||||||
},
|
},
|
||||||
"version": 7
|
"version": 8
|
||||||
}
|
}
|
||||||
@@ -1,28 +1,29 @@
|
|||||||
local defaultGroupOptions = { clear = true }
|
local defaultGroupOptions = { clear = true }
|
||||||
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
|
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
|
local createCmd = vim.api.nvim_create_autocmd
|
||||||
|
|
||||||
-- Spell check
|
|
||||||
createCmd("BufEnter", {
|
createCmd("BufEnter", {
|
||||||
pattern = { "*.md", "*.markdown", "*.txt", "*.tex" },
|
pattern = "*.md",
|
||||||
group = spellGroup,
|
group = markdownGroup,
|
||||||
callback = function(_)
|
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("textwidth=80")
|
||||||
vim.cmd.setlocal("spell spelllang=en_us")
|
vim.cmd.setlocal("spell spelllang=en_us")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Markdown
|
-- Markdown
|
||||||
createCmd("BufWritePost", {
|
-- createCmd("BufWritePost", {
|
||||||
pattern = { "*.md", "*.markdown" },
|
-- pattern = { "*.md", "*.markdown" },
|
||||||
group = markdownGroup,
|
-- group = markdownGroup,
|
||||||
callback = function(_)
|
-- callback = function(_)
|
||||||
local cursor = vim.fn.getpos(".")
|
-- -- local cursor = vim.fn.getpos(".")
|
||||||
vim.cmd("FormatWrite")
|
-- vim.cmd("FormatWrite")
|
||||||
vim.fn.setpos(".", cursor)
|
-- -- vim.fn.setpos(".", cursor)
|
||||||
end,
|
-- end,
|
||||||
})
|
-- })
|
||||||
|
|
||||||
-- Go
|
-- Go
|
||||||
createCmd("BufWritePre", {
|
createCmd("BufWritePre", {
|
||||||
@@ -33,6 +34,7 @@ createCmd("BufWritePre", {
|
|||||||
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- GoPass
|
||||||
vim.api.nvim_exec2(
|
vim.api.nvim_exec2(
|
||||||
[[
|
[[
|
||||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
vim.api.nvim_echo({
|
vim.api.nvim_echo({
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
{ out, "WarningMsg" },
|
{ out, "WarningMsg" },
|
||||||
{ "\nPress any key to exit..." },
|
{ "\nPress any key to exit..." },
|
||||||
}, true, {})
|
}, true, {})
|
||||||
vim.fn.getchar()
|
vim.fn.getchar()
|
||||||
@@ -18,6 +18,22 @@ require("lazy").setup({
|
|||||||
spec = {
|
spec = {
|
||||||
-- add LazyVim and import its plugins
|
-- add LazyVim and import its plugins
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.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/override with your plugins
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
},
|
},
|
||||||
@@ -34,7 +50,7 @@ require("lazy").setup({
|
|||||||
checker = {
|
checker = {
|
||||||
enabled = true, -- check for plugin updates periodically
|
enabled = true, -- check for plugin updates periodically
|
||||||
notify = false, -- notify on update
|
notify = false, -- notify on update
|
||||||
}, -- automatically check for plugin updates
|
}, -- automatically check for plugin updates
|
||||||
performance = {
|
performance = {
|
||||||
rtp = {
|
rtp = {
|
||||||
-- disable some rtp plugins
|
-- disable some rtp 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 {
|
return {
|
||||||
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
|
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
|
||||||
|
{ "akinsho/bufferline.nvim", enabled = false },
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,30 @@
|
|||||||
return {
|
return {
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
formatters_by_ft = {
|
formatters = {
|
||||||
lua = { "stulua" },
|
["markdown-toc"] = {
|
||||||
markdown = {
|
condition = function(_, ctx)
|
||||||
"prettier",
|
for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do
|
||||||
prepend_args = {
|
if line:find("<!%-%- toc %-%->") then
|
||||||
"--print-width",
|
return true
|
||||||
"100",
|
end
|
||||||
"--prose-wrap",
|
end
|
||||||
"always",
|
end,
|
||||||
"--parser",
|
|
||||||
"markdown",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
["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" },
|
||||||
swift = { "swiftformat" },
|
swift = { "swiftformat" },
|
||||||
-- ["*"] = {
|
|
||||||
-- require("formatter.filetypes.any").remove_trailing_whitespace,
|
|
||||||
-- },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,6 @@
|
|||||||
-- Plugins that don't require much configuration are in here.
|
-- Plugins that don't require much configuration are in here.
|
||||||
--
|
--
|
||||||
return {
|
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",
|
"folke/snacks.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
@@ -23,10 +8,22 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
import = "lazyvim.plugins.extras.coding.blink",
|
"christoomey/vim-tmux-navigator",
|
||||||
keymap = {
|
lazy = false,
|
||||||
preset = "enter",
|
cmd = {
|
||||||
["<C-y>"] = { "select_and_accept" },
|
"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 {
|
return {
|
||||||
{
|
{
|
||||||
"williamboman/mason.nvim",
|
"mason-org/mason.nvim",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
},
|
},
|
||||||
@@ -9,6 +9,7 @@ return {
|
|||||||
"clangd",
|
"clangd",
|
||||||
"marksman",
|
"marksman",
|
||||||
"shfmt",
|
"shfmt",
|
||||||
|
"tinymist",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -38,10 +39,33 @@ return {
|
|||||||
clangd = {},
|
clangd = {},
|
||||||
dockerls = {},
|
dockerls = {},
|
||||||
gopls = {},
|
gopls = {},
|
||||||
|
harper_ls = {},
|
||||||
jsonls = {},
|
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 = {},
|
marksman = {},
|
||||||
sourcekit = {},
|
sourcekit = {},
|
||||||
|
tinymist = {
|
||||||
|
settings = {
|
||||||
|
formatterMode = "typstyle",
|
||||||
|
},
|
||||||
|
},
|
||||||
yamlls = {},
|
yamlls = {},
|
||||||
},
|
},
|
||||||
setup = {
|
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 {
|
return {
|
||||||
{
|
{
|
||||||
import = "lazyvim.plugins.extras.editor.telescope",
|
import = "lazyvim.plugins.extras.editor.telescope",
|
||||||
|
enabled = false,
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"swift",
|
"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,28 +7,35 @@ local i = ls.insert_node
|
|||||||
local f = ls.function_node
|
local f = ls.function_node
|
||||||
local c = ls.choice_node
|
local c = ls.choice_node
|
||||||
local t = ls.text_node
|
local t = ls.text_node
|
||||||
|
local fmt = require("luasnip.extras.fmt").fmt
|
||||||
|
|
||||||
ls.add_snippets("lua", {
|
ls.add_snippets("lua", {
|
||||||
-- Setup a new snippet file.
|
-- Setup a new snippet file.
|
||||||
s("sf", {
|
s("sf", {
|
||||||
t({
|
t({
|
||||||
"-- Setup snippets.",
|
"-- Setup snippets.",
|
||||||
'local ls = require("luasnip")',
|
'local ls = require("luasnip")',
|
||||||
"local s = ls.snippet",
|
"local s = ls.snippet",
|
||||||
"local sn = ls.snippet_node",
|
"local sn = ls.snippet_node",
|
||||||
"local ms = ls.multi_snippet",
|
"local ms = ls.multi_snippet",
|
||||||
"local i = ls.insert_node",
|
"local i = ls.insert_node",
|
||||||
"local f = ls.function_node",
|
"local f = ls.function_node",
|
||||||
"local c = ls.choice_node",
|
"local c = ls.choice_node",
|
||||||
"local t = ls.text_node",
|
"local t = ls.text_node",
|
||||||
"-- Add snippets",
|
"-- Add snippets",
|
||||||
}),
|
}),
|
||||||
t('ls.add_snippets("'),
|
t('ls.add_snippets("'),
|
||||||
i(1, "<file-type>"),
|
i(1, "<file-type>"),
|
||||||
t({
|
t({
|
||||||
'", {',
|
'", {',
|
||||||
"\t-- Define snippets here.",
|
"\t-- Define snippets here.",
|
||||||
"})",
|
"})",
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
|
s("c", {
|
||||||
|
c(1, {
|
||||||
|
fmt("{}", { i(1), t("debug") }),
|
||||||
|
fmt("{}", { i(1), t("warning") }),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -14,3 +14,8 @@ wc
|
|||||||
HVAC
|
HVAC
|
||||||
dehumidification
|
dehumidification
|
||||||
ansible
|
ansible
|
||||||
|
orchestrator
|
||||||
|
ethernet
|
||||||
|
unifi
|
||||||
|
wildcard
|
||||||
|
Housh
|
||||||
|
|||||||
Binary file not shown.
@@ -7,16 +7,16 @@ vim.g.maplocalleader = " "
|
|||||||
-- file for projects.
|
-- file for projects.
|
||||||
|
|
||||||
-- Common settings
|
-- Common settings
|
||||||
require("user.settings")
|
require("config.settings")
|
||||||
|
|
||||||
-- Auto commands
|
-- Auto commands
|
||||||
require("user.autocmd")
|
require("config.autocmd")
|
||||||
|
|
||||||
-- Plugins
|
-- Plugins
|
||||||
require("user.plugins")
|
require("config.lazy")
|
||||||
|
|
||||||
-- Key maps
|
-- Key maps
|
||||||
require("user.keymaps")
|
require("config.keymaps")
|
||||||
|
|
||||||
-- Theme (must stay after plugins are loaded)
|
-- 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),
|
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(
|
vim.api.nvim_exec2(
|
||||||
[[
|
[[
|
||||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
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,
|
enabled = true,
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
"folke/lazydev.nvim",
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
"hrsh7th/cmp-buffer", -- source for text in buffer
|
"hrsh7th/cmp-buffer", -- source for text in buffer
|
||||||
"hrsh7th/cmp-path", -- source for file system paths
|
"hrsh7th/cmp-path", -- source for file system paths
|
||||||
@@ -74,8 +76,10 @@ return {
|
|||||||
}),
|
}),
|
||||||
-- sources for autocompletion
|
-- sources for autocompletion
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
|
{ name = "lazydev", group_index = 0 },
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "luasnip" }, -- snippets
|
{ name = "luasnip" }, -- snippets
|
||||||
|
{ name = "render-markdown" }, -- markdown
|
||||||
{ name = "buffer" }, -- text within current buffer
|
{ name = "buffer" }, -- text within current buffer
|
||||||
{ name = "path" }, -- file system paths
|
{ name = "path" }, -- file system paths
|
||||||
}),
|
}),
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
'numToStr/Comment.nvim',
|
'numToStr/Comment.nvim',
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
opts = {
|
opts = {
|
||||||
-- add any options here
|
-- 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 {
|
return {
|
||||||
"mhartington/formatter.nvim",
|
"mhartington/formatter.nvim",
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
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")
|
local util = require("formatter.util")
|
||||||
require("formatter").setup({
|
require("formatter").setup({
|
||||||
filetype = {
|
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 augroup = vim.api.nvim_create_augroup
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
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)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,57 +1,58 @@
|
|||||||
local progress_handle
|
local progress_handle
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"wojciech-kulik/xcodebuild.nvim",
|
"wojciech-kulik/xcodebuild.nvim",
|
||||||
event = "VeryLazy",
|
--event = "VeryLazy",
|
||||||
--branch = "fix/issue-249",
|
ft = "swift",
|
||||||
dependencies = {
|
--branch = "fix/issue-249",
|
||||||
"nvim-telescope/telescope.nvim",
|
dependencies = {
|
||||||
"MunifTanjim/nui.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
},
|
"MunifTanjim/nui.nvim",
|
||||||
config = function()
|
},
|
||||||
require("xcodebuild").setup({
|
config = function()
|
||||||
show_build_progress_bar = false,
|
require("xcodebuild").setup({
|
||||||
logs = {
|
show_build_progress_bar = false,
|
||||||
auto_open_on_success_tests = false,
|
logs = {
|
||||||
auto_open_on_failed_tests = false,
|
auto_open_on_success_tests = false,
|
||||||
auto_open_on_success_build = false,
|
auto_open_on_failed_tests = false,
|
||||||
auto_open_on_failed_build = false,
|
auto_open_on_success_build = false,
|
||||||
auto_focus = false,
|
auto_open_on_failed_build = false,
|
||||||
auto_close_on_app_launch = true,
|
auto_focus = false,
|
||||||
only_summary = true,
|
auto_close_on_app_launch = true,
|
||||||
notify = function(message, severity)
|
only_summary = true,
|
||||||
local fidget = require("fidget")
|
notify = function(message, severity)
|
||||||
if progress_handle then
|
local fidget = require("fidget")
|
||||||
progress_handle.message = message
|
if progress_handle then
|
||||||
if not message:find("Loading") then
|
progress_handle.message = message
|
||||||
progress_handle:finish()
|
if not message:find("Loading") then
|
||||||
progress_handle = nil
|
progress_handle:finish()
|
||||||
if vim.trim(message) ~= "" then
|
progress_handle = nil
|
||||||
fidget.notify(message, severity)
|
if vim.trim(message) ~= "" then
|
||||||
end
|
fidget.notify(message, severity)
|
||||||
end
|
end
|
||||||
else
|
end
|
||||||
fidget.notify(message, severity)
|
else
|
||||||
end
|
fidget.notify(message, severity)
|
||||||
end,
|
end
|
||||||
notify_progress = function(message)
|
end,
|
||||||
local progress = require("fidget.progress")
|
notify_progress = function(message)
|
||||||
|
local progress = require("fidget.progress")
|
||||||
|
|
||||||
if progress_handle then
|
if progress_handle then
|
||||||
progress_handle.title = ""
|
progress_handle.title = ""
|
||||||
progress_handle.message = message
|
progress_handle.message = message
|
||||||
else
|
else
|
||||||
progress_handle = progress.handle.create({
|
progress_handle = progress.handle.create({
|
||||||
message = message,
|
message = message,
|
||||||
lsp_client = { name = "xcodebuild.nvim" },
|
lsp_client = { name = "xcodebuild.nvim" },
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
code_coverage = {
|
code_coverage = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- stylua: ignore start
|
-- stylua: ignore start
|
||||||
vim.keymap.set("n", "<leader>X", "<cmd>XcodebuildPicker<cr>", { desc = "Show Xcodebuild Actions" })
|
vim.keymap.set("n", "<leader>X", "<cmd>XcodebuildPicker<cr>", { desc = "Show Xcodebuild Actions" })
|
||||||
@@ -77,5 +78,5 @@ return {
|
|||||||
|
|
||||||
vim.keymap.set("n", "<leader>xx", "<cmd>XcodebuildQuickfixLine<cr>", { desc = "Quickfix Line" })
|
vim.keymap.set("n", "<leader>xx", "<cmd>XcodebuildQuickfixLine<cr>", { desc = "Quickfix Line" })
|
||||||
vim.keymap.set("n", "<leader>xa", "<cmd>XcodebuildCodeActions<cr>", { desc = "Show Code Actions" })
|
vim.keymap.set("n", "<leader>xa", "<cmd>XcodebuildCodeActions<cr>", { desc = "Show Code Actions" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
@@ -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
|
local rep = require("luasnip.extras").rep
|
||||||
-- Add snippets
|
-- Add snippets
|
||||||
ls.add_snippets("swift", {
|
ls.add_snippets("swift", {
|
||||||
|
|
||||||
|
-- Logging
|
||||||
|
s(
|
||||||
|
{ trig = "logg", desc = "Log a message" },
|
||||||
|
fmt('logger.{}("{}")', {
|
||||||
|
i(1),
|
||||||
|
i(2),
|
||||||
|
})
|
||||||
|
),
|
||||||
|
|
||||||
-- Add a dependency snippet.
|
-- 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.
|
-- Add a dependency client.
|
||||||
s(
|
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