Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

msavdert/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

238 Commits

Repository files navigation

πŸš€ Modern Dev Space (dotfiles)

A lightweight, high-performance, and mise-native development environment designed for cloud workspaces (Dokploy, Docker, etc.) and local development.


πŸš€ Quick Start

One command to rule them all:

curl -fsSL https://raw.githubusercontent.com/msavdert/dotfiles/main/bootstrap.sh | bash

✨ Highlights

  • User-Space First: Installs everything to ~/.local/bin. No root/sudo required.
  • Idempotent: Safe to run multiple times; it only installs or updates what's missing.
  • Modern Stack: Replaces legacy tools with high-performance alternatives:
    • Zellij: Modern terminal multiplexer
    • Neovim: Hyper-extensible text editor
    • 1Password CLI: Secure secret management
    • uv: Blazing fast Python & tool manager
    • ripgrep (rg): Fast recursive search
    • fd & fzf: Fast find & fuzzy finder
    • bat & eza: Modern cat and ls replacements
    • zoxide: Smarter cd command
    • starship: Minimal, blazing-fast, and infinitely customizable prompt
    • btop: Interactive system monitor
    • yazi: Blazing fast terminal file manager
    • yq & jq: YAML/JSON processors
    • Bun: Fast JavaScript runtime & package manager
    • dust & duf: Modern CLI disk usage tools
  • Portable: Consistent experience across Oracle Linux, Ubuntu, macOS, and Debian.
  • Secure: Integrated with 1Password Service Accounts for secret management.
  • SSH Ready: Interactive SSH host selector via fzf and 1Password SSH Agent integration.

πŸ—οΈ Infrastructure Setup (Dokploy/Docker)

For optimal results in cloud environments, use this docker-compose.yml snippet. It sets up the system-level foundations (locales, base packages) before the dotfiles take over the user-level configuration.

services:
 workspace:
 image: ubuntu:latest
 environment:
 - TZ=${TZ:-America/New_York}
 - USER_NAME=${USER_NAME:-devuser}
 - OP_SERVICE_ACCOUNT_TOKEN=${OP_SERVICE_ACCOUNT_TOKEN:-}
 - LANG=en_US.UTF-8
 - LC_ALL=en_US.UTF-8
 volumes:
 - dev_space:/home/devuser
 entrypoint:
 - /bin/bash
 - -c
 - |
 apt-get update && apt-get install -y --no-install-recommends \
 build-essential ca-certificates curl git locales sudo ttyd tzdata unzip zsh \
 && rm -rf /var/lib/apt/lists/*

 # System: Generate locale
 locale-gen en_US.UTF-8

 # System: Create user with ZSH as default
 if ! id -u devuser >/dev/null 2>&1; then
 useradd -m -s /usr/bin/zsh devuser
 echo "devuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
 fi

 # System: Suppress Zsh first-run wizard
 touch /home/devuser/.zshrc

 # Infrastructure: Launch ttyd with ZSH
 exec sudo -E -H -u devuser ttyd -W -p 7681 -w /home/devuser /usr/bin/zsh

πŸ”„ Maintenance & Sync

Keep your environment up to date with a single command:

mise run sync

This task automates:

  1. Git Pull: Fetches the latest dotfiles.
  2. Symlink Refresh: Updates all configuration links.
  3. Tool Updates: Installs any new tools defined in mise.toml.
  4. Pruning: Removes old tool versions to save space.

πŸ“„ License

MIT

About

πŸ’» Minimalist, portable, and secure dotfiles for modern developers. Zero-dependencies, maximum performance.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /