▄▄ ▄▄▄▄ ██ ▄▄▄▄
██ ██ ██▀▀▀ ▀▀ ▀▀██
▄███▄██ ▄████▄ ███████ ███████ ████ ██ ▄████▄ ▄▄█████▄
██▀ ▀██ ██▀ ▀██ ██ ██ ██ ██ ██▄▄▄▄██ ██▄▄▄▄ ▀
██ ██ ██ ██ ██ ██ ██ ██ ██▀▀▀▀▀▀ ▀▀▀▀██▄
▀██▄▄███ ▀██▄▄██▀ ██▄▄▄ ██ ▄▄▄██▄▄▄ ██▄▄▄ ▀██▄▄▄▄█ █▄▄▄▄▄██
▀▀▀ ▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀
Please see the wiki for documentation on specific features.
- Bar:
polybar
(or i3blocks) - Browser:
firefox
(or qutebrowser) - Compositor:
compton
- IRC Client:
weechat
- File Manager:
thunar
&ranger
- Font:
Hack
- Program Launcher:
rofi
- Text Editor:
spacemacs
&vim
- Terminal Emulator:
termite
&oh-my-zsh
- Window Manager:
i3-gaps
yadm
dotfile managernvm
node version manager via zsh pluginemacs
spacemacsyadm
dotfile manageri3-gaps
window managerpolybar
status line & bar for i3tumbler
enables thumbnail view of images for thunartermite
terminal (repo link)oh-my-zsh
& z shellfeh
terminal based image viewer, also used for desktop backgroundsneovim
vundle
vim package managerccat
colorized cat (nixcraft)exa
colorized ls written in rust (nixcraft)tree
see tree folder/file structure from command linetask
"Taskwarrior", a terminal based TODO list manager see websitertv
a terminal based reddit browser see their githubgtop
pretty neat terminal based visualtop
(many more undocumented)
This project uses YADM, a dotfile manager that employs git. With YADM you can start with a new repo, or clone an existing repo. Both approachs are explained in depth on the YADM website's getting started section.
- Download Antergos ISO
- Fork this repo (or clone this repo directly and change it's upstream to your fork after install is done)
- Install Arch using Antergos, choose the "no desktop environment" option, it is probably called "Base".
- Follow the instructions outlined in INSTALL.md
- report any bugs or manual steps as issues to this repo so that the install process can be improved.
All aliases are currently listed in ~/.zshrc
. This list is not comprehensive.
alias | Description |
---|---|
alias | lists all aliases in your terminal |
setup-edit | Run this command if you would like to edit the install(dotfiles installer). (i.e. you want to install new packages) |
tools | cd to ~/.local/bin/tools directory in terminal |
sz | source ~/.zshrc |
ez | edit ~/.zshrc |
xrl | reload changes to ~/.Xresources |
bgf | If you're in virtualbox and your desktop background is jank, this fixes it temporarily. I'm working on a better solution |
kl | kubectl |
Tools are scripts included as part of this repo that are used either in config files (like polybar & i3), or you can use directly.
Tools are located in ~/.local/bin/tools
& ~/.local/bin/setup
Action | Command | Location | Description |
---|---|---|---|
update pacman/aur | update | setup/update | updates pacman and aur packages (there is an indicator in polybar that shows you if there are updates available) |
install dotfiles | setup-install | setup/install | installs everything included in this repository, see setup instructions for more context |
take screenshot | screenshot | Places screenshot with data+time in ~/Dropbox/Screenshots/{YEAR} , pass -h flag for additional options. |
Action | Command | Type | Description |
---|---|---|---|
open rofi | alt+d | key combo | Opens rofi |
rofi switch view | alt+n/p (next/previous) | rofi key combo | Switches between views in rofi when rofi is open. Views: run, ssh, windows |
Mode | Action | Command | Description |
---|---|---|---|
* | open .spacemacs |
SPC f e d |
spacemacs/find-dotfile : opens .spacemacs in buffer |
reload .spacemacs |
SPC f e R |
dotspacemacs/sync-configuration-files : reloads .spacemacs config changes | |
view major mode commands | , |
major mode leader key (quickest way to issue a major mode command) | |
Org | toggle TODO | t |
toggle TODO item between TODO & DONE state in .org file |
insert TODO | alt-shift-RET |
insert new TODO in .org file |
using oh-my-zsh vi_mode plugin:
"fd" escape insert mode
"/" vi-history-search-backward
"?" vi-history-search-forward
"n" vi-repeat-search
"N" vi-rev-repeat-search
"lk" accept auto-suggestion
Tool | Command | Description |
---|---|---|
xbindkeys | xbindkeys -k | Uses xbindkeys to output key code of pressed key or mouse button. Useful for mapping key codes to commands in i3 config |
add "2>&1 |logger" to end of script:
* * * * * echo "test message" 2>&1 |logger
then view the output:
sudo systemctl status fcron
more info here
Custom themes are downloaded to /usr/share/themes/
Instructions for setting the GTK 2 & 3 themes can be found on the arch wiki
Settings for gtk 3:
~/.config/gtk-3.0/settings.ini
Settings for gtk 2:
~/.gtkrc-2.0
how to import & export cron jobs
I use a notification daemon called Dunst.
You can send notifications to the desktop using dunstify
or notify-send
For help using these, in your terminal:
dunstify --help
notify-send --help
man dunst
Edit: ~/.config/dunst/dunstrc
Reload: killall dunst && notify-send foo
Customize Dunst notifications via it's config file ~/.configs/dunst/dunstrc
- Howard Abrams
- Jeff Lindsay
- Ilya Grigorik - vimgolf creator
- Charles Leifer - Suffering for fashion: a glimpse into my Linux theming toolchain
- rust lib for creating rules for windows and workspaces in i3
examples of problems it could solve:
- when opening a terminal, make it open with a fixed or relative height and width
- configure and restore workspace layouts, beyond the functionality of i3
-
a polybar extension or stand alone application like rofi that provides a gui with functionality like emacs helm (spacemacs variety), to make common tasks, scripts, and functions discoverable and callable using symantic keybinds. (would love to use rust for the engine and maybe a language like lua, lisp, or python for scripting it)
-
short of the system variety of helm, a cheatsheet overlay that behaves like rofi and can hook into my config files and scripts to generate and display a cheatsheet would be amazing.
-
look into using taskwarrior for task management
-
look into using oh-my-zsh custom plugins for better management of .zshrc oh-my-zsh wiki "Customization" section
-
+1 script to create issues in github repo for dotfiles from commandline using vim buffer (or maybe emacs plugin if i'm feeling ambitious.)
-
rofi menu for selecting screen layout. Or maybe something other than rofi. My current i3 method is starting to reach it's limits.
-
refactor install script to be written in another language probably python. move dependencies to list files. have core packages and non core packages. have commands to add and remove packages from both list files and os.
Things I want to know but didn't have time to look into when I thought of it.
-
i3wm: How to move a window below the window to the right or left of it without moving it below the entire tree
-
how to do snippets in emacs (per mode would be really nice)
Some things I'd like snippets for:
-
Javascript console logs (figured this out once then promptly forgot how i did it)
-
argument parsing template for bash scripts (i always end up copy pasting from other scripts)
-
documentation templates for bash scripts (they're inconsistent between my scripts right now)
-
cli for browsing remote repos on account, as well as cloning and such
-
cli based wiki for commands (manpage for dotfiles/dot)
-
rofi based login/shutdown/restart menu
-
custom homepage for firefox
-
framework for rofi menus
-
rofi based password manager for lastpass
-
script for adding and removing packages from ~/.config/dotfiles/arch-packages/pacman
-
install-pacman-packages.sh
: installs packages for pacman listed frominstalled-packages.sh
-
switch-aws-creds.sh
switch which AWS credentials are default store your configs in~/.aws/
. make each set of credentials it's own file starting withcredentials-
e.g.credentials-my-work-creds
e.g.credentials-my-personal-creds
Existing aliases:
work-mode
: switch to work credentials
other-mode
: switch to other credentials
Custom themes are downloaded to /usr/share/themes/
Instructions for setting the GTK 2 & 3 themes can be found on the arch wiki
Settings for gtk 3:
~/.config/gtk-3.0/settings.ini
Settings for gtk 2:
~/.gtkrc-2.0