Important
This repository stores my dotfiles, which contain many personalized configurations that may not be suitable for anyone other than myself. Additionally, this is currently only applicable to a minimal installation of Arch Linux, so if you want to use my dotfiles, please refer to the installation steps below. Please note that this may overwrite some of your files, so be sure to back them up !!!
Warning
This repository is currently incomplete, lacking scripts for automating configuration handling and some fine-tuning details, which may result in breaking changes. If you are interested in certain configurations, you can manually copy the content or suggest improvements to enhance them.
A dotfiles managed with chezmoi .
Containing many personalized configurations and fixes.
Note
The following Linux distributions are supported, and there are currently no plans to support more distributions.
- Arch Linux (I use it BTW)
You need to install the following packages:
- chezmoi: for managing dotfiles.
- ansible: for automated configuration.
- python-watchdog: a dependence for scripts.
# For Arch Linux user
sudo pacman -S chezmoi ansible python-watchdogHere, it is assumed that you have some basic knowledge of chezmoi and ansible. Please refer to the following installation steps.
Warning
When using Ansible for automated configuration, the main purpose is to conveniently set up system settings, install drivers, and so on. Unless you know what it does or you only want to use the dotfiles, you can skip this step.
Caution
The work is not yet complete, and it lacks testing, so there may be some issues.
# install required collections
# NOTE: If your network is poor, the download may fail, please run it again.
cd ansible/
./run.sh
# Do a dry-run to make sure things go smoothly:
ansible-playbook main.yml --ask-become-pass --check -vvv
# then, start run tasks
ansible-playbook main.yml --ask-become-passThe dotfiles are managed using chezmoi, which internally integrates with Git, making it easy to clone and update. By default, it clones the dotfiles to the ~/.local/share/chezmoi directory, and you can run chezmoi cd to directly navigate to that directory.
# by HTTPS (default)
chezmoi init --branch chezmoi https://github.com/Sstmtz/dotfiles.git
# by SSH (option: --ssh)
chezmoi init --branch chezmoi --ssh [email protected]:Sstmtz/dotfiles.gitThe list of required packages is stored in the lists directory.
-
base: related to the dotfiles. Provides the dependencies required for these configurations. -
extra: not related to the dotfiles. Provides a list of packages I use daily, which you can ignore. -
_themes: some theme-related packages. (for references only) -
_devices: some device-related packages. (for references only) -
_custom.lst: specific to my personal use, please ignore it. -
_deleted.lst: some packages that I no longer use, please ignore it.
You can install the packages included in the specified .lst file by using install_pkg.sh or install_fpk.sh scripts.
Warning
There may be some packages that require manual handling during installation, please let me know if there are any. Additionally, you can comment or uncomment to choose which packages to install.
Note
Typically, you only need to install the packages listed in the base directory.
cd ~/.local/share/chezmoi/
# [required] install base packages (default: packages.lst)
./scripts/install_pkg.sh
# [required] install the packages listed in `base` directory.
./scripts/install_pkg.sh ./lists/base/code.lst
./scripts/install_pkg.sh ./lists/base/fonts.lst
./scripts/install_pkg.sh ./lists/base/shells.lst
./scripts/install_pkg.sh ./lists/base/terminals.lst
./scripts/install_pkg.sh ./lists/base/utils.lst
# [optional] install the packages listed in `extra` directory
# ./scripts/install_pkg.sh ./lists/extra/dailyuse.lst
# ./scripts/install_pkg.sh ./lists/extra/gaming.lst
# ./scripts/install_pkg.sh ./lists/extra/productivity.lst
# ./scripts/install_pkg.sh ./lists/extra/system.lst
# ./scripts/install_pkg.sh ./lists/extra/tools.lst
# [optional] if you want to install platpak software (in `flatpaks.lst`)
# plesae use `install_fpk.sh`.
# ./scripts/install_fpk.sh ./lists/extra/flatpaks.lstIn fact, if you are not satisfied with certain configurations, you can ignore them by modifying .chezmoiignore file in home directory. And I have disabled some, to re-enable them, please uncomment.
# finally, apply it
chezmoi apply -v- dianaw353/dotfiles: Most of my ansible configuration is based on this dotfile.
- HyDE: Some scripts are referenced from this repository.
- ARU: Arch Linux Optimization Guide(RU)