82 Commits

Author SHA1 Message Date
d277706034 feat: Renames webapp-install script to install-webapp, and adds option flags and usage. 2025-09-25 23:16:38 -04:00
1e94c4181f feat: Adds espanso text expander and updates install packages, walker updates. 2025-09-25 19:17:15 -04:00
bef4bbea5f feat: Some waybar updates, hypr keybinds, and scripts added 2025-09-25 15:49:45 -04:00
460d9bb180 feat: Fixes zsh history not saving, some hyprland config updates. 2025-09-25 12:08:21 -04:00
2ea4540cba feat: Updates install package script to include what should be needed on a fresh install, changes pinentry program which was causing ssh not to work. 2025-09-25 11:05:01 -04:00
73d4da7106 feat: Adds clipse clipboard history, removes macos specific scripts, begin creating install scripts. 2025-09-25 10:08:00 -04:00
6107a658bb feat: Updates gpg-agent to use tty. 2025-09-24 19:38:01 -04:00
29dc54f5ae feat: Working on waybar some more, right side of the menubar needs work. 2025-09-24 19:31:19 -04:00
f10875412a feat: Begins waybar configuration, adds theme for eza, some updates to other configuration. 2025-09-24 15:43:07 -04:00
379319dac7 More hyprland config / rearranging, adds some notes, adds gpg scdaemon.conf 2025-09-23 20:37:04 -04:00
f660c0fa23 feat: Trying to increase scale of gpg pinentry 2025-09-23 18:15:19 -04:00
81428fde31 feat: Updates to hyprland, adds waybar (default config for now), adds arch linux notes file to start tracking things that are needed when setting up a new system. 2025-09-23 18:06:09 -04:00
b7edc19958 feat: More hyprland configuration 2025-09-23 12:06:51 -04:00
8bc955b12f feat: More hyprland updates 2025-09-23 09:23:26 -04:00
28c71ee752 feat: Working on more hyprland configuration 2025-09-23 08:21:23 -04:00
920d87f8e0 Working on hyprland configuration, working hyprlock, hyprpaper not working. 2025-09-21 14:05:54 -04:00
d90146fde3 feat: Adds arch specific scripts and removes raycast (macOS) specific scripts. 2025-09-21 01:03:39 -04:00
40fe096baa feat: Removes macOS specific configurations or apps that I no longer use 2025-09-21 00:53:32 -04:00
9dd5559af5 Updated git config, gopass config, hyprland config, kitty config 2025-09-21 00:35:51 -04:00
c96dd116c9 feat: Adds hyprland keybind to launch gitea web app. 2025-09-19 18:34:51 -04:00
92fbde1e00 feat: Initial hyprland setup 2025-09-19 18:19:02 -04:00
b77180638a feat: Updates todos. 2025-09-18 17:14:48 -04:00
a06f1cc2a6 feat: Renames mason config repo in lazynvim 2025-09-18 16:50:02 -04:00
2a54c8c599 feat: Updates vim-tmux-navigator config to work properly. 2025-09-18 16:47:38 -04:00
dddcb877d6 feat: Adds some split navigation to ghostty config. 2025-09-18 16:31:06 -04:00
0bd1e6242d feat: updates nvim and adds gpgreset function 2025-09-18 11:36:44 -04:00
e8de865417 feat: Sets up correction suggestions for zsh 2025-09-17 14:45:49 -04:00
3825ef78ff feat: Updates ghostty config 2025-09-17 10:49:51 -04:00
81582b2194 feat: Adds 'z' alias for zoxide 2025-09-17 10:26:29 -04:00
9363055e5a feat: Removes zoxide from echoing path. 2025-09-17 10:23:55 -04:00
3230fb7007 feat: Adds zoxide to shell 2025-09-17 10:20:00 -04:00
6f11d99043 feat: Updates CARGO_HOME shell variable and location. 2025-09-17 08:55:49 -04:00
802ea082c8 feat: Updates path to include rust / cargo bin 2025-09-16 14:59:09 -04:00
9cb3792223 Adds dp function 2025-06-26 10:25:05 -04:00
3041d0a5e5 feat: Adds typst preview toggle to nvim key maps. 2025-04-24 14:11:46 -04:00
ecf3e98e25 feat: Adds typst preview and language server. 2025-04-23 11:08:11 -04:00
cbe4ebc538 feat: Adds harper_ls to lsp config. 2025-04-17 15:20:25 -04:00
511c7307b6 feat: Updates to git config and snacks.nvim 2025-04-04 17:12:56 -04:00
30ac84ecac fix: Fixes find latest function. 2025-04-03 08:53:00 -04:00
547cc41436 feat: Adds find-latest function to zsh, 'fl' alias for it, lazyvim config changes. 2025-04-03 08:50:04 -04:00
3fd33cd92e feat: Surpresses undefined global 'vim' in lua_ls setup. 2025-04-01 12:48:03 -04:00
8c83898abf feat: Removes project.nvim. 2025-04-01 12:07:13 -04:00
3fc1054206 feat: Updates lazyvim configuration, adds some configuration files. 2025-04-01 11:58:35 -04:00
6c6c5c507d feat: More lazyvim configuration changes. 2025-03-31 15:23:21 -04:00
b627d68ae3 feat: Updates lazyvim configuration, adds some configuration files. 2025-03-31 13:18:07 -04:00
d8feb9535d feat: Adds yubikeyrestart alias 2025-03-31 11:31:30 -04:00
73973aed67 feat: Updates lazyvim. 2025-03-31 09:49:32 -04:00
534a902512 feat: Adds needed LaunchAgents for using gpg ssh keys. 2025-03-31 09:36:27 -04:00
5dc1b33da8 feat: Working on trying lazyvim 2025-03-31 09:33:04 -04:00
4624fa48d3 feat: Adds gpg configuration. 2025-03-29 23:46:49 -04:00
fa0cf72ae0 feat: Configuration changes. 2025-03-29 23:41:16 -04:00
e10715940f feat: Adds ssh-agent eval to zshrc to use open-ssh instead of default macos installed ssh. 2025-03-28 15:47:38 -04:00
a5ca5b4f63 feat: Removes using gpg as an ssh agent. 2025-03-28 12:34:53 -04:00
26b98e444d feat: Check if signing key is fixed. 2025-03-28 10:57:52 -04:00
3796572324 fix: Remains of merge conflict. 2025-03-27 17:08:30 -04:00
3382c4b165 feat: Adds gpg-agent ssh_auth_sock export to zshrc 2025-03-27 17:01:34 -04:00
afdedc5acf feat: Updates git config. 2025-03-26 19:53:07 -04:00
ad5ade6679 feat: Adds CONSULTS environment variable 2025-03-26 10:45:25 -04:00
994ff17ceb feat: Adds DRIVE environment variable. 2025-03-26 10:41:16 -04:00
ccc2367bc3 feat: Adds hpa config. 2025-03-26 10:40:19 -04:00
7f98d4046f feat: Adds sketchybar configuration. 2025-03-26 09:21:33 -04:00
98804b3aa5 feat: Adds new-proposal function 2025-03-11 09:09:55 -04:00
53db3f3e8f feat: Adds new-proposal function 2025-03-11 08:57:37 -04:00
86422bd68b feat: Adds kubectl completions to zshrc. 2025-01-29 13:41:26 -05:00
95139d50ba feat: Adds leaf autocommand to set the filetype to html for better highlight groups. 2025-01-05 13:14:26 -05:00
15b1aded69 feat: Adds ask-gpt script. 2025-01-03 16:12:56 -05:00
dcac27db37 feat: Updates nvim config to include ghostty config highlighting 2025-01-03 13:44:02 -05:00
a71ae05e5b feat: Adds ghostty config syntax highlighting. 2025-01-02 17:46:57 -05:00
9a1b00610e feat adds render-markdown.nvim plugin 2025-01-02 17:46:57 -05:00
4f47e288ea feat: Ghostty config changes. 2024-12-31 07:57:38 -05:00
963fcd2810 feat: Adds mini-ai, ghostty config updates, tmux config updates. 2024-12-29 09:07:18 -05:00
9ead148f34 feat: More ghostty config and updates tmux config to allow image pass through. 2024-12-26 18:57:33 -05:00
0d8364eaf9 feat: Adds ghostty config 2024-12-26 18:26:51 -05:00
4d42fa4dab feat: Adds brew-update function 2024-12-25 16:02:39 -05:00
f23adad4b0 feat: Disables blink.cmp 2024-12-23 08:46:59 -05:00
44f5c35d38 feat: Luasnip working with blink.cmp 2024-12-21 20:10:28 -05:00
25ddde6e12 feat: Updates todo comments. 2024-12-20 22:16:04 -05:00
4a023203bd feat: Adds filetype to xcodebuild.nvim plugin for lazy loading 2024-12-20 10:01:24 -05:00
5f07ffede9 fix: Fixes luasnip not loading custom snippets. 2024-12-20 09:55:53 -05:00
6cdf85b4e3 feat: Reworking nvim configuration 2024-12-20 09:48:54 -05:00
876e7f6d0e feat: Rearranges nvim configuration 2024-12-20 08:13:43 -05:00
b78fb64bd3 feat: Rearranges nvim configuration 2024-12-20 08:10:53 -05:00
166 changed files with 3689 additions and 3081 deletions

3
.markdownlint.jsonc Normal file
View File

@@ -0,0 +1,3 @@
{
"MD013": { "code_blocks": false }
}

2
.prettierrc.yaml Normal file
View File

@@ -0,0 +1,2 @@
proseWrap: always
printWidth: 80

19
ARCHNOTES.md Normal file
View File

@@ -0,0 +1,19 @@
# Arch Linux Notes
## Web App (PWA)
For the `webapp-install` script to work there needs to be a directory
for the icons to be installed to. It can be done with the following command:
```bash
mkdir -p ~/.local/share/applications/icons
```
## Monitor Lid Events
In order to monitor lid events, the user needs to be
added to the `input` group.
```bash
sudo usermod -aG input $USER
```

View File

@@ -5,3 +5,11 @@
- Add tmux-powerline linking to `dots` cli manager.
- Clean up zet commands, maybe make a gum / fzf filter script.
- Update README to reflect ansible installation
- Update ansible to do gpg installation.
- Update ansible to include sketchybar.
# Arch Todos
- Separate scripts that are used for configurations / store them somewhere aside
from `~/.local/bin`
- Remove system-d stuff (don't think it's needed).

36
clipse/config.json Normal file
View File

@@ -0,0 +1,36 @@
{
"allowDuplicates": false,
"historyFile": "$XDG_DATA_HOME/clipse/clipboard_history.json",
"maxHistory": 100,
"logFile": "$XDG_DATA_HOME/clipse/clipse.log",
"themeFile": "custom_theme.json",
"tempDir": "$XDG_DATA_HOME/clipse/tmp_files",
"keyBindings": {
"choose": "enter",
"clearSelected": "S",
"down": "down",
"end": "end",
"filter": "/",
"home": "home",
"more": "?",
"nextPage": "right",
"prevPage": "left",
"preview": " ",
"quit": "q",
"remove": "x",
"selectDown": "ctrl+down",
"selectSingle": "s",
"selectUp": "ctrl+up",
"togglePin": "p",
"togglePinned": "tab",
"up": "up",
"yankFilter": "ctrl+s"
},
"imageDisplay": {
"type": "basic",
"scaleX": 9,
"scaleY": 9,
"heightCut": 2
}
}

29
clipse/custom_theme.json Normal file
View File

@@ -0,0 +1,29 @@
{
"useCustomTheme": true,
"TitleFore": "#6F4CBC",
"TitleBack": "#1e1e2e",
"TitleInfo": "#3498db",
"NormalTitle": "#ffffff",
"DimmedTitle": "#808080",
"SelectedTitle": "#FF69B4",
"NormalDesc": "#808080",
"DimmedDesc": "#808080",
"SelectedDesc": "#FF69B4",
"StatusMsg": "#2ecc71",
"PinIndicatorColor": "#FFD700",
"SelectedBorder": "#3498db",
"SelectedDescBorder": "#3498db",
"FilteredMatch": "#ffffff",
"FilterPrompt": "#2ecc71",
"FilterInfo": "#3498db",
"FilterText": "#ffffff",
"FilterCursor": "#FFD700",
"HelpKey": "#999999",
"HelpDesc": "#808080",
"PageActiveDot": "#3498db",
"PageInactiveDot": "#808080",
"DividerDot": "#3498db",
"PreviewedText": "#ffffff",
"PreviewBorder": "#3498db"
}

View File

@@ -29,8 +29,7 @@
# --- Auto-restart
# Enable/disable the config auto-reload after a file change is detected.
# auto_restart: false
auto_restart: true
# --- Clipboard threshold
# Because injecting long texts char-by-char is a slow operation, espanso automatically

104
eza/theme.yml Normal file
View File

@@ -0,0 +1,104 @@
# see https://github.com/eza-community/eza-themes/blob/main/themes/catppuccin.yml
colourful: true
filekinds:
normal: { foreground: "#BAC2DE" }
directory: { foreground: "#89B4FA" }
symlink: { foreground: "#89DCEB" }
pipe: { foreground: "#7F849C" }
block_device: { foreground: "#EBA0AC" }
char_device: { foreground: "#EBA0AC" }
socket: { foreground: "#585B70" }
special: { foreground: "#CBA6F7" }
executable: { foreground: "#A6E3A1" }
mount_point: { foreground: "#74C7EC" }
perms:
user_read: { foreground: "#CDD6F4" }
user_write: { foreground: "#F9E2AF" }
user_execute_file: { foreground: "#A6E3A1" }
user_execute_other: { foreground: "#A6E3A1" }
group_read: { foreground: "#BAC2DE" }
group_write: { foreground: "#F9E2AF" }
group_execute: { foreground: "#A6E3A1" }
other_read: { foreground: "#A6ADC8" }
other_write: { foreground: "#F9E2AF" }
other_execute: { foreground: "#A6E3A1" }
special_user_file: { foreground: "#CBA6F7" }
special_other: { foreground: "#585B70" }
attribute: { foreground: "#A6ADC8" }
size:
major: { foreground: "#A6ADC8" }
minor: { foreground: "#89DCEB" }
number_byte: { foreground: "#CDD6F4" }
number_kilo: { foreground: "#BAC2DE" }
number_mega: { foreground: "#89B4FA" }
number_giga: { foreground: "#CBA6F7" }
number_huge: { foreground: "#CBA6F7" }
unit_byte: { foreground: "#A6ADC8" }
unit_kilo: { foreground: "#89B4FA" }
unit_mega: { foreground: "#CBA6F7" }
unit_giga: { foreground: "#CBA6F7" }
unit_huge: { foreground: "#74C7EC" }
users:
user_you: { foreground: "#CDD6F4" }
user_root: { foreground: "#F38BA8" }
user_other: { foreground: "#CBA6F7" }
group_yours: { foreground: "#BAC2DE" }
group_other: { foreground: "#7F849C" }
group_root: { foreground: "#F38BA8" }
links:
normal: { foreground: "#89DCEB" }
multi_link_file: { foreground: "#74C7EC" }
git:
new: { foreground: "#A6E3A1" }
modified: { foreground: "#F9E2AF" }
deleted: { foreground: "#F38BA8" }
renamed: { foreground: "#94E2D5" }
typechange: { foreground: "#F5C2E7" }
ignored: { foreground: "#7F849C" }
conflicted: { foreground: "#EBA0AC" }
git_repo:
branch_main: { foreground: "#CDD6F4" }
branch_other: { foreground: "#CBA6F7" }
git_clean: { foreground: "#A6E3A1" }
git_dirty: { foreground: "#F38BA8" }
security_context:
colon: { foreground: "#7F849C" }
user: { foreground: "#BAC2DE" }
role: { foreground: "#CBA6F7" }
typ: { foreground: "#585B70" }
range: { foreground: "#CBA6F7" }
file_type:
image: { foreground: "#F9E2AF" }
video: { foreground: "#F38BA8" }
music: { foreground: "#A6E3A1" }
lossless: { foreground: "#94E2D5" }
crypto: { foreground: "#585B70" }
document: { foreground: "#CDD6F4" }
compressed: { foreground: "#F5C2E7" }
temp: { foreground: "#EBA0AC" }
compiled: { foreground: "#74C7EC" }
build: { foreground: "#585B70" }
source: { foreground: "#89B4FA" }
punctuation: { foreground: "#7F849C" }
date: { foreground: "#F9E2AF" }
inode: { foreground: "#A6ADC8" }
blocks: { foreground: "#9399B2" }
header: { foreground: "#CDD6F4" }
octal: { foreground: "#94E2D5" }
flags: { foreground: "#CBA6F7" }
symlink_path: { foreground: "#89DCEB" }
control_char: { foreground: "#74C7EC" }
broken_symlink: { foreground: "#F38BA8" }
broken_path_overlay: { foreground: "#585B70" }

View File

@@ -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.

34
ghostty/config Normal file
View File

@@ -0,0 +1,34 @@
theme = Catppuccin Mocha
confirm-close-surface = false
font-family = "Fira Code"
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
quit-after-last-window-closed-delay = 5m
# 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

View File

@@ -1,29 +1,67 @@
[core]
excludesfile = ~/.config/git/gitignore
ignorecasse = false
[init]
defaultBranch = main
defaultBranch = main
[user]
name = Michael Housh
email = mhoush@houshhomeenergy.com
signingkey = mhoush@houshhomeenergy.com
email = michael@mhoush.com
signingkey = 0x90D3EB6274D5B7CF
[commit]
gpgsign = true
[tag]
gpgSign = true
sort = version:refname
[color]
ui = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[credential]
helper = gopass
[credential "https://git.housh.dev"]
username = michael
[push]
default = simple
autoSetupRemote = true
followTags = true
[fetch]
prune = true
#pruneTags = true
#all = true
[pull]
rebase = true
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[column]
ui = auto
[branch]
sort = committerdate
[diff]
algorithm = histogram
colorMoved = plain
mnemonicPrefix = true
renames = true
[rerere]
enabled = true
autoupdate = true
[rebase]
autoSquash = true
autoStash = true
updateRefs = true

View File

@@ -1,6 +1,13 @@
[mounts]
path = /Users/michael/.local/share/password-store
path = /home/michael/.local/share/gopass/passwordstore
[recipients]
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
hash = 6a408ace969698b274c7c7580f7b0187e8aab4018ae06c5de895d69ae99b8b44
[mounts "servers"]
path = /Users/michael/.local/share/gopass/stores/servers
[recipients "homelab"]
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0
[mounts "homelab"]
[recipients "new-test"]
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
[mounts "new-test"]
[recipients "servers"]
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0

View 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>

View 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
View 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
View 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
gpg/scdaemon.conf Normal file
View File

@@ -0,0 +1 @@
disable-ccid

View File

@@ -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
View 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'

17
hypr/autostart.conf Normal file
View File

@@ -0,0 +1,17 @@
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
exec-once = pidof hyprpaper | uwsm app -- hyprpaper
exec-once = pidof hypridle | uwsm app -- hypridle
exec-once = uwsm app -- elephant
exec-once = uwsm app -- swaync
exec-once = uwsm app -- walker --gapplication-service &
exec-once = uwsm app -- waybar
exec-once = clipse -listen

37
hypr/env.conf Normal file
View File

@@ -0,0 +1,37 @@
#############################
### 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
env = GDK_SCALE=2
# 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
}

34
hypr/hypridle.conf Normal file
View File

@@ -0,0 +1,34 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restore.
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 330 # 5.5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc
}

137
hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,137 @@
# #######################################################################################
# HYPRLAND - GENERAL CONFIG
# #######################################################################################
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/
source = ~/.config/hypr/env.conf
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/windows.conf
source = ~/.config/hypr/keybinds.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/autostart.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 = 3
gaps_out = 0, 5, 5, 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 = master # dwindle or master
}
# 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
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + SHIFT + P in the keybinds section below
preserve_split = true # You probably want this
force_split = 2 # always split to the right or bottom
split_width_multiplier = 1.25
use_active_for_splits = false
default_split_ratio = 1.25
split_bias = 0
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = slave
mfact = 0.50 # Set master window to be 50%
orientation = left # set master to be on the right.
}
# 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 = true # If true disables the random hyprland logo / anime girl background. :(
}

109
hypr/hyprlock.conf Normal file
View 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
View File

@@ -0,0 +1,3 @@
preload = /home/michael/.config/hypr/wallpaper.png
wallpaper = ,/home/michael/.config/hypr/wallpaper.png
splash = true

36
hypr/input.conf Normal file
View File

@@ -0,0 +1,36 @@
#############
### 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
}

155
hypr/keybinds.conf Normal file
View File

@@ -0,0 +1,155 @@
##############################
### HYPRLAND - KEYBINDINGS ###
##############################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Command/Windows" key as main modifier
$HYPER = ALT SHIFT WIN CTRL
###################
### 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
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# NOTE: TUI's / window rules aren't working with ghostty when you try to target the class
# or title so those should be opened with kitty until I can figure out what's happening.
# 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, $terminal -e ~/.local/share/scripts/tmux-sessionator ~/.config
bind = $mainMod, D, exec, $pwa "https://pro.housecallpro.com/app/calendar_new"
bind = $mainMod SHIFT, D, exec, ~/.local/bin/toggle-desktop
bind = $mainMod, E, exec, $pwa "https://mail.proton.me"
bind = $mainMod SHIFT, E, exec, uwsm app -- thunderbird
bind = $mainMod, F, exec, $fileManager
#bind = $mainMod, K, exec, $launch Komodo
bind = $mainMod SHIFT, F, exec, $fileBrowser
bind = $mainMod, G, exec, $pwa "https://git.housh.dev"
# NOTE: Do not bind apps to H, J, K, or L!
bind = $mainMod, M, exec, ~/.local/bin/toggle-waybar
bind = $mainMod, N, exec, $terminal -e nvim
bind = $mainMod, P, exec, $pwa "https://pass.proton.me"
bind = $mainMod SHIFT, P, pseudo, # dwindle
bind = $mainMod, Y, exec, $pwa "https://youtube.com"
bind = $mainMod, V, exec, kitty --class clipse -e clipse
bind = $mainMod, W, killactive,
bind = $mainMod SHIFT, R, exec, ~/.local/bin/waybar-restart
# TODO: change modifier key.
#bind = $mainMod SHIFT, L, exec, hyprlock
# TODO: change modifier key.
#bind = $mainMod, V, togglefloating
#bind = $mainMod, P, pseudo, # dwindle
#
# Screenshots
bind = $mainMod SHIFT ALT, 4, exec, hyprshot -m region -o ~/Pictures
bind = $mainMod SHIFT ALT, 3, exec, hyprshot -m window -o ~/Pictures
bind = CTRL, F, exec, ~/.local/bin/window-toggle-floating
# 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, H, swapsplit
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
bind = $HYPER, J, togglesplit # dwindle
# FIX: Changes size of window, this works a different depending on if
# the window is on the right or left of the screen.
#
# Resize horizontally
bind = $mainMod, EQUAL, resizeactive, 20 0
bind = $mainMod, MINUS, resizeactive, -20 0
# Resize vertically
bind = $mainMod SHIFT, EQUAL, resizeactive, 0 20
bind = $mainMod SHIFT, MINUS, resizeactive, 0 -20
# Switch to 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 all workspaces to a monitor
bind = $HYPER, 0, exec, ~/.local/bin/mv-all-workspaces-to-monitor 0
bind = $HYPER, 1, exec, ~/.local/bin/mv-all-workspaces-to-monitor 1
# Move current workspace.
# bind = $HYPER, H, movecurrentworkspacetomonitor, 1
# bind = $HYPER, L, movecurrentworkspacetomonitor, 0
# 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

10
hypr/monitors.conf Normal file
View File

@@ -0,0 +1,10 @@
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor= ,preferred,auto,auto
#monitor = HDMI-A-1, preferred, 0x0, auto
monitor = HDMI-A-1, preferred, 0x0, 1.66667

BIN
hypr/wallpaper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

36
hypr/windows.conf Normal file
View File

@@ -0,0 +1,36 @@
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
#
# Force bluetooth settings to be a floating window
windowrule = float, class:^(blueberry.py)$
# Clipboard history tui in floating window.
windowrule = float, class:(clipse)
windowrule = size 622 652, class:(clipse)
windowrule = stayfocused, class:(clipse)
windowrule = float,class:^(float)$
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:.*
# No opacity on youtube.
windowrule = opacity 1.0, class:.*youtube.com.*
# 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

14
hypr/workspaces.conf Normal file
View File

@@ -0,0 +1,14 @@
# Set work spaces 1-5 to be on external monitor
workspace = 1, monitor:1
workspace = 2, monitor:1
workspace = 3, monitor:1
workspace = 4, monitor:1
workspace = 5, monitor:1
# Set work spaces 6-10 to be on internal monitor
workspace = 6, monitor:0
workspace = 7, monitor:0
workspace = 8, monitor:0
workspace = 9, monitor:0
workspace = 10, monitor:0

View 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
}
}
]
}

View File

@@ -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
}
}
]
}

View File

@@ -1,11 +1,89 @@
# vim:ft=kitty
# _ _ _ ___ ___ _ _ ____ ____ _ _ ____
# |_/ | | | \_/ | | | |\ | |___
# | \_ | | | | .|___ |__| | \| |
#
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
font_family Droid Sans Mono for Powerline Regular
font_size 16.0
font_size 13.0
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
@@ -15,3 +93,4 @@ background_opacity 0.9
#hide_window_decorations titlebar-only
hide_window_decorations no
confirm_os_window_close 0

View File

@@ -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>

View File

@@ -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"
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -1,2 +1,3 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
-- bootstrap lazy.nvim, LazyVim and your plugin
vim.g.netrw_browsex_viewer = "xdg-open"
require("config.lazy")

View File

@@ -1,14 +1,27 @@
{
"extras": [
"lazyvim.plugins.extras.coding.luasnip",
"lazyvim.plugins.extras.coding.mini-snippets",
"lazyvim.plugins.extras.coding.mini-surround",
"lazyvim.plugins.extras.editor.fzf",
"lazyvim.plugins.extras.editor.harpoon2",
"lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.ansible",
"lazyvim.plugins.extras.lang.clangd",
"lazyvim.plugins.extras.lang.docker"
"lazyvim.plugins.extras.lang.cmake",
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.git",
"lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.sql",
"lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.tex",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.util.startuptime"
],
"install_version": 8,
"news": {
"NEWS.md": "10960"
"NEWS.md": "11866"
},
"version": 7
"version": 8
}

View File

@@ -1,29 +1,43 @@
local defaultGroupOptions = { clear = true }
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
local spellGroup = vim.api.nvim_create_augroup("SpellGroup", defaultGroupOptions)
local createCmd = vim.api.nvim_create_autocmd
-- Spell check
createCmd("BufEnter", {
pattern = { "*.md", "*.markdown", "*.txt", "*.tex" },
group = spellGroup,
pattern = "*.md",
group = markdownGroup,
callback = function(_)
-- HACK: Set filetype to markdown for '.md' files.
-- Not sure why it doesn't detect these as markdown files, but this fixes the issue.
vim.cmd.setlocal("filetype=markdown")
vim.cmd.setlocal("textwidth=80")
vim.cmd.setlocal("spell spelllang=en_us")
end,
})
-- Markdown
createCmd("BufWritePost", {
pattern = { "*.md", "*.markdown" },
group = markdownGroup,
callback = function(_)
local cursor = vim.fn.getpos(".")
vim.cmd("FormatWrite")
vim.fn.setpos(".", cursor)
-- Hyprlang LSP
vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
pattern = { "*.hl", "hypr*.conf" },
callback = function(event)
print(string.format("starting hyprls for %s", vim.inspect(event)))
vim.lsp.start({
name = "hyprlang",
cmd = { "hyprls" },
root_dir = vim.fn.getcwd(),
})
end,
})
-- Markdown
-- createCmd("BufWritePost", {
-- pattern = { "*.md", "*.markdown" },
-- group = markdownGroup,
-- callback = function(_)
-- -- local cursor = vim.fn.getpos(".")
-- vim.cmd("FormatWrite")
-- -- vim.fn.setpos(".", cursor)
-- end,
-- })
-- Go
createCmd("BufWritePre", {
pattern = "*.go",
@@ -33,6 +47,7 @@ createCmd("BufWritePre", {
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
})
-- GoPass
vim.api.nvim_exec2(
[[
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""

View File

@@ -5,7 +5,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
@@ -18,6 +18,22 @@ require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{
import = "lazyvim.plugins.extras.editor.mini-files",
opts = {
options = {
use_as_default_explorer = true,
},
},
},
{
import = "lazyvim.plugins.extras.coding.blink",
keymap = {
preset = "enter",
["<C-y>"] = { "select_and_accept" },
},
},
-- import/override with your plugins
{ import = "plugins" },
},
@@ -34,7 +50,7 @@ require("lazy").setup({
checker = {
enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update
}, -- automatically check for plugin updates
}, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins

View File

@@ -8,41 +8,41 @@ local fn = vim.fn
vim.cmd.set("inccommand=split")
o.filetype = "on"
o.updatetime = 500 -- faster completion
o.timeoutlen = 800 -- time to wait for a mapped sequence to complete (in milliseconds)
o.ttimeoutlen = 300 -- Time in milliseconds to wait for a key code sequence to complete
o.backup = false -- creates a backup file
o.swapfile = false -- enable/disable swap file creation
o.dir = fn.stdpath("data") .. "/swp" -- swap file directory
o.undofile = false -- enable/disable undo file creation
o.updatetime = 500 -- faster completion
o.timeoutlen = 800 -- time to wait for a mapped sequence to complete (in milliseconds)
o.ttimeoutlen = 300 -- Time in milliseconds to wait for a key code sequence to complete
o.backup = false -- creates a backup file
o.swapfile = false -- enable/disable swap file creation
o.dir = fn.stdpath("data") .. "/swp" -- swap file directory
o.undofile = false -- enable/disable undo file creation
o.undodir = fn.stdpath("data") .. "/undodir" -- set undo directory
o.history = 500 -- Use the 'history' option to set the number of lines from command mode that are remembered.
o.hidden = true -- required to keep multiple buffers and open multiple buffers
o.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
o.fileencoding = "utf-8" -- the encoding written to a file
o.conceallevel = 0 -- so that `` is visible in markdown files
o.number = true -- set numbered lines
o.relativenumber = true -- set relative numbered lines
o.cmdheight = 1 -- space for displaying messages/commands
o.showmode = false -- we don't need to see things like -- INSERT -- anymore
o.showtabline = 2 -- always show tabs
o.laststatus = 2 -- The value of this option influences when the last window will have a status line (2 always)
o.smartcase = true -- smart case
o.smartindent = true -- make indenting smarter again
o.splitbelow = true -- force all horizontal splits to go below current window
o.splitright = true -- force all vertical splits to go to the right of current window
o.autoindent = true -- turn on auto indent.
o.expandtab = true -- convert tabs to spaces
o.smarttab = true -- turn on smart tab
o.shiftwidth = 2 -- the number of spaces inserted for each indentation
o.tabstop = 2 -- how many columns a tab counts for
o.termguicolors = true -- set term gui colors (most terminals support this)
o.cursorline = true -- highlight the current line
o.scrolloff = 20 -- Minimal number of screen lines to keep above and below the cursor
o.sidescrolloff = 5 -- The minimal number of columns to scroll horizontally
o.hlsearch = false -- highlight all matches on previous search pattern
o.ignorecase = true -- ignore case in search patterns
o.foldenable = false -- disable folding; enable with zi
o.history = 500 -- Use the 'history' option to set the number of lines from command mode that are remembered.
o.hidden = true -- required to keep multiple buffers and open multiple buffers
--o.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
o.fileencoding = "utf-8" -- the encoding written to a file
o.conceallevel = 0 -- so that `` is visible in markdown files
o.number = true -- set numbered lines
o.relativenumber = true -- set relative numbered lines
o.cmdheight = 1 -- space for displaying messages/commands
o.showmode = false -- we don't need to see things like -- INSERT -- anymore
o.showtabline = 2 -- always show tabs
o.laststatus = 2 -- The value of this option influences when the last window will have a status line (2 always)
o.smartcase = true -- smart case
o.smartindent = true -- make indenting smarter again
o.splitbelow = true -- force all horizontal splits to go below current window
o.splitright = true -- force all vertical splits to go to the right of current window
o.autoindent = true -- turn on auto indent.
o.expandtab = true -- convert tabs to spaces
o.smarttab = true -- turn on smart tab
o.shiftwidth = 2 -- the number of spaces inserted for each indentation
o.tabstop = 2 -- how many columns a tab counts for
o.termguicolors = true -- set term gui colors (most terminals support this)
o.cursorline = true -- highlight the current line
o.scrolloff = 20 -- Minimal number of screen lines to keep above and below the cursor
o.sidescrolloff = 5 -- The minimal number of columns to scroll horizontally
o.hlsearch = false -- highlight all matches on previous search pattern
o.ignorecase = true -- ignore case in search patterns
o.foldenable = false -- disable folding; enable with zi
o.foldmethod = "expr"
o.foldexpr = "nvim_treesitter#foldexpr()"
vim.cmd.set("nolist") -- don't show listchars.
@@ -51,10 +51,10 @@ o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣"
o.shortmess = o.shortmess + "c" -- prevent "pattern not found" messages
wo.colorcolumn = "99999"
o.wildmode = "full"
o.lazyredraw = false -- do not redraw screen while running macros
o.lazyredraw = false -- do not redraw screen while running macros
o.grepprg = "rg --hidden --vimgrep --smart-case --"
o.completeopt = { "menu", "menuone", "noselect", "noinsert" } -- A comma separated list of options for Insert mode completion
o.wildignorecase = true -- When set case is ignored when completing file names and directories
o.wildignorecase = true -- When set case is ignored when completing file names and directories
o.wildignore = [[
.git,.hg,.svn
*.aux,*.out,*.toc

View File

@@ -0,0 +1,8 @@
return {
"saghen/blink.cmp",
opts = {
keymap = {
preset = "default"
}
}
}

View File

@@ -1,3 +1,4 @@
return {
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
{ "akinsho/bufferline.nvim", enabled = false },
}

View File

@@ -1,23 +1,30 @@
return {
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
lua = { "stulua" },
markdown = {
"prettier",
prepend_args = {
"--print-width",
"100",
"--prose-wrap",
"always",
"--parser",
"markdown",
},
formatters = {
["markdown-toc"] = {
condition = function(_, ctx)
for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do
if line:find("<!%-%- toc %-%->") then
return true
end
end
end,
},
["markdownlint-cli2"] = {
condition = function(_, ctx)
local diag = vim.tbl_filter(function(d)
return d.source == "markdownlint"
end, vim.diagnostic.get(ctx.buf))
return #diag > 0
end,
},
},
formatters_by_ft = {
["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
lua = { "stulua" },
swift = { "swiftformat" },
-- ["*"] = {
-- require("formatter.filetypes.any").remove_trailing_whitespace,
-- },
},
},
}

View File

@@ -1,21 +1,6 @@
-- Plugins that don't require much configuration are in here.
--
return {
{ import = "lazyvim.plugins.extras.lang.ansible" },
{ import = "lazyvim.plugins.extras.lang.cmake" },
{ import = "lazyvim.plugins.extras.lang.docker" },
{ import = "lazyvim.plugins.extras.lang.json" },
{ import = "lazyvim.plugins.extras.lang.markdown" },
{ import = "lazyvim.plugins.extras.lang.yaml" },
{ import = "lazyvim.plugins.extras.coding.luasnip" },
{
import = "lazyvim.plugins.extras.editor.mini-files",
opts = {
options = {
use_as_default_explorer = true,
},
},
},
{
"folke/snacks.nvim",
opts = {
@@ -23,10 +8,22 @@ return {
},
},
{
import = "lazyvim.plugins.extras.coding.blink",
keymap = {
preset = "enter",
["<C-y>"] = { "select_and_accept" },
"christoomey/vim-tmux-navigator",
lazy = false,
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
"TmuxNavigatorProcessList",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
},
}

View File

@@ -0,0 +1,12 @@
return {
{
"mfussenegger/nvim-lint",
opts = {
linters = {
markdownlint = {
args = { "--config", "~/.markdownlint.jsonc", "--" },
},
},
},
},
}

View File

@@ -1,6 +1,6 @@
return {
{
"williamboman/mason.nvim",
"mason-org/mason.nvim",
dependencies = {
"neovim/nvim-lspconfig",
},
@@ -9,6 +9,7 @@ return {
"clangd",
"marksman",
"shfmt",
"tinymist",
},
},
},
@@ -21,11 +22,9 @@ return {
"dockerfile",
"editorconfig",
"ini",
"json",
"jq",
"latex",
"make",
"swift",
},
},
},
@@ -38,10 +37,33 @@ return {
clangd = {},
dockerls = {},
gopls = {},
harper_ls = {},
jsonls = {},
lua_ls = {},
lua_ls = {
settings = {
Lua = {
runtime = {
version = "LuaJIT",
},
diagnostics = {
globals = { "vim" },
},
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
},
telemetry = {
enable = false,
},
},
},
},
marksman = {},
sourcekit = {},
tinymist = {
settings = {
formatterMode = "typstyle",
},
},
yamlls = {},
},
setup = {
@@ -50,9 +72,9 @@ return {
end,
sourcekit = function(_, opts)
opts.cmd = {
vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) or nil
vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) or nil,
}
end
end,
},
},
},

View 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 = [[
*
+++++
+++++++++
==+++++++++++
+===:+++++++++++*
+======--+++++++++++*##+====
+==========:=+++++++++++#+====
+=============-=++++++++++++====
+================-:+++++++++++++==
+===================--++++++++++++++*
+======================--+++++++++++++++*
=========================-++++++++++++++++
==========================:+++++++++++++++
===========================:++++++++++++++
===========================-.-++++++++++++
===========================-::.=++++++++++
===========================----..=++++++++
===========================------..:=+++++
===========================--------:...-++
===========================------------:.:
===========================---------------
===========================---------------
===========================---------------
]],
},
},
},
}

View File

@@ -1,6 +1,7 @@
return {
{
import = "lazyvim.plugins.extras.editor.telescope",
enabled = false,
opts = {
ensure_installed = {
"swift",

View 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."
},
}
}

View File

@@ -7,28 +7,35 @@ local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local t = ls.text_node
local fmt = require("luasnip.extras.fmt").fmt
ls.add_snippets("lua", {
-- Setup a new snippet file.
s("sf", {
t({
"-- Setup snippets.",
'local ls = require("luasnip")',
"local s = ls.snippet",
"local sn = ls.snippet_node",
"local ms = ls.multi_snippet",
"local i = ls.insert_node",
"local f = ls.function_node",
"local c = ls.choice_node",
"local t = ls.text_node",
"-- Add snippets",
}),
t('ls.add_snippets("'),
i(1, "<file-type>"),
t({
'", {',
"\t-- Define snippets here.",
"})",
}),
}),
-- Setup a new snippet file.
s("sf", {
t({
"-- Setup snippets.",
'local ls = require("luasnip")',
"local s = ls.snippet",
"local sn = ls.snippet_node",
"local ms = ls.multi_snippet",
"local i = ls.insert_node",
"local f = ls.function_node",
"local c = ls.choice_node",
"local t = ls.text_node",
"-- Add snippets",
}),
t('ls.add_snippets("'),
i(1, "<file-type>"),
t({
'", {',
"\t-- Define snippets here.",
"})",
}),
}),
s("c", {
c(1, {
fmt("{}", { i(1), t("debug") }),
fmt("{}", { i(1), t("warning") }),
}),
}),
})

View File

@@ -14,3 +14,8 @@ wc
HVAC
dehumidification
ansible
orchestrator
ethernet
unifi
wildcard
Housh

Binary file not shown.

View File

@@ -7,16 +7,16 @@ vim.g.maplocalleader = " "
-- file for projects.
-- Common settings
require("user.settings")
require("config.settings")
-- Auto commands
require("user.autocmd")
require("config.autocmd")
-- Plugins
require("user.plugins")
require("config.lazy")
-- Key maps
require("user.keymaps")
require("config.keymaps")
-- Theme (must stay after plugins are loaded)
require("user.theme")
require("config.theme")

View File

@@ -33,6 +33,14 @@ createCmd("BufWritePre", {
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
})
-- Leaf
createCmd({ "BufRead", "BufNewFile" }, {
pattern = "*.leaf",
callback = function()
vim.opt.filetype = "html"
end,
})
vim.api.nvim_exec2(
[[
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""

View 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" })

View 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" },
},
},
}

View File

@@ -3,6 +3,8 @@ return {
enabled = true,
event = "VeryLazy",
dependencies = {
"MeanderingProgrammer/render-markdown.nvim",
"folke/lazydev.nvim",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer", -- source for text in buffer
"hrsh7th/cmp-path", -- source for file system paths
@@ -74,8 +76,10 @@ return {
}),
-- sources for autocompletion
sources = cmp.config.sources({
{ name = "lazydev", group_index = 0 },
{ name = "nvim_lsp" },
{ name = "luasnip" }, -- snippets
{ name = "render-markdown" }, -- markdown
{ name = "buffer" }, -- text within current buffer
{ name = "path" }, -- file system paths
}),

View File

@@ -1,7 +1,7 @@
return {
'numToStr/Comment.nvim',
event = { 'BufReadPre', 'BufNewFile' },
opts = {
-- add any options here
},
event = { 'BufReadPre', 'BufNewFile' },
}

View 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
},
},
},
}

View 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",
},
},
}

View File

@@ -1,7 +1,19 @@
return {
"mhartington/formatter.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
keys = {
{
"<leader>f",
":Format",
desc = "[F]ormat",
},
{
"<leader>F",
":FormatWrite",
desc = "[F]ormat write",
},
},
config = function(_, opts)
local util = require("formatter.util")
require("formatter").setup({
filetype = {
@@ -50,13 +62,6 @@ return {
},
})
-- Keymaps
local wk = require("which-key")
wk.add({
{ "<space>f", ":Format", desc = "[F]ormat" },
{ "<space>F", ":FormateWrite", desc = "[F]ormat write" },
}, { mode = "n", silent = true })
local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd

View File

@@ -0,0 +1,5 @@
return {
"ghostty",
dir = vim.env.GHOSTTY_PATH .. "/Contents/Resources/vim/vimfiles/",
lazy = false,
}

View 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,
}

View 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
View 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,
},
}

View 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" },
},
}

View 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,
}

View 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,
}

View 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 },
},
},
},
}

View 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.",
},
},
}

View File

@@ -0,0 +1,8 @@
return {
"sotte/presenting.nvim",
opts = {
-- fill in your options here
-- see :help Presenting.config
},
cmd = { "Presenting" },
}

Some files were not shown because too many files have changed in this diff Show More