An open API service indexing awesome lists of open source software.

https://github.com/danielrivasmd/dotfiles

The knowledge of ages remains in the archives...
https://github.com/danielrivasmd/dotfiles

bashrc-configs configuration dotfiles karabiner-elements nushell-config rconfig screen-conf ssh-config terminal-configuration zellij-config zsh-configuration

Last synced: 25 days ago
JSON representation

The knowledge of ages remains in the archives...

Awesome Lists containing this project

README

          

# dotfiles

## Overview

Welcome to this Library, please proceed to the desired Archive...

Archive automates the setup of a rich, multi-language development environment
using modular install scripts, external manifests, Zellij plugin management, and
parallel execution It is designed to be clean, reproducible, and easy to
maintain

## Directory Structure

.
├── install.sh # Main script to run all setup steps
├── LICENSE # Licensing terms
├── README.md # Project documentation
├── ROADMAP.txt # Future plans
├── .gitignore # Git exclusions
├── .justfile # Declarative task runner

├── .just/ # Justfile auxiliary scripts
├── completions/ # Shell completion definitions
├── deprecated/ # Archived configs or plugins
├── ex-situ/ # External configs
├── in-situ/ # Internal configs
├── in-silico/ # Installation instructions

# Profiles

Default local shell is `zsh`. Therefore, configuration reads `zshrc` at startup
(when `zprofile` an error occurs, probably sourced somewhere at system
configuration) where `profile` config is read. `bash` shell is always run as a
subprocess. Therefore, no `bash_profile` only `bashrc`.

Default remotes are `bash`. Therefore, configuration should read `bash_profile`
and launch `zsh` as subprocess. `bashrc` should read on slurm jobs, therefore
minimalistic configuration.

## Setup Instructions

1. Clone this repository into your workspace:

```bash
git clone https://github.com/DanielRivasMD/dotfiles
cd dotfiles
```

2. Launch the installer:

```bash
bash install.sh
```

3. All scripts and cloning tasks will run in parallel. Logs are stored in:

```bash
~/.archive/log/
```

## Features

- Parallel execution of install scripts and repo cloning
- External manifest files for Zellij plugins and Git repos
- Shell install scripts for languages and tools
- Timestamped logging for every task
- Declarative Justfile support
- Config files separated by tool, state, and scope
- Organized file structure for separation of concerns

## Customization

- Add a new install script in `in-silico` and register it in `install.sh` like:

```bash
run_install "${installDir}/rust.sh"
```

- Add Git repos in `in-silico/clone_repos.txt`:

```text
https://github.com/example/tool ~/.completion/tool
```

- Add plugins in `in-silico/zellij_plugins.txt`:

```text
https://github.com/example/plugin/releases/latest/download/plugin.wasm
```

## License

This project is licensed under the terms provided in [LICENSE](LICENSE)

## Credits

Crafted by Daniel — built for clarity, modularity, and speed