1
1
Fork
You've already forked my_dotfiles
0
My dotfiles for daily driving Linux desktop.
  • QML 53.6%
  • Lua 15.2%
  • Python 13.9%
  • Shell 7.3%
  • Rust 3.9%
  • Other 6%
Find a file
2026年07月04日 22:48:50 +08:00
.config Update kde shortcuts, moved deprecated modules to archive 2026年07月04日 22:45:11 +08:00
alacritty Added wallpapers 2026年06月15日 12:05:42 +08:00
archive Update kde shortcuts, moved deprecated modules to archive 2026年07月04日 22:45:11 +08:00
audio_switcher Fixed audio switcher script to run on post login 2026年04月26日 08:13:59 +08:00
autostart WIP prompt 2026年06月18日 21:42:25 +08:00
bash Added safe secret loading 2026年06月20日 13:36:58 +08:00
colors_kde Added kde colour scheme file, made fcitx5 use maple mono 2026年06月13日 07:35:30 +08:00
fcitx5 Added kde colour scheme file, made fcitx5 use maple mono 2026年06月13日 07:35:30 +08:00
fontconfig Added zh fallback to maple mono 2026年06月13日 07:56:21 +08:00
kde/.config Update kde shortcuts, moved deprecated modules to archive 2026年07月04日 22:45:11 +08:00
logo WIP shaders 2026年06月22日 23:28:33 +08:00
lookas Improved task status indicator, fixed focused window logic 2026年06月22日 09:12:14 +08:00
nvim Updated nuke lazy 2026年06月20日 13:25:07 +08:00
opencode WIP nvim migration 2026年06月12日 10:02:04 +08:00
pwsh Fix pwsh 2025年05月24日 20:16:18 +08:00
quickshell Removed duplicate calibrate.qml 2026年07月04日 22:48:50 +08:00
tests WIP Wifi Fixes 2026年06月22日 10:03:37 +08:00
tmux Update theme dev script 2026年04月19日 18:38:44 +08:00
vim WIP nvim migration 2026年06月12日 10:02:04 +08:00
wallpapers Improved task status indicator, fixed focused window logic 2026年06月22日 09:12:14 +08:00
windows_vim Updated vimrc 2025年06月26日 12:29:46 +08:00
xprofile Added xprofile 2026年06月09日 22:17:02 +08:00
zathura Added latex related config 2025年12月03日 15:29:16 +08:00
.gitignore Update kde shortcuts, moved deprecated modules to archive 2026年07月04日 22:45:11 +08:00
LICENSE Added license 2025年11月20日 07:50:12 +08:00
Makefile WIP shaders 2026年06月22日 23:28:33 +08:00
opencode.jsonc Migrated spectrum visualiser to lookas 2026年06月21日 22:26:26 +08:00
README.md WIP shaders 2026年06月22日 23:28:33 +08:00
setup.sh Fixed widget responsiveness 2026年06月22日 09:25:09 +08:00

bladeacer's dotfiles

In this repository, you can find the dotfiles I use.

Configurations included

  • fastfetch: Custom blue rose fastfetch
  • nvim: Custom startpage plugin for rendering 24-bit ANSI art, opinionated terminal keybinds, and language specific LSP integrations
  • vim: Everyone's favourite terminal text editor, used to daily drive this
  • tmux: Terminal window multiplexing
  • alacritty: Terminal emulator
  • bash: Shell aliases and niceties
  • starship: Shell prompt config
  • fcitx5: Integrated CJK IME configs
  • zathura: Keyboard-driven document viewer
  • KDE Plasma configs: Background shortcuts and panel exclusion rules
  • navishell: Custom Qt Quick Wayland shell with KDE Plasma 6 integration

About navishell

navishell is a custom Lain-themed (Serial Experiments Lain) Quickshell inspired setup built with QML components: app launcher, system controls, media HUD, task bar, overlay panels, background spectrum visualizer, and animated shader effects.

Pairing with Iceberg Dark and Departure Mono felt suitable, that being said this is not purely a Lain inspired rice. There are plenty of blue roses and the wallpaper is not too similar to the vibes by purely Lain inspired rices.

Since KDE is used, mouse usage is possible and sometimes expected.

Until I have key binds for everything in the rice itself.

Logo Usage

The fastfetch and neovim startpage renders a blue rose ANSI art at logo/blue_rose. The navishell system controls also displays a braille rendering of Copland OS logo.

Palette

Iceberg Dark. See iceberg.vim for more details on the original colours scheme.

Requirements for navishell

  • EndeavourOS / Arch Linux with KDE Plasma 6 (Wayland)
  • Quickshell: Qt Quick Wayland shell
  • Departure Mono Nerd Font Mono: primary monospace font for the status bar
  • Maple Mono: CJK fallback for Chinese/Japanese/Korean glyphs (see Maple-font)

Installed separately via GitHub releases, AUR package is not recommended by maintainer.

  • lookas (via quickshell/lookas-bridge): perception-aligned spectrum visualiser
  • Rust toolchain (for building lookas-bridge)
  • kdotool: KDE window enumeration and focus tracking (AUR)
  • Standard CLI tools: wpctl, brightnessctl, nmcli, playerctl, bluetoothctl, fcitx5-remote

Keybinds (navishell)

Key Action
Meta+Space Toggle app launcher
Meta+S Toggle system control centre
Escape Close all popups
Ctrl+N Next item
Ctrl+P Previous item
Enter Execute / launch

navishell is a work in progress, expect breaking changes.


Installation (Arch Linux)

git clone https://codeberg.org/bladeacer/my_dotfiles.git ~/my_dotfiles
cd ~/my_dotfiles
chmod +x setup.sh
./setup.sh # or make setup

The setup script will:

  1. Install required packages (stow, neovim, quickshell, playerctl, etc.)
  2. Stow all dotfiles to their proper locations
  3. Set up navishell autostart

Building lookas-bridge

tldr; lookas is cava but more accurate. This bridge is so that we can interface with the lookas library itself.

# Requires: Rust toolchain
cd quickshell/lookas-bridge
cargo build --release

The bridge pipes 77 mel-scaled, A-weighted, spring-damped bar heights to the QML canvas at 60 fps (bar count computed from screen width via bar- and gap-width ratios; 77 at typical desktop resolutions).

Config via ./lookas/lookas.toml, stowed under lookas here. see lookas docs.

Manual calibration

The spectrum visualiser offset per screen is stored in ~/.config/quickshell/calibrations.json. To set precise values without using the interactive calibration tool, edit the file directly:

{
 "HDMI-A-1": 131.0,
 "eDP-1": 248.5
}

Each entry maps a screen name to a calibrated position (in pixels). After editing, restart the shell. The save-offset tool reads from this file (python3 quickshell/save-offset.py --help for CLI usage).

Manual stow

cd ~/my_dotfiles
stow bash # ~/.bashrc, etc.
stow nvim # ~/nvim/
stow quickshell # ~/.config/quickshell/
stow kde # ~/.config/kdeglobals, etc.
stow colors_kde # ~/colors_kde/
stow tmux # ~/.tmux.conf

Or better yet, use stow <package-name> -t ~/path_to/target_dir if you know what you are doing.


Development & Testing

Run make help (or just make) to see all available targets:

$ make
Usage: make <target>
 help Show this help (default)
 calibrate Run screen calibration
 shell Start navishell
 test Run all tests (bash + python)
 test-bash Run telemetry pipe unit tests (bash)
 test-py Run save-offset unit tests (pytest)
 bridge-release Build lookas-bridge in release mode
 setup Run full setup script

Before deploying QML changes, run all tests:

make test # bash + python tests
make test-bash # telemetry pipe tests only
make test-py # save-offset unit tests only

make (default) prints a help screen listing all targets.

The bash tests validate every command in shell.qml's telemetry pipe (battery, wifi, media, volume, brightness, keyboard layout, focus tracking) produces the expected output format. Run make test-bash before restarting the shell to catch regressions.

The focus tracking test uses kdotool + qdbus to query the active KDE window via org.kde.KWin.getWindowInfo. See shell.qml for the telemetry pipe integration and components/TaskTracker.qml for the KDE window enumeration fallback.


Credits

Typography

  • Departure Mono: Primary monospace font used. Licensed under the SIL Open Font License.
  • Maple Mono: CJK fallback font for Chinese/Japanese/Korean glyphs. Licensed under the SIL Open Font License.

Colours

  • IcebergDark: Colour palette. Licensed under the MIT License.
  • iceberg.vim: Original Iceberg colour scheme. Licensed under the MIT License.

Dotfiles

  • Persona-Quickshell: Referenced for layout concepts, GLSL shaders, fluid animation patterns Licensed under the MIT License.

  • DankMaterialShell: Referenced for System status indicators, panel layout strategies, interactive matrix patterns. Licensed under the MIT License.

  • LainOS-ricer-arch: Referenced for ASCII Copland OS logo. License not indicated.

Dependencies

  • Quickshell Widget configuration in QML. Licensed under LGPLv3 License.

  • lookas: Perception-aligned audio spectrum visualiser (used as analysis engine for the background visualiser). Licensed under the MIT License.

License

Unlicence, see LICENSE.