101 lines
2.3 KiB
Nix
Raw Normal View History

2021-03-30 14:05:31 +03:00
{ pkgs, config, lib, inputs, ... }:
let
emacs = pkgs.emacsPgtk;
in {
2021-02-08 23:29:43 +03:00
# secrets-envsubst.emacs = {
# owner = "balsoft:users";
# directory = "emacs";
2021-02-08 23:29:43 +03:00
# };
2021-06-10 18:58:51 +03:00
persist.state.homeFiles =
[ ".config/emacs/custom" ".config/emacs/eshell/history" ];
2021-06-08 19:35:21 +03:00
defaultApplications.editor = {
2021-07-27 14:23:46 +03:00
cmd = toString (pkgs.writeShellScript "emacsclient-newwindow" ''
${config.home-manager.users.balsoft.programs.emacs.finalPackage}/bin/emacsclient -c "$@"
'');
desktop = "emacsclient";
};
2020-02-17 16:00:59 +03:00
home-manager.users.balsoft = {
programs.emacs = {
enable = true;
2021-03-30 14:05:31 +03:00
package = emacs;
2020-02-17 16:00:59 +03:00
extraPackages = epkgs:
with epkgs; [
use-package
nix-mode
haskell-mode
exec-path-from-shell
counsel
projectile
which-key
markdown-mode
frames-only-mode
company
rainbow-delimiters
diff-hl
mode-line-bell
flycheck
flycheck-pkg-config
auto-indent-mode
company-ghci
expand-region
ivy
smex
quickrun
counsel-tramp
ix
magit
elixir-mode
company-box
ws-butler
yaml-mode
gitlab-ci-mode
gitlab-ci-mode-flycheck
gitlab
2020-07-16 16:46:49 +03:00
undo-tree
2020-09-14 01:36:22 +03:00
rust-mode
2020-10-18 13:28:27 +03:00
edit-indirect
2020-12-25 20:13:04 +03:00
idris-mode
2020-12-04 13:20:51 +03:00
lsp-mode
2021-02-28 19:06:01 +03:00
envrc
2021-03-01 13:04:17 +03:00
lsp-haskell
2021-05-08 01:22:06 +03:00
treemacs
lsp-treemacs
treemacs-projectile
dap-mode
2021-05-18 15:50:49 +03:00
forge
2021-05-25 14:04:21 +03:00
crdt
2021-06-10 18:58:51 +03:00
base16-theme
2021-07-30 13:15:18 +03:00
org-caldav
2021-10-29 18:51:45 +03:00
evil
2021-11-28 18:07:13 +03:00
tuareg
2021-11-30 15:04:22 +03:00
fira-code-mode
2021-12-07 14:10:24 +03:00
terraform-mode
2022-02-21 23:37:26 +03:00
dhall-mode
2020-02-17 16:00:59 +03:00
];
};
home.packages = [ pkgs.clang ];
2020-02-17 16:00:59 +03:00
services.emacs.enable = true;
2021-07-24 01:23:37 +03:00
systemd.user.services.emacs = {
Service = {
Environment =
"PATH=/run/current-system/sw/bin:/etc/profiles/per-user/balsoft/bin";
2021-09-23 20:13:38 +03:00
};
Unit.After = [ "sway-session.target" ];
2021-09-23 20:13:38 +03:00
Install = {
WantedBy = lib.mkForce [ "sway-session.target" ];
2021-07-24 01:23:37 +03:00
};
};
2020-02-17 16:00:59 +03:00
2021-06-10 18:58:51 +03:00
xdg.configFile."emacs/init.el".source = pkgs.substituteAll ({
src = ./init.el;
font = with config.themes.fonts; "${mono.family} ${toString mono.size}";
2021-12-23 21:23:03 +03:00
} // pkgs.my-lib.thmHash config.themes.colors);
2020-02-17 16:00:59 +03:00
};
}