diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index 3c235de0ce63..457faaa3c102 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -3,8 +3,8 @@ with lib; let - cfg = config.programs.sway-beta; - swayPackage = cfg.package; + cfg = config.programs.sway; + swayPackage = pkgs.sway; swayWrapped = pkgs.writeShellScriptBin "sway" '' set -o errexit @@ -26,19 +26,14 @@ let paths = [ swayWrapped swayPackage ]; }; in { - options.programs.sway-beta = { + options.programs.sway = { enable = mkEnableOption '' - Sway, the i3-compatible tiling Wayland compositor. This module will be removed after the final release of Sway 1.0 - ''; - - package = mkOption { - type = types.package; - default = pkgs.sway-beta; - defaultText = "pkgs.sway-beta"; - description = '' - The package to be used for `sway`. - ''; - }; + Sway, the i3-compatible tiling Wayland compositor. You can manually launch + Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to + ~/.config/sway/config to modify the default configuration. See + https://github.com/swaywm/sway/wiki and "man 5 sway" for more information. + Please have a look at the "extraSessionCommands" example for running + programs natively under Wayland''; extraSessionCommands = mkOption { type = types.lines; @@ -80,7 +75,14 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; + environment = { + systemPackages = [ swayJoined ] ++ cfg.extraPackages; + etc = { + "sway/config".source = "${swayPackage}/etc/sway/config"; + #"sway/security.d".source = "${swayPackage}/etc/sway/security.d/"; + #"sway/config.d".source = "${swayPackage}/etc/sway/config.d/"; + }; + }; security.pam.services.swaylock = {}; hardware.opengl.enable = mkDefault true; fonts.enableDefaultFonts = mkDefault true; diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix index 4aa3ee18cd21..ad06b1ee832c 100644 --- a/pkgs/applications/window-managers/sway/default.nix +++ b/pkgs/applications/window-managers/sway/default.nix @@ -4,7 +4,6 @@ , wayland, libxkbcommon, pcre, json_c, dbus, libevdev , pango, cairo, libinput, libcap, pam, gdk_pixbuf , wlroots, wayland-protocols -, buildDocs ? true }: stdenv.mkDerivation rec { @@ -26,11 +25,10 @@ stdenv.mkDerivation rec { url = "https://github.com/swaywm/sway/commit/bcde298a719f60b9913133dbd2a169dedbc8dd7d.patch"; sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp"; }) + ./sway-config-no-nix-store-references.patch ]; - nativeBuildInputs = [ - pkgconfig meson ninja - ] ++ stdenv.lib.optional buildDocs scdoc; + nativeBuildInputs = [ pkgconfig meson ninja scdoc ]; buildInputs = [ wayland libxkbcommon pcre json_c dbus libevdev @@ -41,11 +39,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; mesonFlags = [ - "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" "-Dtray=enabled" - ] ++ stdenv.lib.optional buildDocs "-Dman-pages=enabled"; + "-Ddefault-wallpaper=false" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" + "-Dtray=enabled" "-Dman-pages=enabled" + ]; meta = with stdenv.lib; { - description = "i3-compatible window manager for Wayland"; + description = "i3-compatible tiling Wayland compositor"; homepage = https://swaywm.org; license = licenses.mit; platforms = platforms.linux; diff --git a/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch b/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch new file mode 100644 index 000000000000..009c12959430 --- /dev/null +++ b/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch @@ -0,0 +1,21 @@ +diff --git a/config.in b/config.in +--- a/config.in ++++ b/config.in +@@ -21,8 +21,8 @@ set $menu dmenu_path | dmenu | xargs swaymsg exec + + ### Output configuration + # +-# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/) +-output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill ++# Default wallpaper ++#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill + # + # Example configuration: + # +@@ -213,5 +213,3 @@ bar { + inactive_workspace #32323200 #32323200 #5c5c5c + } + } +- +-include @sysconfdir@/sway/config.d/* +