wip
This commit is contained in:
@@ -71,5 +71,6 @@
|
|||||||
|
|
||||||
extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
||||||
};
|
};
|
||||||
|
packages.aarch64-darwin.default = modules-for-system nixpkgs.legacyPackages.aarch64-darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
166
home.org
166
home.org
@@ -145,7 +145,7 @@ are still Shibumi-specific; ideally I'd find another way to install them.
|
|||||||
|
|
||||||
* Program Configurations
|
* Program Configurations
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :noweb-ref programs :noweb no-export
|
:header-args:nix: :noweb-ref programs :noweb no-export
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
This section contains applications whose config files will be generated by Home Manager. Home
|
This section contains applications whose config files will be generated by Home Manager. Home
|
||||||
@@ -356,22 +356,22 @@ set -g default-command ""
|
|||||||
'';
|
'';
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Wezterm
|
** Wezterm
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:lua: :tangle target/wezterm.lua
|
||||||
|
:END:
|
||||||
|
|
||||||
~wezterm~ is a fast terminal emulator and multiplexer. It is configured using lua. We'll define its
|
~wezterm~ is a fast terminal emulator and multiplexer. It is configured using lua. We'll define its
|
||||||
config in two blocks, so we can get lua syntax highlighting in org. First, the nix configuration:
|
config in two blocks, so we can get lua syntax highlighting in org. First, the nix configuration:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb no-export
|
#+BEGIN_SRC nix
|
||||||
wezterm.enable = true;
|
wezterm.enable = true;
|
||||||
wezterm.extraConfig = ''
|
wezterm.extraConfig = builtins.readFile ./wezterm.lua;
|
||||||
local config = {}
|
|
||||||
<<wezterm_colors>>
|
|
||||||
<<wezterm>>
|
|
||||||
'';
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Then the real lua config:
|
Then the real lua config:
|
||||||
|
|
||||||
#+BEGIN_SRC lua :noweb-ref wezterm
|
#+BEGIN_SRC lua
|
||||||
|
local config = {}
|
||||||
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
||||||
config.font_size = 13.0
|
config.font_size = 13.0
|
||||||
-- config.font = wezterm.font("JetBrains Mono")
|
-- config.font = wezterm.font("JetBrains Mono")
|
||||||
@@ -389,7 +389,7 @@ Then the real lua config:
|
|||||||
I use a workspace switcher plugin, bouned to ~cmd-s~, that lets me quickly switch between
|
I use a workspace switcher plugin, bouned to ~cmd-s~, that lets me quickly switch between
|
||||||
per-project workspaces using a single OS window.
|
per-project workspaces using a single OS window.
|
||||||
|
|
||||||
#+BEGIN_SRC lua :noweb-ref wezterm
|
#+BEGIN_SRC lua
|
||||||
local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm")
|
local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm")
|
||||||
workspace_switcher.zoxide_path='~/.nix-profile/bin/zoxide'
|
workspace_switcher.zoxide_path='~/.nix-profile/bin/zoxide'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -400,7 +400,7 @@ one. I use "edit" for running the editor (obviously), "run" for building / runni
|
|||||||
and "term" for miscellaneous other tasks. I sometimes split the "run" window into multiple panes if
|
and "term" for miscellaneous other tasks. I sometimes split the "run" window into multiple panes if
|
||||||
the project requires multiple things to run simultaneously.
|
the project requires multiple things to run simultaneously.
|
||||||
|
|
||||||
#+BEGIN_SRC lua :noweb-ref wezterm
|
#+BEGIN_SRC lua
|
||||||
wezterm.on('smart_workspace_switcher.workspace_switcher.created', function(window, path, workspace)
|
wezterm.on('smart_workspace_switcher.workspace_switcher.created', function(window, path, workspace)
|
||||||
local editor = window:active_tab()
|
local editor = window:active_tab()
|
||||||
editor:set_title("edit")
|
editor:set_title("edit")
|
||||||
@@ -417,7 +417,7 @@ the project requires multiple things to run simultaneously.
|
|||||||
Put the current workspace name in the lower-right corner of the window. Taken from
|
Put the current workspace name in the lower-right corner of the window. Taken from
|
||||||
[https://alexplescan.com/posts/2024/08/10/wezterm/].
|
[https://alexplescan.com/posts/2024/08/10/wezterm/].
|
||||||
|
|
||||||
#+BEGIN_SRC lua :noweb-ref wezterm
|
#+BEGIN_SRC lua
|
||||||
local function segments_for_right_status(window)
|
local function segments_for_right_status(window)
|
||||||
return {
|
return {
|
||||||
window:active_workspace(),
|
window:active_workspace(),
|
||||||
@@ -488,7 +488,7 @@ Now we'll set up some keybindings:
|
|||||||
| s-d | Close the current tab (with confirmation). |
|
| s-d | Close the current tab (with confirmation). |
|
||||||
| s-123456789 | Switch to the tab with the corresponding number. |
|
| s-123456789 | Switch to the tab with the corresponding number. |
|
||||||
|
|
||||||
#+BEGIN_SRC lua :noweb-ref wezterm
|
#+BEGIN_SRC lua
|
||||||
config.leader = { key = ' ', mods = 'CTRL', timeout_milliseconds = 10000 }
|
config.leader = { key = ' ', mods = 'CTRL', timeout_milliseconds = 10000 }
|
||||||
config.keys = {
|
config.keys = {
|
||||||
{
|
{
|
||||||
@@ -558,8 +558,6 @@ Now we'll set up some keybindings:
|
|||||||
action = wezterm.action.ActivateTab(i - 1),
|
action = wezterm.action.ActivateTab(i - 1),
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
return config
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Zsh
|
** Zsh
|
||||||
@@ -595,23 +593,31 @@ Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh f
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Emacs
|
* Emacs
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:elisp: :tangle target/emacs.el
|
||||||
|
:header-args:nix: :noweb no-export :noweb-ref emacs_packages
|
||||||
|
:END:
|
||||||
|
|
||||||
Emacs is a huge portion of this configuration, so although it's a home-manager "program", I'm
|
Emacs is a huge portion of this configuration, so although it's a home-manager "program", I'm
|
||||||
breaking it out into its own top-level section. Many of the sections here have two code blocks: a
|
breaking it out into its own top-level section. Many of the sections here have two code blocks: a
|
||||||
nix code block listing the emacs packages to include, and an elisp code block to configure them in
|
nix code block listing the emacs packages to include, and an elisp code block to configure them in
|
||||||
emacs.
|
emacs.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb no-export :noweb-ref programs
|
#+BEGIN_SRC nix :noweb-ref programs
|
||||||
emacs.enable = true;
|
emacs.enable = true;
|
||||||
emacs.extraPackages = epkgs: with epkgs; [
|
emacs.extraPackages = epkgs: with epkgs; [
|
||||||
<<emacs_packages>>
|
<<emacs_packages>>
|
||||||
];
|
];
|
||||||
emacs.extraConfig = ''
|
emacs.extraConfig = builtins.readFile ./emacs.el;
|
||||||
;;; -*- lexical-binding: t -*-
|
|
||||||
<<emacs_config>>
|
|
||||||
'';
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
We'll put the actual emacs config into a separate file, rather than into a nix string literal. This
|
||||||
|
helps with a few places where nix's string interpolation was causing problems.
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Keybindings
|
** Keybindings
|
||||||
These keybindings are scattered throughout this file, I'm collecting them all here to make it easier
|
These keybindings are scattered throughout this file, I'm collecting them all here to make it easier
|
||||||
to track them.
|
to track them.
|
||||||
@@ -646,7 +652,7 @@ These are just some general settings that apply everywhere. First, a few package
|
|||||||
|
|
||||||
Turn off some default settings that I don't find useful.
|
Turn off some default settings that I don't find useful.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
(setq initial-scratch-message nil)
|
(setq initial-scratch-message nil)
|
||||||
(menu-bar-mode -1)
|
(menu-bar-mode -1)
|
||||||
@@ -664,28 +670,28 @@ Turn off some default settings that I don't find useful.
|
|||||||
|
|
||||||
Make sure which-key mode is always on. The on-the-fly keymap help it gives is indespensable.
|
Make sure which-key mode is always on. The on-the-fly keymap help it gives is indespensable.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(which-key-mode)
|
(which-key-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Automatically refresh ~dired~ buffers when switching to them, instead of requiring an explicit
|
Automatically refresh ~dired~ buffers when switching to them, instead of requiring an explicit
|
||||||
refresh.
|
refresh.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq dired-auto-revert-buffer t)
|
(setq dired-auto-revert-buffer t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Similarly, highlighting the line the cursor is on is really useful for figuring out where you are,
|
Similarly, highlighting the line the cursor is on is really useful for figuring out where you are,
|
||||||
especially on monitors with a lot of vertical space.
|
especially on monitors with a lot of vertical space.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(global-hl-line-mode)
|
(global-hl-line-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
From the docs: "If ‘complete’, TAB first tries to indent the current line, and if the line was
|
From the docs: "If ‘complete’, TAB first tries to indent the current line, and if the line was
|
||||||
already indented, then try to complete the thing at point." Recommended by [[https://github.com/minad/corfu][the ~corfu~ readme]].
|
already indented, then try to complete the thing at point." Recommended by [[https://github.com/minad/corfu][the ~corfu~ readme]].
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq tab-always-indent 'complete)
|
(setq tab-always-indent 'complete)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -694,7 +700,7 @@ current character isn't really "selected" like it would be in Helix. When I had
|
|||||||
switched to a block cursor during normal mode, just because I was so used to it from Helix and
|
switched to a block cursor during normal mode, just because I was so used to it from Helix and
|
||||||
Vim. Now, I don't think there's really a need to ever switch.
|
Vim. Now, I don't think there's really a need to ever switch.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq-default cursor-type 'bar)
|
(setq-default cursor-type 'bar)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -703,7 +709,7 @@ want changes I've made to be immediately saved to disk. So let's have Emacs do t
|
|||||||
fairly long (~5 sec) delay before changes are saved, which is kind of annoying. Maybe I'll look into
|
fairly long (~5 sec) delay before changes are saved, which is kind of annoying. Maybe I'll look into
|
||||||
that at some point?
|
that at some point?
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(auto-save-visited-mode)
|
(auto-save-visited-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -711,14 +717,14 @@ Repeat-mode takes care of eliminating some annoying duplicate keypresses. I most
|
|||||||
for two-character commands that need to be repeated; ~devil~ also has some single-key-with-modifier
|
for two-character commands that need to be repeated; ~devil~ also has some single-key-with-modifier
|
||||||
repeats set up that only apply in that mode.
|
repeats set up that only apply in that mode.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(repeat-mode)
|
(repeat-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Save the minibuffer history to disk, so recently-used options show up at the top of the picker
|
Save the minibuffer history to disk, so recently-used options show up at the top of the picker
|
||||||
across restarts.
|
across restarts.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(savehist-mode)
|
(savehist-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -727,7 +733,7 @@ it would update after every command, slowing down everything). I don't need the
|
|||||||
I have the tab bar at the top of the window. The other settings just clear up some space, and make
|
I have the tab bar at the top of the window. The other settings just clear up some space, and make
|
||||||
things look at little nicer.
|
things look at little nicer.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq doom-modeline-irc nil)
|
(setq doom-modeline-irc nil)
|
||||||
(setq doom-modeline-workspace-name nil)
|
(setq doom-modeline-workspace-name nil)
|
||||||
(setq doom-modeline-buffer-encoding nil)
|
(setq doom-modeline-buffer-encoding nil)
|
||||||
@@ -739,7 +745,7 @@ Ligature mode combines character sequences like <= into a single on-screen glyph
|
|||||||
cool, so I'm turning it on in prog mode. The enabled ligatures are font-specific, taken from [[https://github.com/mickeynp/ligature.el/wiki#jetbrains-mono][the
|
cool, so I'm turning it on in prog mode. The enabled ligatures are font-specific, taken from [[https://github.com/mickeynp/ligature.el/wiki#jetbrains-mono][the
|
||||||
ligature wiki]].
|
ligature wiki]].
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package ligature
|
(use-package ligature
|
||||||
:after prog-mode
|
:after prog-mode
|
||||||
:config
|
:config
|
||||||
@@ -762,7 +768,7 @@ ligature wiki]].
|
|||||||
|
|
||||||
Use variable-width fonts in text buffers. ~mixed-pitch-mode~ keeps most code blocks as monospace.
|
Use variable-width fonts in text buffers. ~mixed-pitch-mode~ keeps most code blocks as monospace.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(add-hook 'text-mode-hook 'mixed-pitch-mode)
|
(add-hook 'text-mode-hook 'mixed-pitch-mode)
|
||||||
|
|
||||||
(defun no-mixed-pitch ()
|
(defun no-mixed-pitch ()
|
||||||
@@ -774,7 +780,7 @@ Use variable-width fonts in text buffers. ~mixed-pitch-mode~ keeps most code blo
|
|||||||
|
|
||||||
A basic ace-window setup. Allows switching between windows quickly (although avy can do the same...).
|
A basic ace-window setup. Allows switching between windows quickly (although avy can do the same...).
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package ace-window
|
(use-package ace-window
|
||||||
:bind (("M-o" . ace-window)
|
:bind (("M-o" . ace-window)
|
||||||
("s-o" . ace-window))
|
("s-o" . ace-window))
|
||||||
@@ -786,7 +792,7 @@ A basic ace-window setup. Allows switching between windows quickly (although avy
|
|||||||
Set up a few project- / workspace-related key bindings.
|
Set up a few project- / workspace-related key bindings.
|
||||||
|
|
||||||
#+name: workspace_keybinds
|
#+name: workspace_keybinds
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(bind-keys ("s-f" . project-find-file)
|
(bind-keys ("s-f" . project-find-file)
|
||||||
("s-F" . project-switch-project))
|
("s-F" . project-switch-project))
|
||||||
(bind-keys :map tab-bar-mode-map
|
(bind-keys :map tab-bar-mode-map
|
||||||
@@ -795,20 +801,20 @@ Set up a few project- / workspace-related key bindings.
|
|||||||
|
|
||||||
Don't run a server. I'm not using this, I can always turn it back on if I need to.
|
Don't run a server. I'm not using this, I can always turn it back on if I need to.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(server-mode -1)
|
(server-mode -1)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
All the beeping is annoying. This flashes a huge icon over the screen, which is still annoying, but
|
All the beeping is annoying. This flashes a huge icon over the screen, which is still annoying, but
|
||||||
less so?
|
less so?
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq visible-bell t)
|
(setq visible-bell t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
I'm trying this out. This disables visual selections. It's bold, which is why I like it :)
|
I'm trying this out. This disables visual selections. It's bold, which is why I like it :)
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(transient-mark-mode -1)
|
(transient-mark-mode -1)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -820,7 +826,7 @@ fix / issue, and leave it open until I'm done with that issue.
|
|||||||
change when drilling into a help page or something. I've set up repeat mode to make it easier to
|
change when drilling into a help page or something. I've set up repeat mode to make it easier to
|
||||||
move backward / forward through history.
|
move backward / forward through history.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package tab-bar
|
(use-package tab-bar
|
||||||
:config
|
:config
|
||||||
(tab-bar-history-mode)
|
(tab-bar-history-mode)
|
||||||
@@ -836,7 +842,7 @@ going for an IDE-style layout, with one main editor window, and auxiliary bottom
|
|||||||
windows. I place windows in the bottom or on the right mostly depending on how wide I expect their
|
windows. I place windows in the bottom or on the right mostly depending on how wide I expect their
|
||||||
content to be.
|
content to be.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb no :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(setq display-buffer-alist
|
(setq display-buffer-alist
|
||||||
'(((or "\\*Flymake diagnostics *"
|
'(((or "\\*Flymake diagnostics *"
|
||||||
"\\*Embark Export *"
|
"\\*Embark Export *"
|
||||||
@@ -858,6 +864,7 @@ content to be.
|
|||||||
(no-other-window . t)))
|
(no-other-window . t)))
|
||||||
((or "magit: *"
|
((or "magit: *"
|
||||||
"magit-revision: *"
|
"magit-revision: *"
|
||||||
|
"magit-log*"
|
||||||
"\\*eldoc\\*"
|
"\\*eldoc\\*"
|
||||||
"\\*Help\\*"
|
"\\*Help\\*"
|
||||||
"\\*rustfmt\\*"
|
"\\*rustfmt\\*"
|
||||||
@@ -887,7 +894,7 @@ content to be.
|
|||||||
|
|
||||||
This configuration affects general text editing, across all modes. First, some packages:
|
This configuration affects general text editing, across all modes. First, some packages:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
avy
|
avy
|
||||||
devil
|
devil
|
||||||
edit-indirect
|
edit-indirect
|
||||||
@@ -907,7 +914,7 @@ but I'm worried that having too many repeat maps will also be annoying (I'll hav
|
|||||||
cancel them more frequently). In the end, I opted for Devil mode. It avoids modifier keys, and has
|
cancel them more frequently). In the end, I opted for Devil mode. It avoids modifier keys, and has
|
||||||
its own devil-mode-only repeat maps that don't interfere when using normal modifier key sequences.
|
its own devil-mode-only repeat maps that don't interfere when using normal modifier key sequences.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package devil
|
(use-package devil
|
||||||
:disable t
|
:disable t
|
||||||
:config
|
:config
|
||||||
@@ -944,7 +951,7 @@ Avy allows jumping to any place on the screen with just a few keystrokes. I've s
|
|||||||
ideas from Karthinks' article [[https://karthinks.com/software/avy-can-do-anything/][Avy can do Anything]]. I need to find more uses for this, in line with
|
ideas from Karthinks' article [[https://karthinks.com/software/avy-can-do-anything/][Avy can do Anything]]. I need to find more uses for this, in line with
|
||||||
his article.
|
his article.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package avy
|
(use-package avy
|
||||||
:bind ("M-j" . avy-goto-char-timer))
|
:bind ("M-j" . avy-goto-char-timer))
|
||||||
|
|
||||||
@@ -974,13 +981,13 @@ his article.
|
|||||||
|
|
||||||
Just "silently" wrap when searching at the bottom of a document.
|
Just "silently" wrap when searching at the bottom of a document.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package isearch
|
(use-package isearch
|
||||||
:custom
|
:custom
|
||||||
(isearch-wrap-pause 'no-ding))
|
(isearch-wrap-pause 'no-ding))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package string-inflection
|
(use-package string-inflection
|
||||||
:commands
|
:commands
|
||||||
string-inflection-java-style-cycle
|
string-inflection-java-style-cycle
|
||||||
@@ -1010,7 +1017,7 @@ Just "silently" wrap when searching at the bottom of a document.
|
|||||||
|
|
||||||
** Language Support
|
** Language Support
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
consult-eglot
|
consult-eglot
|
||||||
haskell-ts-mode
|
haskell-ts-mode
|
||||||
jenkinsfile-mode
|
jenkinsfile-mode
|
||||||
@@ -1031,7 +1038,7 @@ I had some weird problems with jsx code where the default M-q would just do a te
|
|||||||
a re-indent. The solution seems to be to only do the ~syntax-ppss~ stuff if tree-sitter isn't
|
a re-indent. The solution seems to be to only do the ~syntax-ppss~ stuff if tree-sitter isn't
|
||||||
available? It seems to work for now anyway...
|
available? It seems to work for now anyway...
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(electric-pair-mode 1)
|
(electric-pair-mode 1)
|
||||||
|
|
||||||
(use-package prog-mode
|
(use-package prog-mode
|
||||||
@@ -1061,7 +1068,7 @@ available? It seems to work for now anyway...
|
|||||||
(indent-region start (point) nil)))))))
|
(indent-region start (point) nil)))))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package nix-mode
|
(use-package nix-mode
|
||||||
:mode "\\.nix\\'")
|
:mode "\\.nix\\'")
|
||||||
|
|
||||||
@@ -1234,11 +1241,11 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Envrc
|
** Envrc
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
envrc
|
envrc
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package envrc
|
(use-package envrc
|
||||||
:hook (after-init . envrc-global-mode)
|
:hook (after-init . envrc-global-mode)
|
||||||
:custom
|
:custom
|
||||||
@@ -1247,7 +1254,7 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Magit
|
** Magit
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
consult-gh
|
consult-gh
|
||||||
diff-hl
|
diff-hl
|
||||||
forge
|
forge
|
||||||
@@ -1255,7 +1262,7 @@ available? It seems to work for now anyway...
|
|||||||
magit
|
magit
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package magit
|
(use-package magit
|
||||||
:defer nil
|
:defer nil
|
||||||
:bind (("C-x g" . magit-status)
|
:bind (("C-x g" . magit-status)
|
||||||
@@ -1288,7 +1295,7 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Vertico
|
** Vertico
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
cape
|
cape
|
||||||
consult
|
consult
|
||||||
corfu
|
corfu
|
||||||
@@ -1298,7 +1305,7 @@ available? It seems to work for now anyway...
|
|||||||
vertico
|
vertico
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package consult
|
(use-package consult
|
||||||
:bind (
|
:bind (
|
||||||
;; ("C-c M-x" . consult-mode-command)
|
;; ("C-c M-x" . consult-mode-command)
|
||||||
@@ -1347,7 +1354,7 @@ available? It seems to work for now anyway...
|
|||||||
(advice-add #'register-preview :override #'consult-register-window)
|
(advice-add #'register-preview :override #'consult-register-window)
|
||||||
(setq register-preview-delay 0.5)
|
(setq register-preview-delay 0.5)
|
||||||
|
|
||||||
;; (setq xref-show-xrefs-function #'consult-xref xref-show-definitions-function #'consult-xref)
|
(setq xref-show-xrefs-function #'consult-xref xref-show-definitions-function #'consult-xref)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
|
|
||||||
@@ -1361,8 +1368,6 @@ available? It seems to work for now anyway...
|
|||||||
:preview-key '(:debounce 0.4 any))
|
:preview-key '(:debounce 0.4 any))
|
||||||
|
|
||||||
(setq consult-narrow-key "<") ;; "C-+"
|
(setq consult-narrow-key "<") ;; "C-+"
|
||||||
(setq xref-show-xrefs-function #'consult-xref
|
|
||||||
xref-show-definitions-function #'consult-xref)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package vertico
|
(use-package vertico
|
||||||
@@ -1404,7 +1409,7 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Org
|
** Org
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
org-modern
|
org-modern
|
||||||
org-present
|
org-present
|
||||||
org-roam
|
org-roam
|
||||||
@@ -1413,7 +1418,7 @@ available? It seems to work for now anyway...
|
|||||||
visual-fill-column
|
visual-fill-column
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package org
|
(use-package org
|
||||||
:defer nil
|
:defer nil
|
||||||
:mode ("\\.org\\'" . org-mode)
|
:mode ("\\.org\\'" . org-mode)
|
||||||
@@ -1542,11 +1547,11 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Terminal
|
** Terminal
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
eat
|
eat
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package eat
|
(use-package eat
|
||||||
:config
|
:config
|
||||||
(eat-eshell-mode))
|
(eat-eshell-mode))
|
||||||
@@ -1554,11 +1559,11 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Slack
|
** Slack
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
slack
|
slack
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package lui
|
(use-package lui
|
||||||
:defer t
|
:defer t
|
||||||
:custom
|
:custom
|
||||||
@@ -1574,11 +1579,11 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Kubernetes
|
** Kubernetes
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
kubed
|
kubed
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package kubed
|
(use-package kubed
|
||||||
:bind-keymap
|
:bind-keymap
|
||||||
("s-k" . kubed-prefix-map))
|
("s-k" . kubed-prefix-map))
|
||||||
@@ -1586,17 +1591,17 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
** Ledger
|
** Ledger
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
ledger-mode
|
ledger-mode
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Age
|
** Age
|
||||||
|
|
||||||
#+BEGIN_SRC nix :noweb-ref emacs_packages
|
#+BEGIN_SRC nix
|
||||||
age
|
age
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref emacs_config
|
#+BEGIN_SRC elisp
|
||||||
(use-package age
|
(use-package age
|
||||||
:custom
|
:custom
|
||||||
(age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
|
(age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
|
||||||
@@ -1606,6 +1611,29 @@ age
|
|||||||
(age-file-enable))
|
(age-file-enable))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Snippets
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix
|
||||||
|
yasnippet
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC elisp
|
||||||
|
(yas-global-mode)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
*** Org Mode
|
||||||
|
|
||||||
|
#+BEGIN_SRC snippet :tangle target/snippets/org-mode/src
|
||||||
|
# name: SRC block
|
||||||
|
# key: src
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
|
||||||
|
,#+BEGIN_SRC ${1:elisp}
|
||||||
|
$0
|
||||||
|
,#+END_SRC
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* Theme
|
* Theme
|
||||||
|
|
||||||
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
||||||
@@ -1678,8 +1706,10 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
** Wezterm
|
** Wezterm
|
||||||
|
|
||||||
#+NAME: wezterm_colors
|
#+NAME: wezterm_colors
|
||||||
#+BEGIN_SRC lua
|
#+BEGIN_SRC lua :tangle target/wezterm.lua
|
||||||
config.color_scheme = 'Catppuccin Frappe'
|
config.color_scheme = 'Catppuccin Frappe'
|
||||||
|
|
||||||
|
return config
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Emacs
|
** Emacs
|
||||||
@@ -1688,7 +1718,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
catppuccin-theme
|
catppuccin-theme
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :noweb-ref "emacs_config"
|
#+BEGIN_SRC elisp :tangle target/emacs.el
|
||||||
(use-package catppuccin-theme
|
(use-package catppuccin-theme
|
||||||
:custom
|
:custom
|
||||||
(catppuccin-flavor 'frappe)
|
(catppuccin-flavor 'frappe)
|
||||||
|
|||||||
Reference in New Issue
Block a user