Compare commits

...
15 Commits
Author SHA1 Message Date
Derek Taylor 699e2dfac9 Adding alias for 'mp3' which downloads mp3 audio from a YT stream so I can upload it as audio podcast. 2026-07-21 17:35:43 -05:00
Derek Taylor 2c9143fe42 Minor edits
Merge branch 'master' of gitlab.com:dwt1/dotfiles
2026-07-21 17:32:23 -05:00
Derek Taylor 0e61ef2046 Minor edits 2026-07-21 17:32:14 -05:00
Derek Taylor 356a4dab70 Fixing errors in my Emacs config 2026-07-03 10:15:06 -05:00
Derek Taylor bf77f23ae5 Set floating rules for Tasty inside OBS scenes. 2026-06-05 13:05:56 -05:00
Derek Taylor d266419c9d Minor edits 2026-06-04 16:44:58 -05:00
Derek Taylor 4d4dde3231 Merge 2026-06-04 10:39:11 -05:00
Derek Taylor b96bccb297 Set floating rules for Tasty inside OBS scenes. 2026-06-04 10:38:59 -05:00
Derek Taylor a4d2e80fec Minor edits 2026-05-22 23:21:33 -05:00
Derek Taylor 138109eb4c Minor edits 2026-04-29 16:31:16 -05:00
Derek Taylor 0e0bed4d9d Minor edits 2026-04-27 15:17:08 -05:00
Derek Taylor 0e06a5a1e9 Adding claude code and rules for splits in vterm/claude 2026-04-21 12:55:38 -05:00
Derek Taylor 9e81f4a3bf Adding claude code and rules for splits in vterm/claude 2026-04-21 12:53:35 -05:00
Derek Taylor b2a4a744c0 Minor edits 2026-04-21 10:01:33 -05:00
Derek Taylor 8a6fcac959 Minor edits 2026-04-21 09:49:58 -05:00
11 changed files with 381 additions and 97 deletions
+4
View File
@@ -258,6 +258,10 @@ alias regfont="setfont default8x16"
# bare git repo alias for managing my dotfiles
alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME"
# Aliasealias s used to upload a static website
alias dashdb="rsync -avz --exclude 'venv' --exclude '__pycache__' --exclude '*.pyc' /home/dt/nc/trading/dashboard/ root@157.230.6.42:/var/www/dtoptions/"
alias dashpdf="rsync -avz /home/dt/nc/trading/trading-plans/ root@157.230.6.42:/root/nc/trading/trading-plans/"
# termbin
alias tb="nc termbin.com 9999"
+206 -3
View File
@@ -4,11 +4,14 @@
"customThemeFile": "/home/dt/.config/DankMaterialShell/themes/onedark/theme.json",
"registryThemeVariants": {},
"matugenScheme": "scheme-tonal-spot",
"matugenContrast": 0,
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
"popupTransparency": 1,
"dockTransparency": 1,
"widgetBackgroundColor": "sc",
"widgetBackgroundCustomColor": "#6750A4",
"widgetBackgroundCustomStrength": 0.5,
"widgetColorMode": "default",
"controlCenterTileColorMode": "primary",
"buttonColorMode": "primary",
@@ -17,11 +20,18 @@
"niriLayoutRadiusOverride": 6,
"niriLayoutBorderSize": 2,
"hyprlandLayoutGapsOverride": -1,
"hyprlandLayoutGapsOutOverride": -1,
"hyprlandLayoutRadiusOverride": -1,
"hyprlandLayoutBorderSize": -1,
"hyprlandResizeOnBorder": false,
"mangoLayoutGapsOverride": -1,
"mangoLayoutGapsOutOverride": -1,
"mangoLayoutRadiusOverride": -1,
"mangoLayoutBorderSize": -1,
"mangoTrackpadNaturalScrolling": true,
"firstDayOfWeek": -1,
"showWeekNumber": false,
"calendarBackend": "auto",
"use24HourClock": true,
"showSeconds": false,
"padHours12Hour": false,
@@ -36,9 +46,28 @@
"modalAnimationSpeed": 1,
"modalCustomAnimationDuration": 150,
"enableRippleEffects": true,
"animationVariant": 0,
"motionEffect": 0,
"m3ElevationEnabled": true,
"m3ElevationIntensity": 12,
"m3ElevationOpacity": 30,
"m3ElevationColorMode": "default",
"m3ElevationLightDirection": "top",
"m3ElevationCustomColor": "#000000",
"modalElevationEnabled": true,
"popoutElevationEnabled": true,
"barElevationEnabled": false,
"blurEnabled": false,
"blurForegroundLayers": true,
"blurLayerOutlineOpacity": 0.12,
"blurBorderColor": "outline",
"blurBorderCustomColor": "#ffffff",
"blurBorderOpacity": 0.35,
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": false,
"wallpaperBackgroundColorMode": "black",
"wallpaperBackgroundCustomColor": "#000000",
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
@@ -52,9 +81,18 @@
"selectedGpuIndex": 0,
"enabledGpuPciIds": [],
"showSystemTray": true,
"systemTrayIconTintMode": "none",
"systemTrayIconTintSaturation": 50,
"systemTrayIconTintStrength": 135,
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showBatteryPercent": true,
"showBatteryPercentOnlyOnBattery": false,
"showBatteryTime": false,
"showBatteryTimeOnlyOnBattery": false,
"batteryPillStyle": false,
"batteryPillPercentSign": false,
"showControlCenterButton": true,
"showCapsLockIndicator": true,
"controlCenterShowNetworkIcon": true,
@@ -69,6 +107,8 @@
"controlCenterShowBatteryIcon": false,
"controlCenterShowPrinterIcon": false,
"controlCenterShowScreenSharingIcon": true,
"controlCenterShowIdleInhibitorIcon": false,
"controlCenterShowDoNotDisturbIcon": false,
"showPrivacyButton": true,
"privacyShowMicIcon": false,
"privacyShowCameraIcon": false,
@@ -124,29 +164,57 @@
"maxWorkspaceIcons": 3,
"workspaceAppIconSizeOffset": 0,
"groupWorkspaceApps": true,
"groupActiveWorkspaceApps": false,
"workspaceFollowFocus": false,
"showOccupiedWorkspacesOnly": false,
"reverseScrolling": false,
"dwlShowAllTags": false,
"workspaceActiveAppHighlightEnabled": false,
"workspaceColorMode": "default",
"workspaceFocusedCustomColor": "#6750A4",
"workspaceOccupiedColorMode": "none",
"workspaceOccupiedCustomColor": "#625B71",
"workspaceUnfocusedColorMode": "default",
"workspaceUnfocusedCustomColor": "#49454E",
"workspaceUrgentColorMode": "default",
"workspaceUrgentCustomColor": "#B3261E",
"workspaceFocusedBorderEnabled": false,
"workspaceFocusedBorderColor": "primary",
"workspaceFocusedBorderCustomColor": "#6750A4",
"workspaceFocusedBorderThickness": 2,
"workspaceUnfocusedMonitorSeparateAppearance": false,
"workspaceUnfocusedMonitorColorMode": "default",
"workspaceUnfocusedMonitorFocusedCustomColor": "#6750A4",
"workspaceUnfocusedMonitorOccupiedColorMode": "none",
"workspaceUnfocusedMonitorOccupiedCustomColor": "#625B71",
"workspaceUnfocusedMonitorUnfocusedColorMode": "default",
"workspaceUnfocusedMonitorUnfocusedCustomColor": "#49454E",
"workspaceUnfocusedMonitorUrgentColorMode": "default",
"workspaceUnfocusedMonitorUrgentCustomColor": "#B3261E",
"workspaceUnfocusedMonitorBorderEnabled": false,
"workspaceUnfocusedMonitorBorderColor": "primary",
"workspaceUnfocusedMonitorBorderCustomColor": "#6750A4",
"workspaceUnfocusedMonitorBorderThickness": 2,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"scrollTitleEnabled": true,
"mediaAdaptiveWidthEnabled": true,
"audioVisualizerEnabled": true,
"audioScrollMode": "volume",
"audioWheelScrollAmount": 5,
"audioDeviceScrollVolumeEnabled": false,
"mediaExcludePlayers": [],
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"focusedWindowSize": 1,
"focusedWindowShowIcon": true,
"runningAppsCompactMode": true,
"barMaxVisibleApps": 0,
"barMaxVisibleRunningApps": 0,
"barShowOverflowBadge": true,
"trayAutoOverflow": true,
"trayPopupSingleLine": true,
"trayMaxVisibleItems": 0,
"appsDockHideIndicators": false,
"appsDockColorizeActive": false,
"appsDockActiveColorMode": "primary",
@@ -154,6 +222,7 @@
"appsDockEnlargePercentage": 125,
"appsDockIconSizePercentage": 100,
"keyboardLayoutNameCompactMode": false,
"keyboardLayoutNameShowIcon": false,
"runningAppsCurrentWorkspace": false,
"runningAppsGroupByApp": false,
"runningAppsCurrentMonitor": false,
@@ -161,6 +230,20 @@
"centeringMode": "index",
"clockDateFormat": "",
"lockDateFormat": "",
"greeterRememberLastSession": true,
"greeterRememberLastUser": true,
"greeterAutoLogin": false,
"greeterEnableFprint": false,
"greeterEnableU2f": false,
"greeterWallpaperPath": "",
"greeterUse24HourClock": true,
"greeterShowSeconds": false,
"greeterPadHours12Hour": false,
"greeterLockDateFormat": "",
"greeterFontFamily": "",
"greeterWallpaperFillMode": "",
"greeterSyncPending": false,
"greeterSyncBaseline": {},
"mediaSize": 1,
"appLauncherViewMode": "grid",
"spotlightModalViewMode": "grid",
@@ -171,21 +254,55 @@
"sortAppsAlphabetically": false,
"appLauncherGridColumns": 6,
"spotlightCloseNiriOverview": true,
"rememberLastQuery": false,
"rememberLastMode": true,
"spotlightSectionViewModes": {},
"appDrawerSectionViewModes": {
"apps": "list"
},
"niriOverviewOverlayEnabled": true,
"dankLauncherV2Size": "compact",
"dankLauncherV2ShowSourceBadges": true,
"dankLauncherV2BorderEnabled": false,
"dankLauncherV2BorderThickness": 2,
"dankLauncherV2BorderColor": "primary",
"dankLauncherV2ShowFooter": true,
"dankLauncherV2UnloadOnClose": false,
"dankLauncherV2IncludeFilesInAll": false,
"dankLauncherV2IncludeFoldersInAll": false,
"launcherUseOverlayLayer": false,
"launcherStyle": "full",
"spotlightBarShowModeChips": false,
"keybindsFloatingWindow": false,
"useAutoLocation": false,
"weatherEnabled": true,
"dashTabs": [
{
"id": "overview",
"enabled": true
},
{
"id": "media",
"enabled": true
},
{
"id": "wallpaper",
"enabled": true
},
{
"id": "weather",
"enabled": true
},
{
"id": "settings",
"enabled": true
}
],
"networkPreference": "auto",
"iconTheme": "System Default",
"iconThemeDark": "System Default",
"iconThemeLight": "System Default",
"iconThemePerMode": false,
"lastAppliedIconTheme": "",
"cursorSettings": {
"theme": "System Default",
"size": 24,
@@ -213,28 +330,50 @@
"monoFontFamily": "JetBrains Mono SemiBold",
"fontWeight": 700,
"fontScale": 1.1,
"textRenderType": 0,
"textRenderQuality": 0,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notificationSummaryFontSize": 0,
"notificationBodyFontSize": 0,
"notepadShowLineNumbers": false,
"notepadAutoSave": false,
"notepadSlideoutSide": "right",
"notepadDefaultMode": "slideout",
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"notepadUseCompositorGap": false,
"notepadEdgeGap": 0,
"soundsEnabled": true,
"useSystemSoundTheme": false,
"soundLogin": false,
"soundNewNotification": true,
"soundVolumeChanged": true,
"soundPluggedIn": true,
"muteSoundsWhenMediaPlaying": true,
"acMonitorTimeout": 0,
"acLockTimeout": 0,
"acSuspendTimeout": 0,
"acSuspendBehavior": 0,
"acProfileName": "",
"acPostLockMonitorTimeout": 0,
"batteryMonitorTimeout": 0,
"batteryLockTimeout": 0,
"batterySuspendTimeout": 0,
"batterySuspendBehavior": 0,
"batteryProfileName": "",
"batteryPostLockMonitorTimeout": 0,
"batteryChargeLimit": 100,
"batteryNotifyChargeLimit": false,
"batteryCriticalThreshold": 10,
"batteryNotifyCritical": true,
"batteryLowThreshold": 20,
"batteryNotifyLow": false,
"batteryChargeLimitNotificationType": 0,
"batteryLowNotificationType": 0,
"batteryCriticalNotificationType": 1,
"batteryAutoPowerSaver": false,
"lockBeforeSuspend": false,
"loginctlLockIntegration": true,
"fadeToLockEnabled": true,
@@ -251,6 +390,10 @@
"qtThemingEnabled": false,
"syncModeWithPortal": true,
"terminalsAlwaysDark": false,
"muxType": "tmux",
"muxUseCustomCommand": false,
"muxCustomCommand": "",
"muxSessionFilter": "",
"runDmsMatugenTemplates": true,
"matugenTemplateGtk": true,
"matugenTemplateNiri": true,
@@ -262,6 +405,7 @@
"matugenTemplatePywalfox": true,
"matugenTemplateZenBrowser": true,
"matugenTemplateVesktop": true,
"matugenTemplateVencord": true,
"matugenTemplateEquibop": true,
"matugenTemplateGhostty": true,
"matugenTemplateKitty": true,
@@ -273,10 +417,24 @@
"matugenTemplateKcolorscheme": true,
"matugenTemplateVscode": true,
"matugenTemplateEmacs": true,
"matugenTemplateZed": true,
"matugenTemplateNeovimSettings": {
"dark": {
"baseTheme": "github_dark",
"harmony": 0.5
},
"light": {
"baseTheme": "github_light",
"harmony": 0.5
}
},
"matugenTemplateNeovimSetBackground": true,
"showDock": false,
"dockAutoHide": false,
"dockSmartAutoHide": false,
"dockUseOverlayLayer": false,
"dockGroupByApp": false,
"dockRestoreSpecialWorkspaceOnClick": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
@@ -299,6 +457,9 @@
"dockMaxVisibleApps": 0,
"dockMaxVisibleRunningApps": 0,
"dockShowOverflowBadge": true,
"dockShowTrash": false,
"dockTrashFileManager": "default",
"dockTrashCustomCommand": "",
"notificationOverlayEnabled": false,
"notificationPopupShadowEnabled": true,
"notificationPopupPrivacyMode": false,
@@ -314,14 +475,23 @@
"lockAtStartup": false,
"enableFprint": false,
"maxFprintTries": 15,
"lockScreenActiveMonitor": "all",
"enableU2f": false,
"u2fMode": "or",
"lockScreenInactiveColor": "#000000",
"lockScreenNotificationMode": 0,
"lockScreenVideoEnabled": false,
"lockScreenVideoPath": "",
"lockScreenVideoCycling": false,
"lockScreenWallpaperPath": "",
"lockScreenWallpaperFillMode": "",
"lockScreenFontFamily": "",
"hideBrightnessSlider": false,
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationCompactMode": false,
"notificationShowTimeoutBar": false,
"notificationDedupeEnabled": true,
"notificationPopupPosition": 0,
"notificationAnimationSpeed": 1,
"notificationCustomAnimationDuration": 400,
@@ -332,6 +502,7 @@
"notificationHistorySaveNormal": true,
"notificationHistorySaveCritical": true,
"notificationRules": [],
"notificationFocusedMonitor": false,
"osdAlwaysShowValue": false,
"osdPosition": 5,
"osdVolumeEnabled": true,
@@ -362,9 +533,13 @@
"customPowerActionReboot": "",
"customPowerActionPowerOff": "",
"updaterHideWidget": false,
"updaterCheckOnStart": false,
"updaterUseCustomCommand": false,
"updaterCustomCommand": "",
"updaterTerminalAdditionalParams": "",
"updaterIntervalSeconds": 1800,
"updaterIncludeFlatpak": true,
"updaterAllowAUR": true,
"displayNameMode": "system",
"screenPreferences": {},
"showOnLastDisplay": {},
@@ -375,6 +550,7 @@
"displayProfileAutoSelect": false,
"displayShowDisconnected": false,
"displaySnapToEdge": true,
"connectedFrameBarStyleBackups": {},
"barConfigs": [
{
"id": "default",
@@ -566,8 +742,35 @@
"trigger": "?"
}
},
"clipboardClickToPaste": false,
"clipboardEnterToPaste": false,
"clipboardRememberTypeFilter": false,
"clipboardTypeFilter": "all",
"clipboardVisibleEntryActions": [
"pin",
"edit",
"delete"
],
"launcherPluginVisibility": {},
"launcherPluginOrder": [],
"configVersion": 5
"frameEnabled": false,
"frameThickness": 16,
"frameRounding": 23,
"frameColor": "",
"frameOpacity": 1,
"frameScreenPreferences": [
"all"
],
"frameBarSize": 40,
"frameShowOnOverview": false,
"frameBlurEnabled": true,
"frameCloseGaps": true,
"frameLauncherEmergeSide": "bottom",
"frameLauncherArcExtender": false,
"frameLauncherEdgeHover": false,
"frameMode": "connected",
"barInsetPaddingShared": -1,
"barInsetPaddingSyncAll": false,
"frameBarInsetPadding": -1,
"configVersion": 12
}
+5
View File
@@ -126,3 +126,8 @@ instance = "Alacritty"
[window.padding]
x = 6
y = 6
[[keyboard.bindings]]
key = "Return"
mods = "Shift"
chars = "\u001B\r"
+62 -33
View File
@@ -12,7 +12,28 @@
(use-package all-the-icons-dired
:hook (dired-mode . (lambda () (all-the-icons-dired-mode t))))
(setq backup-directory-alist '((".*" . "~/.local/share/Trash/files")))
(setq backup-directory-alist '((".*" . "~/.config/emacs/backups/")))
(use-package claude-code
:ensure (claude-code :host github :repo "stevemolitor/claude-code.el")
:bind ("C-c c" . claude-code-transient)
:config
;; Optional: Start the Emacs server if not already running
(unless (server-running-p) (server-start)))
(setq claude-code-terminal-backend 'vterm)
(setq claude-code-optimize-window-resize t)
(setq claude-code-no-delete-other-windows t)
(setq claude-code-toggle-auto-select t)
(with-eval-after-load 'claude-code
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
(window-width . 0.4))))
(use-package company
:defer 2
@@ -195,8 +216,9 @@
(define-key evil-motion-state-map (kbd "SPC") nil)
(define-key evil-motion-state-map (kbd "RET") nil)
(define-key evil-motion-state-map (kbd "TAB") nil))
;; Setting RETURN key in org-mode to follow links
(setq org-return-follows-link t)
(setq org-return-follows-link t)
(use-package flycheck
:ensure t
@@ -294,6 +316,13 @@
"b S" '(save-some-buffers :wk "Save multiple buffers")
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
(dt/leader-keys
"c" '(:ignore t :wk "Claude")
"c c" '(claude-code :wk "Start claude in a vterm")
"c k" '(claude-code-kill :wk "Kill claude process and its window")
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
"c t" '(claude-code-transient :wk "Claude command menu"))
(dt/leader-keys
"d" '(:ignore t :wk "Dired")
"d d" '(dired :wk "Open dired")
@@ -358,7 +387,7 @@
"g r" '(vc-revert :wk "Git revert file")
"g s" '(magit-stage-file :wk "Git stage file")
"g t" '(git-timemachine :wk "Git time machine")
"g u" '(magit-stage-file :wk "Git unstage file"))
"g u" '(magit-unstage-file :wk "Git unstage file"))
(dt/leader-keys
"h" '(:ignore t :wk "Help")
@@ -480,7 +509,7 @@
)
(use-package git-timemachine
:after git-timemachine
;; :after git-timemachine
:hook (evil-normalize-keymaps . git-timemachine-hook)
:config
(evil-define-key 'normal git-timemachine-mode-map (kbd "C-j") 'git-timemachine-show-previous-revision)
@@ -514,9 +543,9 @@
("C-x B" . ivy-switch-buffer-other-window))
:diminish
:custom
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "(%d/%d) ")
(setq enable-recursive-minibuffers t)
(ivy-use-virtual-buffers t)
(ivy-count-format "(%d/%d) ")
(enable-recursive-minibuffers t)
:config
(ivy-mode))
@@ -529,9 +558,9 @@
:ensure t
:init (ivy-rich-mode 1) ;; this gets us descriptions in M-x.
:custom
(ivy-virtual-abbreviate 'full
ivy-rich-switch-buffer-align-virtual-buffer t
ivy-rich-path-style 'abbrev)
(ivy-virtual-abbreviate 'full)
(ivy-rich-switch-buffer-align-virtual-buffer t)
(ivy-rich-path-style 'abbrev)
:config
(ivy-set-display-transformer 'ivy-switch-buffer
'ivy-rich-switch-buffer-transformer))
@@ -616,14 +645,14 @@
(eval-after-load 'org-indent '(diminish 'org-indent-mode))
(custom-set-faces
'(org-level-1 ((t (:inherit outline-1 :height 1.7))))
'(org-level-2 ((t (:inherit outline-2 :height 1.6))))
'(org-level-3 ((t (:inherit outline-3 :height 1.5))))
'(org-level-4 ((t (:inherit outline-4 :height 1.4))))
'(org-level-5 ((t (:inherit outline-5 :height 1.3))))
'(org-level-6 ((t (:inherit outline-5 :height 1.2))))
'(org-level-7 ((t (:inherit outline-5 :height 1.1)))))
(custom-set-faces
'(org-level-1 ((t (:inherit outline-1 :height 1.7))))
'(org-level-2 ((t (:inherit outline-2 :height 1.6))))
'(org-level-3 ((t (:inherit outline-3 :height 1.5))))
'(org-level-4 ((t (:inherit outline-4 :height 1.4))))
'(org-level-5 ((t (:inherit outline-5 :height 1.3))))
'(org-level-6 ((t (:inherit outline-5 :height 1.2))))
'(org-level-7 ((t (:inherit outline-5 :height 1.1)))))
(require 'org-tempo)
@@ -747,7 +776,7 @@
eshell-hist-ignoredups t
eshell-scroll-to-bottom-on-input t
eshell-destroy-buffer-when-process-dies t
eshell-visual-commands'("bash" "fish" "htop" "ssh" "top" "zsh"))
eshell-visual-commands '("bash" "fish" "htop" "ssh" "top" "zsh"))
(use-package vterm
:ensure t
@@ -755,6 +784,8 @@
(setq shell-file-name "/bin/sh"
vterm-max-scrollback 5000))
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
(use-package vterm-toggle
:ensure t
:after vterm
@@ -763,20 +794,19 @@
;; kills the program as it would in most standard terminal programs.
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(setq vterm-toggle-scope 'project))
(with-eval-after-load 'vterm
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.4))))
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(reusable-frames . visible)
(window-width . 0.4))))
(use-package sudo-edit)
@@ -813,7 +843,6 @@
which-key-side-window-max-height 0.25
which-key-idle-delay 0.8
which-key-max-description-length 25
which-key-allow-imprecise-window-fit nil
which-key-separator "" ))
(defun reader ()
@@ -823,7 +852,7 @@
("Third" . 'third-choice))))
(alist-get
(completing-read "Choose: " choices)
choices nil nil 'message)))
choices nil nil #'equal)))
(defun github-code-search ()
"Search code on github for a given language."
+65 -29
View File
@@ -1,7 +1,5 @@
#+TITLE: DT's GNU Emacs Config
#+AUTHOR: Derek Taylor (DT)
#+DESCRIPTION: DT's personal Emacs config.
#+STARTUP: showeverything
#+AUTHORng
#+OPTIONS: toc:2
* TABLE OF CONTENTS :toc:
@@ -10,6 +8,7 @@
- [[#sourcing-the-scripts][Sourcing the scripts]]
- [[#all-the-icons][ALL THE ICONS]]
- [[#backup][BACKUP]]
- [[#claude-code][CLAUDE-CODE]]
- [[#company][COMPANY]]
- [[#dashboard][DASHBOARD]]
- [[#diminish][DIMINISH]]
@@ -94,7 +93,34 @@ This is an icon set that can be used with dashboard, dired, ibuffer and other Em
By default, Emacs creates automatic backups of files in their original directories, such "file.el" and the backup "file.el~". This leads to a lot of clutter, so let's tell Emacs to put all backups that it creates in the =TRASH= directory.
#+begin_src emacs-lisp
(setq backup-directory-alist '((".*" . "~/.local/share/Trash/files")))
(setq backup-directory-alist '((".*" . "~/.config/emacs/backups/")))
#+end_src
* CLAUDE-CODE
[[https://github.com/stevemolitor/claude-code.el][Claude-code.el]] is an Emacs interface for Claude Code CLI, providing integration between Emacs and Claude AI for coding assistance.
#+begin_src emacs-lisp
(use-package claude-code
:ensure (claude-code :host github :repo "stevemolitor/claude-code.el")
:bind ("C-c c" . claude-code-transient)
:config
;; Optional: Start the Emacs server if not already running
(unless (server-running-p) (server-start)))
(setq claude-code-terminal-backend 'vterm)
(setq claude-code-optimize-window-resize t)
(setq claude-code-no-delete-other-windows t)
(setq claude-code-toggle-auto-select t)
(with-eval-after-load 'claude-code
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
(window-width . 0.4))))
#+end_src
@@ -117,6 +143,7 @@ By default, Emacs creates automatic backups of files in their original directori
:after company
:diminish
:hook (company-mode . company-box-mode))
#+end_src
* DASHBOARD
@@ -333,8 +360,9 @@ An RSS newsfeed reader for Emacs. Move through the articles with 'j/k'. Move t
(define-key evil-motion-state-map (kbd "SPC") nil)
(define-key evil-motion-state-map (kbd "RET") nil)
(define-key evil-motion-state-map (kbd "TAB") nil))
;; Setting RETURN key in org-mode to follow links
(setq org-return-follows-link t)
(setq org-return-follows-link t)
#+end_src
@@ -458,6 +486,13 @@ mouse wheel for zooming in/out.
"b S" '(save-some-buffers :wk "Save multiple buffers")
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
(dt/leader-keys
"c" '(:ignore t :wk "Claude")
"c c" '(claude-code :wk "Start claude in a vterm")
"c k" '(claude-code-kill :wk "Kill claude process and its window")
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
"c t" '(claude-code-transient :wk "Claude command menu"))
(dt/leader-keys
"d" '(:ignore t :wk "Dired")
"d d" '(dired :wk "Open dired")
@@ -522,7 +557,7 @@ mouse wheel for zooming in/out.
"g r" '(vc-revert :wk "Git revert file")
"g s" '(magit-stage-file :wk "Git stage file")
"g t" '(git-timemachine :wk "Git time machine")
"g u" '(magit-stage-file :wk "Git unstage file"))
"g u" '(magit-unstage-file :wk "Git unstage file"))
(dt/leader-keys
"h" '(:ignore t :wk "Help")
@@ -652,7 +687,7 @@ mouse wheel for zooming in/out.
#+begin_src emacs-lisp
(use-package git-timemachine
:after git-timemachine
;; :after git-timemachine
:hook (evil-normalize-keymaps . git-timemachine-hook)
:config
(evil-define-key 'normal git-timemachine-mode-map (kbd "C-j") 'git-timemachine-show-previous-revision)
@@ -699,9 +734,9 @@ Adding highlights to TODO and related words.
("C-x B" . ivy-switch-buffer-other-window))
:diminish
:custom
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "(%d/%d) ")
(setq enable-recursive-minibuffers t)
(ivy-use-virtual-buffers t)
(ivy-count-format "(%d/%d) ")
(enable-recursive-minibuffers t)
:config
(ivy-mode))
@@ -714,9 +749,9 @@ Adding highlights to TODO and related words.
:ensure t
:init (ivy-rich-mode 1) ;; this gets us descriptions in M-x.
:custom
(ivy-virtual-abbreviate 'full
ivy-rich-switch-buffer-align-virtual-buffer t
ivy-rich-path-style 'abbrev)
(ivy-virtual-abbreviate 'full)
(ivy-rich-switch-buffer-align-virtual-buffer t)
(ivy-rich-path-style 'abbrev)
:config
(ivy-set-display-transformer 'ivy-switch-buffer
'ivy-rich-switch-buffer-transformer))
@@ -766,7 +801,7 @@ Neotree is a file tree viewer. When you open neotree, it jumps to the current f
| neotree-toggle | /Toggle neotree/ | SPC t n |
| neotree- dir | /Open directory in neotree/ | SPC d n |
#+BEGIN_SRC emacs-lisp
#+begin_src emacs-lisp
(use-package neotree
:config
(setq neo-smart-open t
@@ -1063,7 +1098,7 @@ Eshell is an Emacs 'shell' that is written in Elisp.
eshell-hist-ignoredups t
eshell-scroll-to-bottom-on-input t
eshell-destroy-buffer-when-process-dies t
eshell-visual-commands'("bash" "fish" "htop" "ssh" "top" "zsh"))
eshell-visual-commands '("bash" "fish" "htop" "ssh" "top" "zsh"))
#+end_src
** Vterm
@@ -1075,6 +1110,9 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
:config
(setq shell-file-name "/bin/sh"
vterm-max-scrollback 5000))
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
#+end_src
** Vterm-Toggle
@@ -1089,20 +1127,19 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
;; kills the program as it would in most standard terminal programs.
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(setq vterm-toggle-scope 'project))
(with-eval-after-load 'vterm
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.4))))
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(reusable-frames . visible)
(window-width . 0.4))))
#+end_src
@@ -1164,7 +1201,6 @@ With Emacs version 29, true transparency has been added. I have turned transpar
which-key-side-window-max-height 0.25
which-key-idle-delay 0.8
which-key-max-description-length 25
which-key-allow-imprecise-window-fit nil
which-key-separator "" ))
#+end_src
@@ -1177,7 +1213,7 @@ With Emacs version 29, true transparency has been added. I have turned transpar
("Third" . 'third-choice))))
(alist-get
(completing-read "Choose: " choices)
choices nil nil 'message)))
choices nil nil #'equal)))
(defun github-code-search ()
"Search code on github for a given language."
+7
View File
@@ -174,6 +174,9 @@ alias parsyu='paru -Syu --noconfirm' # update standard pkgs and AUR
alias unlock='sudo rm /var/lib/pacman/db.lck' # remove pacman lock
alias orphan='sudo pacman -Rns (pacman -Qtdq)' # remove orphaned packages (DANGEROUS!)
# content creation
alias mp3='cd Videos/dtoptions/market-outlook/ && yt-dlp -x --audio-format mp3'
# get fastest mirrors
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
@@ -237,6 +240,10 @@ alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/mas
# Mocp must be launched with bash instead of Fish!
alias mocp="bash -c mocp"
# Aliasealias s used to upload a static alias alias alias website
alias dashdb="rsync -avz --exclude 'venv' --exclude '__pycache__' --exclude '*.pyc' /home/dt/nc/trading/dashboard/ root@157.230.6.42:/var/www/dtoptions/"
alias dashpdf="rsync -avz /home/dt/nc/trading/trading-plans/ root@157.230.6.42:/root/nc/trading/trading-plans/"
### RANDOM COLOR SCRIPT ###
# Get this script from my GitLab: gitlab.com/dwt1/shell-color-scripts
# Or install it from the Arch User Repository: shell-color-scripts
+4
View File
@@ -382,6 +382,10 @@ binds {
Mod+Alt+apostrophe { screenshot-window; }
Mod+Shift+apostrophe { screenshot; }
// Force the focused window to exactly 1854 x 882 pixels
Mod+semicolon { spawn-sh "niri msg action set-column-width 1794 && niri msg action set-window-height 830 && niri msg action center-window"; }
Mod+Shift+semicolon { spawn-sh "niri msg action toggle-window-floating && niri msg action toggle-window-floating && niri msg action maximize-column"; }
// Applications such as remote-desktop clients and software KVM switches may
// request that niri stops processing the keyboard shortcuts defined here
// so they may, for example, forward the key presses as-is to a remote machine.
+7 -7
View File
@@ -1,10 +1,10 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
recent-windows {
highlight {
recent-windows {
highlight {
corner-radius 6
}
}
}
}
-9
View File
@@ -1,9 +0,0 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
cursor {
xcursor-theme "Bibata-Modern-Ice"
xcursor-size 24
}
+17 -16
View File
@@ -1,22 +1,23 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
layout {
gaps 12
layout {
gaps 12
border {
border {
width 2
}
}
focus-ring {
focus-ring {
width 2
}
}
window-rule {
geometry-corner-radius 6
clip-to-geometry true
tiled-state true
draw-border-with-background false
}
}
}
window-rule {
geometry-corner-radius 6
clip-to-geometry true
tiled-state true
draw-border-with-background false
}
+4
View File
@@ -232,6 +232,10 @@ alias regfont="setfont default8x16"
# bare git repo alias for managing my dotfiles
alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME"
# Aliasealias s used to upload a static website
alias dashdb="rsync -avz --exclude 'venv' --exclude '__pycache__' --exclude '*.pyc' /home/dt/nc/trading/dashboard/ root@157.230.6.42:/var/www/dtoptions/"
alias dashpdf="rsync -avz /home/dt/nc/trading/trading-plans/ root@157.230.6.42:/root/nc/trading/trading-plans/"
# termbin
alias tb="nc termbin.com 9999"