Skip to content

This repo contains common configs I use on my macbook for web dev.

Notifications You must be signed in to change notification settings

EastTexasElectronics/Config_Files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuration Files Repository

This repository contains configuration files for setting up a development environment on a 2024 MacBook Air M2 with 16GB of RAM. The setup includes configurations for Zsh, Neovim, tmux, iTerm2, and oh-my-zsh, leveraging Homebrew for installation. Apart from iTerm2, the configurations should work on Linux systems as well. Windows configuration is untested.

Who is this for?

This configuration is designed for developers seeking a powerful and customizable development environment that is concise, dark mode themed, and minimalistic, tailored for mobile and full-stack web development.

Why does this exist?

This repository ensures that my development environment is easy to replicate in the worst-case scenario of complete data loss. I made it public so that others can benefit from it.

Linux Users

Use your preferred package manager to install the packages listed in the installation section.

Table of Contents

Zsh is a shell designed for interactive use, although it is also a powerful scripting language. Many of the useful features of bash, ksh, and tcsh were incorporated into zsh; many original features were added.

  1. Install Zsh:

    brew install zsh
  2. Install oh-my-zsh: oh-my-zsh is a delightful, open source, community-driven framework for managing your Zsh configuration.

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  3. Install Powerlevel10k: Is a great theme for Zsh that adds a lot of useful features, such as a customizable prompt, a git-aware prompt, and a ton of other features.

    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
  4. Install Plugins:

    • Auto Suggestions:

      git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    • Syntax Highlighting:

      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
  5. Update the .zshrc file: Replace contents of ~/.zshrc with the contents of .zshrc in this repository.

  6. Reload the .zshrc file:

    source ~/.zshrc

    Alternatively, you can just restart your terminal.

Neovim is a fork of Vim, with a focus on modern features and performance. It is designed to be used as a text editor, but it also has a lot of other features, such as a GUI, a terminal, and a job control system.

Neovim Installation

  1. Install Neovim:

    brew install neovim
  2. Copy the Neovim configuration files: (Coming Soon)

tmux is a terminal multiplexer that allows you to split your terminal window into multiple panes, each of which can be used to run a separate program in a shell. This makes it easy to run multiple programs side by side, and it allows you to switch between them easily.

tmux Installation

  1. Install tmux:

    brew install tmux
  2. Update the tmux configuration file: Replace contents of ~/.tmux.conf with the contents of .tmux.conf in this repository.

iTerm2 Installation

iTerm2 is a powerful terminal emulator for macOS that is designed to be used with the macOS Terminal application. It is highly customizable and has a lot of features, such as a tabbed interface, a split pane, and a lot of other things.

  1. Download and install iTerm2 from here.

  2. Import iTerm2 preferences:

    • Download or copy the iTerm2 configuration files from this repository.
    • Go to Preferences > General > Preferences.
    • Check Load preferences from a custom folder or URL.
    • Select the path to your iTerm2 configuration files.

Configuration for oh-my-zsh is included in the Zsh section above. Please refer to it for details on installation and setup.

Additional Configurations

Enable Touch ID for sudo

  1. Open the proper file:

    sudo nano /etc/pam.d/sudo
  2. Add the following to the file:

    auth sufficient pam_tid.so
  3. Save and Exit: Press Ctrl + X (exit) and Y (save) to save the file. Then press Enter to exit.

fzf is a command-line fuzzy finder. It is highly customizable and has a lot of features, such as a preview window, a multi-select mode, and a lot of other things.

fzf Installation

  1. Install fzf:

    brew install fzf
  2. Add the following to your .zshrc file:

    source <(fzf --zsh)

zoxide is a command-line tool that allows you to easily navigate your filesystem.

  1. Install zoxide:

    brew install zoxide
  2. Add the following to your .zshrc file:

    eval "$(zoxide init zsh)"

thefuck is a command-line tool that helps you to correct your previous command.

  1. Install thefuck:

    brew install thefuck
  2. Add the following to your .zshrc file:

    eval $(thefuck --alias)
    eval $(thefuck --alias FUCK)

Other Applications Used

Developer Tools

  • GitKraken Free Version: A Git GUI, useful for complex Git workflows.
  • Postman: For API testing.
  • Android Studio: For Android development.
  • Xcode: For iOS development.
  • shotrr: Shottr is a tiny and fast mac screenshot tool with annotations, scrolling screenshots and cloud upload capabilities. Built with love and optimized for Apple silicon. ImageOptim: ImageOptim is a free, powerful, high-quality image optimizer for Mac. Latest: Latest is a free and open source app for macOS that checks if all your apps are up to date. Get a quick overview of which apps changed and what changed and update them right away. AdGuard for Safari: AdGuard is a free and open source ad blocker for Safari, iOS and macOS. []

Browsers

  • Brave: Preferred for web development due to its better caching experience compared to Chrome.
  • Firefox: Used for testing to ensure browser compatibility.
  • Safari: My daily driver.

Other

  • Rectangle Pro: A window management app for macOS.
  • Velja: A tool for select broswer to launch links.
  • Dropover: An amazing clipboard
  • Later: A productivity app for macOS that lets you save window sessions allowing for easy closing and re-opening of workspaces.
  • Raycast Free Version: A collection of powerful productivity tools all within an extendable launcher. Fast, ergonomic and reliable. AKA better Spotlight.

Contribution

Feel free to contribute by creating pull requests or reporting issues to improve this configuration.

License

This project is free for any use and modification.

About

This repo contains common configs I use on my macbook for web dev.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages