Powered by:
- OS: Arch Linux
- WM: Hyprland
- Terminal: WezTerm
- Editor: Neovim
- Theme: Catppuccin
Inspired by end-4/dots-hyprland.
Arch Linux:
- Installation
- Ensure your network is available:
sudo systemctl enable --now NetworkManager
- Install git:
sudo pacman -S git
- Clone this repository to home directory:
git clone https://github.com/fioncat/dotfiles.git ~/dotfiles
- Run bootstrap script:
~/dotfiles/scripts/bootstrap.sh
- Install graphic driver, see: GPU
- Reboot your system to enter Hyprland
- Run proxy script and config it (if you are in GWF):
~/dotfiles/scripts/proxy.sh
- Run setup script:
~/dotfiles/scripts/setup.sh
- Run secrets script to setup your secrets file:
~/dotfiles/scripts/secrets.sh
macOS:
- Setup your proxy (if you are in GWF)
- Install homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Add my homebrew tap:
brew tap fioncat/apps
- Clone this repository to home directory:
git clone https://github.com/fioncat/dotfiles.git ~/dotfiles
- Export homebrew bin path:
export PATH="/opt/homebrew/bin:$PATH"
- Run setup script:
~/dotfiles/scripts/setup.sh
- Run secrets script:
~/dotfiles/scripts/secrets.sh
Daily:
- Install missing packages:
syncpkg
- Rolling update:
meow
- Update self mantained package:
updpkg <package>
- Enable or disable clash proxy in terminal:
clash on
andclash off
- Remove all docker images:
clear_docker
Tip
If you have a dual-boot system (Windows+Linux), the time might be out of sync between the two systems. In this case, you need to execute the following command in Linux:
sudo timedatectl set-local-rtc 1
Tip
In some countries, accessing GitHub via SSH might be problematic, and by default, the SSH protocol doesn't use the global proxy. We need to add the following configuration to ~/.ssh/config to make GitHub's SSH protocol use HTTPS:
Host github.com
Hostname ssh.github.com
Port 443
User git
Tip
The hyprpaper
and hyprlock
cannot read jpeg
image. You can use the following command to convert jpeg
image to png
:
~/dotfiles/scripts/topng.py ~/Pictures/wallpaper.jpg
This will generate ~/Pictures/wallpaper.png
file.
Tip
In some scenarios, you may want to persist SSH connections, such as when logging into a jump server to avoid entering passwords repeatedly. You can add the following configuration to ~/.ssh/config
:
Host <your-domain>
ControlMaster auto
COntrolPath ~/.ssh/%r@%h:%p.socket
ControlPersist 600m
If you are not on Arch Linux but want to experience this dotfiles, you can use Docker to achieve this:
DOCKER_CMD="sudo docker" make
docker run -it fioncat/dev:archlinux
Note that this Docker image is quite large, and I have not pushed it to DockerHub, so this method is only recommended for temporary experience and debugging. After you are done using it, it is advisable to delete this image.
Important
If you are using daed proxy, you need to configure aur.archlinux.org
domain to not use proxy, otherwise AUR operations will fail:
domain(aur.archlinux.org) -> direct
Use the updpkg
command to update AUR and Homebrew packages. Usage:
updpkg <package>
NOAUR="true" updpkg <package> # Update only Homebrew
NOBREW="true" updpkg <package> # Update only AUR
updpkg --help # Show usage
This command can only be executed on Arch Linux. Before executing, you need to upload your ssh public key to AUR. Please refer to: AUR submission guidelines.