Top Related Projects
My dotfiles. Buyer beware ;)
A curated list of dotfiles resources.
Quick Overview
The alrra/dotfiles
repository is a collection of configuration files and scripts for setting up a development environment on macOS or Linux. It includes configurations for various tools and applications, such as the shell, text editor, and Git.
Pros
- Comprehensive Configuration: The repository provides a wide range of configuration files for various tools and applications, making it easier to set up a development environment.
- Cross-platform Compatibility: The configurations work on both macOS and Linux, making it a versatile solution for developers working on different platforms.
- Automated Setup: The repository includes scripts that automate the installation and setup process, reducing the time and effort required to get started.
- Community Support: The project has a active community, with contributors providing updates and improvements to the configurations.
Cons
- Customization Effort: While the repository provides a comprehensive set of configurations, users may need to spend time customizing the settings to fit their specific needs.
- Dependency Management: The project relies on various external tools and libraries, which may require additional setup and maintenance.
- Potential Conflicts: Integrating the dotfiles with an existing development environment may lead to conflicts with existing configurations, requiring careful management.
- Maintenance Overhead: Keeping the dotfiles up-to-date with the latest versions of the tools and applications can be time-consuming, especially for users who don't regularly contribute to the project.
Competitor Comparisons
My dotfiles. Buyer beware ;)
Pros of jessfraz/dotfiles
- Comprehensive configuration files for a wide range of tools, including Vim, Emacs, and various shell environments.
- Detailed documentation and instructions for setting up the dotfiles.
- Actively maintained with regular updates and improvements.
Cons of jessfraz/dotfiles
- The repository may be overwhelming for users who only need a few specific configurations.
- The setup process can be more complex compared to simpler dotfiles repositories.
- Some configurations may not be applicable or suitable for all users.
Code Comparison
alrra/dotfiles
# Set the default editor to Vim
export EDITOR="vim"
# Alias for the Vim command
alias v="vim"
# Alias for the Git command
alias g="git"
jessfraz/dotfiles
# Set the default editor to Vim
export EDITOR="vim"
# Alias for the Vim command
alias v="vim"
# Alias for the Git command
alias g="git"
# Alias for the Docker command
alias d="docker"
The jessfraz/dotfiles repository includes an additional alias for the Docker command, which may be useful for users who work extensively with Docker.
A curated list of dotfiles resources.
Pros of awesome-dotfiles
- Comprehensive collection of dotfiles resources and tools
- Regularly updated with community contributions
- Provides a curated list of dotfiles from various developers
Cons of awesome-dotfiles
- Not a standalone dotfiles repository for direct use
- Requires more effort to set up a personalized dotfiles system
- May be overwhelming for beginners due to the vast amount of information
Code comparison
awesome-dotfiles:
## Tools
- [Ansible](https://www.ansible.com/) - Radically simple configuration management.
- [chezmoi](https://chezmoi.io/) - Manage your dotfiles across multiple machines, securely.
- [dotbot](https://github.com/anishathalye/dotbot) - Tool that bootstraps your dotfiles.
dotfiles:
#!/bin/bash
cd "$(dirname "${BASH_SOURCE[0]}")" \
&& . "utils.sh"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
main() {
# Ensure that the following actions
# are made relative to this file's path.
Summary
awesome-dotfiles serves as a comprehensive resource for dotfiles management, offering a wide range of tools, tutorials, and examples. It's ideal for those looking to explore different approaches to dotfiles organization. On the other hand, dotfiles is a personal dotfiles repository with a specific setup, making it more suitable for direct use or as a starting point for customization. While awesome-dotfiles provides breadth, dotfiles offers depth in a particular configuration style.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
CÄtÄlinâs dotfiles
These are the base dotfiles that I start with when I set up
a new environment (for more specific local needs I use the
*.local
files).
Table of Contents
Setup
To set up the dotfiles run the appropriate snippet in the terminal:
[!CAUTION] DO NOT run the setup script if you do not fully understand what it does. Seriously, DON'T!
OS | Snippet |
---|---|
macOS | bash -c "$(curl -LsS https://raw.github.com/alrra/dotfiles/main/src/os/setup.sh)" |
Ubuntu | bash -c "$(wget -qO - https://raw.github.com/alrra/dotfiles/main/src/os/setup.sh)" |
That's it! â¨
The setup process will:
- Download the dotfiles on your computer
(by default it will suggest
~/projects/dotfiles
). - Symlink the Git, shell, tmux, and Vim related files.
- Install applications / command-line tools for macOS / Ubuntu.
- Set custom macOS / Ubuntu preferences.
- Install the Vim and VS Code plugins.
Setup process in action:
Screenshots
Git
Output for git status
:
macOS | Ubuntu |
Output for git log
:
macOS | Ubuntu |
Vim
macOS | Ubuntu |
Customize
Local Settings
The dotfiles can be easily extended to suit additional local requirements by using the following files:
~/.bash.local
The ~/.bash.local
file will be automatically sourced after all
the other Bash related files, thus, allowing its content
to add to or overwrite the existing aliases, settings, PATH
, etc.
Here is an example:
#!/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set PATH additions.
PATH="/Users/alrra/projects/dotfiles/src/bin/:$PATH"
export PATH
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set local aliases.
alias g="git"
~/.gitconfig.local
The ~/.gitconfig.local
file will be automatically included after
the configurations from ~/.gitconfig
, thus, allowing its content
to overwrite or add to the existing Git configurations.
Note: Use ~/.gitconfig.local
to store sensitive information
such as the Git user credentials, e.g.:
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgSign = true
[user]
name = Your Name
email = account@example.com
signingKey = XXXXXXXX
~/.vimrc.local
The ~/.vimrc.local
file will be automatically sourced after
~/.vimrc
, thus, allowing its content to add or overwrite the
settings from ~/.vimrc
.
Here is an example:
" Disable arrow keys in insert mode.
inoremap <Down> <ESC>:echoe "Use j"<CR>
inoremap <Left> <ESC>:echoe "Use h"<CR>
inoremap <Right> <ESC>:echoe "Use l"<CR>
inoremap <Up> <ESC>:echoe "Use k"<CR>
" Disable arrow keys in normal mode.
nnoremap <Down> :echoe "Use j"<CR>
nnoremap <Left> :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up> :echoe "Use k"<CR>
Forks
If you decide to fork this project, do not forget to substitute my username with your own in the setup snippets and in the setup script.
Update
To update the dotfiles you can either run the setup script or, if you want to update one particular part, run the appropriate os script.
License
The code is available under the MIT license.
Top Related Projects
My dotfiles. Buyer beware ;)
A curated list of dotfiles resources.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot