Go to file
2023-12-23 20:14:13 -07:00
aerc Add aerc accounts template 2023-12-23 20:13:52 -07:00
alacritty Update alacritty config 2023-12-23 20:13:56 -07:00
bash Update: __pycache__ removal envvar 2023-12-23 20:14:12 -07:00
bin New: git clone ssh script 2023-12-23 20:14:13 -07:00
chromium Add electron flags 2023-12-23 20:14:04 -07:00
git Improve sway window dimension script 2023-12-23 20:13:59 -07:00
gnupg Init again 2023-12-23 20:13:47 -07:00
macos Init again 2023-12-23 20:13:47 -07:00
mako Init again 2023-12-23 20:13:47 -07:00
mpv Add file renaming script 2023-12-23 20:14:04 -07:00
notes Update: routing notes for internet forwarding 2023-12-23 20:14:13 -07:00
ripgrep Init again 2023-12-23 20:13:47 -07:00
sketchybar Init again 2023-12-23 20:13:47 -07:00
skhd Init again 2023-12-23 20:13:47 -07:00
ssh Add ssh[d] templates and checks 2023-12-23 20:14:04 -07:00
sudoers.d New: ydotool automation support 2023-12-23 20:14:08 -07:00
swappy Init again 2023-12-23 20:13:47 -07:00
sway Update: Speed up screenlocking script 2023-12-23 20:14:12 -07:00
swaylock Improve vifm backgrounding 2023-12-23 20:13:53 -07:00
systemd New: systemd.timer for pushing bash history 2023-12-23 20:14:11 -07:00
tmux Update tmux keybinds 2023-12-23 20:13:58 -07:00
vifm Update: localize time in bash history script 2023-12-23 20:14:09 -07:00
vim Update: pretty comments in vim 2023-12-23 20:14:12 -07:00
vimiv Init again 2023-12-23 20:13:47 -07:00
warpd Init again 2023-12-23 20:13:47 -07:00
xremap Update: Xremap support for no-fn-row keyboards 2023-12-23 20:14:06 -07:00
yabai Init again 2023-12-23 20:13:47 -07:00
yofi Init again 2023-12-23 20:13:47 -07:00
.gitignore Rewrite: random password script 2023-12-23 20:14:06 -07:00
install.sh Add electron flags 2023-12-23 20:14:04 -07:00
package_install.sh New: ydotool automation support 2023-12-23 20:14:08 -07:00
post_install.sh Update: docker config in post_install 2023-12-23 20:14:10 -07:00
README.md Update: readme 2023-12-23 20:14:05 -07:00

Hit the ground flying with dotfiles for Unix-like systems including MacOS. These contain all sorts of goodies for bash, vim, shell scripts, unix notes, and much more!

Installation

git clone --depth=1 'ssh://git@codeberg.org:22/akemi/dotfiles.git' dotfiles
cd dotfiles
bash ./install.sh --help

install.sh status tells you which files can be linked and which ones are already on your system. Move the ones on your system out of the way before continuing

bash install.sh install
bash install_packages.sh install

If you're running ArchLinux or EndeavourOS, post_install.sh will help guide you through additional installation steps you can take. See ./notes/futher_installation/ for a description of these steps

Support

Official support is for the latest version of bash and EndeavourOS only. The MacOS dotfiles were working on Catalina (10.15) and likely mostly work on newer versions as well

As of writing, EndeavourOS is on Linux 6.0.11 and bash is version 5.1.16

For Linux, these dotfiles setup Sway on Wayland, a completely different display server from Xorg. I3 is similar to Sway for Xorg

Increasingly, I've been migrating my scripts away from bash, for better control flow, libraries, and error handling. Several are written in python. Python version 3.10 (match statements) is the minimum supported version.

Some scripts are being rewritten in 🚀 Rust 🚀! Building them them will require a rust compiler. If one of your machines isn't powerful enough to compile these, consider compiling them on another system, then simply copy them over:

cargo build --release --target=x86_64-unknown-linux-musl

Keybinding

Generally keybindings follow this scheme for skhd/xremap, bash, and vim's insert mode. They roughly resemble Emac's default. Outliers are bolded. These are written assuming Ctrl is mapped to CapsLock

When possible selecting is preferred to actually deleting the text

Type Start of line Back word Back character Forward character Forward word End of line
Movement ^a ^b ^j ^f ^w ^e
Deletion ^u ^h ^d ^k

Window managers are bound to the Super/Command/Logo key. This is the key adjacent to the spacebar

Light and Dark Mode

Alacritty, tmux, vim, vifm, vimiv are all synchronously colored through bin/colo.sh. This script supports multiple color schemes and makes it easy to add new ones.

In running instances of vim and vifm, use :Light or :Dark to update their color scheme to match Alacritty. New instances are automatically updated