Tip
Please star the repo if you like the dotfiles. Thank you π
The best way to say "I use Linux btw π€" is if your desktop profile looks sleek and suave.
NeKoRoSHELL aims to provide an out-of-the-box, clean and reliable, generic, and modular framework that lets you easily customize your desktop experience with simple UI design philosophy in mind.
| π Table of Contents |
|---|
| π Features |
| π¨ Skins and Layouts |
| π Dependencies |
| π€ Optional |
NeKoRoSHELL focuses on simplicity and modularity.
The following are what NeKoRoSHELL currently offers:
-
Distro-agnostic Installer Script
- Use
git clone https://github.com/NeKoRoSYS/NeKoRoSHELL - Then
cd NeKoRoSHELL - and finally,
bash install.shto install the dotfiles.install.shassumes you already havegitand a distro-specificg++compiler.install.shrequires you to havecargo,paru/yay,go, andflatpak.- You can freely customize
flatpak.txtandpkglist-DISTRO.txtbefore runninginstall.sh. - The installer is safe. It backs up your pre-existing .config folders. (If you have any)
- The installer automatically handles assigning your monitors at
~/.config/hypr/configs/monitors.conf/and replaces every occurence of/home/nekorosys/with your username for your own convenience.
- Use
-
Window Controls
- Maximize
- Fullscreen
- Toggle Opacity
- Toggle Floating Window
- Pseudo-floating/organized windows
- Change tile placement
-
Copying and Pasting
- Screenshot support via
hyprshot. - Clipboard history via
cliphist.
- Screenshot support via
-
Notificications Handling
- Uses
SwayNCfor a dedicated notification center with customizable buttons and options.
- Uses
-
Smart Navbar
- Uses bash script wrappers for
waybarfor the modes: Static, Dynamic, and Hover.
- Uses bash script wrappers for
- Advanced Customization - Make NeKoRoSHELL YOURS!
- NeKoRoSHELL is not just an identity, it is a framework. This repo gives you at most 2 pre-installed out-of-the-box layouts/styling for waybar, hyprlock, and SwayNC. The best part? You can make your own!
- Credits to iyiolacak, justinmdickey, and mkhmtolzhas for their amazing theming.
- Switch to Dark and Light Mode
- Select Waybar Skins
- Select Rofi Skins
- Select Hyprlock Layouts
- Select SwayNC Styles
- Wallpaper Handling
- Supports both online (yes, online.) and offline image (via
swww) and video (viampvpaper) formats.mpvpaperautomatically stops if an app is on fullscreen mode to save CPU, RAM, or GPU space.- Paste image or video links with valid file extensions in the rofi prompt and the download will automatically be processed, saved, and set as your new wallpaper.
- Border colors and UI elements have dynamic color schemes.
- Supports both online (yes, online.) and offline image (via
NeKoRoSHELL is currently being developed by one person (cough CONTRIBUTING cough) and is constantly under rigorous quality assurance for improvement. We always aim to keep a "no-break" promise for every update so that you can safely update to later versions without expecting any breakages.
| π TODO | STATUS |
|---|---|
| Improve base "legacy" theme | β |
| Implement base functionality | β |
| Implement base QOL features | β |
| Optimizations | β |
| Color Handling - Replace pywal6 with wallust | β |
| Dmenu Overhaul - Replace wofi with rofi | β |
| Support for other distros; BETA, see CONTRIBUTING | π |
| Theme System - Set all skins in one go | β |
| wlogout integration | β³ |
| Qt and Kvantum integration | π€ |
| Quickshell integration | π€ |
NOTE: It is unclear what I'll have to do to properly execute a Quickshell integration for this repo. Maybe I'll only add widgets; or maybe I'll make an entirely new desktop environment on top of Hyprland, replacing waybar and swaync. Who knows? It doesn't matter for now so please take it with a grain of salt.
Make sure to analyze the directory structure of ~/.config/waybar/skins, ~/.config/hypr/hyprlock/, and ~/.config/hypr/swaync/; and how the files (hyprlock.conf, config.jsonc, colors.css, style.css, layout.jsonc, modules.jsonc) include or import from each other. That way, you can easily create more options or looks to choose from!
You have two options:
- Install someone else's Waybar/Hyprlock setup and then manually adjust its files to correctly import or include; or
- Make your own. Β―_(γ)_/Β―
Caution
HARDWARE SPECIFIC CONFIGURATION
Some environment variables and params at ~/.config/hypr/configs/environment.conf/ and ~/.config/hypr/scripts/set-wallpaper.sh/ (also check the check-video.sh script, mpvpaper uses a "hwdec=nvdec" param) require an NVIDIA graphics card. Although it may be generally safe to leave it as is upon installing to a machine without such GPU, I recommend commenting it out or replacing it with a variable that goes according to your GPU.
The System Booting section contains settings specifically optimized for a dual-GPU laptop (Intel 620/Nvidia 940MX).
Do not copy the GRUB_CMDLINE_LINUX_DEFAULT or mkinitcpio modules unless you have identical hardware, as this may prevent your system from booting.
Warning
SOFTWARE SPECIFIC CONFIGURATION
This project of mine was originally built only for Arch Linux but is now capable of claiming itself to be Distro-agnostic. However, installation of this repo in other Linux Distros aside from Arch is more or less UNTESTED. Please verify using nano or your preferred text-editor if your distro supports the packages listed at pkglist-DISTRO.txt or if the packages are named correctly.
Normal incompatibilities include distros like Artix not being able to run systemctl because they use a different init system/manager. For those who experience something similar, manually enable SwayNC and waybar services yourself. Furthermore, some distros have outdated packages and may require building from git, cargo, or go.
The installation system for that I implemented can be improved. If you're willing to help, please make a pull request. Your contributions are welcome and will be appreciated! :D
-
Auto-pause animated wallpapers via mpvpaper-stop (dependencies: cmake, cjson)
- Used at
set-wallpaper.shandcheck-video.shin~/.config/hypr/scripts/wallpapers/to save CPU/RAM usage.
- Used at
-
This rice uses
rofito run actions and apps.- Some apps like
mpvpaperneeds to be ran usingprime-runandgamemoderun
- Some apps like
-
hyprlanduseshypridleandhyprlock. -
Waybar was set up to use
kitty,Mozilla Firefox, anddolphin. You can change this if you want at~/.config/waybar/config.jsonc. -
The screenshot and clipboard features need
grim,slurp,hyprshot,wl-clipboard, andcliphistto run.
Mostly personal notes just in case I switch over to another PC. Do NOT copy my Grub Linux CMDLINE and mkinitcpio modules unless you also have a laptop with old hybrid GPUs (Intel Graphics 620 and Nvidia GeForce 940mx).
-
Use MineGrub theme for Grub.
-
Identify GPU names.
-
/etc/modprobe.d/nvidia.confoptions nvidia NVreg_PreserveVideoMemoryAllocations=1 options nvidia NVreg_EnableS0ixPowerManagement=1 install nvidia_uvm /usr/bin/false -
Modify
/etc/default/grub-
Install
os-prober.GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet rd.udev.log_level=3 systemd.show_status=auto vt.global_cursor_default=0 nvidia_drm.modeset=1 nvidia_drm.fbdev=1 pci=noaer pcie_aspm=off nvme_core.default_ps_max_latency_us=0 nvidia.NVreg_EnableS0ixPowerManagement=1 intel_pstate=active i915.modeset=1 i915.enable_fbc=1 mitigations=off" -
GRUB_THEME="/boot/grub/themes/minegrub-world-selection/theme.txt" -
GRUB_DISABLE_OS_PROBER=false -
sudo grub-mkconfig -o /boot/grub/grub.cfg
-
-
Modify
/etc/mkinitcpio.conf(MODULESfor GPU andHOOKSforplymouthafterbase udev)sudo mkinitcpio -P
- Use
plymouthandgreetd(nwg-hello)
- Install
alsa-utilsandnoise-suppression-for-voice-
wpctl status -
alsamixer -
sudo alsactl store -
nano ~/.config/pipewire/pipewire.conf.d/99-input-denoising.confcontext.modules = [ { name = libpipewire-module-filter-chain args = { node.description = "Noise Canceling Source" media.name = "Noise Canceling Source" filter.graph = { nodes = [ { type = ladspa name = rnnoise plugin = /usr/lib/ladspa/librnnoise_ladspa.so label = noise_suppressor_mono control = { "VAD Threshold (%)" = 50.0 } } ] } capture.props = { node.name = "capture.rnnoise_source" node.passive = true audio.rate = 48000 } playback.props = { node.name = "rnnoise_source" media.class = Audio/Source audio.rate = 48000 } } } ] -
wpctl set-default yourNoiceCancelledID(find inwpctl status)
-
- Install Hypremoji
- Install
bluemanandr-quick-sharefor seamless bluetooth support. (Works with Apple Airpods and android phone) - Fix waybar tray disappearing after a certain amount of time by installing
sni-qt. Make sure you're not killing waybar using -SIGUSER2 when refreshing the config.








