/elegant-emacs

An elegant integrated computing environment using emacs

Primary LanguageEmacs LispDo What The F*ck You Want To Public LicenseWTFPL

An elegant computing environment with emacs

  • Elegant using poet theme and iosevka font
  • Fast, robust and customizable
  • Tested with emacs 26.1 with GNU/Debian
  • Emacs vanilla key bindings

https://raw.githubusercontent.com/harshaqq/elegant-emacs/master/demo.png

Checklist

  • Emacs 26.1 is strongly recommended
  • GNU/Debian is recommended, should work with other destros also but not tested. Feel free to raise a issue in case of problem
  • Make sure you install use-package through apt
apt-get install elpa-use-package
  • You need iosevka font for good look and feel
wget https://github.com/hlissner/doom-emacs/files/2162978/fonts.tar.gz
tar -xf fonts.tar.gz
mkdir /usr/share/fonts/truetype/iosevka
mv fonts/*.ttf /usr/share/fonts/truetype/iosevka
cd /usr/share/fonts/truetype/iosevka
mkfontscale
mkfontdir
fc-cache
xset fp rehash
  • Optional: You need scrot for taking screenshots
apt-get install scrot
  • Optional: You need mplayer for playing medias using emms
apt-get install mplayer
  • Optional: You need xss-lock slock for screensaver
apt-get install xss-lock slock

Packages used in this setup

Installation

Method 1 - Simple

  • Clone the repository and move the directory to emacs.d
  • Just use below script in xinitrc, so emacs will start when you run startx
exec dbus-launch --exit-with-session emacs -f exwm-enable

Method 2 - Starting emacs as daemon and then starting emacsclient

  • Clone the repository and move the directory to emacs.d
  • Just use below script in xinitrc, so emacs will start when you run startx
exec dbus-launch --exit-with-session emacs --daemon -f exwm-enable
emacsclient -c

Method 3 - If you prefer emacs daemon through systemd

  • Clone the repository and move the directory to emacs.d
  • Use systemd to run emacs as daemon script is in .config/systemd/user/emacs.service. If you don’t want to use window manager you need to remove flag -f exwm-enable in service file
# Move Create directory for systemd like below
mkdir -p ~/.config/systemd/user
# Move emacs.service to above directory
cp .config/systemd/user/emacs.service ~/.config/systemd/user/emacs.service
# Enable the service
systemctl enable --user emacs
# Start the service 
systemctl start --user emacs
  • Use below snippet in your .xinitrc to make emacs as window manager
exec dbus-launch --exit-with-session emacsclient -c

Customization (There are three main variable you can customize for different use cases)

  • mine-appearance you can choose either elegant or default
  • mine-window-manager you can enable or disable window manager
  • mine-second-brain-location you can change to desired directory for org-mode

Work in progress

  • [-] Configuring newsticker
    • [X] Basic configuration
    • [ ] Adding more URLS
  • [X] Configuring gnus
  • [ ] Integrating with github workflow for CI
  • [X] Configure emacs as daemon using systemd
  • [X] Configuring the screensaver using slock
  • [-] Configuring grammar
    • [X] Configuring flyspell
    • [ ] Configuring stardict using sdcv
  • [ ] Starting ssh-agent on startup