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.
⚠ ⚠ ⚠
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.
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
To utilize this project you need to install:
- sudo
- git
- ansible
- ansible-vault
- curl
- xz-utils (it's okay 🙂)
I used ansible-vault to encrypt and store sensitive data. You need to create:
-
ANSIBLE_VAULT_PASSWORD_FILE
and point to the password fileexport 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
onzsh_private
with the suited key name
To use these dotfiles, follow these steps:
- Clone the repository:
git clone https://github.com/Younis-Ahmed/dotfiles.git
cd
into the repository:
cd dotfiles
- Run project
ansible-playbook main.yml
- source bashrc
. $HOME/.bashrc
- source zshrc
source $HOME/.zshrc
This project is licensed under the MIT License. See the LICENSE
file for more information.