Skip to content
forked from musq/dotfiles

🏵️ Bash scripts to set up local environment as a developer

License

Notifications You must be signed in to change notification settings

7azycoder/dotfiles-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ashish’s dotfiles

Travis Version semantic-release standard-readme compliant

These are the base configurations that I start with when I set up a new environment.

sudo is not required.


BEWARE — This tool modifies your local configurations. Proceed with caution.

DO NOT run the setup.sh script if you don't fully understand what it does. Seriously, DON'T!


Table of Contents

Background

Manually setting up a usable environment on a brand new machine is always a tiring experience. I felt the need to create a tool which would automate this process as smoothly as possible. It should ideally —

  • Work without sudo
  • Perform some hardening operations
  • Install necessary tools
  • Manage local configurations

It should also follow these standards

  • Bootstrap itself using only wget or curl
  • Be idempotent
  • Be easy to audit

Requirements

This tool is only meant for Linux variants. It has been verified to work on —

  • Debian 9
  • Ubuntu 16.04+
  • MacOS Mojave+ (Nix might not work on some packages)

It is strongly recommended to use dotfiles-system to install Nix beforehand.

Install

The setup process will:

One-line installer

Tool Snippet
wget bash -c "$(wget -qO - https://raw.githubusercontent.com/musq/dotfiles/master/src/os/setup.sh)"
cURL bash -c "$(curl -LsS https://raw.githubusercontent.com/musq/dotfiles/master/src/os/setup.sh)"

Manual

# Clone this repo
git clone https://github.com/musq/dotfiles.git

# Go inside
cd dotfiles

# Run installer
./src/os/setup.sh

Update

# Go inside the project repo
cd path/to/dotfiles

# Update git repo
git pull origin master

# Run installer
./src/os/setup.sh

Non-Interactive

Pass -y or --yes to automatically answer yes to all the questions.

./src/os/setup.sh -y

Screenshots

Install in action

Setup process in action


Previews

Jump directory using fzf Detailed git branches list
Fuzzy directory jump List git branches

Git log Git reflog
Git log Git reflog

Git diff (unified) Git icdiff (side-by-side)
Git diff (unified) Git icdiff (side-by-side)

Fuzzy git log with preview using fzf Tmux
Fuzzy git log with preview Tmux

Acknowledgements

Inspiration and code were taken from many sources, including:

Contributing

Feel free to dive in! Open an issue or submit PRs.

See contributing guidelines.

If you decide to fork this project, do not forget to substitute my username with your own in the one-line installer and in the setup script

License

  • The code is available under GNU GPL v3, or later license
  • Parts taken from other sources are still available under their original licenses

About

🏵️ Bash scripts to set up local environment as a developer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 81.1%
  • Vim Script 18.3%
  • Other 0.6%