Sway: Difference between revisions

Phobos (talk | contribs)
m Added a section for a basic screenshot setup
Phobos (talk | contribs)
mNo edit summary
 
(4 intermediate revisions by the same user not shown)
Line 10: Line 10:
{
{
   environment.systemPackages = with pkgs; [
   environment.systemPackages = with pkgs; [
    grim # screenshot functionality
     wl-clipboard # Copy/Paste functionality.
    slurp # screenshot functionality
     mako # Notification utility.
     wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
     mako # notification system developed by swaywm maintainer
   ];
   ];


   # Enable the gnome-keyring secrets vault.
   # Enables Gnome Keyring to store secrets for applications.  
  # Will be exposed through DBus to programs willing to store secrets.
   services.gnome.gnome-keyring.enable = true;
   services.gnome.gnome-keyring.enable = true;


   # enable Sway window manager
   # Enable Sway.
   programs.sway = {
   programs.sway = {
     enable = true;
     enable = true;
Line 62: Line 59:


You may need to activate dbus manually from .zshrc to use i.e: dunst, see [https://discourse.nixos.org/t/dunst-crashes-if-run-as-service/27671/2 Dunst crashes if run as service]
You may need to activate dbus manually from .zshrc to use i.e: dunst, see [https://discourse.nixos.org/t/dunst-crashes-if-run-as-service/27671/2 Dunst crashes if run as service]
{{Note|
It's recommended to enable a [[Secret Service]] provider, like GNOME Keyring:
{{file|home.nix|nix|<nowiki>
services.gnome-keyring.enable = true;
</nowiki>}}
}}


=== Systemd services ===
=== Systemd services ===
Line 129: Line 119:
  wayland.windowManager.sway.systemd.variables = ["--all"];
  wayland.windowManager.sway.systemd.variables = ["--all"];
</nowiki>}}
</nowiki>}}
=== Secret Service ===
It is recommended to enable a secret service provider such as [https://wiki.gnome.org/Projects/GnomeKeyring Gnome Keyring]. For more information on secret services check the [[Secret Service]] page.
Install and enable:
{{File|3=services.gnome.gnome-keyring.enable = true;|name=/etc/nixos/configuration.nix|lang=nix}}
In order to unlock the keyring through logins from greeters and screen locking utilities you will need to enable them through PAM.
{{File|3=security.pam.services = {
  greetd.enableGnomeKeyring = true;
  swaylock.enableGnomeKeyring = true;
  # If using a display manager such as GDM
  #gdm.enableGnomeKeyring = true;
};|name=/etc/nixos/configuration.nix|lang=nix}}


== Configuration ==
== Configuration ==
Line 180: Line 184:
};|name=/etc/nixos/home.nix|lang=nix}}For an on screen display for audio and brightness, check [[swayosd]].
};|name=/etc/nixos/home.nix|lang=nix}}For an on screen display for audio and brightness, check [[swayosd]].


=== Touchpad ===
=== Input ===
 
==== Touchpad ====
See the [https://www.mankier.com/5/sway-input sway-input man page] for options.
See the [https://www.mankier.com/5/sway-input sway-input man page] for options.
{{File|3=wayland.windowManager.sway =  
{{File|3=wayland.windowManager.sway =  
Line 419: Line 425:
File managers that support [https://wiki.gnome.org/Projects/gvfs GVfs], such as [[Thunar]], can mount MTP devices using GVfs. See the page on [[MTP]] for related information.
File managers that support [https://wiki.gnome.org/Projects/gvfs GVfs], such as [[Thunar]], can mount MTP devices using GVfs. See the page on [[MTP]] for related information.
{{File|3=services.gvfs.enable = true;|name=/etc/nixos/configuration.nix|lang=nix}}
{{File|3=services.gvfs.enable = true;|name=/etc/nixos/configuration.nix|lang=nix}}
=== SwayFX ===
[https://github.com/WillPower3309/swayfx SwayFX] is a fork of Sway that adds eye-candy effects, installing it is as simple as replacing your Sway package with SwayFX. Check the [[SwayFX]] page on the wiki for additional details.
{{File|3=wayland.windowManager.sway = {
  enable = true;
  package = pkgs.swayfx;
 
  # Needed to build without errors.
  checkConfig = false;
   
  # SwayFX options must be configured through extraConfig.
  extraConfig = ''
    shadows enable
    corner_radius 11
    blur_radius 7
    blur_passes 2
  '';
};|name=/etc/nixos/home.nix|lang=nix}}


=== Screen dimming with wl-gammarelay-rs ===
=== Screen dimming with wl-gammarelay-rs ===