diff --git a/users/simon/modules/sway.nix b/users/simon/modules/sway.nix index 75496eb..54b9960 100644 --- a/users/simon/modules/sway.nix +++ b/users/simon/modules/sway.nix @@ -32,6 +32,8 @@ let cfg = config.wayland.windowManager.sway.config; thinsp = " "; + + waybar = (pkgs.waybar.override { pulseSupport = true; }); # FIXME: Remove override with 21.03 (https://github.com/NixOS/nixpkgs/pull/98490) in lib.mkIf config.sbruder.gui.enable { wayland.windowManager.sway = { @@ -166,9 +168,7 @@ lib.mkIf config.sbruder.gui.enable { "--locked ${cfg.modifier}+q" = ''exec 'test $(swaymsg -t get_outputs | ${pkgs.jq}/bin/jq "[.[].dpms] | any") = "true" && swaymsg "output * dpms off" || swaymsg "output * dpms on"''; }; - bars = [ - { command = "waybar"; } - ]; + bars = [ ]; # started by systemd service assigns = { "2" = [ @@ -251,14 +251,36 @@ lib.mkIf config.sbruder.gui.enable { fi ''; - home.packages = with pkgs; [ + home.packages = (with pkgs; [ alacritty # terminal brightnessctl # control screen brightness sway-contrib.grimshot # screenshots - (waybar.override { pulseSupport = true; }) # better status bar FIXME: Remove override with 21.03 (https://github.com/NixOS/nixpkgs/pull/98490) wdisplays # graphical output manager + ]) ++ [ + waybar # better status bar FIXME: see above ]; + # taken from + systemd.user.services.waybar = { + Unit = { + Description = "Highly customizable Wayland bar for Sway and Wlroots based compositors."; + Documentation = "https://github.com/Alexays/Waybar/wiki"; + PartOf = [ "graphical-session.target" ]; + }; + + Service = { + Type = "dbus"; + BusName = "fr.arouillard.waybar"; + ExecStart = "${waybar}/bin/waybar"; # FIXME see above + Restart = "always"; + RestartSec = "1sec"; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + xdg.configFile = { # home-manager’s waybar module performs additional checks that are overly strict "waybar/config".text = builtins.toJSON {