dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

:rocket: @1995parham Linux / OSx configurations files

     _       _    __ _ _
  __| | ___ | |_ / _(_) | ___  ___
 / _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_|  _| | |  __/\__ \
 \__,_|\___/ \__|_| |_|_|\___||___/

 _  ___   ___  ____                   _
/ |/ _ \ / _ \| ___| _ __   __ _ _ __| |__   __ _ _ __ ___
| | (_) | (_) |___ \| '_ \ / _` | '__| '_ \ / _` | '_ ` _ \
| |\__, |\__, |___) | |_) | (_| | |  | | | | (_| | | | | | |
|_|  /_/   /_/|____/| .__/ \__,_|_|  |_| |_|\__,_|_| |_| |_|
                    |_|

GitHub GitHub Workflow Status GitHub Workflow Status Ansible GitHub repo size

Introduction

This repository contains my personal configurations for Ubuntu, Arch Linux (with sway window manager) and apple OSX, which was created in Fall 2013 when I was a lonely B.Sc.' student at the Amirkabir University of Technology. First, thank you for your visiting. A dotfiles repository is a personal repository, with it, you can manage your configuration between your systems, so I make this repository, a template repository, so you can easily start your personal one from it. Special thanks to @elahe-dastan for using this project and reporting its issues. Her unique contribution to this repository and my life is unforgettable.

Installation

Compatibility Compatibility Compatibility

The following command creates a basic directory structure and clones the dotfiles repository:

curl -sL https://raw.githubusercontent.com/1995parham/dotfiles/main/over-the-air-installation.sh | bash

Install required tools with pacman, brew or apt.

./start.sh env

Install configuration files with soft-links and installs plugins on vim. This script don't set the zsh as a default shell, so you need to set it manually.

./install.sh

Install useful fonts.

./start.sh font

Don't forget changing the git username and email:

touch $HOME/.config/git/config

Also don't forget to install neovim plugins:

:PackerSync

Then you can install other tools with start.sh, here are some examples:

# install docker with proxy (see <Breaking Sanctions> section for more details)
./start.sh docker
# install golang
./start.sh go
# install python
./start.sh python
# and many many more...

Configuration of mentioned applications also is a part of this repository.

Window Managers

I am using sway and hyprland as my primary window managers. This repository structured around creating soft-links and because of that the duplicate configurations between these window managers are gathered in sway/.

Scripts

aS mentioned before, start.sh can be used to run the installation/helper scripts. These scripts install and setup different tools as below:

Name Description
snapp install snapp corporation mail/calender/contacts including davmail, vsyncdir and mutt. Also, it is recommended to install thunderbird
go install and configure go. configuration includes goproxy and running GoInstallBinaries on neovim
awesome clone awesome repositories like awesome-rust, awesome-go, etc from github
alacritty install and configure alacritty