My personal configuration files
Table of Contents
Quick Links
- create comprehensive and easy-to-follow documentation for each major config piece, especially:
zsh
— shellnvim
— code editor- Nix:
nixpkgs
— package managernix-darwin
— a Nix package that allows you to edit native MacOS settings with Nix code
- j
If you don't know what dotfiles are or have little to no experience configuring your environment, you're in luck :)
- dotfiles are files or directories (aka folders) that begin with a period
- the primary use of dotfiles are to configure, customize, or personalize user, system, or app preferances / settings
- these kinds of files are usually hidden from the user, as the majority of PC, desktop, or laptop users don't personalize their device with code
Hardware plays a big part in customization and what works on my machine likely won't work on yours if even a few key things are different.
What I'm using:
- device — MacBook Air M1 (2020)
- operating system — MacOS 15.1 (Sequoia)
- terminal emulator — Warp Terminal (I'm going to switch to Ghostty as soon as the public beta is released)
- languages I've been working with:
- Rust
- TOML
- Markdown
- bash
- Lua[^1] & Nix[^2]
other languages I've worked with:
- HTML5 & CSS3
- JavaScript
- TypeScript
- React (JSX and TSX)
- Swift & SwiftUI
- JSON & YAML
I've seen other people's dotfiles have this section, so yeah. If you somehow come across this repo, I highly encourage you to build your own setup, rather than import someone else's, but I'm absolutely okay with you taking inspiration from here :)
Warning
for all of the following installation resources, watch the full video, read the whole article, etc. before actually doing any of it!
- I got started with this Fireship YouTube tutorial on starting your dotfiles journey
- Next, I set up Nix Packages (
nixpkgs
) as my package manager with this amazing Dreams of Autonomy tutorial - Warning: the Nix ecosystem is a huge rabbithole, so be advised! - Then, I set up my code editor, NeoVim, by following this amazing Typecraft YouTube playlist
my tips on how to learn Vim / NeoVim
- learn the basic Vim motions (how to move around a file and around a workspace), especially how to exit Vim :)
- turn on "Vim mode" in your current code editor
- when you feel comfortable with the motions, start using Vim (the regular Vim) in your terminal
- when you feel really comfortable using Vim in your terminal, download NeoVim if you want
Learning Vim might seem super overwhelming, but if you practice consistently, you'll be amazing :)
I believe in you! <3
If you want the easy way out:
- install Nix from here
- clone this repository using git
git clone https://github.com/juneb125/.dotfiles ___ --depth 1
- remove this remote repository
git remote rm origin
- remove all of this repo's git commits
rm -rf ./.git/
[^1] I've only used Lua for my NeoVim setup [^2] I've only used Nix for my Nix Darwin setup