mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-01 04:57:55 +00:00
4085fce69c
One of the bigger changes is to make the setup hardware-independent which is nice for easier (re-)installations. Finally about time it happens. Another big thing is the update of the README, now with some self-reminding pitch why choose NixOS (or something similar like GuixSD) which could be nice for other people too, provided they've come across my NixOS config. I made the module docstrings a bit more consistent (though still useless, to be honest). I've also updated config for Visual Studio Code.
67 lines
1.6 KiB
Nix
Executable File
67 lines
1.6 KiB
Nix
Executable File
# Ah yes, the bane of my endless configuration hell (or heaven, whichever your personal preferences).
|
|
# Or specifically, Org-mode...
|
|
# Doom Emacs saved me from being a configuration demon.
|
|
{ config, options, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
{
|
|
options.modules.editors.emacs = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
|
|
# Just make sure the unstable version of Emacs is available as a package by creating an overlay.
|
|
pkg = mkOption {
|
|
type = types.package;
|
|
default = pkgs.unstable.emacs;
|
|
};
|
|
};
|
|
|
|
config = mkIf config.modules.editors.emacs.enable {
|
|
my.packages = with pkgs; [
|
|
((emacsPackagesNgGen config.modules.editors.emacs.pkg).emacsWithPackages (epkgs: [
|
|
epkgs.vterm
|
|
]))
|
|
|
|
# Doom dependencies
|
|
git
|
|
(ripgrep.override { withPCRE2 = true; })
|
|
gnutls
|
|
|
|
# Optional depedencies
|
|
fd # faster projectile
|
|
imagemagick # image-dired
|
|
# (lib.mkIf (config.programs.gnupg.agent.enable)
|
|
# pinentry_emacs) # gnupg-emacs
|
|
zstd # for undo-fu-sessions
|
|
|
|
# Module dependencies
|
|
## :checkers spell
|
|
aspell
|
|
aspellDicts.en
|
|
aspellDicts.en-computers
|
|
aspellDicts.en-science
|
|
|
|
## :checkers grammar
|
|
languagetool
|
|
|
|
## :tools editorconfig
|
|
editorconfig-core-c
|
|
|
|
## :tools lookup & :lang org+roam
|
|
sqlite
|
|
];
|
|
|
|
fonts.fonts = with pkgs; [
|
|
emacs-all-the-icons-fonts
|
|
];
|
|
|
|
# Placing the Doom Emacs config.
|
|
my.home.xdg.configFile."doom" = {
|
|
source = ../../config/emacs;
|
|
recursive = true;
|
|
};
|
|
};
|
|
}
|