Skip to content

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
    • Nix:
      • nixpkgs — package manager
      • nix-darwin — a Nix package that allows you to edit native MacOS settings with Nix code
  • j

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.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

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. 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!
  3. Then, 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