From 3a75206afb6c361ad4651843110d5195e5cc9b65 Mon Sep 17 00:00:00 2001 From: kenji Date: Mon, 7 Jul 2025 21:01:19 -0500 Subject: [PATCH] total revamp!! --- flake.lock | 23 ++++++- flake.nix | 7 +- packages/hyprland/home.nix | 130 ++++++++++++++++++++++++++++++++++- packages/quickshell/home.nix | 7 +- 4 files changed, 156 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 9ca2c37..94abb20 100644 --- a/flake.lock +++ b/flake.lock @@ -474,6 +474,26 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751880110, + "narHash": "sha256-5fQ2cetL3rTHqXe2VM3puawL/8u5j6ujBr6Gdt7Iues=", + "ref": "refs/heads/master", + "rev": "5d7e07508ae3e5487edb1ac5a152120434f091d5", + "revCount": 607, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, "root": { "inputs": { "darwin": "darwin", @@ -482,7 +502,8 @@ "matugen": "matugen", "nixovim": "nixovim", "nixpkgs": "nixpkgs_3", - "nur": "nur" + "nur": "nur", + "quickshell": "quickshell" } }, "rust-overlay": { diff --git a/flake.nix b/flake.nix index 2b1bbb1..f1adb34 100644 --- a/flake.nix +++ b/flake.nix @@ -30,15 +30,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - quickshell = { url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; - - # caelestia = { - # url = "git+https://git.sakamoto.dev/kenji/caelestia-nix"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; + }; }; outputs = { diff --git a/packages/hyprland/home.nix b/packages/hyprland/home.nix index 6610b13..dd50617 100644 --- a/packages/hyprland/home.nix +++ b/packages/hyprland/home.nix @@ -7,14 +7,22 @@ "$mod" = "SUPER"; "$term" = "kitty --single-instance"; "$browser" = "firefox"; + "$bar" = "qs -c caelestia"; monitor = myConfig.nixos.Hyprland.monitors; + exec = [ + "hyprctl dispatch submap global" + ]; + submap = [ + "global" + ]; + exec-once = [ "[workspace 20 silent] kitty --single-insance --hold fastfetch" "[workspace 20 silent] firefox" "[workspace 1] kitty --single-instance --hold fastfetch" - "pkill gjs & ags run" + "$bar" "matugen image /home/${myConfig.essentials.Username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png" "hyprctl setcursor Bibata-Original-Classic 24" "solaar -w hide" @@ -35,7 +43,7 @@ layout = "dwindle"; }; decoration = { - rounding = 0; + rounding = 10; rounding_power = 2; active_opacity = 1.0; inactive_opacity = 1.0; @@ -213,10 +221,128 @@ ",XF86AudioPlay, exec, playerctl play-pause" ",XF86AudioPrev, exec, playerctl previous" ]; + + bindi = [ + "Super, Super_L, global, caelestia:launcher" + ]; + + bindin = [ + "Super, catchall, global, caelestia:launcherInterrupt" + "Super, mouse:272, global, caelestia:launcherInterrupt" + "Super, mouse:273, global, caelestia:launcherInterrupt" + "Super, mouse:274, global, caelestia:launcherInterrupt" + "Super, mouse:275, global, caelestia:launcherInterrupt" + "Super, mouse:276, global, caelestia:launcherInterrupt" + "Super, mouse:277, global, caelestia:launcherInterrupt" + "Super, mouse_up, global, caelestia:launcherInterrupt" + "Super, mouse_down, global, caelestia:launcherInterrupt" + ]; + env = [ "HYPRCURSOR_THEME, Bibata-Original-Classic" "HYPRCURSOR_SIZE, 24" ]; + # ######## Window rules ######## + windowrule = [ + "opaque, class:foot|equibop" + "center 1, floating:1, xwayland:0" + + # Float + "float, class:guifetch" + "float, class:yad" + "float, class:zenity" + "float, class:wev" + "float, class:org\\.gnome\\.FileRoller" # Escaped backslash + "float, class:file-roller" + "float, class:blueman-manager" + "float, class:com\\.github\\.GradienceTeam\\.Gradience" # Escaped backslash + "float, class:feh" + "float, class:imv" + "float, class:system-config-printer" + "float, class:quickshell" + + # Float, resize and center + "float, class:foot, title:nmtui" + "size 60% 70%, class:foot, title:nmtui" + "center 1, class:foot, title:nmtui" + "float, class:org\\.gnome\\.Settings" + "size 70% 80%, class:org\\.gnome\\.Settings" + "center 1, class:org\\.gnome\\.Settings" + "float, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser" + "size 60% 70%, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser" + "center 1, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser" + "float, class:nwg-look" + "size 50% 60%, class:nwg-look" + "center 1, class:nwg-look" + + # Special workspaces + "workspace special:sysmon, class:btop" + "workspace special:music, class:feishin|Spotify|Supersonic" + "workspace special:music, initialTitle:Spotify( Free)?" + "workspace special:communication, class:discord|equibop|vesktop|whatsapp" + "workspace special:todo, class:Todoist" + + # Dialogs + "float, title:(Select|Open)( a)? (File|Folder)(s)?" + "float, title:File (Operation|Upload)( Progress)?" + "float, title:.* Properties" + "float, title:Export Image as PNG" + "float, title:GIMP Crash Debug" + "float, title:Save As" + "float, title:Library" + + # Picture in picture (resize and move done via script) + "move 100%-w-2% 100%-w-3%, title:Picture(-| )in(-| )[Pp]icture" + "keepaspectratio, title:Picture(-| )in(-| )[Pp]icture" + "float, title:Picture(-| )in(-| )[Pp]icture" + "pin, title:Picture(-| )in(-| )[Pp]icture" + + # Steam + "rounding 10, title:, class:steam" + "float, title:Friends List, class:steam" + "immediate, class:steam_app_[0-9]+" + "idleinhibit always, class:steam_app_[0-9]+" + + # ATLauncher console + "float, class:com-atlauncher-App, title:ATLauncher Console" + + # Autodesk Fusion 360 + "noblur, title:Fusion360|(Marking Menu), class:fusion360\\.exe" # Escaped backslash + + # Ugh xwayland popups + "nodim, xwayland:1, title:win[0-9]+" + "noshadow, xwayland:1, title:win[0-9]+" + "rounding 10, xwayland:1, title:win[0-9]+" + ]; + + # ######## Workspace rules ######## + workspace = [ + "w[tv1]s[false], gapsout:20, gapsin:20" + "f[1]s[false], gapsout:20, gapsin:20" + ]; + + # ######## Layer rules ######## + layerrule = [ + "animation fade, hyprpicker" + "animation fade, logout_dialog" + "animation fade, selection" + "animation fade, wayfreeze" + + # Fuzzel + "animation popin 80%, launcher" + "blur, launcher" + + # Shell + "noanim, caelestia-(launcher|osd|notifications|border-exclusion|area-picker)" + "animation fade, caelestia-(drawers|background)" + "order 1, caelestia-border-exclusion" + "order 2, caelestia-bar" + # The commented out lines below need to remain commented if you don't want them active + #"xray 1, caelestia-(border|launcher|bar|sidebar|navbar|mediadisplay|screencorners)" + #"blur, caelestia-.*" + #"blurpopups, caelestia-.*" + #"ignorealpha 0.57, caelestia-.*" + ]; }; }; } diff --git a/packages/quickshell/home.nix b/packages/quickshell/home.nix index e3c7708..fecffd4 100644 --- a/packages/quickshell/home.nix +++ b/packages/quickshell/home.nix @@ -3,17 +3,20 @@ pkgs, lib, system, + inputs, ... }: let # Fetch the entire repository from Gitea # This creates a path in the Nix store containing the repo's contents - caelestia = pkgs.fetchFromGithub { + caelestia = pkgs.fetchFromGitHub { owner = "liperium"; # The repository owner repo = "caelestia-shell"; # The repository name rev = "main"; # Or a specific commit hash/tag like "v1.0" - hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; # Set this to "" or a dummy value first + hash = "sha256-s7UodKNURqtFYARD+qjhxnm17uocuz0A3znPneZMDxM="; # Set this to "" or a dummy value first }; in { + imports = [ + ]; home.packages = with pkgs; [ inputs.quickshell.packages.${system}.default fish