2024-10-05 16:39:27 +01:00
|
|
|
{ config, pkgs, ... }:
|
2024-10-05 12:38:24 +01:00
|
|
|
{
|
2024-10-05 16:39:27 +01:00
|
|
|
imports = [
|
2024-11-14 08:43:27 +00:00
|
|
|
../shell/default.nix
|
|
|
|
../shell/git.nix
|
|
|
|
../gpg/default.nix
|
2024-10-05 16:39:27 +01:00
|
|
|
];
|
2024-10-22 11:36:21 +01:00
|
|
|
services.emacs = {
|
|
|
|
enable = true;
|
|
|
|
package = config.programs.emacs.finalPackage;
|
|
|
|
defaultEditor = true;
|
|
|
|
client.enable = true;
|
2024-12-03 07:19:51 +00:00
|
|
|
socketActivation.enable = false;
|
|
|
|
startWithUserSession = "graphical";
|
2024-07-03 07:15:39 +01:00
|
|
|
};
|
2024-10-05 16:39:27 +01:00
|
|
|
programs.emacs = {
|
|
|
|
# Clone emacs config from https://git.xenia.me.uk/pixelifytica/emacs.git
|
|
|
|
enable = true;
|
2024-11-14 13:50:55 +00:00
|
|
|
package = pkgs.emacs29.override {
|
|
|
|
withImageMagick = true;
|
|
|
|
withPgtk = true;
|
|
|
|
};
|
2024-12-02 17:43:29 +00:00
|
|
|
extraConfig = builtins.readFile ./init.el;
|
2024-10-05 16:39:27 +01:00
|
|
|
extraPackages =
|
|
|
|
epkgs: with epkgs; [
|
2024-12-02 17:16:40 +00:00
|
|
|
# UI and Appearance
|
|
|
|
delight
|
|
|
|
nerd-icons
|
|
|
|
nerd-icons-dired
|
|
|
|
nerd-icons-ibuffer
|
|
|
|
nerd-icons-corfu
|
|
|
|
visual-fill-column
|
|
|
|
# Email and Calendar
|
|
|
|
khalel
|
2024-11-25 07:44:01 +00:00
|
|
|
mu4e
|
2024-12-02 17:16:40 +00:00
|
|
|
# Other (TODO sort)
|
2024-12-02 17:43:29 +00:00
|
|
|
ligature
|
2024-12-02 17:16:40 +00:00
|
|
|
which-key
|
|
|
|
diff-hl
|
2024-12-03 09:40:01 +00:00
|
|
|
org
|
2024-12-02 17:16:40 +00:00
|
|
|
org-roam
|
|
|
|
org-noter
|
|
|
|
citar
|
|
|
|
vertico
|
|
|
|
marginalia
|
|
|
|
orderless
|
|
|
|
corfu
|
|
|
|
corfu-terminal
|
|
|
|
cape
|
|
|
|
consult
|
|
|
|
consult-eglot
|
|
|
|
tempel
|
2024-12-03 09:25:26 +00:00
|
|
|
tempel-collection
|
2024-12-02 17:16:40 +00:00
|
|
|
rainbow-delimiters
|
|
|
|
envrc
|
|
|
|
treesit-grammars.with-all-grammars
|
|
|
|
treesit-auto
|
|
|
|
apheleia
|
|
|
|
flymake-shellcheck
|
|
|
|
flymake-yamllint
|
|
|
|
flymake-clippy
|
|
|
|
flymake-eslint
|
|
|
|
magit
|
|
|
|
forge
|
|
|
|
nix-mode
|
|
|
|
lua-mode
|
2024-12-03 09:31:48 +00:00
|
|
|
python-docstring
|
2024-12-02 17:16:40 +00:00
|
|
|
auctex
|
|
|
|
markdown-mode
|
|
|
|
pandoc-mode
|
|
|
|
scad-mode
|
2024-10-05 16:39:27 +01:00
|
|
|
];
|
2024-07-03 07:15:39 +01:00
|
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
2024-07-24 08:25:37 +01:00
|
|
|
# Plugin requirements
|
|
|
|
gcc
|
2024-07-03 07:15:39 +01:00
|
|
|
sqlite
|
2024-11-14 13:50:55 +00:00
|
|
|
languagetool
|
|
|
|
wordnet
|
2024-07-03 07:15:39 +01:00
|
|
|
pandoc
|
|
|
|
ghostscript
|
|
|
|
poppler_utils
|
2024-11-14 13:50:55 +00:00
|
|
|
graphviz-nox
|
2024-07-03 07:15:39 +01:00
|
|
|
|
|
|
|
# Customised LaTeX install
|
2024-07-30 15:04:58 +01:00
|
|
|
(texlive.combine {
|
|
|
|
inherit (texlive)
|
|
|
|
scheme-medium
|
|
|
|
dvisvgm
|
|
|
|
dvipng
|
|
|
|
wrapfig
|
|
|
|
amsmath
|
|
|
|
ulem
|
|
|
|
hyperref
|
|
|
|
capt-of
|
2024-09-11 11:51:35 +01:00
|
|
|
listings
|
2024-10-31 13:41:34 +00:00
|
|
|
bera
|
2024-07-30 15:04:58 +01:00
|
|
|
;
|
2024-10-31 13:41:34 +00:00
|
|
|
latex-beamer-ukaea.pkgs = [ (callPackage ./texlive/latex-beamer-ukaea/default.nix { }) ];
|
2024-07-30 15:04:58 +01:00
|
|
|
})
|
2024-07-03 07:15:39 +01:00
|
|
|
|
|
|
|
## Linters
|
|
|
|
shellcheck
|
|
|
|
yamllint
|
2024-07-26 11:44:58 +01:00
|
|
|
ruff
|
2024-07-03 07:15:39 +01:00
|
|
|
|
|
|
|
## Formatters
|
2024-07-30 15:04:58 +01:00
|
|
|
nixfmt-rfc-style
|
2024-07-03 07:15:39 +01:00
|
|
|
shfmt
|
2024-07-26 11:44:58 +01:00
|
|
|
stylua
|
2024-07-03 07:15:39 +01:00
|
|
|
nodePackages.prettier
|
2024-09-23 10:17:24 +01:00
|
|
|
nodePackages.prettier-plugin-toml
|
2024-07-03 07:15:39 +01:00
|
|
|
|
|
|
|
## Language servers
|
2024-07-30 15:04:58 +01:00
|
|
|
nixd
|
2024-12-03 10:36:45 +00:00
|
|
|
lua-language-server
|
|
|
|
rust-analyzer
|
2024-12-03 10:39:32 +00:00
|
|
|
python3Packages.python-lsp-server
|
|
|
|
nodePackages.typescript-language-server
|
2024-07-15 06:58:00 +01:00
|
|
|
|
2024-07-03 07:15:39 +01:00
|
|
|
];
|
2024-11-27 13:12:23 +00:00
|
|
|
xdg.configFile."ruff/pyproject.toml".source = ./ruff.toml;
|
2024-07-03 07:15:39 +01:00
|
|
|
}
|