emacs setup
This commit is contained in:
@@ -138,6 +138,8 @@
|
||||
nodejs
|
||||
musescore
|
||||
ranger
|
||||
anki-bin
|
||||
flutter
|
||||
|
||||
# nvim
|
||||
lunarvim
|
||||
|
||||
@@ -203,6 +203,7 @@ programs.zsh = {
|
||||
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
|
||||
emacs = "emacs -nw";
|
||||
};
|
||||
zplug = {
|
||||
enable = true;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
./waybar
|
||||
./wpaperd
|
||||
./nvim
|
||||
./emacs
|
||||
# ./kitty
|
||||
# ./hyprland
|
||||
# ./vscode
|
||||
|
||||
1
packages/emacs/config.el
Normal file
1
packages/emacs/config.el
Normal file
@@ -0,0 +1 @@
|
||||
(load-theme 'zerodark t)
|
||||
66
packages/emacs/default.nix
Normal file
66
packages/emacs/default.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages;
|
||||
in {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(telephone-line-mode 1)
|
||||
|
||||
(require 'nix-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
|
||||
|
||||
(require 'evil)
|
||||
|
||||
(evil-mode 1)
|
||||
|
||||
(require 'smex)
|
||||
(smex-initialize)
|
||||
|
||||
(global-set-key (kbd "M-x") 'smex)
|
||||
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
|
||||
;; This is your old M-x.
|
||||
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)
|
||||
|
||||
|
||||
(add-hook 'dart-mode-hook 'lsp)
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
|
||||
(setq gc-cons-threshold (* 100 1024 1024)
|
||||
read-process-output-max (* 1024 1024))
|
||||
|
||||
;;Exit insert mode by pressing j and then k quickly
|
||||
(setq key-chord-two-keys-delay 0.5)
|
||||
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
|
||||
(key-chord-mode 1)
|
||||
|
||||
'';
|
||||
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
|
||||
catppuccin-theme
|
||||
])
|
||||
++ (with epkgs.melpaPackages; [
|
||||
evil
|
||||
nix-mode
|
||||
dart-mode
|
||||
lsp-dart
|
||||
lsp-treemacs
|
||||
flycheck
|
||||
lsp-mode
|
||||
company
|
||||
rainbow-delimiters
|
||||
undo-fu
|
||||
key-chord
|
||||
telephone-line
|
||||
smex
|
||||
ranger
|
||||
])
|
||||
++ (with epkgs.elpaPackages; [
|
||||
undo-tree
|
||||
])
|
||||
++ [ pkgs.notmuch ]);
|
||||
};
|
||||
}
|
||||
|
||||
32
packages/emacs/default.nix~
Normal file
32
packages/emacs/default.nix~
Normal file
@@ -0,0 +1,32 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages;
|
||||
in {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
|
||||
(require 'nix-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
|
||||
|
||||
(require 'evil)
|
||||
|
||||
(evil-mode 1)
|
||||
|
||||
'';
|
||||
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
|
||||
catppuccin-theme
|
||||
])
|
||||
++ (with epkgs.melpaPackages; [
|
||||
evil
|
||||
nix-mode
|
||||
lsp-mode
|
||||
])
|
||||
++ (with epkgs.elpaPackages; [
|
||||
])
|
||||
++ [ pkgs.notmuch ]);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user