feat: initial emacs config

This commit is contained in:
Thiago Sposito 2025-12-13 11:11:01 -03:00
parent 0cb9c93c5c
commit 2e6aa91f36
Signed by: thiago
GPG key ID: 3065EA73A976D430
4 changed files with 111 additions and 5 deletions

View file

@ -0,0 +1,37 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
emacs-all-the-icons-fonts
sbcl
];
programs.emacs = {
enable = true;
extraPackages = epkgs: with epkgs; [
use-package
magit
org
org-roam
evil
evil-collection
which-key
counsel
ivy
swiper
doom-themes
nord-theme
projectile
flycheck
company
lsp-mode
lsp-ui
dap-mode
treemacs
treemacs-evil
treemacs-projectile
sly
];
extraConfig = builtins.readFile ./init.el;
};
}

View file

@ -0,0 +1,70 @@
(require 'package)
(package-initialize)
(eval-when-compile
(require 'use-package))
(use-package evil
:init
(evil-mode 1))
(use-package evil-collection
:after evil
:config
(evil-collection-init))
(use-package which-key
:config
(which-key-mode))
(use-package ivy
:config
(ivy-mode 1))
(use-package counsel
:after ivy
:config
(counsel-mode 1))
(use-package swiper
:after ivy)
(use-package doom-themes
:config
(load-theme 'doom-one t))
(use-package projectile
:config
(projectile-mode 1))
(use-package company
:config
(global-company-mode))
(use-package flycheck
:config
(global-flycheck-mode))
(use-package lsp-mode
:hook ((python-mode . lsp)
(rust-mode . lsp)
(go-mode . lsp))
:commands lsp)
(use-package lsp-ui
:after lsp-mode
:commands lsp-ui-mode)
(use-package treemacs
:commands treemacs)
(use-package treemacs-evil
:after (treemacs evil))
(use-package treemacs-projectile
:after (treemacs projectile))
(use-package sly
:config
(setq inferior-lisp-program "sbcl"))

View file

@ -7,6 +7,7 @@
imports = [
# ./backup.nix
./custom.nix
./emacs
./gnome
./icons.nix
./nvim
@ -30,10 +31,10 @@
code-cursor
direnv
distrobox
emacs
emacs-all-the-icons-fonts
fira-code
firefox
guile
hwinfo
inkscape
keymapp

View file

@ -1,7 +1,4 @@
{
config,
lib,
pkgs,
...
}:
{
@ -20,6 +17,7 @@
export GPG_TTY=$(tty)
export EDITOR="nvim -n -c 'set noswapfile nobackup nowritebackup'"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export PATH="$HOME/.config/emacs/bin:$PATH"
'';