diff --git a/modules/home/hyprland/settings.nix b/modules/home/hyprland/settings.nix index c347a35..f9bc9af 100644 --- a/modules/home/hyprland/settings.nix +++ b/modules/home/hyprland/settings.nix @@ -3,13 +3,13 @@ let cfg = config.wayland.windowManager.hyprland; - nonFloatingClasses = [ + nonCenterFloatingClasses = [ "Gimp" "steam" "KiCad" ]; - nonFloatingClassesRegex = concatStringsSep "|" nonFloatingClasses; + nonCenterFloatingClassesRegex = concatStringsSep "|" nonCenterFloatingClasses; inherit (builtins) concatStringsSep toString; inherit (lib) mkDefault; @@ -25,8 +25,8 @@ in # 1: see Hyprland NixOS module windowrule = [ - # "float, class:^(${nonFloatingClassesRegex})$" - "center, floating:1, class:^(?!.*(${nonFloatingClassesRegex})).*$" + # "float, class:^(${nonCenterFloatingClassesRegex})$" + "center, floating:1, class:^(?!.*(${nonCenterFloatingClassesRegex})).*$" "float, title:^(Open|Save) Files?$" "noborder, onworkspace:w[t1]" "bordersize ${toString cfg.settings.general.border_size}, floating:1" @@ -39,6 +39,12 @@ in "noblur, class:^(xwaylandvideobridge)$" ]; + gesture = [ + "3, horizontal, workspace" + "3, up, dispatcher, exec, bemenu-run" # TODO: move to hyprland.applications + "4, swipe, move" + ]; + # Layouts general.layout = mkDefault "master"; master = { diff --git a/modules/home/stylix/default.nix b/modules/home/stylix/default.nix index 34fd04f..9d79091 100644 --- a/modules/home/stylix/default.nix +++ b/modules/home/stylix/default.nix @@ -51,11 +51,13 @@ in options.stylix = { scheme = lib.mkOption { - type = types.str; + type = types.nullOr types.str; default = "dracula"; description = '' Base16 color scheme name. Available options are: ${toString validSchemes} + + Set to `null` to generate a color scheme from `stylix.image` ''; }; }; @@ -66,11 +68,15 @@ in assertion = builtins.elem cfg.scheme validSchemes; message = "Stylix: Invalid colorscheme '${cfg.scheme}'. Available options: ${toString validSchemes}"; } + { + assertion = (cfg.scheme != null) || (cfg.image != null); + message = "Stylix: You need to set stylix.image if stylix.scheme is `null`"; + } ]; stylix = { autoEnable = mkDefault true; - base16Scheme = scheme; + base16Scheme = mkIf (cfg.scheme != null) scheme; fonts = { monospace = mkDefault { package = pkgs.hack-font; diff --git a/modules/home/stylix/targets/waybar.nix b/modules/home/stylix/targets/waybar.nix index a533515..2f51691 100644 --- a/modules/home/stylix/targets/waybar.nix +++ b/modules/home/stylix/targets/waybar.nix @@ -71,11 +71,11 @@ in #workspaces { color: ${colors.base05}; - background: ${colors.base00}; } #workspaces button { padding: ${halfgaps}px; + color: ${colors.base05}; } #workspaces button.active { diff --git a/modules/nixos/amd/default.nix b/modules/nixos/amd/default.nix index 252d991..4884cef 100644 --- a/modules/nixos/amd/default.nix +++ b/modules/nixos/amd/default.nix @@ -6,19 +6,19 @@ environment.systemPackages = with pkgs; [ lact nvtopPackages.amd - rocmPackages.clr.icd rocmPackages.hipcc rocmPackages.miopen rocmPackages.rocm-runtime rocmPackages.rocm-smi rocmPackages.rocminfo - ]; # environment.variables.ROC_ENABLE_PRE_VEGA = "1"; # for Polaris hardware.amdgpu.opencl.enable = true; + hardware.graphics.extraPackages = with pkgs; [ rocmPackages.clr.icd ]; + systemd.packages = with pkgs; [ lact ]; systemd.services.lactd.wantedBy = [ "multi-user.target" ]; }