diff --git a/dotfiles/hypr/hosts/blueocean.conf b/dotfiles/hypr/hosts/blueocean.conf new file mode 100644 index 0000000..e06ea37 --- /dev/null +++ b/dotfiles/hypr/hosts/blueocean.conf @@ -0,0 +1,23 @@ +# Host-specific Hyprland config: blueocean +# Sourced from ../hyprland.conf via ~/.config/hypr/host.conf symlink. + +################# +### AUTOSTART ### +################# + +exec-once = 1password & firefox & thunderbird & slack & zoom & +exec-once = waybar & mako & hypridle & swww-daemon & +exec-once = $terminal +exec-once = systemctl --user start hyprpolkitagent + + +#################### +### WINDOW RULES ### +#################### + +windowrule = match:class ^(ghostty|kitty)$, workspace 1 +windowrule = match:class firefox, workspace 2 +windowrule = match:class Slack, workspace 3 +windowrule = match:class thunderbird, workspace 5 +windowrule = match:class 1password, workspace 9 +windowrule = match:class zoom, workspace 10 diff --git a/dotfiles/hypr/hosts/rihla.conf b/dotfiles/hypr/hosts/rihla.conf new file mode 100644 index 0000000..763aa91 --- /dev/null +++ b/dotfiles/hypr/hosts/rihla.conf @@ -0,0 +1,21 @@ +# Host-specific Hyprland config: rihla +# Sourced from ../hyprland.conf via ~/.config/hypr/host.conf symlink. + +################# +### AUTOSTART ### +################# + +exec-once = discord & 1password & firefox & +exec-once = waybar & mako & hypridle & swww-daemon & +exec-once = $terminal +exec-once = systemctl --user start hyprpolkitagent + + +#################### +### WINDOW RULES ### +#################### + +windowrule = match:class ghostty, workspace 1 +windowrule = match:class firefox, workspace 2 +windowrule = match:class discord, workspace 3 +windowrule = match:class 1password, workspace 9 diff --git a/dotfiles/hypr/hyprland.conf b/dotfiles/hypr/hyprland.conf index 69c75cf..5d7e968 100644 --- a/dotfiles/hypr/hyprland.conf +++ b/dotfiles/hypr/hyprland.conf @@ -30,18 +30,13 @@ $fileManager = dolphin $menu = wofi --show drun -################# -### AUTOSTART ### -################# +############################## +### HOST-SPECIFIC INCLUDES ### +############################## -# Autostart necessary processes (like notifications daemons, status bars, etc.) -# Or execute your favorite apps at launch like this: - -exec-once = proton-mail & discord & 1password & firefox & -exec-once = thunderbird & slack & zoom & -exec-once = waybar & mako & hypridle & swww-daemon & -exec-once = $terminal -exec-once = systemctl --user start hyprpolkitagent +# Host-specific autostart + window rules. +# Symlinked by home-manager to dotfiles/hypr/hosts/${hostSpec.hostName}.conf. +source = ~/.config/hypr/host.conf ############################# ### ENVIRONMENT VARIABLES ### @@ -139,14 +134,7 @@ animations { # uncomment all if you wish to use that. # workspace = w[tv1], gapsout:0, gapsin:0 # workspace = f[1], gapsout:0, gapsin:0 -windowrule = match:class ghostty, workspace 1 -windowrule = match:class firefox, workspace 2 -windowrule = match:class discord, workspace 3 -windowrule = match:class slack, workspace 3 -windowrule = match:class Proton Mail, workspace 5 -windowrule = match:class Thunderbird, workspace 5 -windowrule = match:class 1password, workspace 9 -windowrule = match:class Zoom Workplace, workspace 10 +# Host-specific windowrule match:class entries live in host.conf (sourced above). # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { diff --git a/home/dogar/common/optional/hyprland.nix b/home/dogar/common/optional/hyprland.nix index e2f0880..2876915 100644 --- a/home/dogar/common/optional/hyprland.nix +++ b/home/dogar/common/optional/hyprland.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + hostSpec, ... }: { @@ -9,6 +10,8 @@ file = { "${config.xdg.configHome}/hypr/hyprland.conf".source = config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hyprland.conf"}"; + "${config.xdg.configHome}/hypr/host.conf".source = + config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hosts/${hostSpec.hostName}.conf"}"; "${config.xdg.configHome}/hypr/hypridle.conf".source = config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hypridle.conf"}"; "${config.xdg.configHome}/hypr/hyprlock.conf".source = diff --git a/home/shahab/common/optional/hyprland.nix b/home/shahab/common/optional/hyprland.nix index 570cb2e..e0ed9d5 100644 --- a/home/shahab/common/optional/hyprland.nix +++ b/home/shahab/common/optional/hyprland.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + hostSpec, ... }: { @@ -9,6 +10,8 @@ file = { "${config.xdg.configHome}/hypr/hyprland.conf".source = config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hyprland.conf"}"; + "${config.xdg.configHome}/hypr/host.conf".source = + config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hosts/${hostSpec.hostName}.conf"}"; "${config.xdg.configHome}/hypr/hypridle.conf".source = config.lib.file.mkOutOfStoreSymlink "${lib.custom.relativeToRoot "dotfiles/hypr/hypridle.conf"}"; "${config.xdg.configHome}/hypr/hyprlock.conf".source = @@ -27,5 +30,5 @@ ]; }; - services.awww.enable = true; + services.swww.enable = true; }