[LINUX] A collection of resources that may be useful for creating and expanding dotfiles


It's the 10th day of the dotfiles advent calendar while I'm sick. This article is my own discretion and prejudice, and I have picked up some that may be helpful in creating and expanding dotfiles. I haven't picked up anything deep. I would like to come to review it about once a year so that it will not become old (if you just think about it, it's free). If you have any recommendations for this, please let us know in the comments and articles.

My attributes and dotfiles history

I think dotfiles are used for different people, so this article may not be very helpful to anyone who has too different attributes from me.


--Still 5 years of experience Server-side developers of web applications --OS: Mainly macOS. I have Ubuntu in the sub. --Shell: Bash, Zsh --Editor: Vim (1 year)-> Sublime Text 2/3 (Vim binding) (3.5 years)-> VSCode (Vim binding) (0.5 years) --Language: Mainly Ruby, Typescript, Rust, etc.

However, if you look at Occasionally VSCodeVim Festival (yesterday), you can still use Vim quietly, and VS Code is a sub when writing MD or UML. I also feel like it.

dotfiles history

――At first, I was trying to write some scripts for environment construction and application construction with Gist. --In the beginning of 2015, I read Qiita --The strongest dotfiles driven development and operation method managed by GitHub, and all the developers are breeding Tamagotchi called dotfiles. Knowing that he is working hard to mature the sauce, he started to grow from scratch, focusing on Zsh + Prezto, Vim, and Sublime. --In the middle of 2019, I decided to review all the development environment, and while reselecting tools and devices, Github --paulirish / dotfiles and [Github --atomantic / dotfiles]( Started growing new dotfiles based on https://github.com/atomantic/dotfiles)


You don't have to create dotfiles from scratch

Some people will make it from scratch, but the title is Zach Holman --Dotfiles Are Meant to Be Forked. As you can see, dotfiles don't have to be created from scratch. You may take it for granted, but surprisingly, some people who aren't using dotfiles or who have little development experience have the idea of starting with making their own lipo. I will. actually,

--People who use other people's dotfiles exactly as they are --A person who forks and expands other people's as you like --People who take good care of various dotfiles

There are many people who say that, so please feel free to give it a try.

Ultimately, the purpose of using dotfiles is to increase productivity, so if you don't feel like it and can't get started, or if you spend a lot of effort creating dotfiles, find your favorite dotfiles and leave it as it is. I think it's a good idea to use it and expand it each time you feel inconvenience.

It might be nice if the information on various dotfiles is organized

Then, I hope that this dotfiles can be used in this environment, and it is easy to find that it has such features, this way of using it, this is convenient, but just searching for "dotfiles" on Github hits nearly 130,000. I do (although I can narrow it down, of course), and personal blogs here and there say that my dotfiles look like this, and I feel that the information is not very well organized. So, I wrote this article with the intention of starting with a little summary.

Resources that may be useful for creating and extending dotfiles

Good for getting the big picture and better practices

-Qiita --Welcome to the world of dotfiles
This is an article by the owner of this Advent calendar, yutakatay. What are dotfiles, how to get started, what to manage, and bring the gospel of dotfiles in a gentle and easy-to-understand way. It's also very good because there are techniques that people who are already using dotfiles will want to adopt.


Dotfiles with lots of stars on Github

The OS written here is mainly intended for use, and most of the dotfiles scripts introduced here are written to work with POSIX implementations.

The dotfiles lipo with the most stars. The settings and tools are relatively straightforward, neatly divided and easy to expand. Of the top 10 stardotfiles, at least two are forked from this lipo and are also referenced in other lipos. There are some old scripts, but you can use them as they are by playing around with them. The macOS configuration script is being evaluated.

These are dotfiles made from a variety of popular dotfiles. It's set up in every detail, so I think it's very good for people who want to develop according to the tools without thinking, rather than expanding and growing.

These are dotfiles published by Thoughtbot, which is famous for developing many famous gems. It also contains Vim plugins for Ruby and Rails. I get the impression that at least the common items that everyone uses are included. It is used using the dotfiles manager called rcm, which will be described later.

Other interesting dotfiles

It's a relatively new lipo created in 2017, but it seems to be gaining popularity. I extended this and put it in the sub Ubuntu while also referring to Building a fashionable environment that is easy to use on Mac level with Ubuntu. But it's uselessly fashionable and nice.

The macOS settings (not just the defaults command) are well documented and often helpful.

These are b4b4r07's dotfiles that appear in this article as well as a reference article. There is a sense of security because it is less dependent on the environment and applications and plug-ins, and it is cool to go with minimal rhythm.

dotfiles management tool

I will add a word when I have the energy to write.


Zsh Zsh tends to get heavier while putting in a plug-in manager and putting in a plug-in, but recently there are many performance-conscious ones, so while using it, it becomes a really important plug-in. I think the strategy of narrowing down is good.

Fish not yet

macOS related

-Github --mathiasbynens / dotfiles (repost)
As for the macOS setting script, if you run it all at once, the behavior will be strange or it will not suit your taste, and you will not know which command was set by which command, so what command to do is correct. I think it's a good idea to check and try a few lines at a time.

Vim related

I'm an editor refugee, so I'll check it out, thinking about returning to Vim. In fact, the main editors for dotfiles introduced above are all Vim, so I think you should look there. People using Vim bindings in other editors should also find it helpful.

-Qiita --Vim plugins and .vimrc settings that I would like to recommend for Vimmers aiming to get rid of beginners ―― Qiita ――If you master vim, it will be an IDE comparable to vscode, right? --Exposing the strongest vimrc.

VS Code related

I'm a little dissatisfied with the pane operation, and sometimes there are problems (such as cooperation with the snippet function) when using it with Vim binding, but it is easy.

-Qiita --The vim → vscode migration that I did a lot


Handling sensitive data

Especially for those who are thinking about getting started with dotfiles.

-[Qiita --Welcome to the world of dotfiles #gitignore settings for dotfiles](https://qiita.com/yutakatay/items/c6c7584d9795799ee164#dotfiles%E7%94%A8%E3%81%AEgitignore%E3%81 % AE% E8% A8% AD% E5% AE% 9A) (repost)
Refer to here and use .gitignore as a whitelist and do not commit extra files. --Don't have important data as a local file in the first place Bitwarden, 1Password, LastPass You can manage it with .lastpass.com /) and get it using CLI -Github Help-Remove Sensitive Data from Repository
In the unlikely event that you commit, immediately delete the data referring to here, change the password, recreate the key, re-register, etc.


Looking at the various dotfiles lipos, I learned the obvious lesson that well-documented ones aren't popular, but most popular ones are generally well-documented.


Enjoy your dotfiles life! (Momentum)

Recommended Posts

A collection of resources that may be useful for creating and expanding dotfiles
Overview and useful features of scikit-learn that can also be used for deep learning
[Django] A collection of scripts that are convenient for development
[AWS] A story that may be helpful for those who are new to Lambda-Python and DynamoDB
A collection of tips for speeding up learning and reasoning with PyTorch
A summary of Python e-books that are useful for free-to-read data analysis
A class for PYTHON that can be operated without being aware of LDAP
Super simple: A collection of shells that output dates
4 boxes that might be useful for the Pepper hackathon
The story of creating a "spirit and time chat room" exclusively for engineers in the company
List of my articles that may be useful in competition pros (updated from time to time)
Can be used with AtCoder! A collection of techniques for drawing short code in Python!
[Python] A program to find the number of apples and oranges that can be harvested
The story of creating a VIP channel for in-house chatwork
Create AND / OR / NAND / XOR circuits with FPGA that may be necessary for deep learning with Polyphony
Here's a summary of things that might be useful when dealing with complex numbers in Python
Contextlib functions may be useful for testing processes that use standard I / O such as input ()
Understand the probabilities and statistics that can be used for progress management with a python program
Explanation of creating an application for displaying images and drawing with Python
Commands for creating a new django project
[Personal development] Story of creating an application for artists with SPA with Django REST Framework and Vue-Cli [DRF + Vue.js]
Try creating a web application with Vue.js and Django (Mac)-(1) Environment construction, application creation
A collection of resources that may be useful for creating and expanding dotfiles
Procedure for creating an application with Django with Pycharm ~ Preparation ~
The story of creating a "spirit and time chat room" exclusively for engineers in the company