{ config, inputs, lib, options, pkgs, ... }: with lib; let cfg = config.samfelag.modules.editors.emacs; in { options.samfelag.modules.editors.emacs = { enable = mkEnableOption "emacs"; }; config = mkIf cfg.enable { nixpkgs.overlays = [ inputs.emacs-overlay.overlay ]; # home.file.doom-emacs = { # source = ./doom-emacs; # target = ".config/doom"; # recursive = true; # # onChange = "doom upgrade"; # }; # home.programs.emacs = { # enable = true; # # package = pkgs.emacsPgtkGcc; # extraPackages = epkgs: [ epkgs.vterm ]; # }; # home.services.emacs = { # enable = true; # client.enable = true; # socketActivation.enable = true; # }; environment.systemPackages = with pkgs; [ ## Emacs itself binutils emacs # emacsPgtkGcc ## Doom dependencies git (ripgrep.override { withPCRE2 = true; }) gnutls ## Opt deps fd imagemagick pinentry_emacs zstd # ## Modules deps # # :lang cc # ccls # cmake # gcc # glslang # # :lang haskell # stack # haskellPackages.ghcide # haskellPackages.hoogle # # :lang latex && :lang org (latex preview) # (texlive.combine { inherit (texlive) scheme-full; }) # # biber # # :lang nix # nixfmt # # :lang python # black # python3 # python3Packages.isort # # python3Packages.python-language-server # python3Packages.pytest # python3Packages.setuptools # nodePackages.pyright # # :tools lookup & :lang org +roam # sqlite # # :tools direnv # direnv # # :tools vterm # gcc # gnumake # libtool # Fonts emacs-all-the-icons-fonts # fira-code # fira-code-symbols graphviz ]; fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ]; # env.PATH = [ "$XDG_CONFIG_HOME/emacs/bin" ]; environment.sessionVariables = rec { XDG_CACHE_HOME = "$HOME/.cache"; XDG_CONFIG_HOME = "$HOME/.config"; XDG_BIN_HOME = "$HOME/.local/bin"; XDG_DATA_HOME = "$HOME/.local/share"; PATH = [ "$HOME/.config/emacs/bin" ]; }; home-manager.users.marc.xdg.configFile."doom".source = ../../../config/doom; system.userActivationScripts = { installDoomEmacs = '' EMACS_FOLDER="$HOME/.config/emacs" echo $XDG_CONFIG_HOME echo $EMACS_FOLDER if [ ! -d "$EMACS_FOLDER" ]; then ${pkgs.git}/bin/git clone --depth=1 --single-branch "https://github.com/doomemacs/doomemacs" "$EMACS_FOLDER" fi ''; }; }; }