{"id":20148866,"url":"https://github.com/dev-chenxing/dotfiles","last_synced_at":"2025-09-21T11:06:59.075Z","repository":{"id":240899375,"uuid":"803693495","full_name":"dev-chenxing/dotfiles","owner":"dev-chenxing","description":"🗃️ my settings for Arch Linux 🐧 (bspwm) | Arch Linux + bspwm 配置和安装攻略 💾","archived":false,"fork":false,"pushed_at":"2025-04-16T15:38:55.000Z","size":5807,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T12:49:36.023Z","etag":null,"topics":["alacritty","arch","bspwm","chinese","dotfiles","linux","polybar","shell","terminal","theme"],"latest_commit_sha":null,"homepage":"","language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dev-chenxing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-21T08:00:56.000Z","updated_at":"2025-04-16T15:39:00.000Z","dependencies_parsed_at":"2024-06-13T16:06:43.249Z","dependency_job_id":null,"html_url":"https://github.com/dev-chenxing/dotfiles","commit_stats":null,"previous_names":["dev-chenxing/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dev-chenxing/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-chenxing%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-chenxing%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-chenxing%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-chenxing%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev-chenxing","download_url":"https://codeload.github.com/dev-chenxing/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-chenxing%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276229766,"owners_count":25606954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alacritty","arch","bspwm","chinese","dotfiles","linux","polybar","shell","terminal","theme"],"created_at":"2024-11-13T22:39:44.730Z","updated_at":"2025-09-21T11:06:59.040Z","avatar_url":"https://github.com/dev-chenxing.png","language":"QML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🗃️ dotfiles\n\nThe configuration files for my Arch Linux laptop. It also comes with a step-by-step guide to install and configure Arch Linux.\n\n### Preview\n\n![preview](/screenshots/preview.png)\n\n### Application list\n\n| Usage   | Application      |\n| ------- | ---------------- |\n| Editor  | Code - OSS       |\n| Shell   | bash             |\n| Termial | alacritty, urxvt |\n| Desktop | bspwm            |\n\n## Guides\n\n\u003c!-- TOC --\u003e\n\n- [How to Install Arch Linux](#how-to-install-arch-linux)\n- [Set Wallpaper with Nitrogen](#set-wallpaper-with-nitrogen)\n- [How to Setup Chinese Input Method](#how-to-setup-chinese-input-method)\n- [Synth-Shell for Fancy Bash Prompt](#synth-shell-for-fancy-bash-prompt)\n- [Neofetch/Hyfetch Configuration and Customization](#neofetchhyfetch-configuration-and-customization)\n- [VSCode Setup](#vscode-setup)\n- [SDDM Login Manager](#sddm-login-manager)\n- [Setup and Configure Rofi](#setup-and-configure-rofi)\n- [Set up Slock](#set-up-slock)\n- [Scrot and Dunst Notifications](#scrot-and-dunst-notifications)\n- [URxvt Configuration](#urxvt-configuration)\n\n\u003c!-- /TOC --\u003e\n\n### How to Install Arch Linux\n\n\u003e Written on June 14th, 2024\n\n![Arch Linux Install](/screenshots/arch_linux_install.png)\n\nSelect `Arch Linux install medium (x86_64, BIOS)` to boot the Arch Linux install medium on BIOS.\n\n![root@archiso](/screenshots/root@archiso.png)\n\nTo connect to Wi-Fi, use the `iwctl` utility\n\n```bash\niwctl\n```\n\nWith the `iwd` console, you can check the available devices in Station mode, get available networks, and connect to network\n\n```bash\nstation list # List devices in station mode\nstation wlan0 get-networks # get networks for station wlan0\nstation wlan0 connect \u003c\"network name\"\u003e # connect to network\n```\n\nAfter you enter the correct Passphrase, the state of the device should now be `connected`. To exit the `iwc` console, enter\n\n```bash\nquit\n```\n\nBefore we install and run the `archinstall`, we should probably sync the packages\n\n```bash\npacman -Syy\npacman -S archinstall\narchinstall\n```\n\n![archinstall](/screenshots/archinstall.png)\n\n-   Set your Mirror Region to where you are.\n-   Keep the Locales as it (us, en_US, UTF-8).\n-   Select `Use a best-effort default partition layout` for partitioning, and select the hard drive to use. Select `ext4` for filesystem.\n-   Leave the Disk encryption as empty.\n-   Use `Grub` for the bootloader.\n-   Specify your Hostname: `arch`\n-   Add your user account (Remember you **password**!), and `yes`, it should be a superuser. Confirm and exit.\n-   For Profile, set `type` to `Desktop`, and select `Bspwm` as our desktop environment, and choose `sddm` as our Greeter.\n-   Choose `Pulseaudio` for audio server.\n-   Additional packages to install: `firefox hyfetch sxhkd polybar picom rofi dunst nitrogen thunar git code fcitx5`\n-   Then, `Copy ISO network configuration to installation`.\n-   Set your timezone.\n-   Enable `multilib` as an optional additional repositories.\n\nAnd we are good to go!\n\n**INSTALL!**\n\nThen, select `yes` when asked whether to chroot into the installation.\n\nNow we need to do the basic configuration for bspwm, or else you will be getting a black screen upon logging in.\n\n```bash\nsu - \u003c\"username\"\u003e # login into your user\n```\n\nThen, clone the dotfiles to `$HOME`\n\n```bash\ncd $HOME\ngit clone https://github.com/dev-chenxing/dotfiles.git\n```\n\nFirst, run the `install-paru.sh` script to install [paru](https://aur.archlinux.org/packages/paru), the AUR helper\n\n```bash\ncd dotfiles\nsh ./install-paru.sh\n```\n\nSecond, run the `./bspwm-config.sh` script\n\n```bash\nsh ./bspwm-config.sh\n```\n\nThis will create the configuration files for `bspwm`, `sxhkd`, `picom`, `polybar`, and `dunst`\n\nFinally, exit from chroot and our installation is completed.\n\n```bash\nexit # logout from [username@archiso ~]$\nexit # exit from [username@archiso /]$\nexit # exit from [root@archiso /]#\n```\n\n**REBOOT** and `Boot existing OS` this time.\n\n```bash\nreboot\n```\n\nIf you follow the instructions above, right now you should be greeted by the default `sddm` display manager.\n\n![sddm](/screenshots/sddm.png)\n\n### Set Wallpaper with Nitrogen\n\n-   Launch nitrogen\n-   `Preferences` -\u003e `Add` to add `dotfiles/wallpapers` to Directory. `OK`\n-   Click on the wallpaper, `Scaled` and `Screen 1`, `OK`\n\nOnce you have successfully set your wallpaper, your desktop should look like what's down below\n\n![bspwm](/screenshots/bspwm.png)\n\n### How to Setup Chinese Input Method\n\n\u003e Written on June 14th, 2024\n\nWe are going to use `fcitx5` for our input method and `Noto Sans Mono CJK` for our font\n\n```bash\nsudo pacman -Sy fcitx5-im\nsudo pacman -Sy fcitx5-chinese-addons\n```\n\nSet the IM modules environment variables and reboot\n\n```bash\nsudo nano /etc/environment\n```\n\n```text\nGTK_IM_MODULE=fcitx\nQT_IM_MODULE=fcitx\nXMODIFIERS=@im=fcitx\n```\n\n![etc_environment](/screenshots/etc_environment.png)\n\n`Win + D` to launch Rofi and run the _Fcitx 5 Configuration_.\n\nOn the right panel, search for input method `Pinyin` , double click on it to set it as Current Input Method.\n\nThen go to the `Global Options` section, remove the `Enumerate Input Method Group Forward/Backward` keybinds and change the `Trigger Input Method` keybind from `Control+Space` to `Super+Space`.\n\nApply the changes and go back to the `Input Method` section. Select `Pinyin` and click on the `Configure` button.\n\n-   Enable Cloud Pinyin\n-   Configure Cloud Pinyin:\n    -   Minimum Pinyin Length: 2\n    -   Backend: Baidu\n-   Previous Candidate: Left\n-   Next Candidate: Right\n\n![fcitx5](/screenshots/fcitx5.png)\n\nOne last step to set is to edit the locale file\n\n```bash\nsudo nano /etc/locale.gen\n```\n\nUncomment lines:\n\n```text\nzh_CN.UTF-8 UTF-8\nzh_HK.UTF-8 UTF-8\nzh_TW.UTF-8 UTF-8\n```\n\n### Synth-Shell for Fancy Bash Prompt\n\n\u003e Written on June 15th, 2024\n\nTo install and setup `synth-shell`, simply run the `./install-synth-shell.sh` script\n\n```bash\nsh ./install-synth-shell.sh\n```\n\n### Neofetch/Hyfetch Configuration and Customization\n\n\u003e Written on June 15th, 2024\n\n![hyfetch](screenshots/hyfetch.png)\n\nWhen you first run `hyfetch`, it will prompt you to configure. My setup is:\n\n-   color: akiosexual\n-   brightness: 50%\n-   arrangement: horizontal\n\nTo run `Hyfetch`, the modern `Neofetch` every time you launch the terminal, simply add `hyfetch` to your `.bashrc` file\n\n```bash\nnano $HOME/.bashrc\n```\n\n```bash\nhyfetch\n```\n\nTo configure `neofetch`,\n\n```bash\ncp -r neofetch $HOME/.config\n```\n\n### VSCode Setup\n\n\u003e Written on June 15th, 2024\n\nExtensions to install:\n\n-   Prettier - Code formatter\n\nTo configure `Code - OSS`,\n\n```bashs\ncp Code\\ -\\ OSS/User/settings.json $HOME/.config/Code\\ -\\ OSS/User\ncp Code\\ -\\ OSS/User/keybindings.json $HOME/.config/Code\\ -\\ OSS/User\n```\n\n### SDDM Login Manager\n\n\u003e Written on June 15th, 2024\n\nInstall the modified version of `Where is my SDDM theme?`\n\n```bash\nsh ./install-sddm-theme.sh\n```\n\n### Setup and Configure Rofi\n\n\u003e Written on June 15th, 2024\n\nTo configure `Rofi`,\n\n```bash\ncp -r rofi $HOME/.config\n```\n\n### Set up Slock\n\n\u003e Written on June 15th, 2024\n\nTo install and configure `slock`\n\n```bash\nsh ./install-slock.sh\n```\n\n### Scrot and Dunst Notifications\n\n\u003e Written on June 15th, 2024\n\nI store my screenshots in `$HOME/Pictures/screenshot`\n\n```bash\nmkdir $HOME/Pictures\nmkdir $HOME/Pictures/screenshot\n```\n\nTo install `scrot`, the screenshot software\n\n```bash\nsudo pacman -S scrot\n```\n\nTo take a screenshot, simply press the `PrtSc` key\n\n### URxvt Configuration\n\n\u003e Written on June 15th, 2024\n\nTo configure `urxvt`\n\n```bash\ncp urxvt/.Xdefaults $HOME\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-chenxing%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-chenxing%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-chenxing%2Fdotfiles/lists"}