Robba
This commit is contained in:
parent
7feed73965
commit
d53973ef9a
5 changed files with 78 additions and 13 deletions
17
flake.lock
generated
17
flake.lock
generated
|
@ -68,6 +68,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"extra-package-copilot": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694588237,
|
||||||
|
"narHash": "sha256-7LKB2JoYAVu5i23ZKBVZPe6azCItHK/tlBNPgFXxztc=",
|
||||||
|
"owner": "zerolfx",
|
||||||
|
"repo": "copilot.el",
|
||||||
|
"rev": "421703f5dd5218ec2a3aa23ddf09d5f13e5014c2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zerolfx",
|
||||||
|
"repo": "copilot.el",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"extra-package-dracula-theme": {
|
"extra-package-dracula-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -225,6 +241,7 @@
|
||||||
"extra-package-agenix-el": "extra-package-agenix-el",
|
"extra-package-agenix-el": "extra-package-agenix-el",
|
||||||
"extra-package-chatgpt": "extra-package-chatgpt",
|
"extra-package-chatgpt": "extra-package-chatgpt",
|
||||||
"extra-package-combobulate": "extra-package-combobulate",
|
"extra-package-combobulate": "extra-package-combobulate",
|
||||||
|
"extra-package-copilot": "extra-package-copilot",
|
||||||
"extra-package-dracula-theme": "extra-package-dracula-theme",
|
"extra-package-dracula-theme": "extra-package-dracula-theme",
|
||||||
"extra-package-indent-bars": "extra-package-indent-bars",
|
"extra-package-indent-bars": "extra-package-indent-bars",
|
||||||
"extra-package-nix-ts-mode": "extra-package-nix-ts-mode",
|
"extra-package-nix-ts-mode": "extra-package-nix-ts-mode",
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
url = "github:joshcho/ChatGPT.el";
|
url = "github:joshcho/ChatGPT.el";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
extra-package-copilot = {
|
||||||
|
url = "github:zerolfx/copilot.el";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {flake-parts, ...}:
|
outputs = inputs @ {flake-parts, ...}:
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
ffmpegthumbnailer
|
ffmpegthumbnailer
|
||||||
mediainfo
|
mediainfo
|
||||||
unzipNLS
|
unzipNLS
|
||||||
pkgs.tree-sitter-grammars.tree-sitter-nix
|
nodejs
|
||||||
]
|
]
|
||||||
++ (with hunspellDicts; [
|
++ (with hunspellDicts; [
|
||||||
en_US-large
|
en_US-large
|
||||||
|
|
46
init.el
46
init.el
|
@ -15,13 +15,22 @@
|
||||||
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "E"))) (get :error 'flymake-overlay-control))
|
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "E"))) (get :error 'flymake-overlay-control))
|
||||||
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "W"))) (get :warning 'flymake-overlay-control))
|
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "W"))) (get :warning 'flymake-overlay-control))
|
||||||
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "N"))) (get :note 'flymake-overlay-control))
|
;; (push `(before-string . ,(propertize " " 'display '((margin left-margin) "N"))) (get :note 'flymake-overlay-control))
|
||||||
(set-face-attribute 'flymake-error nil :inverse-video t)
|
;; TODO set following only when on terminal (where wavy underlines are not shown)
|
||||||
(set-face-attribute 'flymake-warning nil :inverse-video t)
|
;; (set-face-attribute 'flymake-error nil :inverse-video t)
|
||||||
(set-face-attribute 'flymake-note nil :inverse-video t)
|
;; (set-face-attribute 'flymake-warning nil :inverse-video t)
|
||||||
|
;; (set-face-attribute 'flymake-note nil :inverse-video t)
|
||||||
:custom
|
:custom
|
||||||
(flymake-mode-line-lighter "Fly")
|
(flymake-mode-line-lighter "Fly")
|
||||||
:hook prog-mode)
|
:hook prog-mode)
|
||||||
|
|
||||||
|
(use-package eglot
|
||||||
|
:custom
|
||||||
|
;; Tricks that should make Emacs faster
|
||||||
|
(eglot-events-buffer-size 0) ; disable events logging, it should be enabled only when debuggigng LSP servers
|
||||||
|
(eglot-sync-connect-nil 0) ; disable UI freeze when opening big files
|
||||||
|
(eglot-connect-timeout nil) ; never timeout
|
||||||
|
)
|
||||||
|
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
:bind (("<mouse-4>" . scroll-down-line)
|
:bind (("<mouse-4>" . scroll-down-line)
|
||||||
("<mouse-5>" . scroll-up-line)
|
("<mouse-5>" . scroll-up-line)
|
||||||
|
@ -52,6 +61,7 @@
|
||||||
(column-number-mode +1)
|
(column-number-mode +1)
|
||||||
(add-to-list 'default-frame-alist '(font . "Iosevka Comfy-13"))
|
(add-to-list 'default-frame-alist '(font . "Iosevka Comfy-13"))
|
||||||
(recentf-mode +1)
|
(recentf-mode +1)
|
||||||
|
(fset #'jsonrpc--log-event #'ignore) ; this should be enabled only when needed, otherwise makes Emacs slower
|
||||||
(defun ccr/reload-emacs ()
|
(defun ccr/reload-emacs ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(load-file "~/.config/emacs/init.el"))
|
(load-file "~/.config/emacs/init.el"))
|
||||||
|
@ -532,6 +542,7 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package eshell
|
(use-package eshell
|
||||||
|
:custom ((eshell-prefer-lisp-functions t))
|
||||||
:config
|
:config
|
||||||
(defun ccr/start-eshell ()
|
(defun ccr/start-eshell ()
|
||||||
(eshell 'N))
|
(eshell 'N))
|
||||||
|
@ -571,6 +582,25 @@
|
||||||
("C-c t c" . popper-cycle)
|
("C-c t c" . popper-cycle)
|
||||||
("C-c t p" . popper-toggle-type)))
|
("C-c t p" . popper-toggle-type)))
|
||||||
|
|
||||||
|
(use-package org
|
||||||
|
:hook (org-mode . variable-pitch-mode)
|
||||||
|
:custom ((org-hide-emphasis-markers t))
|
||||||
|
:config
|
||||||
|
;; FIXME the following doesn't work when using the daemon, it should be executed only
|
||||||
|
;; one time after the first frame is created
|
||||||
|
(set-face-font 'variable-pitch "Dejavu Serif 14")
|
||||||
|
(set-face-font 'fixed-pitch "Iosevka 14")
|
||||||
|
|
||||||
|
(set-face-attribute 'org-block nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-code nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-document-info-keyword nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-meta-line nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-property-value nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-special-keyword nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-tag nil :inherit 'fixed-pitch :weight 'bold :height 0.8)
|
||||||
|
(set-face-attribute 'org-verbatim nil :inherit 'fixed-pitch))
|
||||||
|
|
||||||
(use-package org-roam)
|
(use-package org-roam)
|
||||||
|
|
||||||
(use-package consult-org-roam
|
(use-package consult-org-roam
|
||||||
|
@ -597,16 +627,20 @@
|
||||||
(use-package chatgpt
|
(use-package chatgpt
|
||||||
:config
|
:config
|
||||||
(dolist (e '(("spiega" . "Spiega il seguente")
|
(dolist (e '(("spiega" . "Spiega il seguente")
|
||||||
("documenta" . "Documenta il seguente")
|
("documenta" . "Documenta il seguente usando la sintassi appropriata in modo che possa essere inserito nel codice")
|
||||||
))
|
))
|
||||||
(push e chatgpt-code-query-map))
|
(push e chatgpt-code-query-map))
|
||||||
:bind
|
:bind
|
||||||
("C-c i" . chatgpt-query))
|
("C-c i" . chatgpt-query))
|
||||||
|
|
||||||
|
(use-package copilot
|
||||||
|
:custom
|
||||||
|
(copilot-max-char -1)
|
||||||
|
:hook (prog-mode org-mode)
|
||||||
|
:bind (("C-<tab>" . copilot-accept-completion)))
|
||||||
|
|
||||||
(provide 'init)
|
(provide 'init)
|
||||||
;;; init.el ends here
|
;;; init.el ends here
|
||||||
;; Local Variables:
|
;; Local Variables:
|
||||||
;; byte-compile-warnings: (not free-vars noruntime unresolved)
|
;; byte-compile-warnings: (not free-vars noruntime unresolved)
|
||||||
;; End:
|
;; End:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,20 +4,30 @@ with epkgs; let
|
||||||
|
|
||||||
depsPerPackage = {
|
depsPerPackage = {
|
||||||
indent-bars = [compat];
|
indent-bars = [compat];
|
||||||
"chatgpt" = [polymode];
|
chatgpt = [polymode];
|
||||||
|
copilot = [editorconfig dash s];
|
||||||
|
};
|
||||||
|
|
||||||
|
overrideAttrsPerPackage = {
|
||||||
|
copilot = old: {
|
||||||
|
postInstall = ''
|
||||||
|
cp -r "$src/dist" "$LISPDIR"
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# *Attrset* containig extra emacs packages from flake inputs
|
# *Attrset* containig extra emacs packages from flake inputs
|
||||||
extraPackages = lib.mapAttrs (inputName: input: let
|
extraPackages = lib.mapAttrs (inputName: input: let
|
||||||
deps = depsPerPackage.${inputName} or [];
|
deps = depsPerPackage.${inputName} or [];
|
||||||
in
|
build = trivialBuild {
|
||||||
trivialBuild {
|
|
||||||
pname = inputName;
|
pname = inputName;
|
||||||
src = input.outPath;
|
src = input.outPath;
|
||||||
version = input.shortRev;
|
version = input.shortRev;
|
||||||
propagatedUserEnvPkgs = deps;
|
propagatedUserEnvPkgs = deps;
|
||||||
buildInputs = deps;
|
buildInputs = deps;
|
||||||
})
|
};
|
||||||
|
in
|
||||||
|
build.overrideAttrs (overrideAttrsPerPackage.${inputName} or (_: _)))
|
||||||
pkgs.extra-package-inputs;
|
pkgs.extra-package-inputs;
|
||||||
|
|
||||||
# *List* containing emacs packages from (M)ELPA
|
# *List* containing emacs packages from (M)ELPA
|
||||||
|
|
Reference in a new issue