Add doom-emacs using nix directly

Keep config as separate repo for rapid iteration
Restore Makefile
This commit is contained in:
Evie Litherland-Smith 2023-09-12 08:33:05 +01:00
parent 9cdc091141
commit 06ed0f1d52
4 changed files with 92 additions and 54 deletions

7
Makefile Normal file
View file

@ -0,0 +1,7 @@
.PHONY: test build
test:
sudo nixos-rebuild test --flake .
build:
sudo nixos-rebuild build --flake .

View file

@ -112,6 +112,22 @@
"type": "github"
}
},
"doom-emacs": {
"flake": false,
"locked": {
"lastModified": 1694469381,
"narHash": "sha256-W2igPoy27chZrM8DYtnQ3d8WavrdHMYuX+Ez4DXdMZs=",
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "a44e8d6bfd06e8746030eb1f2e6d3a200a2f4682",
"type": "github"
},
"original": {
"owner": "doomemacs",
"repo": "doomemacs",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -206,6 +222,7 @@
"catppuccin-hyprland": "catppuccin-hyprland",
"catppuccin-zathura": "catppuccin-zathura",
"catppuccin-zsh": "catppuccin-zsh",
"doom-emacs": "doom-emacs",
"home-manager": "home-manager",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs",

View file

@ -13,6 +13,10 @@
};
# Non-flake inputs
doom-emacs = {
url = "github:doomemacs/doomemacs";
flake = false;
};
wallpapers = {
url = "git+https://git.xenia.me.uk/xenia/wallpapers.git";
flake = false;

View file

@ -1,60 +1,70 @@
{ pkgs, ... }:
{
{ pkgs, inputs, ... }:
let
sessionVariables = {
DOOMLOCALDIR = "$HOME/.local/share/doomemacs";
DOOMPROFILELOADFILE = "$HOME/.local/share/doomemacs/profiles/load.el";
};
in {
imports = [ ../accounts/default.nix ../git/default.nix ];
xdg.configFile.emacs.source = inputs.doom-emacs;
systemd.user = { inherit sessionVariables; };
programs.emacs.enable = true;
home.packages = with pkgs; [
# Emacs dependencies
ripgrep
coreutils
cmake
fd
graphviz
zip
unzip
home = {
inherit sessionVariables;
sessionPath = [ "${inputs.doom-emacs}/bin" ];
packages = with pkgs; [
# Emacs dependencies
ripgrep
coreutils
cmake
fd
graphviz
zip
unzip
# Language-specific requirements
ispell
findutils
sqlite
pandoc
gfortran
texlive.combined.scheme-medium
imagemagick
python3
isort
python3Packages.cython
python3Packages.pyflakes
python3Packages.nose
python3Packages.pytest
nodePackages.stylelint
# Language-specific requirements
ispell
findutils
sqlite
pandoc
gfortran
texlive.combined.scheme-medium
imagemagick
python3
isort
python3Packages.cython
python3Packages.pyflakes
python3Packages.nose
python3Packages.pytest
nodePackages.stylelint
# Formatters
nixfmt
beautysh
black
nodePackages.fixjson
fprettify
shellharden
shfmt
stylua
python3Packages.mdformat
html-tidy
nodePackages.js-beautify
# Formatters
nixfmt
beautysh
black
nodePackages.fixjson
fprettify
shellharden
shfmt
stylua
python3Packages.mdformat
html-tidy
nodePackages.js-beautify
# LSP servers
nixd
fortls
shellcheck
marksman
luajitPackages.lua-lsp
texlab
nodePackages.pyright
nodePackages.yaml-language-server
nodePackages.bash-language-server
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-json-languageserver-bin
nodePackages.dockerfile-language-server-nodejs
];
# LSP servers
nixd
fortls
shellcheck
marksman
luajitPackages.lua-lsp
texlab
nodePackages.pyright
nodePackages.yaml-language-server
nodePackages.bash-language-server
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-json-languageserver-bin
nodePackages.dockerfile-language-server-nodejs
];
};
}