Welcome to my personal dotfiles repository! This collection is designed to help you set up your system with my preferred configurations. Feel free to explore, use, and adapt these dotfiles for your own setup. This repo has been migrated from traditional script based system to Nix based configuration which will undergo major modifications as Im learning nix along the way.This used to set up my development environment, configured with Neovim and all the essential tools.
Im running multipass vm to test if everything is working. You can refer the documentation on how to install and make sure you add enough storage which creating the vm as the default of 5G won't be enough.
You could spin up a new ubuntu VM using multipass launch --name ubuntu --disk 15G and enter to the shell by entering the command mulipass shell ubuntu with the name of the VM that you just created.
Install Nix package manager
I use Determinate installer you can refer to the documentation it's quite easy compared to the script provided by Nix. I also comes with uninstaller script which is a really convenient if we need to remove Nix entirely.
Import your existing GPG key
Copy existing gpg keys for adding to the new system. There are multiple way to do this more secure way just as gpt.
gpg --export-secret-keys --armor <Public Key>
gpg --import
<paste the keys>
<Ctrl+d>
Optionaly add trust level
gpg --edit-key <key-id>
# then type: trust → 5 → quit
Install Temporary shell with git-crypt
nix shell nixpkgs#git-crypt
Clone this repository
git clone https://github.com/danishjoseph/dotfiles.git
cd dotfiles/
Unlock the secrets
git-crypt unlock
<enter the passpharse>
Apply Home Manager config
nix run home-manager -- switch --flake .#ubuntu
Tada! you have made it. Just logout and log back in you will see all the configurations applied. The current setup includes starship, neovim, tmux, lazygit and much more that you can explore.