Skip to content

Latest commit

 

History

History
75 lines (64 loc) · 3.91 KB

README.md

File metadata and controls

75 lines (64 loc) · 3.91 KB

Dotfiles

My configuration files and portable dev environment.

Alacritty Git Homebrew LazyVim Starship Stow Tmux Zsh

⇁ Welcome

This is a collection of my configuration files, used on my Mac and Linux machines.

⇁ Problem

When I want to set up my computer(s) and servers I want to have as similar of a workflow as possible. This include but is not limited to:

  • A Package manager
  • A terminal
  • A Shell
  • An IDE
  • A web browser
  • A way to manage my Dotfiles (and other programs as they come and go)

Therefore I have been exploring on my freetime what I can use to make this as similar as possible for my windows (using WSL) and unix based machines. I also want my configuration and settings for these programs to be used as dotfiles so I don't have to manually set that up everytime I create a new server or get a new machine.

⇁ The solution

With this in mind I came to the following conclusions for what I should use:

  • Package Manager: Homebrew ( Easy cross configuration for both MacOS and Linux )
  • Terminal: Alacritty ( Settings are easily configured with a yml file & lack of features )
    • Add on: Starship ( To have a cross-shell prompt to account if I ever change from zsh )
    • Add on: Tmux ( To minimize the differences between a headless system and add functionality to alacritty )
  • Shell: Zsh ( * mazing, with a few addons and some zsh completions its amazing, I will actively work to make it better* )
  • IDE: LazyVim ( Easy config, easy built in package manager, great language support, and fast typing, once I learn how to type )
  • Management: Gnu stow ( Easy way to link files to official repo. I.e. changes in .config folder = changes in this repo )
  • Web Browser: (Firefox as of now with some great plugins, I will keep exploring)

Plus I also have other configuration files, like my gitconfig. More will definetly appear here as I continue my exploration.

Note that I also want to find a better package manager, one that can install both terminal and non-terminal based applications for all unix systems. I tried Nix but found it a hastle to install it on both linux and mac. I am in the process to move as much as possible to the terminal or the browser and build stuff from source, with the goal to make my setup package manager independent.

⇁ File structure

├── README.md
├── alacritty
│   └── alacritty.yml
├──  zsh
│   └── zsh.rc
├── git
│   └── gitconfig
├── homebrew
│   ├── Brewfile
│   └── Brewfile.lock.json
├── nvim
│   ├── LICENSE
│   ├── README.md
│   ├── init.lua
│   ├── lazy-lock.json
│   ├── lua
│   └── stylua.toml
├── scripts
├── starship
│   └── starship.toml
├── startup.sh
└── tmux
    ├── plugins
    └── tmux.conf