This repository contains installation and configuration scripts for Arch Linux and macOS. The goal is to automate the setup of applications, fonts, development tools, and user configurations.
- Sudo access on the machine.
- Internet connection.
- Clone the repository:
clear
echo -e "\nCloning dotarchy repository..."
git clone https://github.com/c4software/dotarchy.git ~/dotarchy
cd ~/dotarchy
./setup.shThis script detects your distribution (pacman → Arch, $OSTYPE == darwin → macOS) and launches the appropriate setup process.
To update only the configuration files without installing packages, you can run update.sh:
./update.shupdate.sh --all.
You can run ./dotarchy-doctor.sh to check if your current setup is correct and if all necessary components are installed.
setup.sh: Entry script that loads the common bootstrap and selects the distribution.macos/: Scripts and subfolders for macOS.archlinux/: Scripts and subfolders for Arch Linux.common/: Shared scripts (e.g., webapp installation, config bootstrap).- Each distribution contains an
install/folder with:apps/: CLI applications and tools installation.desktop/: Desktop environment apps and fonts.hyprland/,config/, etc. depending on the distribution.
- Add or edit scripts in
install/apps/orinstall/desktop/to extend the configuration. - User configuration files are copied from
../config/by the bootstrap — modify these sources to change deployed configs. - Provided binaries/scripts are copied to
~/.local/binviacommon/install/bootstrap.sh.
- btop: A resource monitor that shows usage and stats for processors, memory, disks, network, and processes.
- htop: An interactive process viewer for Unix systems.
- fastfetch: A tool for fetching system information and displaying it in a pretty way.
- fd: A simple, fast, and user-friendly alternative to
find. - fzf: A command-line fuzzy finder.
- ripgrep: A line-oriented search tool that recursively searches the current directory for a regex pattern.
- zoxide: A smarter
cdcommand that learns your habits. - eza: A modern replacement for
lswritten in Rust. - bat: A
catclone with syntax highlighting and Git integration. - jq: A lightweight and flexible command-line JSON processor.
- xmlstarlet: A command-line XML toolkit.
- zip/unzip: Utilities for compressing and decompressing files.
- curl/wget: Tools for transferring data from or to a server.
- unrar: A utility for extracting files from RAR archives.
- lazygit: A simple terminal UI for git commands.
- lazydocker: A simple terminal UI for docker and docker-compose.
- gum: A tool for glamorous shell scripts.
- ncdu: A disk usage analyzer with an ncurses interface.
- Starship: A minimal, blazing-fast, and extremely customizable prompt for any shell. https://starship.rs/
- Neovim: A hyper-extensible, Vim-based text editor. It is configured with LazyVim.
- Visual Studio Code: A source-code editor developed by Microsoft.
- Docker: A platform for developing, shipping, and running applications in containers.
- Google Chrome: A cross-platform web browser.
- k9s: A terminal-based UI to manage Kubernetes clusters.
- ProtonVPN: A VPN service.
- Jetbrains Toolbox: A control panel for JetBrains tools.
- Signal: A cross-platform centralized encrypted messaging service.
- Ghostty: A terminal-based UI.
- Snapper: A tool for managing Btrfs snapshots.
- CUPS: A printing system for Unix-like operating systems.
- Mise: A tool for managing multiple runtime versions.
- luarocks: A package manager for Lua modules.
- tree-sitter-cli: A command-line tool for parsing source code.
- Font Awesome
- Cascadia Code
- iA Writer
- Google Noto Fonts (Sans, Emoji, CJK, and Extra)
- JetBrains Mono
- Add your script to the relevant distribution folder.
- Open a pull request with a clear description of what your script installs and why.
