diff --git a/flake.lock b/flake.lock index c0aa7d8..19e1e8c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,20 @@ { "nodes": { + "emacs-overlay": { + "locked": { + "lastModified": 1631265331, + "narHash": "sha256-B7Z8pPFRGEEh+APOvneIHSLQk33QK9bh5l8gI9tSD74=", + "owner": "nix-community", + "repo": "emacs-overlay", + "rev": "2ff125e11371b88b1c4edeaa6f96355fbfee96da", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "emacs-overlay", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1629481132, @@ -70,6 +85,7 @@ }, "root": { "inputs": { + "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "picom": "picom", diff --git a/flake.nix b/flake.nix index 967c270..a809ca6 100644 --- a/flake.nix +++ b/flake.nix @@ -2,16 +2,18 @@ description = "My awesome system config"; inputs = { - nixpkgs.url = github:nixos/nixpkgs/release-21.05; - unstable.url = github:nixos/nixpkgs/nixos-unstable; - utils.url = github:gytis-ivaskevicius/flake-utils-plus/release-1.2.0-without-deprecated-code; - + nixpkgs.url = "github:nixos/nixpkgs/release-21.05"; + unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + utils.url = "github:gytis-ivaskevicius/flake-utils-plus/release-1.2.0-without-deprecated-code"; + + emacs-overlay.url = "github:nix-community/emacs-overlay"; + home-manager = { - url = github:nix-community/home-manager/release-21.05; + url = "github:nix-community/home-manager/release-21.05"; inputs.nixpkgs.follows = "nixpkgs"; }; picom = { - url = github:jonaburg/picom; + url = "github:jonaburg/picom"; flake = false; }; }; diff --git a/modules/emacs/default.nix b/modules/emacs/default.nix index 2cac953..4ee8b13 100644 --- a/modules/emacs/default.nix +++ b/modules/emacs/default.nix @@ -1,9 +1,11 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, inputs, ... }: let base = { programs.emacs.enable = true; + programs.emacs.package = pkgs.emacsGit; services.emacs.enable = true; + services.emacs.package = pkgs.emacsGit; xdg = { enable = true; @@ -24,8 +26,43 @@ let }; }; }; + + home.packages = with pkgs; [ + ## Emacs itself + binutils # native-comp needs 'as', provided by this + # emacsPgtkGcc # 28 + pgtk + native-comp + # ((emacsPackagesNgGen emacsPgtkGcc).emacsWithPackages (epkgs: [ + # epkgs.vterm + # ])) + + ## Doom dependencies + git + (ripgrep.override {withPCRE2 = true;}) + gnutls # for TLS connectivity + + ## Optional dependencies + fd # faster projectile indexing + imagemagick # for image-dired + zstd # for undo-fu-session/undo-tree compression + + ## Module dependencies + # :checkers spell + (aspellWithDicts (ds: with ds; [ + en en-computers en-science de + ])) + # :checkers grammar + languagetool + # :tools lookup & :lang org +roam + sqlite + # :lang latex & :lang org (latex previews) + texlive.combined.scheme-medium + ]; }; in { + nixpkgs.overlays = [ inputs.emacs-overlay.overlay ]; + + fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ]; + home-manager.users.moritz = {...}: (base); }