diff --git a/bin/omarchy-show-keybindings b/bin/omarchy-show-keybindings index dec04a0..0219199 100755 --- a/bin/omarchy-show-keybindings +++ b/bin/omarchy-show-keybindings @@ -37,4 +37,4 @@ grep -h '^[[:space:]]*bind' "$USER_HYPRLAND_CONF" | printf "%-35s → %s\n", key_combo, action; } }' | -flock --nonblock /tmp/.wofi.lock -c "wofi -dmenu -i --width 30% --height 40% -p 'Hyprland Keybindings' -O alphabetical" \ No newline at end of file +flock --nonblock /tmp/.wofi.lock -c "wofi -dmenu -i --width 50% --height 40% -p 'Hyprland Keybindings' -O alphabetical" \ No newline at end of file diff --git a/config.nix b/config.nix index 5f6688d..71cb1b5 100644 --- a/config.nix +++ b/config.nix @@ -11,6 +11,7 @@ lib: { theme = lib.mkOption { type = lib.types.enum [ "tokyo-night" + "tokyo-night-light" "kanagawa" "everforest" "catppuccin" diff --git a/config/themes/wallpapers/tokyo-night-light-1.jpg b/config/themes/wallpapers/tokyo-night-light-1.jpg new file mode 100644 index 0000000..09971e8 Binary files /dev/null and b/config/themes/wallpapers/tokyo-night-light-1.jpg differ diff --git a/lib/selected-wallpaper.nix b/lib/selected-wallpaper.nix new file mode 100644 index 0000000..3cda05b --- /dev/null +++ b/lib/selected-wallpaper.nix @@ -0,0 +1,30 @@ +config: let + cfg = config.omarchy; + wallpapers = { + "tokyo-night" = [ + "1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg" + ]; + "tokyo-night-light" = [ + "tokyo-night-light-1.jpg" + ]; + "kanagawa" = [ + "kanagawa-1.png" + ]; + "everforest" = [ + "1-everforest.jpg" + ]; + "nord" = [ + "nord-1.png" + ]; + "gruvbox" = [ + "gruvbox-1.jpg" + ]; + "gruvbox-light" = [ + "gruvbox-1.jpg" + ]; + }; + + selected_wallpaper = builtins.elemAt (wallpapers.${cfg.theme}) 0; +in { + wallpaper_path = "~/Pictures/Wallpapers/${selected_wallpaper}"; +} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 44bd5ce..fca4eab 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -20,7 +20,7 @@ in { (import ./mako.nix) (import ./starship.nix) (import ./vscode.nix) - (import ./waybar.nix) + (import ./waybar.nix inputs) (import ./wofi.nix) (import ./zoxide.nix) (import ./zsh.nix) @@ -50,6 +50,6 @@ in { }; }; - # TODO: Add an actual nvim config + # TODO: Add an actual nvim config programs.neovim.enable = true; } diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 0bc96c4..e8f038e 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -9,5 +9,4 @@ inputs: { package = inputs.hyprland.packages.${pkgs.system}.hyprland; }; services.hyprpolkitagent.enable = true; - } diff --git a/modules/home-manager/hyprland/bindings.nix b/modules/home-manager/hyprland/bindings.nix index 6568af2..79f0e9d 100644 --- a/modules/home-manager/hyprland/bindings.nix +++ b/modules/home-manager/hyprland/bindings.nix @@ -23,7 +23,6 @@ in { "SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff" "SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings" - # Control tiling "SUPER, J, togglesplit, # dwindle" "SUPER, P, pseudo, # dwindle" diff --git a/modules/home-manager/hyprland/envs.nix b/modules/home-manager/hyprland/envs.nix index 025f03d..04dceea 100644 --- a/modules/home-manager/hyprland/envs.nix +++ b/modules/home-manager/hyprland/envs.nix @@ -4,8 +4,7 @@ pkgs, osConfig ? {}, ... -}: -let +}: let cfg = config.omarchy; hasNvidiaDrivers = builtins.elem "nvidia" osConfig.services.xserver.videoDrivers; nvidiaEnv = [ @@ -13,41 +12,42 @@ let "LIBVA_DRIVER_NAME,nvidia" "__GLX_VENDOR_LIBRARY_NAME,nvidia" ]; -in -{ +in { wayland.windowManager.hyprland.settings = { # Environment variables - env = (lib.optionals hasNvidiaDrivers nvidiaEnv) ++ [ - "GDK_SCALE,${toString cfg.scale}" - - # Cursor size - "XCURSOR_SIZE,24" - "HYPRCURSOR_SIZE,24" + env = + (lib.optionals hasNvidiaDrivers nvidiaEnv) + ++ [ + "GDK_SCALE,${toString cfg.scale}" - # Cursor theme - "XCURSOR_THEME,Bibata-Modern-Classic" - "HYPRCURSOR_THEME,Bibata-Modern-Classic" + # Cursor size + "XCURSOR_SIZE,24" + "HYPRCURSOR_SIZE,24" - # Force all apps to use Wayland - "GDK_BACKEND,wayland" - "QT_QPA_PLATFORM,wayland" - "QT_STYLE_OVERRIDE,kvantum" - "SDL_VIDEODRIVER,wayland" - "MOZ_ENABLE_WAYLAND,1" - "ELECTRON_OZONE_PLATFORM_HINT,wayland" - "OZONE_PLATFORM,wayland" + # Cursor theme + "XCURSOR_THEME,Bibata-Modern-Classic" + "HYPRCURSOR_THEME,Bibata-Modern-Classic" - # Make Chromium use XCompose and all Wayland - "CHROMIUM_FLAGS,\"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4\"" + # Force all apps to use Wayland + "GDK_BACKEND,wayland" + "QT_QPA_PLATFORM,wayland" + "QT_STYLE_OVERRIDE,kvantum" + "SDL_VIDEODRIVER,wayland" + "MOZ_ENABLE_WAYLAND,1" + "ELECTRON_OZONE_PLATFORM_HINT,wayland" + "OZONE_PLATFORM,wayland" - # Make .desktop files available for wofi - "XDG_DATA_DIRS,$XDG_DATA_DIRS:$HOME/.nix-profile/share:/nix/var/nix/profiles/default/share" + # Make Chromium use XCompose and all Wayland + "CHROMIUM_FLAGS,\"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4\"" - # Use XCompose file - "XCOMPOSEFILE,~/.XCompose" - "EDITOR,nvim" - # "DOCKER_HOST,unix://$XDG_RUNTIME_DIR/podman/podman.sock" - ]; + # Make .desktop files available for wofi + "XDG_DATA_DIRS,$XDG_DATA_DIRS:$HOME/.nix-profile/share:/nix/var/nix/profiles/default/share" + + # Use XCompose file + "XCOMPOSEFILE,~/.XCompose" + "EDITOR,nvim" + # "DOCKER_HOST,unix://$XDG_RUNTIME_DIR/podman/podman.sock" + ]; xwayland = { force_zero_scaling = true; diff --git a/modules/home-manager/hyprland/windows.nix b/modules/home-manager/hyprland/windows.nix index 7a34a3f..67a5f8a 100644 --- a/modules/home-manager/hyprland/windows.nix +++ b/modules/home-manager/hyprland/windows.nix @@ -40,6 +40,7 @@ layerrule = [ # Proper background blur for wofi "blur,wofi" + "blur,waybar" ]; }; } diff --git a/modules/home-manager/hyprlock.nix b/modules/home-manager/hyprlock.nix index 49fcec3..ab40d00 100644 --- a/modules/home-manager/hyprlock.nix +++ b/modules/home-manager/hyprlock.nix @@ -6,6 +6,7 @@ inputs: { }: let palette = config.colorScheme.palette; convert = inputs.nix-colors.lib.conversions.hexToRGBString; + selected_wallpaper_path = (import ../../lib/selected-wallpaper.nix config).wallpaper_path; backgroundRgb = "rgba(${convert ", " palette.base00}, 0.8)"; surfaceRgb = "rgb(${convert ", " palette.base02})"; @@ -24,9 +25,9 @@ in { }; background = { monitor = ""; - path = "screenshot"; - blur_passes = 3; - brightness = 0.5; + path = selected_wallpaper_path; + # blur_passes = 3; + # brightness = 0.5; }; input-field = { @@ -45,7 +46,6 @@ in { font_color = foregroundRgb; placeholder_color = foregroundMutedRgb; - # placeholder_text = "Enter Password"; placeholder_text = "  Enter Password 󰈷 "; check_color = "rgba(131, 192, 146, 1.0)"; fail_text = "Wrong"; @@ -60,7 +60,7 @@ in { text = "\$FPRINTPROMPT"; text_align = "center"; color = "rgb(211, 198, 170)"; - font_size = 24; + font_size = 24; font_family = "CaskaydiaMono Nerd Font"; position = "0, -100"; halign = "center"; diff --git a/modules/home-manager/hyprpaper.nix b/modules/home-manager/hyprpaper.nix index 8b46c7f..6bc55c8 100644 --- a/modules/home-manager/hyprpaper.nix +++ b/modules/home-manager/hyprpaper.nix @@ -3,30 +3,7 @@ pkgs, ... }: let - cfg = config.omarchy; - wallpapers = { - "tokyo-night" = [ - "1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg" - ]; - "kanagawa" = [ - "kanagawa-1.png" - ]; - "everforest" = [ - "1-everforest.jpg" - ]; - "nord" = [ - "nord-1.png" - ]; - "gruvbox" = [ - "gruvbox-1.jpg" - ]; - "gruvbox-light" = [ - "gruvbox-1.jpg" - ]; - }; - - selected_wallpaper = builtins.elemAt (wallpapers.${cfg.theme}) 0; - selected_wallpaper_path = "~/Pictures/Wallpapers/${selected_wallpaper}"; + selected_wallpaper_path = (import ../../lib/selected-wallpaper.nix config).wallpaper_path; in { home.file = { "Pictures/Wallpapers" = { diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 3a2a22b..66f167f 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -1,8 +1,13 @@ -{ +inputs: { config, pkgs, ... -}: { +}: +let + palette = config.colorScheme.palette; + convert = inputs.nix-colors.lib.conversions.hexToRGBString; + backgroundRgb = "rgba(${convert ", " palette.base00}, 0.25)"; +in { home.file = { ".config/waybar/" = { source = ../../config/waybar; @@ -12,7 +17,8 @@ text = '' * { color: #${config.colorScheme.palette.base05}; - background-color: #${config.colorScheme.palette.base00}; + background-color: ${backgroundRgb}; + } ''; }; diff --git a/modules/nixos/hyprland.nix b/modules/nixos/hyprland.nix index bc49325..c1a1f34 100644 --- a/modules/nixos/hyprland.nix +++ b/modules/nixos/hyprland.nix @@ -3,12 +3,10 @@ inputs: { pkgs, ... }: { - programs.hyprland = { enable = true; # package = inputs.hyprland.packages.${pkgs.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - }; } diff --git a/modules/themes.nix b/modules/themes.nix index 7197e59..dced1bc 100644 --- a/modules/themes.nix +++ b/modules/themes.nix @@ -3,6 +3,10 @@ base16-theme = "tokyo-night-dark"; vscode-theme = "Tokyo Night"; }; + "tokyo-night-light" = { + base16-theme = "tokyo-night-light"; + vscode-theme = "Tokyo Night Light"; + }; "catppuccin-macchiato" = { vscode-theme = "Catppuccin Macchiato";