feat: Add host sydpc
My, this is a lot TwT. Much work was batched as part of the transition from guix-rebound to nixos-testbed/sydpc. - Discord/Vesktop module & config. - Syncthing setup. - Assorted Emacs changes. - Waybar config. - Niri config. - Steam config. - Some MPD. - Stylix config. - Files/Impermanence things. - Enable Ghostty. - God knows what else.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
;;; syd-lang-kdl.el -*- lexical-binding: t; -*-
|
||||
|
||||
(use-package kdl-ts-mode
|
||||
:mode "\\.kdl\\'"
|
||||
:straight (:type git
|
||||
:host github
|
||||
:repo "dataphract/kdl-ts-mode"))
|
||||
|
||||
(provide 'syd-lang-kdl)
|
||||
@@ -13,8 +13,16 @@
|
||||
(nix-repl)
|
||||
(current-buffer))
|
||||
|
||||
(evil-define-text-object syd-nix-obj-outer-binding (count _beg _end _type)
|
||||
"TODO"
|
||||
:type 'inclusive
|
||||
(let* ((cleanup-p (memq evil-this-operator '(evil-delete)))
|
||||
(node (treesit-thing-at-point "binding" "nested")))
|
||||
(list (treesit-node-start node)
|
||||
(treesit-node-end node))))
|
||||
|
||||
(use-package nix-mode
|
||||
:mode "\\.nix\\'"
|
||||
;; :mode "\\.nix\\'"
|
||||
:init
|
||||
(add-to-list 'auto-mode-alist
|
||||
(cons (rx "/flake.lock'")
|
||||
@@ -24,17 +32,30 @@
|
||||
:config
|
||||
(add-hook 'nix-mode-hook #'lsp)
|
||||
(set-popup-rule! (rx bol "*nixos-options-doc*" eol) :ttl 0 :quit t)
|
||||
(set-repl-handler! 'nix-mode #'syd-nix-open-nix-repl)
|
||||
(set-repl-handler! '(nix-mode nix-ts-mode) #'syd-nix-open-nix-repl)
|
||||
(dolist (c '(?- ?_))
|
||||
(modify-syntax-entry c "w" nix-mode-syntax-table))
|
||||
|
||||
|
||||
;; Inform Smartparens and Evil-surround of Nix's alternative string syntax.
|
||||
(with-eval-after-load 'smartparens
|
||||
(sp-local-pair 'nix-mode "''" "''"))
|
||||
(syd-add-hook 'nix-mode-hook
|
||||
(sp-local-pair '(nix-mode nix-ts-mode) "''" "''"))
|
||||
(syd-add-hook '(nix-mode-hook nix-ts-mode-hook)
|
||||
(defun syd-nix--configure-evil-surround-h ()
|
||||
(with-eval-after-load 'evil-surround
|
||||
(push '(?Q . ("''" . "''"))
|
||||
evil-surround-pairs-alist)))))
|
||||
|
||||
(use-package nix-ts-mode
|
||||
:mode "\\.nix\\'"
|
||||
:config
|
||||
(require 'nix-mode)
|
||||
(general-def
|
||||
:keymaps 'nix-ts-mode-map
|
||||
:states '(visual operator)
|
||||
"ad" #'syd-nix-obj-outer-binding)
|
||||
(syd-add-hook 'nix-ts-mode-hook
|
||||
(defun syd-nix-set-syntax-table-h ()
|
||||
"Set the syntax table in `nix-ts-mode' buffers to `nix-mode-syntax-table'."
|
||||
(set-syntax-table nix-mode-syntax-table))))
|
||||
|
||||
(provide 'syd-lang-nix)
|
||||
|
||||
Reference in New Issue
Block a user