Add alias for emacs.

This commit is contained in:
Tom Alexander 2024-12-20 22:36:32 -05:00
parent 8f89f1c6c1
commit 764a8c58ce
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE

View File

@ -1,53 +1,65 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
plainmacs = pkgs.writeShellScriptBin "plainmacs" '' plainmacs = pkgs.writeShellScriptBin "plainmacs" ''
INIT_SCRIPT=$(cat <<EOF INIT_SCRIPT=$(cat <<EOF
(progn (progn
(setq make-backup-files nil auto-save-default nil create-lockfiles nil) (setq make-backup-files nil auto-save-default nil create-lockfiles nil)
(load-theme 'tango-dark t) (load-theme 'tango-dark t)
(set-face-attribute 'default nil :background "black") (set-face-attribute 'default nil :background "black")
;; Bright yellow highlighting for selected region ;; Bright yellow highlighting for selected region
(set-face-attribute 'region nil :background "#ffff50" :foreground "black") (set-face-attribute 'region nil :background "#ffff50" :foreground "black")
;; Bright green cursor to distinguish from yellow region ;; Bright green cursor to distinguish from yellow region
(set-cursor-color "#ccff66") (set-cursor-color "#ccff66")
;; Hightlight the current line ;; Hightlight the current line
(set-face-attribute 'line-number-current-line nil :foreground "white") (set-face-attribute 'line-number-current-line nil :foreground "white")
;; Set default font ;; Set default font
(set-face-attribute 'default nil :height 100 :width 'regular :weight 'regular :family "Cascadia Mono") (set-face-attribute 'default nil :height 100 :width 'regular :weight 'regular :family "Cascadia Mono")
;; Set fallback font for unicode glyphs ;; Set fallback font for unicode glyphs
(when (display-graphic-p) (when (display-graphic-p)
(set-fontset-font "fontset-default" nil (font-spec :name "Noto Color Emoji"))) (set-fontset-font "fontset-default" nil (font-spec :name "Noto Color Emoji")))
(menu-bar-mode -1) (menu-bar-mode -1)
(when (fboundp 'tool-bar-mode) (when (fboundp 'tool-bar-mode)
(tool-bar-mode -1)) (tool-bar-mode -1))
(when ( fboundp 'scroll-bar-mode) (when ( fboundp 'scroll-bar-mode)
(scroll-bar-mode -1)) (scroll-bar-mode -1))
(pixel-scroll-precision-mode) (pixel-scroll-precision-mode)
(setq frame-resize-pixelwise t) (setq frame-resize-pixelwise t)
) )
EOF EOF
) )
exec ${pkgs.emacs29-pgtk}/bin/emacs -q --eval "$INIT_SCRIPT" "''${@}" exec ${pkgs.emacs29-pgtk}/bin/emacs -q --eval "$INIT_SCRIPT" "''${@}"
'';
e_shorthand = pkgs.writeShellScriptBin "e" ''
exec ${pkgs.emacs29-pgtk}/bin/emacs "''${@}"
''; '';
in in
{ {
imports = []; imports = [ ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
plainmacs plainmacs
e_shorthand
emacs29-pgtk emacs29-pgtk
clang # To compile tree-sitter grammars clang # To compile tree-sitter grammars
nixd # nix language server nixd # nix language server
nixfmt-rfc-style # auto-formatting nix files through nixd
]; ];
home-manager.users.talexander = { pkgs, ... }: { home-manager.users.talexander =
home.file.".config/emacs" = { { pkgs, ... }:
source = ./files/emacs; {
recursive = true; home.file.".config/emacs" = {
source = ./files/emacs;
recursive = true;
};
}; };
};
environment.persistence."/state" = { environment.persistence."/state" = {
hideMounts = true; hideMounts = true;