add notification service

This commit is contained in:
Ray Andrew 2024-11-03 17:12:24 -06:00
parent ccedf58489
commit 41aefd9ea1
4 changed files with 84 additions and 3 deletions

View file

@ -29,6 +29,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
xclip xclip
wl-clipboard wl-clipboard
libnotify
]; ];
gtk = { gtk = {

View file

@ -33,12 +33,61 @@ in
services.swayosd = { services.swayosd = {
enable = true; enable = true;
}; };
programs.swaylock = {
enable = true;
};
services.swayidle =
let
swaylock = lib.getExe' config.programs.swaylock.package "swaylock";
notify = lib.getExe' pkgs.libnotify "notify-send";
swaymsg = lib.getExe' config.wayland.windowManager.sway.package "swaymsg";
in
{
enable = true;
timeouts = [
{
timeout = 295;
command = "${notify} 'Locking in 5 seconds' -t 5000";
}
{
timeout = 300;
command = swaylock;
}
{
timeout = 360;
command = "${swaymsg} 'output * dpms off'";
resumeCommand = "${swaymsg} 'output * dpms on'";
}
];
events = [
{
event = "before-sleep";
command = swaylock;
}
];
};
services.mako = {
enable = true;
defaultTimeout = 4500;
ignoreTimeout = true;
};
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
extraConfig = commonOptions.extraConfig; extraConfig = commonOptions.extraConfig;
config = lib.mkMerge [ config = lib.mkMerge [
commonOptions.config commonOptions.config
{ {
input = {
"type:touchpad" = {
natural_scroll = "enabled";
dwt = "enabled";
dwtp = "disabled";
middle_emulation = "enabled";
accel_profile = "flat";
tap = "enabled";
tap_button_map = "lmr";
};
};
keybindings = { keybindings = {
"${commonOptions.modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'"; "${commonOptions.modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
"XF86AudioRaiseVolume" = "exec --no-startup-id '${swayosd} --output-volume=raise'"; "XF86AudioRaiseVolume" = "exec --no-startup-id '${swayosd} --output-volume=raise'";
@ -53,5 +102,7 @@ in
]; ];
}; };
stylix.targets.sway.enable = true; stylix.targets.sway.enable = true;
stylix.targets.swaylock.enable = true;
stylix.targets.mako.enable = true;
}; };
} }

View file

@ -1,11 +1,17 @@
{ config, ... }: { config, pkgs, ... }:
{ {
services = { services = {
xserver = { xserver = {
enable = true; enable = true;
# dpi = 192;
displayManager = { displayManager = {
gdm.enable = true; gdm.enable = true;
# lightdm.enable = true; # lightdm.enable = true;
# sessionCommands = ''
# ${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
# Xft.dpi: 192
# EOF
# '';
session = [ session = [
{ {
manage = "desktop"; manage = "desktop";
@ -31,4 +37,22 @@
"/var/lib/AccountsService/users" "/var/lib/AccountsService/users"
]; ];
}; };
# environment.variables = {
# GDK_SCALE = "2";
# GDK_DPI_SCALE = "0.5";
# _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
# QT_AUTO_SCREEN_SCALE_FACTOR = "1";
# QT_DEVICE_PIXEL_RATIO = "2";
# XCURSOR_SIZE = "64";
# };
# environment.etc = {
# "xdg/xsettingsd/xsettingsd.conf".text = ''
# Xft/DPI ${builtins.toString (96 * 2 * 1024)}
# Gdk/WindowScalingFactor 2
# Gdk/UnscaledDPI ${builtins.toString (96 * 1024)}
# '';
# };
} }

View file

@ -12,7 +12,12 @@
}; };
config = lib.mkIf config.custom.touchpad.enable { config = lib.mkIf config.custom.touchpad.enable {
services.libinput.enable = true; services.libinput = {
services.libinput.touchpad.disableWhileTyping = true; enable = true;
touchpad = {
disableWhileTyping = true;
naturalScrolling = true;
};
};
}; };
} }