Merge branch 'main' of github.com:tmayoff/.dotfiles

This commit is contained in:
Tyler Mayoff 2025-03-19 17:39:48 -04:00
commit 8ed6576fb1
4 changed files with 192 additions and 1 deletions

View file

@ -74,6 +74,9 @@
#gutters = ["line-numbers", "diagnostics", "diff"]
end-of-line-diagnostics = "warning";
bufferline = "multiple";
line-number = "relative";
inline-diagnostics = {
cursor-line = "error";
};

View file

@ -62,6 +62,10 @@ in {
jdk17
conan
deno
lsp-ai
python312Packages.jedi-language-server
];
homebrew = {
@ -103,7 +107,173 @@ in {
];
};
# services.aerospace.enable = true;
services.aerospace = {
enable = true;
settings = {
# You can use it to add commands that run after login to macOS user session.
# 'start-at-login' needs to be 'true' for 'after-login-command' to work
# Available commands: https://nikitabobko.github.io/AeroSpace/commands
after-login-command = [];
# You can use it to add commands that run after AeroSpace startup.
# 'after-startup-command' is run after 'after-login-command'
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
after-startup-command = [];
# Start AeroSpace at login
# start-at-login = true
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
enable-normalization-flatten-containers = true;
enable-normalization-opposite-orientation-for-nested-containers = true;
# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
# The 'accordion-padding' specifies the size of accordion padding
# You can set 0 to disable the padding feature
accordion-padding = 30;
# Possible values: tiles|accordion
default-root-container-layout = "tiles";
# Possible values: horizontal|vertical|auto
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
# tall monitor (anything higher than wide) gets vertical orientation
default-root-container-orientation = "auto";
# Mouse follows focus when focused monitor changes
# Drop it from your config, if you don't like this behavior
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
# Fallback value (if you omit the key): on-focused-monitor-changed = []
on-focused-monitor-changed = ["move-mouse monitor-lazy-center"];
# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag
# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key
# Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app
automatically-unhide-macos-hidden-apps = false;
# Possible values: (qwerty|dvorak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
key-mapping.preset = "qwerty";
# Gaps between windows (inner-*) and between monitor edges (outer-*).
# Possible values:
# - Constant: gaps.outer.top = 8
# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
# In this example, 24 is a default value when there is no match.
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
gaps = {
inner.horizontal = 4;
inner.vertical = 4;
outer.left = 0;
outer.bottom = 0;
outer.top = 0;
outer.right = 0;
};
# 'main' binding mode declaration
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# 'main' binding mode must be always presented
# Fallback value (if you omit the key): mode.main.binding = {}
# [mode.main.binding]
mode.main.binding = {
# All possible commands: https://nikitabobko.github.io/AeroSpace/commands
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3)
# alt-enter = '''exec-and-forget osascript -e '
# tell application "Terminal"
# do script
# activate
# end tell'
# '''
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
alt-slash = "layout tiles horizontal vertical";
alt-comma = "layout accordion horizontal vertical";
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
alt-shift-left = "focus left";
alt-shift-down = "focus down";
alt-shift-up = "focus up";
alt-shift-right = "focus right";
ctrl-alt-shift-left = "focus-monitor left --wrap-around";
ctrl-alt-shift-right = "focus-monitor right --wrap-around";
ctrl-alt-shift-up = "focus-monitor up --wrap-around";
ctrl-alt-shift-down = "focus-monitor down --wrap-around";
# See: https://nikitabobko.github.io/AeroSpace/commands#move
alt-shift-h = "move left";
alt-shift-j = "move down";
alt-shift-k = "move up";
alt-shift-l = "move right";
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
alt-shift-minus = "resize smart -50";
alt-shift-equal = "resize smart +50";
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
alt-1 = "workspace 1";
alt-2 = "workspace 2";
alt-3 = "workspace 3";
alt-4 = "workspace 4";
alt-5 = "workspace 5";
alt-6 = "workspace 6";
alt-7 = "workspace 7";
alt-8 = "workspace 8";
alt-9 = "workspace 9";
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
alt-shift-1 = "move-node-to-workspace 1";
alt-shift-2 = "move-node-to-workspace 2";
alt-shift-3 = "move-node-to-workspace 3";
alt-shift-4 = "move-node-to-workspace 4";
alt-shift-5 = "move-node-to-workspace 5";
alt-shift-6 = "move-node-to-workspace 6";
alt-shift-7 = "move-node-to-workspace 7";
alt-shift-8 = "move-node-to-workspace 8";
alt-shift-9 = "move-node-to-workspace 9";
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
alt-tab = "workspace-back-and-forth";
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
alt-shift-tab = "move-workspace-to-monitor --wrap-around next";
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
alt-shift-semicolon = "mode service";
};
mode.service.binding = {
# "service" binding mode declaration.
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
esc = ["reload-config" "mode main"];
r = ["flatten-workspace-tree" "mode main"]; # reset layout
f = ["layout floating tiling" "mode main"]; # Toggle between floating and tiling layout
backspace = ["close-all-windows-but-current" "mode main"];
# sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
#s = ["layout sticky tiling", "mode main"]
alt-shift-h = ["join-with left" "mode main"];
alt-shift-j = ["join-with down" "mode main"];
alt-shift-k = ["join-with up" "mode main"];
alt-shift-l = ["join-with right" "mode main"];
# down = "volume down";
# up = "volume up";
# shift-down = ["volume set 0" "mode main"];
};
workspace-to-monitor-force-assignment = {
"1" = "built-in";
"2" = ["^DELL U2723QE \\(1\\)$" "BenQ EX2710 \\(2\\)$"];
"3" = ["^DELL U2723QE \\(2\\)$" "BenQ EX2710 \\(1\\)$"];
};
};
};
programs.fish.enable = true;
programs.zsh.enable = true;

View file

@ -21,6 +21,8 @@
black
ruff
unstable.copilot-language-server
swiftlint
unstable.helix-gpt
unstable.lsp-ai

View file

@ -3,6 +3,7 @@ clangd = { command = "clangd", args = ["--header-insertion=never"]}
biome = { command = "biome", args = ["lsp-proxy"] }
fish_lsp = {command = "fish-lsp", args = ["start"]}
slangd = {command = "slangd"}
gpt = {command = "helix-gpt", args = ["--handler", "copilot"]}
[[language]]
name = "fish"
@ -27,6 +28,21 @@ scope = "source.nix"
auto-format = true
formatter = { command = "alejandra", args = ["-q"] }
[[language]]
name = "cpp"
language-servers = [
"clangd",
"gpt"
]
[[language]]
name = "python"
language-servers = [
"ruff",
"pylsp",
"gpt"
]
[[language]]
name = "objc"
scope = "source.objc"