add wluma to control backlight
This commit is contained in:
parent
605f5c9b20
commit
e3e25560ca
7 changed files with 100 additions and 1 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./niri
|
./niri
|
||||||
|
./wluma
|
||||||
];
|
];
|
||||||
|
|
||||||
youthlic.programs = {
|
youthlic.programs = {
|
||||||
|
|
|
||||||
25
home/david/configurations/Tytonidae/wluma/config.toml
Normal file
25
home/david/configurations/Tytonidae/wluma/config.toml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# [als.iio]
|
||||||
|
# path = "/sys/bus/iio/devices"
|
||||||
|
# thresholds = { 0 = "night", 20 = "dark", 80 = "dim", 250 = "normal", 500 = "bright", 800 = "outdoors" }
|
||||||
|
|
||||||
|
[als.webcam]
|
||||||
|
video = 0
|
||||||
|
thresholds = { 0 = "night", 15 = "dark", 30 = "dim", 45 = "normal", 60 = "bright", 75 = "outdoors" }
|
||||||
|
|
||||||
|
# [als.time]
|
||||||
|
# thresholds = { 0 = "night", 7 = "dark", 9 = "dim", 11 = "normal", 13 = "bright", 16 = "normal", 18 = "dark", 20 = "night" }
|
||||||
|
|
||||||
|
# [als.none]
|
||||||
|
|
||||||
|
[[output.backlight]]
|
||||||
|
name = "eDP-1"
|
||||||
|
path = "/sys/class/backlight/intel_backlight"
|
||||||
|
capturer = "wayland"
|
||||||
|
|
||||||
|
# [[output.ddcutil]]
|
||||||
|
# name = "Dell Inc. DELL P2415Q"
|
||||||
|
# capturer = "none"
|
||||||
|
|
||||||
|
[[keyboard]]
|
||||||
|
name = "keyboard-asus"
|
||||||
|
path = "/sys/bus/platform/devices/asus-nb-wmi/leds/asus::kbd_backlight"
|
||||||
4
home/david/configurations/Tytonidae/wluma/default.nix
Normal file
4
home/david/configurations/Tytonidae/wluma/default.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
youthlic.programs.wluma.config = ./config.toml;
|
||||||
|
}
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
./fuzzel.nix
|
./fuzzel.nix
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./niri.nix
|
./niri.nix
|
||||||
|
./wluma.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ in
|
||||||
];
|
];
|
||||||
youthlic.programs = {
|
youthlic.programs = {
|
||||||
fuzzel.enable = true;
|
fuzzel.enable = true;
|
||||||
|
wluma.enable = true;
|
||||||
};
|
};
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
config = builtins.readFile cfg.config;
|
config = builtins.readFile cfg.config;
|
||||||
|
|
|
||||||
57
home/modules/wluma.nix
Normal file
57
home/modules/wluma.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.youthlic.programs.wluma;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
youthlic.programs.wluma = {
|
||||||
|
enable = lib.mkEnableOption "wluma";
|
||||||
|
config = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
example = ./config.toml;
|
||||||
|
description = ''
|
||||||
|
path to config file of wluma
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
example = pkgs.wluam;
|
||||||
|
default = pkgs.wluma;
|
||||||
|
description = ''
|
||||||
|
pakcage of wluma
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [
|
||||||
|
cfg.package
|
||||||
|
];
|
||||||
|
xdg.configFile."wluma/config.toml" = {
|
||||||
|
enable = true;
|
||||||
|
source = cfg.config;
|
||||||
|
};
|
||||||
|
systemd.user.services.wluma = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Adjusting screen brightness based on screen contents and amount of ambient light";
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = [ "${lib.getExe cfg.package}" ];
|
||||||
|
Restart = "always";
|
||||||
|
EnvironmentFile = [ "-%E/wluma/service.conf" ];
|
||||||
|
PrivateNetwork = true;
|
||||||
|
PrivateMounts = false;
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
users.users.david = {
|
users.users.david = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|
@ -7,8 +7,18 @@
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"libvirtd"
|
"libvirtd"
|
||||||
"wheel"
|
"wheel"
|
||||||
|
"video"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
services.udev = {
|
||||||
|
enable = true;
|
||||||
|
extraRules = ''
|
||||||
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${lib.getExe' pkgs.coreutils "chgrp"} video /sys/class/backlight/%k/brightness"
|
||||||
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${lib.getExe' pkgs.coreutils "chmod"} g+w /sys/class/backlight/%k/brightness"
|
||||||
|
ACTION=="add", SUBSYSTEM=="leds", RUN+="${lib.getExe' pkgs.coreutils "chgrp"} video /sys/class/leds/%k/brightness"
|
||||||
|
ACTION=="add", SUBSYSTEM=="leds", RUN+="${lib.getExe' pkgs.coreutils "chmod"} g+w /sys/class/leds/%k/brightness"
|
||||||
|
'';
|
||||||
|
};
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
users.users.david.shell = pkgs.fish;
|
users.users.david.shell = pkgs.fish;
|
||||||
users.users.david.openssh.authorizedKeys.keyFiles = [
|
users.users.david.openssh.authorizedKeys.keyFiles = [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue