Giter Club home page Giter Club logo

dotfiles's Introduction

Dotfiles

Banner representing the Dotfiles Library

Codacy Contributors Forks License Love

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

👋 Welcome to Dotfiles (v0.2.462)

Simply designed to fit your shell life

Dotfiles are a set of macOS, Linux and Windows configuration files. They are aimed at making your life easier by providing a set of scripts and configuration files with new ways to get things done.

Getting Started Download Dotfiles v0.2.462

Dotfiles aggregates a collection of standalone configuration files (dotfiles) combined into a lib directory that can be used to customize your development environment across numerous computers and operating systems (macOS, Windows, Linux).

The Dotfiles provides modular configuration files (aliases, functions and paths) built for speed, higher performance, with the aim of helping you have an easy and centralized way to configure your environment and applications.

divider

💼 Documentation

To read the documentation for Dotfiles, please visit:

divider

🚀 Getting Started

We are so delighted that you have decided to try Dotfiles, and are sure that you will find Dotfiles unique and helpful.

Dotfiles seeks to bring you high quality and easy to use standalone and modular configuration files that can be used to customize your development environment across numerous computers and operating systems (macOS, Windows, Linux).

🔧 Installation

We understand that you may want to install Dotfiles without reading long manuals and lengthy documentation. In that respect, we have tried to make the installation process as easy as possible.

A range of installation methods are available, and we recommend that you choose the one that best suits your needs.

Before you begin your installation, use this information to ensure that you meet all the hardware, software, and system requirements for installing Dotfiles.

📋 System Requirements

You need a modern operating system to install Dotfiles. Here's an non-exhaustive list of the recommended operating systems that we support.

If you don't see your operating system listed, it may still work, but we have yet been able to test it. If you have any issues, please let us know.

divider

✔️ Software Requirements

The following programs must be installed on your system to install Dotfiles:

  • Bash - a shell, or command language interpreter, for the GNU operating system.
  • Or Zsh - a shell designed for interactive use, although it is also a powerful scripting language.
  • Git - a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
  • Curl - a command line tool for transferring data with URL syntax.
  • Wget - a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols.
  • Make - a tool which controls the generation of executables and other non-source files of a program from the program's source files.
  • Shell - a shell command line interpreter program for Unix-like operating systems.
  • PnPM - a package manager for JavaScript and Node.js. It is fast, disk space efficient and reliable.

Font

We recommend using a font such as Roboto Mono for Powerline for terminal and vscode editor.

On macOS, you can install the font using the following command:

brew tap homebrew/cask-fonts
brew cask install font-roboto-mono-for-powerline

On Linux, you can install the font using the following command:

sudo apt install fonts-roboto-mono-for-powerline

1️⃣ Download Dotfiles

You can download the latest version (v0.2.462) with the following options:

  • Manual download - The easiest way to install Dotfiles.
  • Install with PnPM pnpm i @sebastienrousseau/dotfiles.
  • Install with Npm npm install @sebastienrousseau/dotfiles.
  • Install with Yarn yarn add @sebastienrousseau/dotfiles.
  • Clone the main repository to get all source files including build scripts: git clone https://github.com/sebastienrousseau/dotfiles.git. This will clone the latest version of the Dotfiles repository.

2️⃣ Back Up Your Existing Data

Before installing Dotfiles, we strongly recommend that you back up your existing data. The Dotfiles installer will try to automatically backup any previous installation of known dotfiles into a backup directory $HOME/dotfiles_backup.

The backup files are the following:

.alias
.bash_aliases
.bash_profile
.bash_prompt
.bashrc
.curlrc
.dir_colors
.exports
.functions
.gitattributes
.gitconfig
.gitignore
.gitmessage
.inputrc
.npmrc
.path
.profile
.tmux.conf
.vimrc
.wgetrc
.yarnrc
.zshenv
.zshrc
cacert.pem

It is always a good idea to backup as there might be situations in which you could be required to restore your previous installation.

3️⃣ Try it out and let us know what you think

To install the latest version of the dotfiles, run the following command:

Using make (easiest)

The easiest way to install Dotfiles is to use the make command. This will install the latest version of the dotfiles and will automatically backup any existing dotfiles you may have into a backup directory $HOME/dotfiles_backup.

The installer will check if you have PnPM installed to switch to the PnPM installation method. If not, it will fallback to equivalent shell scripts.

Switch to the dist directory and run:

make build

You can also just check the installer options available, by simply running:

make help

Using Node.js (advanced)

If you want to install Dotfiles using Node.js, you can run the following command in the dist directory located in your node_modules/@sebastienrousseau/dotfiles/dist directory:

node .

This will install the latest version of the dotfiles and will automatically backup any existing dotfiles you may have into a backup directory $HOME/dotfiles_backup.

Using PnPM (highly recommended if you have PnPM installed)

PnPM is a key dependency of the dotfiles package. It will help you install the dotfiles rapidly and very efficiently.

Switch to the dist directory and run:

pnpm run build

This will install the latest version of the dotfiles and will automatically backup any existing dotfiles you may have into a backup directory $HOME/dotfiles_backup.

Post installation

Following the installation, you can verify that the dotfiles package is installed in the following directory $HOME/dotfiles_backup.

Just quit your terminal and restart it. If the installation is successful, you should be able to see a new interface of your terminal and be able to start using the dotfiles aliases and other configurations.

Please refer to the documentation for more information.

divider

4️⃣ What's included

Dotfiles contains core elements that are used to configure your shell, and other components catered for your environment setup.

Within the download you'll find all the Dotfiles source files grouped within the dist folder.

You'll see something like this:

.
├── bin
│   ├── backup.d.ts
│   ├── backup.d.ts.map
│   ├── backup.js
│   ├── backup.js.map
│   ├── constants.d.ts
│   ├── constants.d.ts.map
│   ├── constants.js
│   ├── constants.js.map
│   ├── copy.d.ts
│   ├── copy.d.ts.map
│   ├── copy.js
│   ├── copy.js.map
│   ├── dotfiles.d.ts
│   ├── dotfiles.d.ts.map
│   ├── dotfiles.js
│   ├── dotfiles.js.map
│   ├── download.d.ts
│   ├── download.d.ts.map
│   ├── download.js
│   ├── download.js.map
│   ├── index.d.ts
│   ├── index.d.ts.map
│   ├── index.js
│   ├── index.js.map
│   ├── transfer.d.ts
│   ├── transfer.d.ts.map
│   ├── transfer.js
│   ├── transfer.js.map
│   ├── unpack.d.ts
│   ├── unpack.d.ts.map
│   ├── unpack.js
│   └── unpack.js.map
├── lib
│   ├── aliases
│   │   ├── default
│   │   │   └── default.aliases.sh
│   │   ├── gcloud
│   │   │   └── gcloud.aliases.sh
│   │   ├── git
│   │   │   └── git.aliases.sh
│   │   ├── heroku
│   │   │   └── heroku.aliases.sh
│   │   ├── jekyll
│   │   │   └── jekyll.aliases.sh
│   │   ├── pnpm
│   │   │   └── pnpm.aliases.sh
│   │   ├── subversion
│   │   │   └── subversion.aliases.sh
│   │   └── tmux
│   │       └── tmux.aliases.sh
│   ├── configurations
│   │   ├── bash
│   │   │   └── bashrc
│   │   ├── curl
│   │   │   ├── cacert.pem
│   │   │   └── curlrc
│   │   ├── default
│   │   │   ├── color.sh
│   │   │   ├── constants.sh
│   │   │   ├── editor.sh
│   │   │   └── prompt.sh
│   │   ├── gem
│   │   │   └── gemrc
│   │   ├── input
│   │   │   └── inputrc
│   │   ├── jshint
│   │   │   └── jshintrc
│   │   ├── nano
│   │   │   └── nanorc
│   │   ├── profile
│   │   │   └── profile
│   │   ├── tmux
│   │   │   ├── default
│   │   │   ├── display
│   │   │   ├── linux
│   │   │   ├── navigation
│   │   │   ├── panes
│   │   │   ├── theme
│   │   │   ├── tmux
│   │   │   └── vi
│   │   ├── vim
│   │   │   └── vimrc
│   │   ├── wget
│   │   │   └── wgetrc
│   │   ├── zsh
│   │   │   └── zshrc
│   │   └── README.md
│   ├── functions
│   │   ├── README.md
│   │   ├── cdls.sh
│   │   ├── changediskpwd.tmp
│   │   ├── code.tmp
│   │   ├── countdown.tmp
│   │   ├── curlheader.sh
│   │   ├── curltime.sh
│   │   ├── encode64.sh
│   │   ├── environment.sh
│   │   ├── extract.sh
│   │   ├── filehead.sh
│   │   ├── genpwd.sh
│   │   ├── goto.sh
│   │   ├── headers.tmp
│   │   ├── hidehiddenfiles.sh
│   │   ├── history-all.tmp
│   │   ├── hostinfo.sh
│   │   ├── hstats.sh
│   │   ├── httpdebug.sh
│   │   ├── keygen.sh
│   │   ├── last.sh
│   │   ├── logout.sh
│   │   ├── lowercase.sh
│   │   ├── macos.sh
│   │   ├── matrix.sh
│   │   ├── mcd.sh
│   │   ├── mount_read_only.sh
│   │   ├── myproc.sh
│   │   ├── prependpath.sh
│   │   ├── print.tmp
│   │   ├── ql.sh
│   │   ├── rd.sh
│   │   ├── remove_disk.sh
│   │   ├── ren.sh
│   │   ├── rm.tmp
│   │   ├── rps.tmp
│   │   ├── showhiddenfiles.sh
│   │   ├── size.sh
│   │   ├── stopwatch.sh
│   │   ├── trash.tmp
│   │   ├── tree.tmp
│   │   ├── uppercase.sh
│   │   ├── uuidgen.tmp
│   │   ├── view-source.sh
│   │   ├── vscode.sh
│   │   ├── whoisport.sh
│   │   └── zipf.sh
│   ├── paths
│   │   ├── ant
│   │   │   └── ant.paths.sh
│   │   ├── default
│   │   │   └── default.paths.sh
│   │   ├── homebrew
│   │   │   └── homebrew.paths.sh
│   │   ├── java
│   │   │   └── java.paths.sh
│   │   ├── maven
│   │   │   └── maven.paths.sh
│   │   ├── node
│   │   │   └── node.paths.sh
│   │   ├── nvm
│   │   │   └── nvm.paths.sh
│   │   ├── pnpm
│   │   │   └── pnpm.paths.sh
│   │   ├── python
│   │   │   └── python.paths.sh
│   │   ├── ruby
│   │   │   └── ruby.paths.sh
│   │   └── tmux
│   │       └── tmux.paths.sh
│   ├── README.md
│   ├── aliases.sh
│   ├── configurations.sh
│   ├── exit.sh
│   ├── functions.sh
│   ├── history.sh
│   └── paths.sh
├── scripts
│   ├── backup.sh
│   ├── banner.sh
│   ├── build.sh
│   ├── clean.sh
│   ├── compile.sh
│   ├── copy.sh
│   ├── dotfiles.sh
│   ├── download.sh
│   ├── help.sh
│   └── unpack.sh
├── Makefile
└── filesizes.txt

38 directories, 141 files

🔗 Releases

Releases are available on the GitHub releases page.

divider

🚥 Semantic versioning policy

For transparency into our release cycle and in striving to maintain backward compatibility, Dotfiles follows Semantic Versioning.

divider

History

✅ Changelog

divider

📖 Code of Conduct

We are committed to preserving and fostering a diverse, welcoming community. Please read our Code of Conduct.

divider

⭐️ Our Values

  • We believe perfection must consider everything.
  • We take our passion beyond code into our daily practices.
  • We are just obsessed about creating and delivering exceptional solutions.

divider

❤️ Contributing

Thank you for using Dotfiles! If you like the library, it would be great if you can give it a star ⭐ on Github.

There are also many ways in which you can participate in this project, for example:

Please read carefully through our Contributing Guidelines for further details on the process for submitting pull requests to us.

divider

🥂 License

This project is licensed under the MIT License file for details.

FOSSA Status

divider

🏢 Acknowledgements

Dotfiles is beautifully crafted by these people and a bunch of awesome contributors

sr gr
Sebastien Rousseau Graham Colgate

dotfiles's People

Contributors

codacy-badger avatar dependabot[bot] avatar fossabot avatar sebastienrousseau avatar snyk-bot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.