Evie Litherland-Smith
94e1a23bf2
Switched back to tokyo-night for base scheme but disable a lot of stylix config (and selectively re-enable for certain modules). Manually theme things using the tokyonight palette for a nicer and more cohesive experience Also change to a new wallpaper, fits scheme better as well Added named workspaces for common programs (emacs, chromium, steam) and keep numbered workspaces as generic scratch space Move MPRIS to right section, add hyprland/window module (with a separator bar)
176 lines
3.4 KiB
Nix
176 lines
3.4 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
xdg.configFile = {
|
|
"emacs/init.el".source = ./init.el;
|
|
"emacs/snippets".source = ./snippets;
|
|
};
|
|
programs.emacs = {
|
|
enable = true;
|
|
package = pkgs.emacs29-pgtk;
|
|
extraPackages = epkgs:
|
|
with epkgs; [
|
|
# themes
|
|
modus-themes
|
|
theme-magic
|
|
|
|
# defaults-packages
|
|
god-mode
|
|
|
|
# completion-packages
|
|
cape
|
|
consult
|
|
corfu
|
|
corfu-terminal
|
|
embark
|
|
embark-consult
|
|
marginalia
|
|
orderless
|
|
vertico
|
|
|
|
# ide-packages
|
|
vterm
|
|
ibuffer-project
|
|
treesit-grammars.with-all-grammars
|
|
treesit-auto
|
|
apheleia
|
|
direnv
|
|
goto-chg
|
|
rainbow-delimiters
|
|
nix-mode
|
|
anaconda-mode
|
|
rust-mode
|
|
lua-mode
|
|
|
|
# media-packages
|
|
emms
|
|
|
|
# org-packages
|
|
org-roam
|
|
org-noter
|
|
org-appear
|
|
org-cliplink
|
|
org-journal
|
|
org-modern
|
|
citar
|
|
citar-embark
|
|
citar-org-roam
|
|
khalel
|
|
|
|
# project-packages
|
|
magit
|
|
forge
|
|
git-timemachine
|
|
|
|
# social-packages
|
|
mastodon
|
|
ement
|
|
|
|
# ui-packages
|
|
all-the-icons
|
|
nerd-icons
|
|
nerd-icons-completion
|
|
nerd-icons-dired
|
|
nerd-icons-ibuffer
|
|
ligature
|
|
page-break-lines
|
|
dashboard
|
|
doom-modeline
|
|
centaur-tabs
|
|
helpful
|
|
which-key
|
|
link-hint
|
|
darkroom
|
|
|
|
# writing-packages
|
|
pdf-tools
|
|
markdown-mode
|
|
pandoc-mode
|
|
auctex
|
|
auctex-latexmk
|
|
latex-preview-pane
|
|
|
|
# email-packages
|
|
mu4e
|
|
mu4e-alert
|
|
|
|
# feed-packages
|
|
elfeed
|
|
elfeed-org
|
|
elfeed-webkit
|
|
elfeed-tube
|
|
elfeed-tube-mpv
|
|
];
|
|
};
|
|
services.git-sync = {
|
|
enable = true;
|
|
repositories = with config.home; {
|
|
org = {
|
|
path = "${homeDirectory}/Org";
|
|
uri = "git+https://git.xenia.me.uk/xenia/Org.git";
|
|
};
|
|
references = {
|
|
path = "${homeDirectory}/.references";
|
|
uri = "git+https://git.xenia.me.uk/xenia/references.git";
|
|
};
|
|
elfeed = {
|
|
path = "${homeDirectory}/.elfeed";
|
|
uri = "git+https://git.xenia.me.uk/xenia/elfeed.git";
|
|
};
|
|
};
|
|
};
|
|
home.packages = with pkgs; [
|
|
# Emacs requirements
|
|
coreutils
|
|
fd
|
|
ripgrep
|
|
imagemagick
|
|
languagetool
|
|
wordnet
|
|
(aspellWithDicts (ds: with ds; [ en en-computers en-science ]))
|
|
|
|
# Language-specific requirements
|
|
sqlite
|
|
pandoc
|
|
gfortran
|
|
rustup
|
|
texlive.combined.scheme-full
|
|
ghostscript
|
|
mupdf
|
|
(python3.withPackages
|
|
(ps: with ps; [ python-lsp-server python-lsp-ruff pylsp-mypy ]))
|
|
|
|
# Linters
|
|
nodePackages.stylelint
|
|
|
|
# Formatters
|
|
nixfmt
|
|
beautysh
|
|
black
|
|
isort
|
|
nodePackages.fixjson
|
|
fprettify
|
|
shellharden
|
|
shfmt
|
|
stylua
|
|
python3Packages.mdformat
|
|
html-tidy
|
|
nodePackages.js-beautify
|
|
|
|
# LSP Servers
|
|
nixd
|
|
fortls
|
|
shellcheck
|
|
marksman
|
|
luajitPackages.lua-lsp
|
|
# nodePackages.pyright
|
|
nodePackages.yaml-language-server
|
|
nodePackages.bash-language-server
|
|
nodePackages.javascript-typescript-langserver
|
|
nodePackages.vscode-html-languageserver-bin
|
|
nodePackages.vscode-css-languageserver-bin
|
|
nodePackages.vscode-json-languageserver-bin
|
|
nodePackages.dockerfile-language-server-nodejs
|
|
];
|
|
}
|