users/kat/sway: Made swayidle and lockCommands host specific.

This commit is contained in:
kat witch 2021-05-07 23:32:02 +01:00
parent 02f5d19044
commit 115d0d7ed4
No known key found for this signature in database
GPG key ID: 1B477797DCA5EC72
10 changed files with 129 additions and 83 deletions

View file

@ -1 +1 @@
{ ... }: { imports = [ ./sway.nix ]; }
{ ... }: { imports = [ ./sway ]; }

View file

@ -1,8 +1,14 @@
{ config, pkgs, ... }:
{
imports = [ ./swayidle.nix ];
wayland.windowManager.sway = {
config = {
config = let lockCommand = "swaylock -i HDMI-A-1:${../../../../users/kat/sway/wallpapers/main.png} -i DP-1:${
../../../../users/kat/sway/wallpapers/left.jpg
} -i DVI-D-1:${../../../../users/kat/sway/wallpapers/right.jpg} -s fill";
cfg = config.wayland.windowManager.sway.config;
in {
startup = [{ command = "${pkgs.ckb-next}/bin/ckb-next -b"; }];
output = let
@ -24,6 +30,24 @@
"HDMI-A-1" = right;
};
keybindings = {
"${cfg.modifier}+x" = "exec ${lockCommand}";
};
modes = {
"System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown" =
{
"l" = "exec ${lockCommand}, mode default";
"e" = "exec swaymsg exit, mode default";
"s" = "exec systemctl suspend, mode default";
"h" = "exec systemctl hibernate, mode default";
"r" = "exec systemctl reboot, mode default";
"Shift+s" = "exec systemctl shutdown, mode default";
"Return" = "mode default";
"Escape" = "mode default";
};
};
input = {
"5824:1503:screenstub-tablet" = { events = "disabled"; };
"5824:1503:screenstub-mouse" = { events = "disabled"; };

View file

@ -0,0 +1,32 @@
{ config, pkgs, lib, ... }:
{
systemd.user.services.swayidle = {
Unit = {
Description = "swayidle";
Documentation = [ "man:swayidle(1)" ];
PartOf = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
ExecStart = ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 300 '${pkgs.swaylock}/bin/swaylock -f -i HDMI-A-1:${
../../../../users/kat/sway/wallpapers/main.png
} -i DP-1:${../../../../users/kat/sway/wallpapers/left.jpg} -i DVI-D-1:${
../../../../users/kat/sway/wallpapers/right.jpg
}' \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep '${pkgs.swaylock}/bin/swaylock -f -i HDMI-A-1:${
../../../../users/kat/sway/wallpapers/main.png
} -i DP-1:${../../../../users/kat/sway/wallpapers/left.jpg} -i DVI-D-1:${
../../../../users/kat/sway/wallpapers/right.jpg
}'
'';
RestartSec = 3;
Restart = "always";
};
Install = { WantedBy = [ "sway-session.target" ]; };
};
}

View file

@ -1 +1 @@
{ ... }: { imports = [ ./sway.nix ]; }
{ ... }: { imports = [ ./sway ]; }

View file

@ -1,22 +0,0 @@
{ config, pkgs, ... }:
{
wayland.windowManager.sway.config = {
output = let
laptop = {
res = "1920x1080";
pos = "0 0";
};
in { "eDP-1" = laptop; };
input = {
"1739:33362:Synaptics_TM3336-002" = {
dwt = "enabled";
tap = "enabled";
natural_scroll = "enabled";
middle_emulation = "enabled";
click_method = "clickfinger";
};
};
};
}

View file

@ -0,0 +1,46 @@
{ config, pkgs, ... }:
{
imports = [ ./swayidle.nix ];
wayland.windowManager.sway.config = let lockCommand = "swaylock -i eDP-1:${
../../../../users/kat/sway/wallpapers/main.png
} -s fill";
cfg = config.wayland.windowManager.sway.config;
in {
output = let
laptop = {
res = "1920x1080";
pos = "0 0";
};
in { "eDP-1" = laptop; };
keybindings = {
"${cfg.modifier}+x" = "exec ${lockCommand}";
};
modes = {
"System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown" =
{
"l" = "exec ${lockCommand}, mode default";
"e" = "exec swaymsg exit, mode default";
"s" = "exec systemctl suspend, mode default";
"h" = "exec systemctl hibernate, mode default";
"r" = "exec systemctl reboot, mode default";
"Shift+s" = "exec systemctl shutdown, mode default";
"Return" = "mode default";
"Escape" = "mode default";
};
};
input = {
"1739:33362:Synaptics_TM3336-002" = {
dwt = "enabled";
tap = "enabled";
natural_scroll = "enabled";
middle_emulation = "enabled";
click_method = "clickfinger";
};
};
};
}

View file

@ -0,0 +1,24 @@
{ config, pkgs, lib, ... }:
{
systemd.user.services.swayidle = {
Unit = {
Description = "swayidle";
Documentation = [ "man:swayidle(1)" ];
PartOf = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
ExecStart = ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 300 '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${../../../../users/kat/sway/wallpapers/main.png} \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${../../../../users/kat/sway/wallpapers/main.png}'
'';
RestartSec = 3;
Restart = "always";
};
Install = { WantedBy = [ "sway-session.target" ]; };
};
}