nixify emacs

This commit is contained in:
illustris 2023-04-06 03:22:48 +05:30
parent b782a63334
commit 4e482a6442
Signed by: illustris
GPG Key ID: 56C8FC0B899FEFA3
3 changed files with 60 additions and 2 deletions

View File

@ -65,7 +65,23 @@
}; };
home-manager.users.illustris = { ... }: { home-manager.users.illustris = { ... }: {
home.stateVersion = "23.05"; home = {
file.".emacs.d" = {
source = ./emacs.d;
recursive = true;
};
stateVersion = "23.05";
};
programs.emacs = {
enable = true;
extraPackages = (
epkgs: (with epkgs; [
material-theme
nix-mode
color-theme-modern
])
);
};
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
defaultCacheTtl = 60*60*12; defaultCacheTtl = 60*60*12;

View File

@ -12,7 +12,6 @@
# blender # blender
dmenu dmenu
dunst dunst
emacs
firefox firefox
flutter flutter
gimp gimp

43
emacs.d/init.el Normal file
View File

@ -0,0 +1,43 @@
;; Set keybindings for cycling buffers
(global-set-key [C-prior] 'previous-buffer)
(global-set-key [C-next] 'next-buffer)
(setq mouse-yank-at-point t)
(setq load-prefer-newer t)
(setq-default c-basic-offset 8
tab-width 8
indent-tabs-mode t)
(global-set-key (kbd "C-x k") 'kill-this-buffer)
(put 'scroll-left 'disabled nil)
(load-theme 'cobalt t t)
(enable-theme 'cobalt)
(defun toggle-indentation ()
"Toggle between tabs and spaces for indentation."
(interactive)
(if indent-tabs-mode
(progn
(setq-local indent-tabs-mode nil)
(setq-local tab-width 2)
)
(progn
(setq-local indent-tabs-mode t)
(setq-local tab-width 8)
)
)
(message "Indentation set to: %s" (if indent-tabs-mode "tabs" "spaces"))
)
(eval-after-load 'nix-mode
(add-hook 'nix-mode-hook
(lambda ()
(define-key nix-mode-map (kbd "<f8>") 'toggle-indentation)
(setq-local indent-tabs-mode t)
(setq-local tab-width 8)
)
)
)