diff --git a/examples/example-config.yml b/examples/example-config.yml new file mode 100644 index 0000000..7e9c2f9 --- /dev/null +++ b/examples/example-config.yml @@ -0,0 +1,122 @@ +version: "1.0" +name: "Example Dev Environment" +description: "Example configuration demonstrating all features" + +dotfiles: + bashrc: + source: ./dotfiles/.bashrc + target: ~/.bashrc + backup: true + create_parent: true + bash_profile: + source: ./dotfiles/.bash_profile + target: ~/.bash_profile + backup: true + zshrc: + source: ./dotfiles/.zshrc + target: ~/.zshrc + backup: true + vimrc: + source: ./dotfiles/.vimrc + target: ~/.vimrc + backup: true + gitconfig: + source: ./dotfiles/.gitconfig + target: ~/.gitconfig + backup: true + gitignore_global: + source: ./dotfiles/.gitignore_global + target: ~/.gitignore_global + backup: true + tmux.conf: + source: ./dotfiles/.tmux.conf + target: ~/.tmux.conf + backup: true + +shell: + shell: bash + config_file: ~/.bashrc + merge_strategy: replace + sections: + - aliases + - exports + - functions + +editors: + vscode: + settings: + settings_file: ./editors/vscode/settings.json + extensions: + - name: ms-python.python + - name: esbenp.prettier-vscode + - name: njpasternak.vim + - name: tyriar.sort-lines + - name: davidanson.vscode-markdownlint + user_data_dir: ~/.config/Code/User + neovim: + init_file: ./editors/nvim/init.lua + config_dir: ~/.config/nvim + plugins: + - name: vim-airline/vim-airline + - name: vim-airline/vim-airline-themes + - name: tpope/vim-fugitive + - name: tpope/vim-surround + - name: preservim/nerdtree + - name: junegunn/fzf.vim + - name: neoclide/coc.nvim + +packages: + - name: brew + packages: + - git + - neovim + - tmux + - fzf + - ripgrep + - fd + - bat + - exa + - httpie + - jq + - yq + - starship + - zsh + - name: apt + packages: + - git + - neovim + - tmux + - fzf + - ripgrep + - fd-find + - bat + - httpie + - jq + - golang-go + - name: npm + packages: + - neovim + - @microsoft/terminal + - yarn + +backup: + enabled: true + directory: ~/.dev-env-sync-backups + timestamp_format: "%Y%m%d_%H%M%S" + +platform_specific: + wsl: + packages: + - name: apt + packages: + - wsl-open + macos: + packages: + - name: brew + packages: + - mas + - openjdk + +includes: + - ./aliases.yml + - ./exports.yml