diff --git a/flake.lock b/flake.lock index 47bef07..e06ea32 100644 --- a/flake.lock +++ b/flake.lock @@ -73,14 +73,15 @@ "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" - ] + ], + "quickshell": "quickshell" }, "locked": { - "lastModified": 1752550660, - "narHash": "sha256-cTIzmSA4ykmPKc+1BygDfet6uJVETez9ZgaR55iSDxs=", + "lastModified": 1752553895, + "narHash": "sha256-sXhqL2vcfGSry51Hf7uYretkCrfti6uzvd0YFwdLA1g=", "ref": "refs/heads/master", - "rev": "d45a34673a9b7f0001c8974af127af82752aad0c", - "revCount": 5, + "rev": "06c6711b13925b9b5970bd0dc17573bf5a618140", + "revCount": 8, "type": "git", "url": "https://git.sakamoto.dev/kenji/caelestia-nix" }, @@ -1039,6 +1040,27 @@ } }, "quickshell": { + "inputs": { + "nixpkgs": [ + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752486994, + "narHash": "sha256-/11zPRDdPPn61GXDyvDes9otFTP5lLqmETAtwMdeYWI=", + "ref": "refs/heads/master", + "rev": "5ac9096c1c63f6940c6b95f1118b540dfe029278", + "revCount": 632, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, + "quickshell_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -1070,7 +1092,7 @@ "nixovim": "nixovim", "nixpkgs": "nixpkgs_4", "nur": "nur", - "quickshell": "quickshell" + "quickshell": "quickshell_2" } }, "rust-overlay": { diff --git a/hosts/hakase/configuration.nix b/hosts/hakase/configuration.nix index da88feb..550bbba 100644 --- a/hosts/hakase/configuration.nix +++ b/hosts/hakase/configuration.nix @@ -45,6 +45,8 @@ nixpkgs.config.allowUnfree = myConfig.general.allowUnfree; hardware.logitech.wireless.enable = true; + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; hardware.graphics = { enable = true; enable32Bit = true; diff --git a/packages/hyprland/config/binds.nix b/packages/hyprland/config/binds.nix index bfd2384..632355e 100644 --- a/packages/hyprland/config/binds.nix +++ b/packages/hyprland/config/binds.nix @@ -23,24 +23,52 @@ ]; # Shell keybinds + bindi = [ + "$mod, Super_L, global, caelestia:launcher" # bind to `bind` because `bindi` maps to it + # Launcher + ]; + bindin = + [ + "$mod, catchall, global, caelestia:launcherInterrupt" + "$mod, mouse:272, global, caelestia:launcherInterrupt" + "$mod, mouse:273, global, caelestia:launcherInterrupt" + "$mod, mouse:274, global, caelestia:launcherInterrupt" + "$mod, mouse:275, global, caelestia:launcherInterrupt" + "$mod, mouse:276, global, caelestia:launcherInterrupt" + "$mod, mouse:277, global, caelestia:launcherInterrupt" + "$mod, mouse_up, global, caelestia:launcherInterrupt" + "$mod, mouse_down, global, caelestia:launcherInterrupt" + + "$mod, K, global, caelestia:launcherInterrupt" + "$mod, H, global, caelestia:launcherInterrupt" + "$mod, J, global, caelestia:launcherInterrupt" + "$mod, L, global, caelestia:launcherInterrupt" + + "$mod, W, global, caelestia:launcherInterrupt" + "$mod, Q, global, caelestia:launcherInterrupt" + "$mod, C, global, caelestia:launcherInterrupt" + "$mod, Return, global, caelestia:launcherInterrupt" + ] + ++ ( + # Go to workspace group # + builtins.concatLists (builtins.genList ( + i: let + ws = i + 1; + in [ + "$mod, ${toString ws}, global, caelestia:launcherInterrupt" + ] + ) + 9) + ) + ++ [ + "$mod, 0, global, caelestia:launcherInterrupt" + ]; bind = [ - # Launcher - "$mod, Super_L, exec, caelestia launcher" # bind to `bind` because `bindi` maps to it - "$mod, catchall, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:272, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:273, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:274, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:275, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:276, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse:277, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse_up, exec, caelestia launcherInterrupt" # bindin - "$mod, mouse_down, exec, caelestia launcherInterrupt" # bindin - # Misc - "Control+Alt, Delete, exec, caelestia session" - "$mod, K, exec, caelestia showall" - "$mod, L, exec, caelestia lock" + "Control+Alt, Delete, exec, caelestia:session" + "$mod, MINUS, global, caelestia:showall" + "$mod, PLUS, global, caelestia:lock" # Restore lock - these are `bindl` in your original, but `exec` should be fine here. # However, `bindl` is typically for a *release* event. If `caelestia shell -d` is a daemon, @@ -51,10 +79,9 @@ # Apps "$mod, Return, exec, app2unit -- kitty" - "$mod, W, exec, app2unit -- zen-browser" - "$mod, C, exec, app2unit -- codium" - "$mod, G, exec, app2unit -- github-desktop" + "$mod, W, exec, app2unit -- firefox" "$mod, E, exec, app2unit -- thunar" + "$mod, Q, killactive" "$mod ALT, E, exec, app2unit -- nemo" "Control+Alt, Escape, exec, app2unit -- qps" "Control+Alt, V, exec, app2unit -- pavucontrol" @@ -166,13 +193,13 @@ i: let ws = i + 1; in [ - "$mod ALT, ${toString ws}, exec, ${wsaction} movetoworkspace ${toString ws}" + "$mod SHIFT, ${toString ws}, exec, ${wsaction} movetoworkspace ${toString ws}" ] ) 9) ) ++ [ - "$mod ALT, 0, exec, ~/.config/hypr/scripts/wsaction.fish movetoworkspace 10" + "$mod SHIFT, 0, exec, ~/.config/hypr/scripts/wsaction.fish movetoworkspace 10" ] ++ ( # Move window to workspace group # diff --git a/packages/hyprland/config/env.nix b/packages/hyprland/config/env.nix new file mode 100644 index 0000000..34c91df --- /dev/null +++ b/packages/hyprland/config/env.nix @@ -0,0 +1,12 @@ +{ + config, + pkgs, + myConfig, + ... +}: { + wayland.windowManager.hyprland.settings = { + env = [ + "" + ]; + }; +} diff --git a/packages/hyprland/config/execs.nix b/packages/hyprland/config/execs.nix index 36d3a4b..5dfe79e 100644 --- a/packages/hyprland/config/execs.nix +++ b/packages/hyprland/config/execs.nix @@ -12,9 +12,9 @@ "hyprctl setcursor Bibata-Modern-Ice 24" "solaar -w hide" - "matugen image /home/${myConfig.essentials.Username}/Pictures/Wallpapers/ultrawide-nixos-default.png" "sunshine" "moondeck-buddy" + "qs -c caelestia" ]; }; } diff --git a/packages/hyprland/config/rules.nix b/packages/hyprland/config/rules.nix index 4c9256e..13567d7 100644 --- a/packages/hyprland/config/rules.nix +++ b/packages/hyprland/config/rules.nix @@ -87,6 +87,7 @@ "3, monitor:DP-1" "4, monitor:DP-1" "5, monitor:DP-1" + "6, monitor:DP-2" ]; # ######## Layer rules ######## diff --git a/packages/hyprland/home.nix b/packages/hyprland/home.nix index 3cb628f..a1b0016 100644 --- a/packages/hyprland/home.nix +++ b/packages/hyprland/home.nix @@ -24,6 +24,7 @@ "$term" = "kitty --single-instance"; "$browser" = "firefox"; "$wsaction" = "fish -c ./scripts/wsaction.fish"; + "$widget" = "qs -c caelestia"; monitor = myConfig.nixos.Hyprland.monitors; general = { diff --git a/packages/quickshell/default.nix b/packages/quickshell/default.nix index 1812409..2b57209 100644 --- a/packages/quickshell/default.nix +++ b/packages/quickshell/default.nix @@ -1,14 +1,16 @@ { inputs, pkgs, + system, ... }: { - imports = [ - inputs.caelestia-shell.nixosModules.default + environment.systemPackages = [ + inputs.caelestia-shell.packages.${system}.caelestia-shell + inputs.caelestia-shell.packages.${system}.caelestia-cli + inputs.caelestia-shell.packages.${system}.beat-detector ]; - servies.caelestia-shell = { - enable = true; - config = { - }; + environment.sessionVariables = { + # Set CAELESTIA_BD_PATH to the store path of beat-detector + CAELESTIA_BD_PATH = "${inputs.caelestia-shell.packages.${system}.beat-detector}/bin/beat_detector"; }; } diff --git a/packages/quickshell/home.nix b/packages/quickshell/home.nix index ac92140..fb1a7dc 100644 --- a/packages/quickshell/home.nix +++ b/packages/quickshell/home.nix @@ -1,6 +1,7 @@ { pkgs, inputs, + system, ... }: let caelestia-shell = pkgs.fetchFromGitHub { @@ -13,13 +14,16 @@ in { imports = [ ]; home.packages = with pkgs; [ + inputs.quickshell.packages.${system}.default + hyprpicker + qalculate-qt fuzzel inotify-tools app2unit - quickshell fish jq fd + cliphist (pkgs.python3.withPackages (python-pkgs: with python-pkgs; [ aubio @@ -33,7 +37,7 @@ in { curl material-symbols ]; - # home.file.".config/quickshell/caelestia" = { - # source = caelestia-shell; - # }; + home.file.".config/quickshell/caelestia" = { + source = caelestia-shell; + }; }