Skip to content

0xhenrique/pachemacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pachemacs

./screenshot.png

Table of Contents

Features

The main features of Pachemacs are Vi emulation (evil-mode), Emacs as Window Manager (exwm), helm, corfu, vertico and some programming languages support with eglot. There are also some functions for downloading media with yt-dlp, converting videos with ffmpeg, Kensington Orbit trackball configuration via xinput etc.

Installing

Backup or delete your current .emacs.d directory and clone this repo:

git clone --depth=1 https://github.com/0xhenrique/pachemacs.git ~/.emacs.d

Simple as that. But if you’re willing to use EXWM I recommend that you read further.

How to remove unwanted things

There’s a file called init.el where you can simply comment or delete some of the lisp/modules.

;; If you're not an EXWM enjoyer, you can remove or comment the line below
(load "~/.emacs.d/lisp/pache-exwm.el")
;; If you're not an Evil enjoyer, you might also want to remove pache-evil below
(load "~/.emacs.d/lisp/pache-evil.el")
(load "~/.emacs.d/lisp/pache-ui.el")
(load "~/.emacs.d/lisp/pache-win.el")
(load "~/.emacs.d/lisp/pache-keys.el")
(load "~/.emacs.d/lisp/pache-misc.el")
(load "~/.emacs.d/lisp/pache-utils.el")
(load "~/.emacs.d/lisp/pache-yas.el")
(load "~/.emacs.d/lisp/pache-programming.el")
(load "~/.emacs.d/lisp/pache-irc.el")
(load "~/.emacs.d/lisp/pache-media.el")

Beware that some of those modules are required to run Pachemacs. Be careful when removing it. There is a github issue to track this problem. You can check it here.

How to create new modules

If you want to create a new module for you, then create a new file:

touch ~/.emacs.d/lisp/pache-module.el

Add the following boilerplate to the newly created module:

 ;;; pache-custom.el --- Custom Module Settings -*- lexical-binding: t -*-
 ;;; Commentary:
 ;;; Code:

 ;; This is just an example
 (setq gc-cons-threshold 100000000
	read-process-output-max (* (* 1024 1024) 3)
	inhibit-compacting-font-caches t)
 (run-with-idle-timer 2 t (lambda () (garbage-collect)))

 (provide 'pache-custom)
 ;;; pache-custom.el ends here

And call it in the init.el file like this:

(load "~/.emacs.d/lisp/pache-custom.el")