79 lines
2 KiB
Nix
79 lines
2 KiB
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./android
|
|
./docker
|
|
./git
|
|
];
|
|
|
|
options.chvp.development.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
|
|
config = lib.mkIf config.chvp.development.enable {
|
|
chvp = {
|
|
base.emacs.extraConfig = [
|
|
''
|
|
;; Editorconfig
|
|
(use-package editorconfig
|
|
:diminish (editorconfig-mode)
|
|
:custom (editorconfig-get-properties-function 'editorconfig-get-properties)
|
|
:config (editorconfig-mode 1)
|
|
)
|
|
|
|
;; Language server support
|
|
(use-package lsp-mode :commands (lsp))
|
|
|
|
;; Markdown syntax support
|
|
(use-package markdown-mode
|
|
:commands (markdown-mode gfm-mode)
|
|
:mode ("README\\.md\\'" . gfm-mode)
|
|
:mode ("\\.md\\'" . markdown-mode)
|
|
:mode ("\\.markdown\\'" . markdown-mode)
|
|
)
|
|
|
|
;; YAML syntax support
|
|
(use-package yaml-mode
|
|
:mode "\\.yml\\'"
|
|
:mode "\\.yaml\\'"
|
|
)
|
|
|
|
;; R language support
|
|
(use-package ess)
|
|
|
|
;; Haskell language support
|
|
(use-package haskell-mode
|
|
:mode "\\.hs\\'")
|
|
|
|
;; Python syntax support
|
|
(use-package python-mode :mode "\\.py\\'")
|
|
|
|
;; Ruby language support
|
|
(use-package ruby-mode
|
|
:ensure nil ;; Included with emacs
|
|
:custom
|
|
(ruby-insert-encoding-magic-comment nil "Don't insert encoding magic comment")
|
|
)
|
|
|
|
;; TypeScript language support
|
|
(use-package typescript-mode
|
|
:mode "\\.ts\\'")
|
|
|
|
;; HTML (and HTML template) support
|
|
(use-package web-mode
|
|
:mode "\\.html\\'"
|
|
:mode "\\.html\\.erb\\'"
|
|
)
|
|
''
|
|
];
|
|
development = {
|
|
docker.enable = lib.mkDefault true;
|
|
git.enable = lib.mkDefault true;
|
|
};
|
|
};
|
|
|
|
boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288;
|
|
};
|
|
}
|