30 open-source projects similar to holman/dotfiles, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Dotfiles alternative.
This project is a cross-platform dotfiles collection and shell configuration framework designed to standardize development environments across Unix and Windows. It provides a set of version-controlled configuration files and environment settings for text editors, terminal multiplexers, and interactive command line interfaces. The collection functions as a symlink configuration manager, linking settings to the home directory to maintain synchronization across multiple machines. It includes a productivity framework for terminal workflow optimization, incorporating tools for fuzzy finding, direc
Hyprdots is a collection of configuration files and installation scripts designed to set up and customize a Hyprland tiling window manager environment on Linux. It provides an automated system for deploying a personalized desktop interface, including pre-configured themes, styles, and keyboard shortcuts. The project utilizes a modular dotfiles management workflow to organize system settings into discrete files for visual styles and keybindings. It employs shell-scripted installation to automate dependency deployment and uses symbolic links to map a centralized configuration directory to syste
Home Manager is a declarative framework for managing user-specific packages, dotfiles, and services. It serves as a tool for maintaining reproducible home directory setups and user environments across multiple machines using the Nix package manager. The system functions as a declarative dotfile manager, defining application configuration files from a central source to ensure consistency. It allows for the management of user-level software packages and the automation of background processes and services that start upon user login.
This project is an Ansible-based automation suite designed to provision macOS development environments. It utilizes a set of playbooks to automate the installation of software, the configuration of system settings, and the setup of tools required for software engineering. The system distinguishes itself through variable-driven configuration and symlink-based dotfile syncing, allowing users to override default package lists and synchronize preferences from a central store. It supports both local setup and remote machine provisioning via SSH. The automation surface covers idempotent state mana
This is a Unix-based dotfiles repository providing a version-controlled collection of configuration files, environment variables, and shell aliases. Its primary purpose is to optimize macOS for software development by applying a curated set of system defaults and Zsh shell workflow enhancements. The project distinguishes itself through a comprehensive collection of macOS system defaults and specific configurations for the Zsh shell. It includes specialized Git workflow configurations and whitespace settings designed to standardize and accelerate version control operations across different env
Antigen is a git-based package manager and configuration orchestrator for the Zsh shell environment. It serves as a plugin manager designed to download, load, and update plugins, themes, and frameworks directly from Git repositories using specific branches, tags, or versions. The project focuses on shell startup optimization by using static bundle caching and batch completion loading to reduce boot times. It distinguishes itself through environment reproduction capabilities, such as file-based state snapshotting and plugin state restoration, and a distribution workflow that bundles configurat
chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files
This project is a collection of scripts and configuration files designed to automate the deployment of developer toolsets, big data tools, and system-wide dotfiles. It serves as a provisioning system for installing languages, data analysis tools, and system dependencies across diverse programming stacks. The suite provides specialized automation for macOS developer onboarding and the setup of Python data science workflows. It includes dedicated installers for distributed processing engines like Spark and Hadoop, as well as environments for web and mobile development. The system covers a broa
This is a Unix dotfiles repository that provides a central store of configuration files to synchronize application settings and environment variables across different systems. It functions as a standardized development environment setup, offering a consistent profile for code editors, debuggers, and language runtimes across multiple machines. The repository includes specific configuration profiles for shell environments, Git identity and commit authorship, and SSH agent automation for secure credential management. It manages the loading of identity files and integrates system keychains to aut
Mackup is a dotfile backup manager and application settings backup tool designed to keep software configuration files consistent across multiple computers. It functions by copying home directory configuration files into a centralized storage folder for preservation, restoration, and synchronization. The utility utilizes a symbolic link manager to replace local configuration files with symlinks pointing to a synchronized folder, enabling real-time updates. It supports cloud storage integration, allowing these configuration directories to be mirrored to remote backends for cross-machine environ
Voidrice is a collection of Linux and Unix dotfiles and a shell-scripted provisioning suite designed to establish a standardized, minimalist desktop environment. It provides a set of configuration files for shells, text editors, and system utilities to ensure a consistent workspace across different machines. The project employs a symlink-based configuration manager to map system files to a central repository for easier versioning. It also includes a text-based directory bookmark system that uses flat text files to index and jump to favorite system paths. The suite covers broad capability are
HyDE is an Arch Linux configuration framework and system provisioning tool designed to automate the installation and customization of desktop environments. It functions as a window manager orchestrator and dotfiles management system to synchronize environment settings and deploy custom system configurations. The project includes a desktop environment theme engine that uses a patching tool to apply curated visual styles and color schemes across the interface. It also features hardware-aware driver detection to automatically apply correct bootloader and driver settings during the deployment pro
nix-starter-configs is a collection of boilerplate templates and project structures for initializing reproducible NixOS system configurations and declarative dotfile management. It provides a foundation for managing user-specific applications and settings through a modular Home Manager setup that remains independent of the global system root. The project utilizes a Nix Flake project structure to lock dependencies and ensure consistent builds across different machines. It includes a package overlay framework and a dedicated system for defining custom software derivations to modify existing pac
This project is a comprehensive guide for configuring macOS for software engineering. It provides instructions for setting up a development environment, optimizing system settings, and enhancing the terminal experience to increase productivity. The guide focuses on several core areas of system customization, including the automation of software installation via Homebrew and the configuration of the Zsh shell with plugins, themes, and productivity aliases. It details a strategy for managing dotfiles using symbolic links to synchronize configuration files across multiple machines. Additional c
Dotbot is a dotfile installation manager and environment setup automator designed to deploy configuration files from a repository to a local system. It functions as a symlink deployment utility and templated configuration engine, using a combination of symbolic links and custom directives to synchronize settings across machines. The project enables the automation of dotfile deployment through a shell-based configuration bootstrapper. It supports the synchronization of application profiles and the rendering of dynamic configuration files from templates before they are deployed to the filesyste
Cmder is a console emulator and terminal environment for Windows that provides a unified interface for managing multiple command-line sessions. It functions as a container host, wrapping existing console engines and shell processes within a single tabbed window to improve workflow organization and terminal navigation. The software distinguishes itself by bundling disparate console engines and Unix-style utilities into a single, pre-configured distribution. It utilizes a shell environment orchestrator that injects custom scripts and hooks into active processes, allowing for modified prompt beh
Kiauh is a script-based orchestrator designed to deploy and update the software stack and firmware required for 3D printer operation. It serves as an automated installer and manager for Klipper firmware and associated software on single board computers. The project provides a menu-driven command interface to manage the installation of Klipper firmware and the updating of system services. It utilizes a guided interface to ensure printer components and firmware are maintained at the latest available versions. The orchestrator handles environment setup through automated dependency resolution an
FluentTerminal is a terminal emulator and SSH client designed for running multiple shell sessions. It functions as a shell profile manager and a Tmux session manager, allowing for the organization of diverse shell environments within a single interface. The application provides secure remote access via SSH and Mosh protocols, which enables persistent session management over intermittent networks. It distinguishes itself through a profile configuration system that allows users to save and switch between named environment settings for different shell types. The tool includes workspace manageme
Spaceship Prompt is a modular, highly customizable Zsh prompt framework designed to provide rich contextual information directly within the command line interface. It functions as a shell environment monitor, allowing users to track system metrics, version control status, and development environment details through a structured, theme-based layout. The framework distinguishes itself through an asynchronous execution model that offloads resource-intensive status checks to background processes, ensuring the terminal remains responsive during prompt generation. It supports incremental rendering,
xdg-ninja is a home directory sanitizer and XDG base directory auditor designed to identify files that violate XDG directory specifications. It functions as a Linux configuration migrator that scans home directories for misplaced application data and generates JSON-based relocation rules to organize dotfiles into standard locations. The project utilizes a JSON-based configuration manager to define program-specific file rules. This system allows for the creation of custom file tracking and relocation rules, specifying exactly which files a program stores and the instructions required to move t
Atuin is a command-line tool that replaces standard shell history with a searchable, encrypted SQLite database. By hooking into shell initialization scripts, it provides an interactive, keyboard-driven interface for real-time command filtering and retrieval. The platform ensures data privacy through a client-side encryption layer, securing sensitive history and configuration data before it is synchronized across multiple machines. Beyond history management, Atuin functions as an executable documentation platform that enables teams to create and share interactive runbooks. These documents use
This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote registry. It serves as a dependency resolution tool, a software registry publishing client, and a security auditor for Node.js development workflows. The tool distinguishes itself by providing integrated monorepo workspace management and a comprehensive registry authentication client that supports multi-factor authentication. It enables detailed control over the software supply chain through provenance attestations, package signature verification, and the generation of a Software
RetroPie-Setup is a specialized utility and installation tool designed to automate the orchestration of Linux-based retro gaming environments. It functions as a deployment system for configuring the dependencies and software required to run game libraries on single board computers, such as the Raspberry Pi and Odroid. The project provides a structured approach to deploying gaming emulators and managing RetroArch emulation cores. It includes a configuration tool for setting up graphical front ends that organize and launch emulated games across multiple systems. The tool handles system-level t
This project is a comprehensive educational resource and technical guide for Bash shell programming and command-line operations. It serves as a programming guide, scripting reference, and tutorial for navigating Unix-like terminal environments. The documentation covers a broad range of system administration and automation tasks, including remote server administration via secure shell connections and the management of system processes and resources. It provides detailed instructions on executing remote commands and performing secure file transfers between hosts. The guide details core scripti
pvetools is a configuration toolkit and suite of scripts designed to automate the setup and optimization of Proxmox VE virtualization environments on Debian. It provides automated toolsets for configuring hypervisors, optimizing hardware, and deploying network file services. The project features a container runtime deployer for installing engines and web management interfaces within isolated environments, and a storage manager for resizing root partitions, managing ZFS RAM usage, and relocating container data across disks. It includes optimization scripts for nested virtualization and PCI pas
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
Omakub is an automated Ubuntu setup tool that transforms a fresh Ubuntu installation into a complete web development workstation with a single command. It provisions a full desktop environment with curated developer tools, editors, terminals, and productivity applications, applying opinionated system settings and desktop preferences through a shell-script-based automation process. The tool coordinates multiple package managers to install software from different sources, applies user preferences by copying pre-defined configuration files into the home directory, and is designed to be re-run sa
This project provides a graphical management interface for the Windows Subsystem for Linux, enabling the installation, lifecycle control, and state management of multiple virtualized Linux distributions. It serves as a centralized dashboard for managing the operational status of these environments, allowing users to perform tasks such as distribution installation, removal, and configuration through a visual interface. The tool distinguishes itself by offering specialized utilities for transforming Docker and LXC container images into standalone Linux distributions. By stripping away container
This project is a shell-based installation suite designed to set up the software toolchain required for artificial intelligence software development. It provides a standardized collection of programming languages, libraries, and system utilities to prepare a local machine for a software engineering bootcamp. The suite utilizes automated shell scripts to handle dependency-driven installations and system configuration. It includes cross-platform setup guides and OS-detection branching to apply the correct binary versions and installation paths across different hardware. The toolchain is organi