2023-03-21 09:42:55 +01:00
|
|
|
{ unstable }: { pkgs, ... }:
|
2022-03-03 19:30:18 +01:00
|
|
|
{
|
2022-04-17 14:12:38 +02:00
|
|
|
home.packages = with pkgs; [
|
2023-01-23 13:44:35 +01:00
|
|
|
fd
|
2022-05-26 15:20:45 +02:00
|
|
|
multimarkdown
|
2022-04-17 14:12:38 +02:00
|
|
|
pandoc
|
2023-03-21 10:12:10 +01:00
|
|
|
python310
|
2023-03-21 08:50:24 +01:00
|
|
|
python310Packages.pip
|
2022-12-09 21:32:19 +01:00
|
|
|
python310Packages.python-lsp-server
|
2022-12-30 16:00:25 +01:00
|
|
|
ripgrep
|
|
|
|
silver-searcher
|
2022-04-17 14:12:38 +02:00
|
|
|
];
|
|
|
|
|
2022-03-03 19:30:18 +01:00
|
|
|
programs.emacs = {
|
|
|
|
enable = true;
|
2022-06-07 19:53:31 +02:00
|
|
|
extraConfig = ''
|
2022-06-07 22:54:26 +02:00
|
|
|
(setq languagetool-java-arguments '("-Dfile.encoding=UTF-8"
|
|
|
|
"-cp" "${pkgs.languagetool}/share/")
|
|
|
|
languagetool-java-bin "${pkgs.jdk17_headless}/bin/java"
|
|
|
|
languagetool-console-command "${pkgs.languagetool}/share/languagetool-commandline.jar"
|
|
|
|
languagetool-server-command "${pkgs.languagetool}/share/languagetool-server.jar")
|
2022-06-07 19:53:31 +02:00
|
|
|
'';
|
2022-03-03 19:30:18 +01:00
|
|
|
extraPackages = epkgs: with pkgs;[
|
2023-01-18 17:29:27 +01:00
|
|
|
epkgs.ag
|
2022-04-17 20:45:52 +02:00
|
|
|
epkgs.amx
|
2023-01-23 16:30:02 +01:00
|
|
|
epkgs.annotate
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.avy
|
|
|
|
epkgs.bind-key
|
|
|
|
epkgs.cfrs
|
|
|
|
epkgs.citeproc
|
|
|
|
epkgs.company
|
|
|
|
epkgs.company-restclient
|
|
|
|
epkgs.company-web
|
|
|
|
epkgs.counsel
|
2023-01-16 11:01:51 +01:00
|
|
|
epkgs.counsel-tramp
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.dired-hide-dotfiles
|
2022-03-03 22:27:46 +01:00
|
|
|
epkgs.direnv
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.discover-my-major
|
|
|
|
epkgs.elisp-refs
|
|
|
|
epkgs.epl
|
|
|
|
epkgs.evil
|
2022-08-18 20:33:04 +02:00
|
|
|
epkgs.evil-collection
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.evil-surround
|
|
|
|
epkgs.f
|
|
|
|
epkgs.flycheck
|
2022-03-27 13:46:25 +02:00
|
|
|
epkgs.format-all
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.general
|
|
|
|
epkgs.helpful
|
|
|
|
epkgs.highlight-indent-guides
|
|
|
|
epkgs.ht
|
|
|
|
epkgs.htmlize
|
|
|
|
epkgs.hydra
|
|
|
|
epkgs.know-your-http-well
|
2022-06-07 19:53:31 +02:00
|
|
|
epkgs.languagetool
|
2023-05-01 19:18:27 +02:00
|
|
|
epkgs.lsp-mode
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.lv
|
|
|
|
epkgs.magit
|
|
|
|
epkgs.makey
|
|
|
|
epkgs.markdown-mode
|
|
|
|
epkgs.move-text
|
2022-09-03 08:47:07 +02:00
|
|
|
epkgs.multi-vterm
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.nix-mode
|
2023-04-24 16:16:04 +02:00
|
|
|
epkgs.olivetti
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.parsebib
|
|
|
|
epkgs.pdf-tools
|
|
|
|
epkgs.pfuture
|
|
|
|
epkgs.pkg-info
|
|
|
|
epkgs.posframe
|
|
|
|
epkgs.powershell
|
2022-12-31 11:17:45 +01:00
|
|
|
epkgs.projectile
|
2023-01-18 17:29:27 +01:00
|
|
|
epkgs.projectile-ripgrep
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.python-mode
|
|
|
|
epkgs.queue
|
|
|
|
epkgs.rainbow-delimiters
|
|
|
|
epkgs.restclient
|
2023-01-18 17:29:27 +01:00
|
|
|
epkgs.ripgrep
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.smooth-scrolling
|
|
|
|
epkgs.solarized-theme
|
|
|
|
epkgs.string-inflection
|
|
|
|
epkgs.swiper
|
|
|
|
epkgs.system-packages
|
|
|
|
epkgs.use-package
|
|
|
|
epkgs.use-package-ensure-system-package
|
2022-08-31 19:07:38 +02:00
|
|
|
epkgs.vterm
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.web-completion-data
|
|
|
|
epkgs.web-mode
|
2022-07-05 10:12:33 +02:00
|
|
|
epkgs.wgrep
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.which-key
|
2022-12-09 17:17:07 +01:00
|
|
|
epkgs.xclip
|
2022-03-03 19:30:18 +01:00
|
|
|
epkgs.yaml-mode
|
|
|
|
epkgs.yasnippet-snippets
|
2022-12-30 16:37:15 +01:00
|
|
|
epkgs.zetteldeft
|
2023-01-23 13:44:35 +01:00
|
|
|
languagetool
|
|
|
|
mu # needed for mailing
|
|
|
|
python310Packages.autopep8
|
|
|
|
python310Packages.black
|
|
|
|
python310Packages.flake8
|
|
|
|
python310Packages.jedi
|
|
|
|
python310Packages.pip
|
|
|
|
python310Packages.yapf
|
|
|
|
rufo # formatter for Ruby
|
2023-03-20 21:27:02 +01:00
|
|
|
xclip # X11 clipboard from terminal
|
2022-03-03 19:30:18 +01:00
|
|
|
];
|
|
|
|
};
|
2022-03-03 21:35:36 +01:00
|
|
|
home.file.".emacs.d/init.el".source = ./emacs.d/init.el;
|
2022-03-03 19:30:18 +01:00
|
|
|
home.file.".emacs.d/snippets".source = ./emacs.d/snippets;
|
2023-03-20 16:15:42 +01:00
|
|
|
services.emacs = {
|
|
|
|
enable = true;
|
|
|
|
client.enable = true;
|
|
|
|
};
|
2022-09-02 22:53:16 +02:00
|
|
|
|
|
|
|
programs.bash = {
|
|
|
|
enable = true;
|
|
|
|
bashrcExtra = ''
|
|
|
|
vterm_printf(){
|
|
|
|
if [ -n "$TMUX" ] && ([ "\$\{TERM%%-*}" = "tmux" ] || [ "\$\{TERM%%-*}" = "screen" ] ); then
|
|
|
|
# Tell tmux to pass the escape sequences through
|
|
|
|
printf "\ePtmux;\e\e]%s\007\e\\" "$1"
|
|
|
|
elif [ "\$\{TERM%%-*}" = "screen" ]; then
|
|
|
|
# GNU screen (screen, screen-256color, screen-256color-bce)
|
|
|
|
printf "\eP\e]%s\007\e\\" "$1"
|
|
|
|
else
|
|
|
|
printf "\e]%s\e\\" "$1"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
vterm_prompt_end(){
|
|
|
|
vterm_printf "51;A$(whoami)@$(hostname):$(pwd)"
|
|
|
|
}
|
|
|
|
PS1=$PS1'\[$(vterm_prompt_end)\]'
|
|
|
|
'';
|
|
|
|
};
|
2022-03-03 19:30:18 +01:00
|
|
|
}
|