summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/programs/sway.nix32
-rw-r--r--pkgs/applications/window-managers/sway/default.nix13
-rw-r--r--pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch21
3 files changed, 44 insertions, 22 deletions
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/*
+