Skip to content

Config files for zsh, ghostty, nvim, and nix-darwin

Notifications You must be signed in to change notification settings

juneb125/.dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dotfiles

My personal configuration files

Table of Contents

Quick Links

Goals

  • create comprehensive and easy-to-follow documentation for each major config piece, especially:
    • zsh — shell
    • nvim — code editor
    • nixpkgs — package manager
    • ghostty — terminal emulator

Intro to Dotfiles

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

My Environment

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.2 (Sequoia)
  • terminal emulator — Ghostty
  • package managernixpkgs (versions 24.11 and unstable)
  • 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

Installation

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!

  1. I got started with this Fireship YouTube tutorial on starting your dotfiles journey
  2. Then, I followed this Dreams of Autonomy video on making zsh better
  3. 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!
  4. I set up my code editor, NeoVim, by following this amazing Typecraft YouTube playlist
my tips on how to learn Vim / NeoVim
  1. learn the basic Vim motions (how to move around a file and around a workspace), especially how to exit Vim :)
  2. turn on "Vim mode" in your current code editor
  3. when you feel comfortable with the motions, start using Vim (the regular Vim) in your terminal
  4. 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:

  1. install Nix from here
  2. clone this repository using git
    git clone https://github.com/juneb125/.dotfiles ___ --depth 1
    
  3. remove this remote repository
    git remote rm origin
    
  4. 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

Releases

No releases published

Packages

No packages published