nixos-config/modules/development/default.nix
Charlotte Van Petegem 0fc6c32a47
Reorganize repository
2021-07-10 09:03:38 +02:00

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;
};
}