Manage doom manually
This commit is contained in:
parent
25f776ddff
commit
00fec679ba
4 changed files with 134 additions and 30 deletions
|
|
@ -98,12 +98,13 @@
|
|||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
;;pdf ; pdf enhancements
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
|
|
|
|||
|
|
@ -9,16 +9,29 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
home-manager.users.${config.user.name} = {
|
||||
|
||||
imports = [ inputs.nix-doom-emacs.hmModule ];
|
||||
nixpkgs.overlays = [ inputs.emacs-overlay.overlay ];
|
||||
|
||||
home.packages = with pkgs.unstable; [
|
||||
binutils
|
||||
ripgrep
|
||||
fd
|
||||
findutils.locate
|
||||
|
||||
metals
|
||||
rnix-lsp
|
||||
nixfmt
|
||||
terraform
|
||||
pandoc
|
||||
|
||||
# Formatters and linters
|
||||
nixfmt # nix formatter
|
||||
shfmt # sh formatter
|
||||
shellcheck # sh linter
|
||||
html-tidy # HTML formatter
|
||||
nodePackages.stylelint # CSS linter
|
||||
nodePackages.js-beautify # JS/CSS/HTML formatter
|
||||
|
||||
# LSPs
|
||||
metals # Scala
|
||||
rnix-lsp # Nix
|
||||
phpactor # PHP
|
||||
|
||||
# Used by org-roam
|
||||
sqlite
|
||||
|
|
@ -27,30 +40,68 @@ in {
|
|||
# Used by elfeed-tube
|
||||
yt-dlp
|
||||
mpv
|
||||
|
||||
# Used by dirvish
|
||||
imagemagick
|
||||
ffmpegthumbnailer
|
||||
mediainfo
|
||||
poppler_utils
|
||||
gnutar
|
||||
unzip
|
||||
];
|
||||
|
||||
services.emacs = {
|
||||
enable = true;
|
||||
client.enable = true;
|
||||
package = with pkgs;
|
||||
((emacsPackagesFor emacsNativeComp).emacsWithPackages
|
||||
(epkgs: [ epkgs.vterm ]));
|
||||
};
|
||||
|
||||
programs.doom-emacs = {
|
||||
# Use either this or nix-doom-emacs
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
doomPrivateDir = ./doom.d;
|
||||
emacsPackagesOverlay = final: prev: {
|
||||
ob-ammonite = with final;
|
||||
(trivialBuild {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zwild";
|
||||
repo = "ob-ammonite";
|
||||
rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
||||
sha256 = pkgs.lib.fakeSha256;
|
||||
};
|
||||
pname = "ob-ammonite";
|
||||
packageRequires = [ s dash editorconfig ];
|
||||
});
|
||||
};
|
||||
package = with pkgs;
|
||||
((emacsPackagesFor emacsNativeComp).emacsWithPackages
|
||||
(epkgs: [ epkgs.vterm ]));
|
||||
};
|
||||
xdg.configFile = { "doom" = { source = ./doom.d; }; };
|
||||
home.sessionPath = [
|
||||
"${
|
||||
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||
}/emacs/bin"
|
||||
];
|
||||
home.activation = {
|
||||
installDoomEmacs = ''
|
||||
if [ ! -d "${
|
||||
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||
}/emacs" ]; then
|
||||
git clone --depth=1 --single-branch https://github.com/doomemacs/doomemacs "${
|
||||
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||
}/emacs"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
# imports = [ inputs.nix-doom-emacs.hmModule ];
|
||||
# programs.doom-emacs = {
|
||||
# enable = true;
|
||||
# doomPrivateDir = ./doom.d;
|
||||
# emacsPackagesOverlay = final: prev: {
|
||||
# ob-ammonite = with final;
|
||||
# (trivialBuild {
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
# owner = "zwild";
|
||||
# repo = "ob-ammonite";
|
||||
# rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
||||
# sha256 = pkgs.lib.fakeSha256;
|
||||
# };
|
||||
# pname = "ob-ammonite";
|
||||
# packageRequires = [ s dash editorconfig ];
|
||||
# });
|
||||
# };
|
||||
# };
|
||||
};
|
||||
fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue