fix(sway): add possibility to not install swaylock package
Useful when using home-manager on third-party distribution. Swaylock from nixpkgs become unable to unlock session because PAM incompatibilities.
This commit is contained in:
parent
a359d8c06e
commit
c1ee8f9d50
4 changed files with 18 additions and 7 deletions
|
@ -13,6 +13,16 @@ in
|
||||||
description = "configure laptop mode";
|
description = "configure laptop mode";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
swaylock.useNullPackage = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Use null package to not install swaylock with Nix
|
||||||
|
Useful when using Home-Manager on third-party distribution to avoid
|
||||||
|
problem with PAM
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
wallpapers = {
|
wallpapers = {
|
||||||
lockscreen = mkOption {
|
lockscreen = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
|
|
@ -76,7 +76,7 @@ in
|
||||||
"${mod}+Alt+k" = "kill";
|
"${mod}+Alt+k" = "kill";
|
||||||
"${mod}+Alt+c" = "reload";
|
"${mod}+Alt+c" = "reload";
|
||||||
"${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'";
|
"${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'";
|
||||||
"${mod}+Alt+l" = "exec ${pkgs.swaylock}/bin/swaylock";
|
"${mod}+Alt+l" = if cfg.swaylock.useNullPackage then "exec swaylock" else "exec ${pkgs.swaylock}/bin/swaylock";
|
||||||
# Manage windows placement
|
# Manage windows placement
|
||||||
"${mod}+b" = "splith";
|
"${mod}+b" = "splith";
|
||||||
"${mod}+v" = "splitv";
|
"${mod}+v" = "splitv";
|
||||||
|
|
|
@ -21,11 +21,11 @@ in
|
||||||
events = [
|
events = [
|
||||||
{
|
{
|
||||||
event = "before-sleep";
|
event = "before-sleep";
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
command = if cfg.swaylock.useNullPackage then "swaylock" else "${pkgs.swaylock}/bin/swaylock";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
event = "lock";
|
event = "lock";
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
command = if cfg.swaylock.useNullPackage then "swaylock" else "${pkgs.swaylock}/bin/swaylock";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,9 +6,10 @@ in
|
||||||
{
|
{
|
||||||
config = mkIf config.modules.desktop.sway.enable {
|
config = mkIf config.modules.desktop.sway.enable {
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
|
package = if cfg.swaylock.useNullPackage then null else pkgs.swaylock;
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
image = "${cfg.wallpapers.lockscreen}";
|
image = if cfg.wallpapers.lockscreen != "" then "${cfg.wallpapers.lockscreen}" else false;
|
||||||
scaling = "center";
|
scaling = "center";
|
||||||
color = "000000";
|
color = "000000";
|
||||||
indicator-radius = 70;
|
indicator-radius = 70;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue