Skip to content

Simplicity and modularity - yet another hyprland rice for Arch Linux

License

Notifications You must be signed in to change notification settings

NeKoRoSYS/NeKoRoSHELL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,057 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Tip

Please star the repo if you like the dotfiles. Thank you πŸ™


Screenshot

NeKoRoSHELL

GitHub Repo stars GitHub Release Size GitHub last commit GitHub contributors Discord

The best way to say "I use Linux btw πŸ€“" is if your desktop environment looks sleek and suave.

Powered by Hyprland, this project does not define itself as "just a rice." 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
πŸ”— Dependencies
β™₯ Acknowledgements

NeKoRoSHELL focuses on simplicity and modularity.

The following are what NeKoRoSHELL currently offers:

  • Portable and Distro-agnostic

    • Use NeKoRoSHELL in any supported distro!
    • Init-agnostic.
    • XDG-compliant.
    • Features an advanced installer script.
      • Use git clone https://github.com/NeKoRoSYS/NeKoRoSHELL
      • Then cd NeKoRoSHELL
      • and finally, bash install.sh to install the dotfiles.
      • install.sh assumes you already have git and a distro-specific g++ compiler.
      • install.sh requires you to have cargo, paru/yay, go, and flatpak.
      • You can freely customize flatpak.txt and pkglist-DISTRO.txt before running install.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.
      • SOME distros don't have hyprland or other dependencies on their package manager's repository and you may have to manually build them from source via script or something else.
  • NeKoRoSHELL as a Service

    • Update your copy of NeKoRoSHELL simply by running the nekoroshell update command on your terminal.
    • Uses Vim or your preferred text editor to assist in reviewing file updates and gives the ability to overwrite, keep, and merge.
  • 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.
  • Notificications Handling

    • Uses SwayNC for a dedicated notification center with customizable buttons and options.
  • Smart Navbar

    • Uses portable WM-agnostic C++ wrappers for waybar to toggle visibility modes: Static, Dynamic, and Hover.

Navbar Demo

  • 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!
    • Switch to Dark and Light contrast modes
    • Dedicated Theming System:
      • Select individual skins for waybar, rofi, hyprlock, SwayNC, and wlogout.
      • Wallpaper Handling
        • Supports both online and offline image (via swww) and video (via mpvpaper) formats.
          • mpvpaper automatically stops if an app is on fullscreen mode to save CPU/RAM and 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.
        • Uses wallust to dynamically update border and UI colors based on the percieved colors of from the wallpaper.
      • Make and select your own Themes that automatically apply skins and wallpapers.

Screenshot


Screenshot


Screenshot


Screenshot

Roadmap

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 βœ…
Theme System - Set all skins in one go βœ…
wlogout integration βœ…
BETA
Support for other distros; Verified to be working on: Arch
πŸ”
BETA
Make NeKoRoSHELL init-agnostic; Verified to be working on: Arch
πŸ”
Qt and Kvantum integration πŸ€”

Beyond "NeKoRoSHELL"

In the near future, I plan to expand upon what makes NeKoRoSHELL, well, "NeKoRoSHELL." The following plans MAY or MAY NOT happen, so do take it with a grain of salt:

  • NeKoRoSHELL Headless: A plug-and-play fork of NeKoRoSHELL that lets you integrate the config files and scripts to any wayland-based window manager/compositor.
  • NeKoRoSHELL DLux (2.0): A reimagining of NeKoRoSHELL that uses Quickshell instead of waybar, SwayNC, rofi, and other packages; in an effort to unify everything. This will effectively rebrand this project as "NeKoRoSHELL Legacy."

Dependencies

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.

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.

The installation system 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

  • nekoroshell update may use Vim to compare, overwrite, or merge files when updating.
  • Auto-pause animated wallpapers via mpvpaper-stop (dependencies: cmake, cjson)
    • Used at set-wallpaper.sh and check-video.sh in ~/.config/hypr/scripts/wallpapers/ to save CPU/RAM usage.
  • Install Hypremoji
  • 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.

Acknowledgements

  • NeKoRoSHELL is fundamentally different and built with strict design/philosophy in mind; however, it's worth to mention that it is partially inspired by JaKooLit's Hyprland Dots. Frankly, I only found out about the repository while I am deep into polising v1.6 and I realized how similar the two projects are. Given this, it is inevitable that I may use their project as reference for future updates while still keeping the features grounded enough to fit into NeKoRoSHELL.

  • Amelie (@S-e-r-a-p-h-i-n-e) for helping me transition the project from using pywal16 to wallust and letting me borrow a few scripts. Go check out SeraDOTS!

  • April for helping me figure out the cause of the now-fixed "keybinds not working" issue.

  • @MiroBG for helping me track issues within the repo.

  • Credits to iyiolacak, justinmdickey, and mkhmtolzhas for their amazing designs.

    • The legacy theme was based on mkhmtolzha's waybar stylesheet and layout, just heavily modified and made to be thematically-consistent across packages like SwayNC.

Star History