blob: 33f25c884608675cbea170b38d54ba83130920f6 (
plain) (
tree)
|
|
{ config, pkgs, ... }: let
user = config.global.userdata.name;
fontSans = config.global.font.sans.name;
fontMonospace = config.global.font.monospace.name;
fontPackages = config.global.font.monospace.packages
++ config.global.font.sans.packages;
in {
fonts = {
packages = fontPackages;
enableDefaultPackages = true;
fontconfig = {
hinting.style = "full";
subpixel.rgba = "rgb";
defaultFonts = {
monospace = [ fontMonospace ];
serif = [ fontSans ];
sansSerif = [ fontSans ];
};
};
};
users.users.${user}.extraGroups = [ "seat" ];
services = {
seatd.enable = true;
dbus = {
enable = true;
implementation = "broker";
};
};
systemd.services.swaynag_battery = {
path = [ pkgs.sway pkgs.systemd ];
environment = {
# TODO: don't hardcode them
WAYLAND_DISPLAY = "wayland-1";
XDG_RUNTIME_DIR = "/run/user/1000";
};
script = ''
swaynag \
-m ' Critical battery level, system hibernation imminent, please connect to a power source' \
--layer overlay \
--dismiss-button 'Hibernate now' &&
systemctl hibernate
'';
};
services.udev.extraRules = let
start = "${pkgs.systemd}/bin/systemctl start swaynag_battery";
stop = "${pkgs.systemd}/bin/systemctl stop swaynag_battery";
in ''
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-9]", RUN+="${start}"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="${stop}"
SUBSYSTEM=="power_supply", ATTR{status}=="Charging", RUN+="${stop}"
'';
hardware.graphics = {
enable = true;
enable32Bit = true;
};
security.pam.services.swaylock = {};
}
|