diff --git a/home/common/wm.nix b/home/common/wm.nix index dbf4a93..ed69d31 100644 --- a/home/common/wm.nix +++ b/home/common/wm.nix @@ -7,6 +7,12 @@ in { options.nixfiles.common.wm = { enable = lib.mkEnableOption "common window manager config"; + autostart = lib.mkOption { + description = "List of window manager agnostic commnads to run at window manager startup"; + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ "steam -silent" ]; + }; }; config = lib.mkIf cfg.enable { # Common options for standalone window managers; many of these (or diff --git a/home/package-sets/communication.nix b/home/package-sets/communication.nix index 57ca387..6dceaf1 100644 --- a/home/package-sets/communication.nix +++ b/home/package-sets/communication.nix @@ -5,6 +5,8 @@ let inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.rustdesk-flutter else pkgs.rustdesk-flutter; + + vesktop-ozone-cmd = "env NIXOS_OZONE_WL=1 vesktop --disable-gpu"; in { options.nixfiles.packageSets.communication = { @@ -14,7 +16,7 @@ in xdg.desktopEntries.vesktop = lib.mkIf config.nixfiles.meta.graphical { categories= ["Network" "InstantMessaging" "Chat"]; - exec="env NIXOS_OZONE_WL=1 vesktop --disable-gpu %U"; + exec=vesktop-ozone-cmd + " %U"; genericName="Internet Messenger"; icon="vesktop"; name="Vesktop"; @@ -25,6 +27,10 @@ in }; }; + nixfiles.common.wm.autostart = lib.optionals config.nixfiles.meta.graphical [ + (vesktop-ozone-cmd + " --start-minimized") + ]; + home.packages = with pkgs; lib.optionals config.nixfiles.meta.graphical [ element-desktop telegram-desktop diff --git a/home/package-sets/gaming.nix b/home/package-sets/gaming.nix index 94b19aa..79d894c 100644 --- a/home/package-sets/gaming.nix +++ b/home/package-sets/gaming.nix @@ -5,6 +5,10 @@ let in { config = lib.mkIf cfg.enable { + nixfiles.common.wm.autostart = [ + "steam -silent" + ]; + home.packages = with pkgs; [ ludusavi rclone # needed to sync ludusavi diff --git a/home/sessions/hyprland/default.nix b/home/sessions/hyprland/default.nix index f8c720b..1395712 100644 --- a/home/sessions/hyprland/default.nix +++ b/home/sessions/hyprland/default.nix @@ -128,7 +128,8 @@ in # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox - exec-once = (lib.optional cfg.autolock lock-cmd) ++ [ + exec-once = (lib.optional cfg.autolock lock-cmd) ++ config.nixfiles.common.wm.autostart ++ + [ wallpaper-cmd notifydaemon polkit-agent