Skip to content

TheRiceCold/kaizen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Last nix update: may 29, 2024

A linux desktop environment configuration using Aylur's Gtk Shell.
The japanese word kaizen is a philosophy to improve continuously and change for the better.


This configuration is designed to improve daily workflow and productivity with an intuitive minimal design that includes smart widgets and powerful development tools.


🔥 Showcase

showcase.mp4

🪟 Windows

Topbar
  • Left Buttons
    • Logo Icon: Toggles launcher window
    • Workspace: Toggles workspaces overview window
    • Dashboard: Toggles dashboard
    • Extend Button
      • Window Options
        • Fullscreen, Toggle Float, Center Layout, Quit
        • Floats Only: Pin and Center
      • Developer Tools
        • Terminal: Toggles scratchpad terminal.
        • AI Tools: Opens API Tools Side Menu.
        • Windows 11: Opens Windows 11 VM. view my setup
  • Middle Indicator and Searchbar:
    • Indicates brightness, audio and mic Adjustment.
    • Also shows current song playing in Spotify, and visualizer when Popup Media is open.
    • Overview and search applications and workspace management
  • Right Buttons:
    • Extend Button
      • Draw: Starts annotation/drawing tool.
      • Colors: Toggles color popup widget.
      • Keys: Key/keyboard options.
      • Zoom: Zoom toggle options.
      • Record: Screen record options.
      • Snip: Screenshot options.
    • System Tray Applications
    • Control Button: Toggles quicksettings side menu widget
    • Date Button: Toggles Date sidemenu widget
    • Power Button: Opens Powermenu window
Popups
  • Indicator
  • Notifications
  • Dock (dock)
  • Color Tool (color)
  • Media Player (media)
  • Keyboard (keyboard)
  • Annotation Tools (annotation)
Fullscreen
  • Launcher
  • Overview
  • Shortcuts
  • Power Menu
Side Menus
  • API Tools (apis)
    • Google Gemini
    • OpenAI ChatGPT
  • Date menu (date):
    • Calendar
    • Weather and Forecast
    • Agenda/Todo List
    • Pomodoro
    • Events
  • Quick settings (quicksettings):
    • Notification List
    • Wifi List
    • Bluetooth List,
    • Sound and Audio Settings
    • Display Settings
Background
  • Menu Item Options:
    • Terminal: Opens Terminal
    • Browser: Opens Browser
    • Files: Opens File Manager
    • Refresh: Refresh Hyprland
    • Dashboard: Opens Dashboard Window
    • Tools
      • Draw: Runs annotation tool
      • Keyboard: Toggle Keyboard Popup
      • Color Wheel: Toggle Color Wheel Popup
Lockscreen
Login Manager/Greeter (TODO)

How to toggle?

Note

use "ags" instead of "kaizen" if you installed this manually
The contents of Side Menus and Popups window with parenthesis are the <widget-name>

Toggle a window: kaizen -t <window-name>

Toggle a widget: kaizen -r "toggleWidget('<widget-name>');"

Example: ~/.config/hypr/hyprland.conf

bind=SUPER, f4, ags -t powermenu # Window
bind=SUPER, m, ags -r "toggleWidget('media');" # Widget

🫕 How to cook?

Manual Installation

Note

This list may be incomplete, so please check the packages inside the default.nix file.

Dependencies

Theme

  • GTK: Matcha Dark Sea
  • Icon Theme: White Sur
  • Cursor: Bibata Modern Ice
  • Font: Ubuntu Nerd Font Regular

Setup

git clone https://github.com/thericecold/kaizen
cp -r kaizen/desktop ~/.config/ags
ags -c ~/.config/ags/config.js

Add this line exec-once = ags to .config/hypr/hyprland.conf to execute on startup.


❄️ Nix Installation

  • Try it without installing nix run github:thericecold/kaizen

  • Nix flake profile install nix profile install github:thericecold/kaizen

  • Flake Input Installation

    flake.nix

    {
      inputs = {    
        nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
        home-manager = {
          url = "github:nix-community/home-manager";
          inputs.nixpkgs.follows = "nixpkgs";
        };
        kaizen.url = "github:thericecold/kaizen";
      };
    
      outputs = { nixpkgs, kaizen, ... } @ inputs: let
        system = "x86_64-linux";
      in {
        homeConfigurations."your_username" = home-manager.lib.homeManagerConfiguration {
          pkgs = import nixpkgs { inherit system; };
          extraSpecialArgs = { inherit kaizen; };
          modules = [ ./home.nix ];
        }
      };
    }

    home.nix

    { kaizen, ... }: {
      imports = [ kaizen.homeManagerModules.default; ]; 
      programs.kaizen = {
        enable = true;
        # // TODO:
        # options = {
        #   theme = {
        #     gaps = 1.5;
        #     padding = 4;
        #     radius = 16;
        #     blur-size = 4;
        #     shadows = true;
        #     border-width = 1;
        #     colorscheme = "poimandres";
        #   };
        #   font =  {
        #     size = 10;
        #     name = "Ubuntu Nerd Font";
        #   };
        # };
      };
    }

🙏 Acknowledgements