Compare commits

..

2 commits

Author SHA1 Message Date
65fd07bbec
feat(work): install sway 2025-08-24 22:50:30 +02:00
bfd8d8193d
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.
2025-08-24 22:45:13 +02:00
5 changed files with 31 additions and 7 deletions

View file

@ -33,6 +33,19 @@
zellij.enable = true; zellij.enable = true;
zsh.enable = true; zsh.enable = true;
}; };
desktop.sway = {
enable = true;
kanshi = true;
swaylock.useNullPackage = true;
waybar = {
laptop = true;
gpuThermal.enable = false;
cpuThermal = {
hwmonPathAbs = "/sys/devices/platform/coretemp.0/hwmon/";
inputFilename = "temp1_input";
};
};
};
web.firefox = { web.firefox = {
enable = true; enable = true;
optionalExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ optionalExtensions = with pkgs.nur.repos.rycee.firefox-addons; [

View file

@ -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;

View file

@ -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";

View file

@ -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";
} }
]; ];
}; };

View file

@ -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;