Compare commits

..

37 Commits

Author SHA1 Message Date
6deba070cb Add golangci-lint-langserver for go 2025-09-30 19:23:42 -05:00
4c71f795aa Remove yazi file explorer (explorer built in with newer versions of helix) 2025-09-05 11:18:08 -05:00
5557d68a9a Add support for working with painless scripts 2025-05-12 11:40:52 -05:00
ac6926123a Update rbenv and nvm 2025-05-05 19:39:17 -05:00
dfc3511aa3 Add rbenv; remove old go and ruby zsh shims 2025-05-01 23:13:13 -05:00
4334c8c03b Update comment 2025-04-30 08:55:18 -05:00
5dbd41d75b Add goenv init zsh script 2025-04-30 08:54:11 -05:00
3eaddcfb7c Disable pane frames 2025-04-24 14:10:40 -05:00
e3907a655c Use primary clipboard instead of system for Zellij 2025-04-24 13:32:56 -05:00
b0fecf1342 Set tab name on CD 2025-04-23 09:44:36 -05:00
221a6563d4 Update EDITOR and VISUAL to correct commands 2025-04-16 19:15:11 -05:00
527d79e8b1 Add some useful zellij functions 2025-04-16 15:28:08 -05:00
f906dd126c Remove custom zellij layouts; auto-rename new tabs to cwd 2025-04-16 15:18:38 -05:00
852ebd4cb2 Remove unused configs for zellij 2025-04-16 15:00:16 -05:00
bb86ce0a8a Do not autostart/attach zellij 2025-04-16 14:56:26 -05:00
a5fb58fc53 Use standard helix command for envars 2025-04-16 14:56:15 -05:00
f9d9cfa453 Comment out boilerplate, use compact layout for zellij by default 2025-04-16 14:55:55 -05:00
b5efca9e65 Catch helix or hx aliasing 2025-04-16 14:55:20 -05:00
9431072374 Rebind lazygit for helix 2025-04-16 14:54:40 -05:00
b5378724da Clean up duplicate sections/bindings 2025-04-16 14:29:58 -05:00
f1e9c49940 Add quick resume in zsh via C-z 2025-04-16 14:26:21 -05:00
8d9a798078 Add some integrations directly with helix 2025-04-16 14:26:03 -05:00
7ffcd8b922 Disable rootless docker envars for now 2025-04-16 14:17:54 -05:00
8e6b0f6159 Add ruby example to helix-gpt examples 2025-04-09 14:50:08 -05:00
71c1ae66e3 Add helix-gpt examples to languages.toml 2025-04-09 14:47:15 -05:00
57a745eda8 Ignore .helix/ project folders 2025-04-09 14:46:23 -05:00
c83065cc3d Add .local extensions to env file types 2025-04-09 14:39:10 -05:00
ac018ce0f6 Add missing [general] tag for alacritty config 2025-04-09 14:29:03 -05:00
6b6ba997a3 Use clippy for rust-analyzer check 2024-07-30 11:02:38 -05:00
5635cfcce3 User darker themes for code 2024-06-24 14:54:41 -05:00
29e6cbdee5 Update dark themes 2024-05-16 10:28:43 -05:00
bf5e8ab0c1 Bump text width 2024-04-30 16:44:24 -05:00
a8f886e911 Update gitui keybindings (set to new recommended) 2024-04-30 15:32:28 -05:00
743dd86966 Fix typo in name of light theme for helix 2024-04-30 14:21:40 -05:00
a5f2c8c116 Update eza aliases, exex 2024-04-09 23:03:05 -05:00
c8bc74c84c Update light themes 2024-04-08 11:31:08 -05:00
abc627519a Update light themes 2024-04-08 11:10:26 -05:00
24 changed files with 8240 additions and 459 deletions

View File

@@ -1,4 +1,5 @@
import = ["/home/daniel/.config/alacritty/themes/Base16-Default-Dark.toml"] [general]
import = ["/home/daniel/.config/alacritty/themes/{{alacritty_theme}}.toml"]
live_config_reload = true live_config_reload = true
[font] [font]

View File

@@ -1,3 +1,5 @@
if (( $+commands[helix] )); then if (( $+commands[helix] )); then
alias hx="helix" alias hx="helix"
elif (( $+commands[hx] )); then
alias helix="hx"
fi fi

1
bat/config Normal file
View File

@@ -0,0 +1 @@
--theme="{{bat_theme}}"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -23,6 +23,9 @@ vars = [ "dark.toml" ]
# alacritty # alacritty
alacritty = { source = "alacritty", target = ".config/alacritty" } alacritty = { source = "alacritty", target = ".config/alacritty" }
# bat
bat = { source = "bat", target = ".config/bat" }
# broot # broot
broot = { source = "broot", target = ".config/broot" } broot = { source = "broot", target = ".config/broot" }

View File

@@ -1,5 +1,5 @@
theme = "dark" theme = "dark"
alacritty_theme = "Base16-Default-Dark" alacritty_theme = "Catppuccin-Macchiato"
helix_theme = "base16_default_dark" helix_theme = "catppuccin_mocha"
zellij_theme = "one-half-dark" zellij_theme = "catppuccin-macchiato"
bat_theme = "base16" bat_theme = "Catppuccin Mocha"

View File

@@ -11,3 +11,4 @@ tmp/**/*
.irbrc .irbrc
.pryrc .pryrc
.psqlrc .psqlrc
.helix/

View File

@@ -1,13 +1,11 @@
( (
focus_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)), move_left: Some(( code: Char('h'), modifiers: "")),
focus_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)), move_right: Some(( code: Char('l'), modifiers: "")),
focus_above: Some(( code: Char('k'), modifiers: ( bits: 0,),)), move_up: Some(( code: Char('k'), modifiers: "")),
focus_below: Some(( code: Char('j'), modifiers: ( bits: 0,),)), move_down: Some(( code: Char('j'), modifiers: "")),
move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)), stash_open: Some(( code: Char('l'), modifiers: "")),
move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)), open_help: Some(( code: F(1), modifiers: "")),
move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
open_help: Some(( code: F(1), modifiers: ( bits: 0,),)), status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
) )

View File

@@ -5,6 +5,7 @@ color-modes = true
cursorline = true cursorline = true
indent-guides.render = true indent-guides.render = true
true-color = true true-color = true
text-width = 100
[editor.cursor-shape] [editor.cursor-shape]
insert = "bar" insert = "bar"
@@ -22,8 +23,25 @@ wrap-at-text-width = true
center = ["version-control"] center = ["version-control"]
[keys.normal] [keys.normal]
C-r = ":config-reload" C-R = ":config-reload"
_ = { n = ":set whitespace.render none", a = ":set whitespace.render all" } _ = { n = ":set whitespace.render none", a = ":set whitespace.render all" }
# Git integration with lazygit
A-g = [
":write-all",
":insert-output lazygit >/dev/tty",
":redraw",
":reload-all"
]
# Search and replace with scooter
C-r = [
":write-all",
":insert-output scooter >/dev/tty",
":redraw",
":reload-all"
]
[keys.normal.space] [keys.normal.space]
i = ":toggle lsp.display-inlay-hints" i = ":toggle lsp.display-inlay-hints"

View File

@@ -1,4 +1,49 @@
[[language]] [[language]]
name = "env" name = "env"
scope = "text.env" scope = "text.env"
file-types = ["test", "development", "staging", "production", "example", "env"] file-types = ["test", "local", "development", "staging", "production", "example", "env"]
[[language]]
name = "java"
file-types = ["java", "jav", "pde", "painless"]
[language-server.rust-analyzer.config.check]
command = "clippy"
[[language]]
name = "go"
auto-format = true
language-servers = [ "gopls", "golangci-lint-lsp" ]
[language-server.golangci-lint-lsp]
command = "golangci-lint-langserver"
[language-server.golangci-lint-lsp.config]
command = ["golangci-lint", "run", "--output.json.path", "stdout", "--show-stats=false", "--issues-exit-code=1"]
# It is recommended to place the necessary configurations below inside a project's
# .helix/languages.toml directory
#
# [language-server.copilot]
# command = "bun"
# args = ["run", "/path/to/helix-gpt/src/app.ts", "--handler", "copilot"]
#
# [[language]]
# name = "rust"
# language-servers = ["rust-analyzer", "copilot"]
#
# [[language]]
# name = "go"
# language-servers = ["gopls", "golangci-lint-lsp", "copilot"]
#
# [[language]]
# name = "typescript"
# language-servers = ["typescript-language-server", "copilot"]
#
# [[language]]
# name = "javascript"
# language-servers = ["typescript-language-server", "copilot"]
#
# [[language]]
# name = "ruby"
# language-servers = ["ruby-lsp", "solargraph", "copilot"]

View File

@@ -1,5 +1,5 @@
theme = "light" theme = "light"
alacritty_theme = "Baskerville-ivorylight" alacritty_theme = "Catppuccin-Latte"
helix_theme = "flatwhite" helix_theme = "catppuccin_latte"
zellij_theme = "nord" zellij_theme = "catppuccin-latte"
bat_theme = "Solarized (light)" bat_theme = "Catppuccin Latte"

View File

@@ -1,286 +1,10 @@
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
keybinds {
normal {
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
locked {
bind "Ctrl g" { SwitchToMode "Normal"; }
}
resize {
bind "Ctrl n" { SwitchToMode "Normal"; }
bind "h" "Left" { Resize "Increase Left"; }
bind "j" "Down" { Resize "Increase Down"; }
bind "k" "Up" { Resize "Increase Up"; }
bind "l" "Right" { Resize "Increase Right"; }
bind "H" { Resize "Decrease Left"; }
bind "J" { Resize "Decrease Down"; }
bind "K" { Resize "Decrease Up"; }
bind "L" { Resize "Decrease Right"; }
bind "=" "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
}
pane {
bind "Ctrl p" { SwitchToMode "Normal"; }
bind "h" "Left" { MoveFocus "Left"; }
bind "l" "Right" { MoveFocus "Right"; }
bind "j" "Down" { MoveFocus "Down"; }
bind "k" "Up" { MoveFocus "Up"; }
bind "p" { SwitchFocus; }
bind "n" { NewPane; SwitchToMode "Normal"; }
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
bind "x" { CloseFocus; SwitchToMode "Normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
}
move {
bind "Ctrl h" { SwitchToMode "Normal"; }
bind "n" "Tab" { MovePane; }
bind "h" "Left" { MovePane "Left"; }
bind "j" "Down" { MovePane "Down"; }
bind "k" "Up" { MovePane "Up"; }
bind "l" "Right" { MovePane "Right"; }
}
tab {
bind "Ctrl t" { SwitchToMode "Normal"; }
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
bind "l" "Right" "Down" "j" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "Normal"; }
bind "x" { CloseTab; SwitchToMode "Normal"; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
bind "Tab" { ToggleTab; }
}
scroll {
bind "Ctrl s" { SwitchToMode "Normal"; }
bind "e" { EditScrollback; SwitchToMode "Normal"; }
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
search {
bind "Ctrl s" { SwitchToMode "Normal"; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
bind "n" { Search "down"; }
bind "p" { Search "up"; }
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "w" { SearchToggleOption "Wrap"; }
bind "o" { SearchToggleOption "WholeWord"; }
}
entersearch {
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
bind "Enter" { SwitchToMode "Search"; }
}
renametab {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
}
renamepane {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
}
session {
bind "Ctrl o" { SwitchToMode "Normal"; }
bind "Ctrl s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
}
tmux {
bind "[" { SwitchToMode "Scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "c" { NewTab; SwitchToMode "Normal"; }
bind "," { SwitchToMode "RenameTab"; }
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "o" { FocusNextPane; }
bind "d" { Detach; }
}
shared_except "locked" {
bind "Ctrl g" { SwitchToMode "Locked"; }
bind "Ctrl q" { Quit; }
bind "Alt n" { NewPane; }
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
bind "Alt =" "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
}
shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
}
shared_except "pane" "locked" {
bind "Ctrl p" { SwitchToMode "Pane"; }
}
shared_except "resize" "locked" {
bind "Ctrl n" { SwitchToMode "Resize"; }
}
shared_except "scroll" "locked" {
bind "Ctrl s" { SwitchToMode "Scroll"; }
}
shared_except "session" "locked" {
bind "Ctrl o" { SwitchToMode "Session"; }
}
shared_except "tab" "locked" {
bind "Ctrl t" { SwitchToMode "Tab"; }
}
shared_except "move" "locked" {
bind "Ctrl h" { SwitchToMode "Move"; }
}
shared_except "tmux" "locked" {
bind "Ctrl b" { SwitchToMode "Tmux"; }
}
}
plugins {
tab-bar { path "tab-bar"; }
status-bar { path "status-bar"; }
strider { path "strider"; }
compact-bar { path "compact-bar"; }
}
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
//
// pane_frames true
// Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
//
// themes {
// dracula {
// fg 248 248 242
// bg 40 42 54
// red 255 85 85
// green 80 250 123
// yellow 241 250 140
// blue 98 114 164
// magenta 255 121 198
// orange 255 184 108
// cyan 139 233 253
// black 0 0 0
// white 255 255 255
// }
// }
// themes {
// bogster-dark {
// bg "#161C23"
// fg "#C6B8AD"
// black "#161C23"
// red "#D32C5D"
// green "#57A331"
// orange "#DC7759"
// yellow "#DCB659"
// blue "#36B2D4"
// magenta "#B759DC"
// cyan "#23A580"
// white "#C6B8AD"
// }
// }
// Choose the theme that is specified in the themes section. // Choose the theme that is specified in the themes section.
// Default: default // Default: default
//
// theme "default"
theme "{{zellij_theme}}" theme "{{zellij_theme}}"
// The name of the default layout to load on startup // The name of the default layout to load on startup
// Default: "default" // Default: "default"
// default_layout "compact"
// default_layout "compact"
// Choose the mode that zellij uses when starting up.
// Default: normal
//
// default_mode "locked"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
// Choose the destination for copied text // Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
@@ -288,30 +12,10 @@ theme "{{zellij_theme}}"
// Options: // Options:
// - system (default) // - system (default)
// - primary // - primary
// copy_clipboard "primary"
// copy_clipboard "primary"
// Enable or disable automatic copy (and clear) of selection when releasing mouse // Toggle between having pane frames around the panes
// Default: true // Options:
// // - true (default)
// copy_on_select false // - false
pane_frames false
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
// scrollback_editor "/usr/bin/vim"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: false
//
// mirror_session true
// The folder in which Zellij will look for layouts
//
// layout_dir "/path/to/my/layout_dir"
// The folder in which Zellij will look for themes
//
// theme_dir "/path/to/my/theme_dir"

View File

@@ -1,87 +0,0 @@
layout {
pane_template name="explorer" {
pane split_direction="vertical" {
pane size="14%" borderless=true command="zsh" {
args "-i" "-c" "exex"
}
children
}
}
pane_template name="sidebar-pane" {
pane size="24%" split_direction="horizontal" { children; }
}
pane_template name="console-pane" {
pane size="28%" split_direction="vertical" { children; }
}
pane_template name="stacked-console-pane" {
pane size="28%" stacked=true { children; }
}
tab_template name="project-tab" {
pane size=1 borderless=true { plugin location="zellij:compact-bar"; }
children
}
default_tab_template {
pane size=1 borderless=true { plugin location="zellij:compact-bar"; }
explorer { pane focus=true; }
}
swap_tiled_layout name="ide" {
project-tab max_panes=3 {
explorer { pane; }
}
project-tab exact_panes=4 {
explorer { pane; }
console-pane split_direction="vertical" size="28%" { pane; }
}
project-tab exact_panes=5 {
explorer { pane; }
console-pane split_direction="vertical" size="28%" {
pane
pane
}
}
project-tab exact_panes=6 {
explorer { pane; }
stacked-console-pane stacked=true size="28%" {
pane
pane
pane
}
}
project-tab exact_panes=7 {
explorer split_direction="vertical" {
pane
sidebar-pane size="24%" { pane borderless=true; }
}
stacked-console-pane stacked=true size="28%" {
pane
pane
pane
}
}
project-tab min_panes=8 {
explorer {
pane split_direction="vertical" {
pane
pane
pane
}
pane split_direction="vertical" {
pane
pane
pane
}
pane split_direction="vertical" {
pane
pane
pane
}
}
}
}
}

View File

@@ -1,18 +1,18 @@
# exa # eza
if (( $+commands[exa] )); then if (( $+commands[eza] )); then
# exa explorer # eza explorer
exex() { exex() {
local depth=1 local depth=1
local old_depth=0 local old_depth=0
local min_depth=1 local min_depth=1
local max_depth=3 local max_depth=3
local exa_opts=("--color=always" "--git" "--icons" "-F" "-T") local eza_opts=("--color=always" "--git" "--git-ignore" "--icons" "-F" "-T")
while true; do while true; do
if [[ $depth -ne $old_depth ]]; then if [[ $depth -ne $old_depth ]]; then
local old_depth=$depth local old_depth=$depth
clear clear
exa $exa_opts -L$depth eza $eza_opts -L$depth
fi fi
read -sk key read -sk key

4
zsh.d/goenv.zsh Normal file
View File

@@ -0,0 +1,4 @@
# Enable goenv if it is installed
if (( $+commands[goenv] )); then
eval "$(goenv init -)"
fi

View File

@@ -1,7 +1,6 @@
# NVM # Enable nvm if it is installed
if [[ -s "$NVM_DIR/nvm.sh" ]]; then if [ -d "$HOME/.nvm" ]; then
source "$NVM_DIR/nvm.sh" # This loads nvm export NVM_DIR="$HOME/.nvm"
fi [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
if [[ -s "$NVM_DIR/bash_completion" ]]; then [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
source "$NVM_DIR/bash_completion" # This loads nvm bash_completion
fi fi

4
zsh.d/rbenv.zsh Normal file
View File

@@ -0,0 +1,4 @@
# Enable rbenv if it is installed
if (( $+commands[rbenv] )); then
eval "$(rbenv init - --no-rehash zsh)"
fi

9
zsh.d/resume.zsh Normal file
View File

@@ -0,0 +1,9 @@
# Allow Ctrl-z to toggle between suspend and resume
function Resume {
fg
zle push-input
BUFFER=""
zle accept-line
}
zle -N Resume
bindkey "^Z" Resume

View File

@@ -1,32 +1,34 @@
# zellij # zellij
if (( $+commands[zellij] )); then if (( $+commands[zellij] )); then
ZELLIJ_AUTO_ATTACH=true # Uncomment to start/exit zellij automatically
eval "$(zellij setup --generate-auto-start zsh)" # ZELLIJ_AUTO_ATTACH=true
# ZELLIJ_AUTO_EXIT=true
# eval "$(zellij setup --generate-auto-start zsh)"
if (( $+commands[sk] )); then if (( $+commands[sk] )); then
za() { function za {
local zj_sessions=$(zellij list-sessions -ns) local zj_sessions=$(zellij list-sessions -ns)
local no_sessions=$(echo "${zj_sessions}" | wc -l) local no_sessions=$(echo "${zj_sessions}" | wc -l)
if [ "${no_sessions}" -ge 2 ]; then if [ "${no_sessions}" -ge 2 ]; then
zellij attach \ zellij attach \
"$(echo "${zj_sessions}" | sk)" "$(echo "${zj_sessions}" | sk)"
else else
zellij attach -c zellij attach -c
fi fi
} }
fi fi
ide() { # Name tabs after current working directory
local layout="${ZELLIJ_LAYOUT:-${HOME}/.config/zellij/layouts/project.kdl}" if [[ -v ZELLIJ ]]; then
local name="${PROJECT_NAME:-/}" function zrt {
zellij action rename-tab "${PWD##*/}"
}
if (( ${+ZELLIJ} )); then function znt {
# FIXME: https://github.com/zellij-org/zellij/issues/2299 zellij action new-tab
zellij action new-tab --layout "${layout}" --cwd "${PWD}" --name "${name}" }
else
zellij --layout "${layout}" --session "${name}" chpwd_functions+=( zrt )
fi fi
}
fi fi

View File

@@ -1,31 +1,24 @@
export BAT_THEME="{{bat_theme}}" # export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/docker.sock"
export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/docker.sock" # export DOCKER_SOCKET="$XDG_RUNTIME_DIR/docker.sock"
export DOCKER_SOCKET="$XDG_RUNTIME_DIR/docker.sock" if (( $+commands[hx] )); then
export EDITOR="helix" export EDITOR="hx"
export VISUAL="hx"
elif (( $+commands[helix] )); then
export EDITOR="helix"
export VISUAL="helix"
fi
export FINDER="sk" export FINDER="sk"
export GPG_TTY=$(tty) export GPG_TTY=$(tty)
export HELIX_RUNTIME="$HOME/src/helix/runtime" export HELIX_RUNTIME="/usr/lib/helix/runtime"
export NVM_DIR="$HOME/.nvm" export NVM_DIR="$HOME/.nvm"
export SKIM_DEFAULT_COMMAND="git ls-tree -r --name-only HEAD || rg --files" export SKIM_DEFAULT_COMMAND="git ls-tree -r --name-only HEAD || rg --files"
export VISUAL="helix"
fpath+=(~/.zsh/completions) fpath+=(~/.zsh/completions)
# Setup cargo # Setup cargo
[[ -s ~/.cargo/env ]] && source ~/.cargo/env [[ -s ~/.cargo/env ]] && source ~/.cargo/env
# Local gems
if (( $+commands[ruby] )); then
local gem_bin_path="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin"
[[ -d "$gem_bin_path" ]] && path+=("$gem_bin_path")
fi
# Setup go paths
if (( $+commands[go] )); then
local go_bin_path="$(go env GOPATH)/bin"
[[ -d "$go_bin_path" ]] && path+=("$go_bin_path")
fi
if (( $+commands[fd] )); then if (( $+commands[fd] )); then
export FZF_DEFAULT_COMMAND="fd --type f" export FZF_DEFAULT_COMMAND="fd --type f"
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

View File

@@ -1,7 +1,7 @@
# Option adjustments # Option adjustments
unsetopt nomatch unsetopt nomatch
# Swap CAPSLOCK and ESC # Swap CAPSLOCK and ESC (keyd is a better option)
setxkbmap -option caps:swapescape setxkbmap -option caps:swapescape
# conf.d style configurations # conf.d style configurations