Skip to content

Repository files navigation

Dotfiles

CI License: MIT Release

A reproducible Ubuntu development environment focused on a clean terminal experience, modern CLI tools, automated setup, and version-controlled configuration.

Preview

Terminal workspace

Features

  • 🖥️ Ghostty
  • 🐚 Zsh
  • 🚀 Starship
  • ✏️ Neovim (LazyVim)
  • 📝 Git
  • 📊 btop
  • 🐳 LazyDocker configuration
  • 🔤 Maple Mono Nerd Font
  • ⚙️ GitHub Actions CI

Repository Structure

.
├── .github/
│   └── workflows/
│       └── ci.yml
│
├── home/
│   ├── .config/
│   │   ├── btop/
│   │   ├── ghostty/
│   │   ├── lazydocker/
│   │   │   └── config.yml
│   │   ├── nvim/
│   │   ├── starship.toml
│   │   └── zsh/
│   │       ├── aliases.zsh
│   │       ├── exports.zsh
│   │       └── functions.zsh
│   │
│   ├── .gitconfig.example
│   └── .zshrc
│
├── scripts/
│   ├── lib/
│   │   └── common.sh
│   ├── bootstrap.sh
│   ├── fonts.sh
│   ├── packages.sh
│   └── update.sh
│
├── CHANGELOG.md
├── INVENTORY.md
├── LICENSE
├── Makefile
└── README.md

Quick Start

Clone the repository.

git clone https://github.com/enginsezen/dotfiles.git
cd dotfiles

Install the required packages.

make packages

Configure Git.

cp home/.gitconfig.example home/.gitconfig

Edit home/.gitconfig and replace:

  • Your Name
  • your@email.com

with your own Git identity.

Create the symbolic links.

make bootstrap

Install the Maple Mono Nerd Font.

make fonts

Note

This repository provides a .gitconfig.example template. Configure it with your own Git identity before running make bootstrap.

Installed vs Managed

This repository distinguishes between installing applications and managing their configuration.

Some applications are installed automatically through make packages, while others are only configured if they are already installed on the system.

Application Installed Configuration
Zsh
Starship
Neovim
btop
Ghostty
LazyDocker

Available Commands

Command Description
make help Show available commands
make bootstrap Create symbolic links
make packages Install required packages
make update Update the operating system
make fonts Install Maple Mono Nerd Font
make format Format all shell scripts
make format-check Verify formatting without modifying files
make lint Run ShellCheck
make check Format and lint scripts
make ci Run the same validation as GitHub Actions

Development Workflow

Before pushing changes, run:

make ci

This executes the same validation pipeline used by GitHub Actions.

Philosophy

  • Keep configuration under version control.
  • Keep installation reproducible.
  • Separate application installation from configuration management.
  • Prefer simple, maintainable solutions.
  • Automate repetitive setup tasks.
  • Follow consistent coding standards.
  • Keep scripts idempotent.
  • Validate every change through Continuous Integration.

License

Released under the MIT License.

About

Reproducible Ubuntu development environment featuring modern CLI tools, automated setup, and version-controlled dotfiles.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages