The os repository is a CLI tool designed to help manage and automate the setup and configuration of your operating system. It includes scripts, dotfiles, and utilities to streamline the process of setting up a new machine or maintaining an existing one.
- Dotfiles Management: Easily manage and symlink your dotfiles using GNU Stow.
- Zsh Configuration: Preconfigured Zsh setup with plugins and custom scripts.
- Vim Configuration: Includes a preconfigured Vim setup for productivity.
- macOS Utilities: Scripts to list installed macOS applications and manage Homebrew packages.
- Automation: Automates repetitive tasks like creating symlinks, setting up configurations, and more.
os/
├── dotfiles/ # Contains all configuration files for Zsh, Vim, Tmux, Git, etc.
├── src/ # Source code for CLI commands and utilities.
│ ├── commands/ # Specific commands for macOS and general utilities.
│ └── all/ # Shared commands across platforms.
├── output/ # Output files generated by the scripts.
├── logs/ # Log files for debugging and tracking.
├── setup.sh # Script to set up the repository and CLI tool.
├── Makefile # Automates symlink creation and other tasks.
└── README.md # Documentation for the repository.
-
Clone the repository:
git clone https://github.com/siriusnottin/os.git ~/os -
Run the setup script:
bash ~/os/setup.sh -
Use the
oscommand to manage your system:os
The dotfiles directory contains configurations for various tools like Zsh, Vim, Tmux, and Git. Use the Makefile to manage symlinks:
-
Create symlinks for all dotfiles:
make stow-all
-
Remove all symlinks:
make clean
-
Manage specific dotfiles:
make stow-<directory>
-
List installed macOS applications:
python3 src/commands/macos/get_macos_apps.py
-
Manage Homebrew packages:
python3 src/commands/macos/get_brew_casks_formulae.py
The Zsh configuration is modular and includes plugins managed by Znap. To customize, edit the files in dotfiles/zsh/.
The Vim configuration is based on amix/vimrc. To customize, edit the .vimrc file in dotfiles/vim/.
Contributions are welcome! Feel free to open issues or submit pull requests to improve the repository.