34 lines
1.0 KiB
Nix
34 lines
1.0 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
with config.lib.file;
|
|
let dotdir = "${config.home.homeDirectory}/.dotfiles";
|
|
isOnMac = pkgs.stdenv.hostPlatform.isDarwin;
|
|
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs29).emacsWithPackages;
|
|
aspell = (pkgs.aspellWithDicts (d: [d.en]));
|
|
in
|
|
{
|
|
home.packages = with pkgs; let
|
|
basePackages = [
|
|
(emacsWithPackages (epkgs: [
|
|
epkgs.melpaPackages.jinx
|
|
]))
|
|
zstd
|
|
emacs-lsp-booster
|
|
aspell
|
|
];
|
|
macPackages = basePackages ++ [ coreutils ];
|
|
in
|
|
if isOnMac then macPackages else basePackages;
|
|
|
|
xdg.configFile = {
|
|
"emacs".source = mkOutOfStoreSymlink "${dotdir}/thoom-emacs";
|
|
};
|
|
|
|
# The aspell wrapper created by aspellWithDicts only wraps the
|
|
# binary, not the library, so we need to write a config file that
|
|
# tells it where to find things for libenchant to work. See:
|
|
# https://discourse.nixos.org/t/aspell-dictionaries-are-not-available-to-enchant/39254
|
|
home.file.".aspell.conf".text = ''
|
|
dict-dir ${aspell}/lib/aspell
|
|
'';
|
|
}
|