How to Install
On macOS (and Linux), run following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ZhongXiLu/dotfiles/master/init.sh)"
On Windows, install programs with winget:
winget import --accept-package-agreements --accept-source-agreements winget.json
As per usual, be wary that these are my dotfiles and not everything may be suitable to your liking, so be careful if you plan on running the command above.
How to Customise
If you decide to fork this repo, here is a brief guide to help you navigate through all the files.
init.sh: The entrypoint script and will intialize everything.
Brewfile: Lists all brew packages. You can replace this with your own one by running
brew bundle dump.
.zshrc: Pretty self-explanatory, you should probably replace this with yours too or modify it. Or if you use something else than zshell, you can remove this file and add yours.
.hushlogin: When this file is present, it will remove the "Last login: ..." message everytime a new terminal window is openend.
.simplebarrc: Configuration for simple-bar. This needed to be in the
winget.json: Winget "packages" (for Windows). You can safely remove this or you can replace this with your own too. To create a
winget.jsonfile, simply run
winget export --accept-source-agreements -o winget.jsonon your Windows and it should export most installed packages.
.ssh: Ssh configuration, you can safely remove this.
aliases: Bash aliases. I find it easier to manage them when they're all defined in one place. I then call them in my
yabai: Note that the configuration as of now differs from the one in the screenshot above. Currently, I've disabled autotiling. If needed, you can remove this line or even better, use your own
bootstrap: The yadm bootstrap script. This will basically (1) install Homebrew and your Brew packages, (2) switch to zshell, and (3) run some other bootstrap scripts located in the
bootstrap.ddirectory (it will automatically run all the scripts in this directory).
brew.sh: Simple helper script that will install Homebrew and your Brew packages.
encrypt: List of all the files that need to be encrypted on your machine and stored in your dotfiles repo. Obviously, change this to your own list if you want to use this too.
archive: File that contains all your encrypted files (that are listed in
encrypt). You should remove this and again, if you want to store your own encrypted files in your repo, run
yadm encrypt --yadm-archive "$HOME/.config/yadm/archive".
bootstrap.d: This directory contains additional bootstrap scripts that will further install tools and applications and/or configure them. If you don't use or recognise the tool or application, you should definitely just remove the file. For example, if you don't use BetterDiscord, remove the
better-discord.shfile. The scripts are also highly experimental, so it might even be the best to remove most or all of them if you don't know what you're doing. On the other hand, you can also add some of your own scripts here if you want to "bootstrap" some of your tools or applications.
- The other directories are just config files for other tools, applications, etc. If you see something you don't use or recognise, you can just remove it. Otherwise, verify if you want to keep the config files or want to modify them.
How do you add an image to neofetch?
- You can change neofetch's config to use an image instead. You can find more info in their wiki. For example, I changed following variables in my config.conf to show Gura in my neofetch:
What does "rice" mean?
- From r/unixporn's wiki:
"Rice" is a word that is commonly used to refer to making visual improvements and customizations on one's desktop. It was inherited from the practice of customizing cheap Asian import cars to make them appear to be faster than they actually were - which was also known as "ricing". Here on r/unixporn , the word is accepted by the majority of the community and is used sparingly to refer to a visually attractive desktop upgraded beyond the default.
What happens if you disable SIP to install yabai?
- By disabling SIP you allow scripts to modify your system files, so it would then be possible for malware and other malicious scripts to modify these files and cause harm to your system. Still, imo it's worth it to use yabai with SIP disabled. Though, you can also use yabai with SIP enabled, but then you won't have every feature. You can read more on yabai's wiki.