Skip to content

enesdir/dotfiles

Repository files navigation

enesdir's dotfiles

enesdir's dotfiles

Summary

What's in there?

  • all my brew dependencies including: applications, fonts, etc. See Brewfile
  • all my macOS configuration. See macos
  • all my vscode configuration. See vscode/

Installation

These dotfiles use dotbot for installation.

Dependencies

  • git

Ready for setup

to set things up. Steps:

  1. Clone this repo
git clone --recursive https://github.com/enesdir/dotfiles .dotfiles
  1. cd into dotfiles/ folder
cd .dotfiles

Option 1 - For installing a predefined profile

bash ./install-profile <profile> [<configs...>]
# See meta/profiles/ for available profiles

Option 2 - For installing single configurations

bash ./install-standalone <configs...>
# See meta/configs/ for available configurations
  1. Manual - Copy your private ssh key into the .ssh folder

  2. Secure your ssh folder

bash -l './scripts/configure-ssh.sh'
  1. oh-my-fish installation (not working macos)
bash -l './scripts/install-omf.sh'

The installation scripts are idempotent and can therefore be executed safely multiple times.

Contents

I am using default iTerm as terminal emulators. I am using fish with oh-my-fish as a main shell. I also have a lot of tools to make my working experience better.

I mainly work with two stacks:

  • node + yarn + react + typescript
  • python

So, they are configured nice and smoothly. You will have configured version managers, best practices, and useful tools. And some productivity hacks!

Root (/)

  • install-standalone or install-profile - Bootstrap installation

Meta (/meta)

  • configs folder - Configuration files for each program
  • profiles folder - Summarize configs configurations in profiles

Configs (config/)

Fish (config/fish/)

  • config.fish - Global fish configuration (.fishrc)
  • omf folder - List of omf plugins & themes
  • completions/
    • repo.fish - Contains all repos as completions for the repo command
    • repodir.fish - Contains all repos as completions for the repodir command
  • functions/
    • abbrex.fish - Utility for expanding abbreviations in fish-scripts
    • emptytrash.fish - Empties trash and clears system logs
    • fuck.fish - thefuck helper
    • forrepos.fish - Executes a passed command for all repos in ~/dev
    • gtc.fish - git clone into ~/dev with dir structure like githosting/org/repo
    • ls.fish - Calling ls with parameter --color=auto
    • repo.fish - Finds a repository in ~/dev and jumps to it
    • repodir.fish - Finds a repository in ~/dev and prints its path
    • update.fish - Installs OS X Software Updates, Homebrew, npm, and their installed packages
    • week.fish - Returns the current week number

Git configuration(config/git)

  • gitignore - Contains global gitignores, such as OS-specific files and several compiled files
  • gitconfig - Sets several global Git variables
  • gitconfig_personal to store any user-specific data

macOS Preferences (macos/)

  • settings.sh - Executes a long list of commands pertaining to macOS Preferences

Packages (packages/)

Helper Scripts (scripts/)

Apps(brew/)

I am using brew to install all free apps for my mac. I also sync apps from AppStore with brew, so the resulting Brewfile contains everything.

VS Code(vscode/)

I loved my Visual Studio Code. It is fast and beautiful.

Here's how my new vscode setup looks like:

enesdir's vscode for Python

Here's a list of packages

Local configuration(dotfiles/)

Some of the used tools requires local configuration.

Set your enviroment

  • Before beginning, please make sure you have the following enviroment variable set. We are provided example enviroment variables in root directory

    cp .env.fish.example ~/.config/env/.env.fish

Inspiration (thanks!)

License

WTFPL: do the fuck you want. Enjoy!

About

My dotfiles managed by dotbot and bash.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published