Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/russmatney/dotfiles

Doom Emacs, a few-years old vim config, tmux, i3, zsh, polybar
https://github.com/russmatney/dotfiles

doom-emacs i3 tmux zsh

Last synced: about 1 month ago
JSON representation

Doom Emacs, a few-years old vim config, tmux, i3, zsh, polybar

Awesome Lists containing this project

README

        

#+title: dotfiles
#+STARTUP: content

#+html:


#+html:

#+html:
#+html: Itch.io Badge
#+html:

#+html:
#+html: Mastodon Badge
#+html:

#+html:
#+html: Twitch Badge
#+html:

#+html:
#+html: Patreon Badge
#+html:

#+html:
#+html: Discord
#+html:

#+html:

#+html:
#+html:


#+html: Hi there! I'm Russ!
#+html:
#+html:


#+html:

Welcome to my dotfiles!

* Clawe
#+begin_src quote
for clojure-y WM control
#+end_src

Most of my development environment (keybindings, window management stuff) is
managed through [[https://github.com/russmatney/clawe][russmatney/clawe]] - be sure to check that out if you're
interested!
* Emacs
Via Doom Emacs. See ~emacs/.doom.d/*~.

Quick links:

- Doom modules: [[file:./emacs/.config/doom/init.el][.config/doom/init.el]]
- Main config: [[file:./emacs/.config/doom/config.el][.config/doom/config.el]]
- Packages: [[file:./emacs/.config/doom/packages.el][.config/doom/packages.el]]

- Keybindings: [[file:./emacs/.config/doom/+bindings.el][.config/doom/+bindings.el]]
- Hydra: [[file:./emacs/.config/doom/+hydra.el][.config/doom/+hydra.el]]
- Org: [[file:./emacs/.config/doom/+org-custom.el][.config/doom/+org-custom.el]]
- Langs: [[file:./emacs/.config/doom/+langs.el][.config/doom/+langs.el]]
* Tmux
Tmux allows terminal sessions to persist after Alacritty (or whatever terminal
program) is closed/re-opened.

- [[file:tmux/.tmux.conf][Tmux config]]
* Zsh
Plugins are handled via antibody.

- [[file:zsh/.zshrc][Zsh config]]
* Neovim
Recently I'm poking around in neovim a bit, out of curiosity. Things are
farther along since I was last a full-time vim user, including lua (and fennel)
support, and misc ui-improvements. Maybe Neovim can rival normal emacs usage
someday!

Lately, I'm on an out-of-the-box AstroVim setup, to support random one-off vim
moments.

* ~stow~-based dotfiles
These files are structured to take advantage of ~GNU Stow~ for installation and
symlink handling. ~stow foo~ will create symlinks for everything in the ~./foo~
directory exactly one relative directory above the current working directory.

To install:

#+BEGIN_SRC sh
# ~/.zshrc
yay -S stow
#+END_SRC

This works well for dotfile management - you can create feature-based
directories in ~~/dotfiles~ for things like ~zsh~, ~vim~, and ~emacs~,
then call ~stow zsh~ within ~~/dotfiles~ to take care of linking it to home
(~~/~). Treat your ~~/dotfiles/zsh~ directory as if it is literally the home
directory, i.e. you should have a ~~/dotfiles/zsh/.zshrc~. Then, from your
dotfiles repo, call ~stow zsh~, and that's it! Everything will have been
symlinked properly.
* Godot manual install

something like:

#+begin_src sh
unzip Godot_v3.5-stable_x11.64.zip -d .
mv Godot_v3.5-stable_x11.64 ~/usr/bin/godot # install godot from unzip downloads
#+end_src

* Misc
** Enable Hidden Files where relevant

The `stow` style leads to many "hidden" files (dot-prefixed: `emacs/.doom.d/*`,
`zsh/.zshrc`, etc) being used, which reveals that many tools ignore hidden
files by default.

*** Zsh fix

#+BEGIN_SRC sh
# ~/.zshrc
setopt globdots
#+END_SRC

*** Rip-grep (emacs) fix
Create `~/.ignore` file with `.git` (so that --hidden does not include .git).
[[https://github.com/BurntSushi/ripgrep/issues/340][See this issue]].

#+BEGIN_SRC sh
$ echo ".git" >> ~/.ignore
#+END_SRC

Update `rg` command in emacs to use `--hidden` flag:

#+BEGIN_SRC emacs-lisp
(setq counsel-rg-base-command
"rg -zS --hidden --no-heading --line-number --color never %s .")
#+END_SRC