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

https://github.com/clxrityy/dotfiles

Files and configurations to restore and reproduce my OS & development environments
https://github.com/clxrityy/dotfiles

automatic bash brewfile dotfiles fedora git installation macos shell stow-gnu vscode-settings zsh

Last synced: about 14 hours ago
JSON representation

Files and configurations to restore and reproduce my OS & development environments

Awesome Lists containing this project

README

          

# `~/.dotfiles/`

A comprehensive repository containing all files and configurations to restore and reproduce my OS & development environment(s).

- [Operating systems](#operating-systems)
- [Scripts & Utilities](#scripts--utilities)
- [Installation](#installation)

What are dotfiles?

> User-specific application configuration is traditionally stored in so called [dotfiles](https://en.wikipedia.org/wiki/dotfile) (files whose filename starts with a dot). It is common practice to track dotfiles with a [version control system](https://wiki.archlinux.org/title/Version_control_system) such as [Git](https://wiki.archlinux.org/title/Git) to keep track of changes and synchronize dotfiles across various hosts.
>
> ###### *Reference:* [Arch Linux | Dotfiles](https://wiki.archlinux.org/title/Dotfiles)

---

## Operating systems

Each OS folder contains specific configurations, scripts, and installation instructions.

> Note: shared shell configs and repo-wide config live outside OS folders:
>
> - `shell/` (e.g. `.bash_profile`)
> - `common/` (e.g. `.editorconfig`)

- [macOS](./macos/README.md)
- [Fedora](./fedora/README.md)


macOS
Fedora


macOS Example
Fedora Example

## Scripts & Utilities

View all scripts/utilities and how to use them by running:

```bash
make help
```

> **Note**: When using `make` to execute script-wrapper targets, pass arguments like:
>
> ```bash
> make ARGS=""
> ```
>
> *OR:*
>
> ```bash
> make --
> ```

## Installation

### Clone the repository

SSH (alternative)



Cloning with SSH requires that you have your SSH keys set up with GitHub.

###### See [Connecting to GitHub with SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) for instructions

```bash
git clone git@github.com:clxrityy/dotfiles.git ~/.dotfiles
```

##### Using HTTPS (recommended for most users)

```bash
# Clone the repository (HTTPS)
git clone https://github.com/clxrityy/dotfiles.git ~/.dotfiles
# Navigate to the dotfiles directory
cd ~/.dotfiles
```

#### Run the installation script

```bash
# Show help
bash install.sh --help

# Run installation as a dry-run with verbose output
bash install.sh --dry-run --verbose

# Run installation (auto-detects OS, runs GNU Stow, then runs OS-specific steps)
bash install.sh
```

---

## TO-DO

- [x] CI
- [ ] Windows
- [x] Debian
- [ ] Ventoy USB setup
- [x] Package migration script
- [ ] Development-specific environments
- [ ] VPN configurations
- [ ] SSH config management
- [ ] Container setups (Docker)