Rust stuff and eat
instead of vterm
This commit is contained in:
parent
56dae7c314
commit
0f4d751e3d
6 changed files with 53 additions and 8 deletions
|
@ -6,7 +6,7 @@
|
||||||
}: {
|
}: {
|
||||||
packages.diff-closures = pkgs.writeShellApplication {
|
packages.diff-closures = pkgs.writeShellApplication {
|
||||||
name = "diff-closures";
|
name = "diff-closures";
|
||||||
runtimeInputs = [ pkgs.ansifilter ];
|
runtimeInputs = [pkgs.ansifilter];
|
||||||
text = ''
|
text = ''
|
||||||
nix store diff-closures --derivation \
|
nix store diff-closures --derivation \
|
||||||
github:aciceri/emacs/master#ccrEmacs \
|
github:aciceri/emacs/master#ccrEmacs \
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
| ansifilter --text
|
| ansifilter --text
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
apps.diff-closures.program = "${self'.packages.diff-closures}/bin/diff-closures";
|
apps.diff-closures.program = "${self'.packages.diff-closures}/bin/diff-closures";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
./diff-closures
|
./diff-closures
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-substituters = [
|
extra-substituters = [
|
||||||
"https://aciceri-emacs.cachix.org"
|
"https://aciceri-emacs.cachix.org"
|
||||||
|
@ -35,6 +35,5 @@
|
||||||
"aciceri-emacs.cachix.org-1:kxDGDFWV6LUj41tb8xmPRBI56UJSZOVveN49LZDUKdA="
|
"aciceri-emacs.cachix.org-1:kxDGDFWV6LUj41tb8xmPRBI56UJSZOVveN49LZDUKdA="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
client.enable = true;
|
client.enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
socketActivation.enable = false;
|
socketActivation.enable = false;
|
||||||
startWithUserSession = false;
|
startWithUserSession = true;
|
||||||
};
|
};
|
||||||
systemd.user.sessionVariables = {
|
systemd.user.sessionVariables = {
|
||||||
# TODO user `gpgconf --list-dirs agent-ssh-socket`
|
# TODO user `gpgconf --list-dirs agent-ssh-socket`
|
||||||
|
|
30
init.el
30
init.el
|
@ -60,7 +60,8 @@
|
||||||
backup-by-copying t)
|
backup-by-copying t)
|
||||||
(defun ccr/set-faces ()
|
(defun ccr/set-faces ()
|
||||||
(set-face-attribute 'default nil :font "Fira Code 12")
|
(set-face-attribute 'default nil :font "Fira Code 12")
|
||||||
(meow--prepare-face))
|
;; (meow--prepare-face)
|
||||||
|
)
|
||||||
(if (daemonp)
|
(if (daemonp)
|
||||||
(add-hook 'server-after-make-frame-hook #'ccr/set-faces)
|
(add-hook 'server-after-make-frame-hook #'ccr/set-faces)
|
||||||
(ccr/set-faces))
|
(ccr/set-faces))
|
||||||
|
@ -126,6 +127,8 @@
|
||||||
|
|
||||||
(setup haskell-mode (:hook eglot-ensure tree-sitter-hl-mode))
|
(setup haskell-mode (:hook eglot-ensure tree-sitter-hl-mode))
|
||||||
|
|
||||||
|
(setup rust-mode (:hook eglot-ensure tree-sitter-hl-mode))
|
||||||
|
|
||||||
(setup terraform-mode (:hook eglot-ensure tree-sitter-hl-mode))
|
(setup terraform-mode (:hook eglot-ensure tree-sitter-hl-mode))
|
||||||
|
|
||||||
(setup yaml-mode (:hook tree-sitter-hl-mode))
|
(setup yaml-mode (:hook tree-sitter-hl-mode))
|
||||||
|
@ -266,10 +269,19 @@
|
||||||
cape-dabbrev-min-length 5))
|
cape-dabbrev-min-length 5))
|
||||||
|
|
||||||
(setup eshell
|
(setup eshell
|
||||||
|
(:require projectile)
|
||||||
(:hook esh-autosuggest-mode)
|
(:hook esh-autosuggest-mode)
|
||||||
|
(:with-mode eshell-load (:hook #'eat-eshell-mode #'eat-eshell-visual-command-mode))
|
||||||
(eshell-syntax-highlighting-global-mode +1)
|
(eshell-syntax-highlighting-global-mode +1)
|
||||||
|
(defun ccr/projectile-run-eat (&optional arg)
|
||||||
|
(interactive "P")
|
||||||
|
(let ((project (projectile-acquire-root)))
|
||||||
|
(projectile-with-default-dir project
|
||||||
|
(let ((eat-buffer-name (projectile-generate-process-name "eat" arg project)))
|
||||||
|
(eat)))))
|
||||||
(:global "C-c o e" #'projectile-run-eshell
|
(:global "C-c o e" #'projectile-run-eshell
|
||||||
"C-c o t" #'projectile-run-vterm))
|
"C-c o t" #'ccr/projectile-run-eat
|
||||||
|
"C-c o v" #'projectile-run-vterm))
|
||||||
|
|
||||||
(setup vterm
|
(setup vterm
|
||||||
(:option vterm-timer-delay 0.01))
|
(:option vterm-timer-delay 0.01))
|
||||||
|
@ -391,6 +403,7 @@
|
||||||
"^\\*eshell.*\\*$" eshell-mode ;eshell as a popup
|
"^\\*eshell.*\\*$" eshell-mode ;eshell as a popup
|
||||||
"^\\*shell.*\\*$" shell-mode ;shell as a popup
|
"^\\*shell.*\\*$" shell-mode ;shell as a popup
|
||||||
"^\\*term.*\\*$" term-mode ;term as a popup
|
"^\\*term.*\\*$" term-mode ;term as a popup
|
||||||
|
"^\\*eat.*\\*$" term-mode ;eat as a popup
|
||||||
"^\\*vterm.*\\*$" vterm-mode ;vterm as a popup
|
"^\\*vterm.*\\*$" vterm-mode ;vterm as a popup
|
||||||
)
|
)
|
||||||
popper-echo-lines 1
|
popper-echo-lines 1
|
||||||
|
@ -461,3 +474,16 @@
|
||||||
|
|
||||||
(provide 'init)
|
(provide 'init)
|
||||||
;;; init.el ends here
|
;;; init.el ends here
|
||||||
|
(custom-set-variables
|
||||||
|
;; custom-set-variables was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
'(package-selected-packages
|
||||||
|
'(lsp-mode diff-hl org-roam-ui consult-flycheck dirvish flycheck-inline orderless diredfl rustic ef-themes corfu-doc which-key popper envrc flycheck-posframe pdf-tools embark-consult vertico tree-sitter-langs paredit ligature hl-todo vterm yaml-mode eat kind-icon terraform-mode sway corfu-terminal shackle consult-projectile magit-delta nix-mode code-review haskell-mode delight marginalia meow eshell-syntax-highlighting all-the-icons-completion esh-autosuggest cape setup)))
|
||||||
|
(custom-set-faces
|
||||||
|
;; custom-set-faces was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
)
|
||||||
|
|
|
@ -8,10 +8,27 @@
|
||||||
inputs',
|
inputs',
|
||||||
pkgs,
|
pkgs,
|
||||||
final,
|
final,
|
||||||
|
lib,
|
||||||
|
system,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (inputs.emacs-overlay.overlays.default pkgs pkgs) emacsPackagesFor;
|
inherit (inputs.emacs-overlay.overlays.default pkgs pkgs) emacsPackagesFor;
|
||||||
in {
|
in {
|
||||||
|
# Some tree-sitter grammars in nixpksg are built with a too new ABI
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/209114
|
||||||
|
_module.args.pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (self: super: {
|
||||||
|
tree-sitter-grammars =
|
||||||
|
super.tree-sitter-grammars
|
||||||
|
// {
|
||||||
|
tree-sitter-rust = super.tree-sitter-grammars.tree-sitter-rust.overrideAttrs (_: {
|
||||||
|
nativeBuildInputs = [self.nodejs self.tree-sitter];
|
||||||
|
configurePhase = ''
|
||||||
|
tree-sitter generate --abi 13 src/grammar.json
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
packages = {
|
packages = {
|
||||||
ccrEmacsWithoutPackages =
|
ccrEmacsWithoutPackages =
|
||||||
(inputs'.emacs-overlay.packages.emacsPgtk.override {
|
(inputs'.emacs-overlay.packages.emacsPgtk.override {
|
||||||
|
|
|
@ -49,7 +49,10 @@ with epkgs; [
|
||||||
eshell-syntax-highlighting
|
eshell-syntax-highlighting
|
||||||
projectile
|
projectile
|
||||||
consult-projectile
|
consult-projectile
|
||||||
|
eat
|
||||||
|
rust-mode
|
||||||
|
rustic
|
||||||
|
|
||||||
# TODO playing with these
|
# TODO playing with these
|
||||||
sway
|
sway
|
||||||
shackle
|
shackle
|
||||||
|
|
Reference in a new issue