diff --git a/modules/home/default.nix b/modules/home/default.nix index bb8246c..2f90c2d 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -2,6 +2,7 @@ { imports = [ (import ./git.nix) ] + ++ [ (import ./doom-emacs.nix) ] ++ [ (import ./swaync/default.nix) ] ++ [ (import ./sway/default.nix) ] ++ [ (import ./fonts.nix) ] diff --git a/modules/home/doom-emacs.nix b/modules/home/doom-emacs.nix new file mode 100644 index 0000000..6306450 --- /dev/null +++ b/modules/home/doom-emacs.nix @@ -0,0 +1,47 @@ +{ + config, + pkgs, + username, + ... +}: +let + emacsdir = "/home/${username}/.config/emacs"; + doom-install = pkgs.writeShellApplication { + name = "doom-install"; + runtimeInputs = [ config.programs.git.package ]; + text = '' + EMACS=${emacsdir} + + if [ ! -f "$EMACS/bin/doom" ]; then + git clone https://github.com/hlissner/doom-emacs.git $EMACS + yes | $EMACS/bin/doom install + $EMACS/bin/doom sync + fi + ''; + }; +in +{ + services.emacs = { + enable = true; + package = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs: [ + epkgs.vterm + epkgs.treesit-grammars.with-all-grammars + ]); + }; + + # add doom to path + home = { + # sessionVariables = { + # PATH = [ "$HOME/.config/emacs/bin" ]; + # DOOMDIR = "/home/${username}/flake/modules/home/doom-config/"; + # }; + + packages = [ + doom-install + pkgs.emacs + pkgs.shellcheck + pkgs.symbola + pkgs.nerd-fonts.symbols-only + ]; + }; +} diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index 87e3d35..7329214 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -52,7 +52,8 @@ }; initContent = '' - export PATH="''${PATH}:''${HOME}/.local/bin/:''${HOME}/.cargo/bin/:''${HOME}/.fzf/bin/" + export PATH="''${PATH}:''${HOME}/.local/bin/:''${HOME}/.cargo/bin/:''${HOME}/.fzf/bin/:''${HOME}/.config/emacs/bin" + export DOOMDIR="''${HOME}/flake/modules/home/doom-config/"; preview_cmd=' if file --mime-type {} | grep -qF image/; then