diff --git a/hosts/by-name/moby/polyfill.nix b/hosts/by-name/moby/polyfill.nix index 07d48624..657041e4 100644 --- a/hosts/by-name/moby/polyfill.nix +++ b/hosts/by-name/moby/polyfill.nix @@ -9,13 +9,6 @@ # - { lib, pkgs, sane-lib, ... }: -let - # TODO: generate this from the .svg - # bg = ./nixos-bg-02.png; - bg = pkgs.runCommand "nixos-bg.png" { nativeBuildInputs = [ pkgs.inkscape ]; } '' - inkscape ${./nixos-bg-02.svg} -o $out - ''; -in { sane.programs.firefox.config = { # compromise impermanence for the sake of usability @@ -134,7 +127,6 @@ in # - close is 16th entry SXMO_BEMENU_LANDSCAPE_LINES = "11"; # default 8 SXMO_BEMENU_PORTRAIT_LINES = "16"; # default 16 - SXMO_BG_IMG = "${bg}"; SXMO_LOCK_IDLE_TIME = "15"; # how long between screenoff -> lock -> back to screenoff (default: 8) # gravity: how far to tilt the device before the screen rotates # for a given setting, normal <-> invert requires more movement then left <-> right diff --git a/hosts/modules/gui/default.nix b/hosts/modules/gui/default.nix index bec85a13..9d7b4133 100644 --- a/hosts/modules/gui/default.nix +++ b/hosts/modules/gui/default.nix @@ -7,6 +7,7 @@ ./phosh.nix ./sway ./sxmo + ./theme ]; sane.programs.guiApps = { diff --git a/hosts/modules/gui/sway/default.nix b/hosts/modules/gui/sway/default.nix index e226a743..ad1b06b3 100644 --- a/hosts/modules/gui/sway/default.nix +++ b/hosts/modules/gui/sway/default.nix @@ -46,6 +46,9 @@ in default font (for e.g. window titles) ''; }; + background = mkOption { + type = types.path; + }; mod = mkOption { type = types.string; default = "Mod4"; diff --git a/hosts/modules/gui/sway/sway-config b/hosts/modules/gui/sway/sway-config index 4e5dfd73..28405e4e 100644 --- a/hosts/modules/gui/sway/sway-config +++ b/hosts/modules/gui/sway/sway-config @@ -32,6 +32,8 @@ client.focused_inactive #1f5e54 #5f676a #ffffff client.unfocused #1f5e54 #1f554c #b4b4b4 client.urgent #ff8080 #ff8080 #ffffff +output '*' bg "@background@" fill + ### pixel boundary between windows hide_edge_borders smart default_border pixel 1 diff --git a/hosts/modules/gui/sway/sway-config.nix b/hosts/modules/gui/sway/sway-config.nix index 67f75640..6d0bce42 100644 --- a/hosts/modules/gui/sway/sway-config.nix +++ b/hosts/modules/gui/sway/sway-config.nix @@ -36,6 +36,7 @@ in pkgs.substituteAll { xwayland ; inherit (config) + background brightness_down_cmd brightness_up_cmd extra_lines diff --git a/hosts/modules/gui/theme/default.nix b/hosts/modules/gui/theme/default.nix new file mode 100644 index 00000000..1013e1dd --- /dev/null +++ b/hosts/modules/gui/theme/default.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.sane.gui.theme.background; +in +{ + options = with lib; { + sane.gui.theme.background = { + svg = mkOption { + type = types.path; + default = ./nixos-bg-02.svg; + }; + png = mkOption { + type = types.path; + default = pkgs.runCommand + "nixos-bg.png" + { nativeBuildInputs = [ pkgs.inkscape ]; } + '' + inkscape ${cfg.svg} -o $out + ''; + }; + }; + }; + + config = { + sane.gui.sway.config.background = lib.mkDefault cfg.png; + sane.gui.sxmo.settings.SXMO_BG_IMG = lib.mkDefault (builtins.toString cfg.png); + }; +} diff --git a/hosts/by-name/moby/nixos-bg-02.svg b/hosts/modules/gui/theme/nixos-bg-02.svg similarity index 100% rename from hosts/by-name/moby/nixos-bg-02.svg rename to hosts/modules/gui/theme/nixos-bg-02.svg