Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 1.81 KB

File metadata and controls

90 lines (68 loc) · 1.81 KB

Dotfiles

This project contains my personal dotfiles, which are configurations and customizations for my terminal and development environment. By using these dotfiles, I can easily replicate my preferred environment on any machine I work on.

Disclaimer

⚠ ⚠ ⚠ I use nix-env as my package manager, To get nix-env to work on ansible without a declarative module to abstract the process. I had to improvise with eliminating some idempotency nature of ansible. If you so choose to use a different package manager then apply changes to the code.

Configuration

I've added a limited batch of my tools... I'll be working on the rest when it makes sense

  • nix-env
  • zsh
  • bat
  • git
  • nvim
  • bash
  • pnpm
  • node
  • nvm
  • ts
  • python
  • fonts

Assumptions

To utilize this project you need to install:

  • sudo
  • git
  • ansible
  • ansible-vault
  • curl
  • xz-utils (it's okay 🙂)

Getting Started

I used ansible-vault to encrypt and store sensitive data. You need to create:

  • ANSIBLE_VAULT_PASSWORD_FILE and point to the password file export ANSIBLE_VAULT_PASSWORD_FILE='path/to/password'

  • Create file with sensitive data using the following

ansible-vault create file_with_sensitive_data
  • Copy and paste it on all.yml on zsh_private with the suited key name

Usage:

To use these dotfiles, follow these steps:

  1. Clone the repository:
git clone https://github.com/Younis-Ahmed/dotfiles.git
  1. cd into the repository:
cd dotfiles
  1. Run project
ansible-playbook main.yml 
  1. source bashrc
 . $HOME/.bashrc 
  1. source zshrc
source $HOME/.zshrc 

License

This project is licensed under the MIT License. See the LICENSE file for more information.