Compare commits
No commits in common. "83ed99151f60e61e340677514f6502d733e4d480" and "f6c1884ec6ff090e55241e9c8817570a7990570e" have entirely different histories.
83ed99151f
...
f6c1884ec6
|
@ -1,17 +1,16 @@
|
||||||
{ inputs, pkgs, system, ... }:
|
{ inputs, pkgs, system, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
customPkgs = final: prev: with pkgs;{
|
customPkgs = final: prev: {
|
||||||
adwaita-for-steam = callPackage ./adwaita-for-steam.nix { };
|
adwaita-for-steam = pkgs.callPackage ./adwaita-for-steam.nix { };
|
||||||
|
mkvextract-gtk = pkgs.callPackage ./mkvextract-gtk.nix { };
|
||||||
|
|
||||||
gnomeExtensions = prev.gnomeExtensions // {
|
gnomeExtensions = prev.gnomeExtensions // {
|
||||||
monitor-brightness-and-volume = callPackage ./gnomeExtensions/monitor-brightness-and-volume.nix { };
|
rounded-window-corners-reborn = pkgs.callPackage ./gnomeExtensions/rounded-window-corners-reborn.nix { };
|
||||||
rounded-window-corners-reborn = callPackage ./gnomeExtensions/rounded-window-corners-reborn.nix { };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gpu-screen-recorder = final.unstable.gpu-screen-recorder;
|
gpu-screen-recorder = final.unstable.gpu-screen-recorder;
|
||||||
icoextract = final.unstable.icoextract; #TODO: remove in next release
|
icoextract = final.unstable.icoextract;
|
||||||
mkvextract-gtk = callPackage ./mkvextract-gtk.nix { };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
unstableOverlay = final: prev: {
|
unstableOverlay = final: prev: {
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
{ lib, stdenv, fetchurl, unzip, glib }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "gnome-shell-extension-monitor-brightness-volume";
|
|
||||||
version = "7";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://extensions.gnome.org/extension-data/monitor-brightness-volumeailin.nemui.v${version}.shell-extension.zip";
|
|
||||||
hash = "sha256-NrFZZdQTgnMyYk2Yp2l3RiXM2C+/NHhIPv/Fo/KrXt8=";
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceRoot = ".";
|
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip glib ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/gnome-shell/extensions/monitor-brightness-volume@ailin.nemui
|
|
||||||
mv * $out/share/gnome-shell/extensions/monitor-brightness-volume@ailin.nemui
|
|
||||||
glib-compile-schemas $out/share/gnome-shell/extensions/monitor-brightness-volume@ailin.nemui/schemas
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "GNOME Shell extension to control monitor brightness and volume.";
|
|
||||||
homepage = "https://extensions.gnome.org/extension/1292/monitor-brightness-and-volume/";
|
|
||||||
license = licenses.gpl2;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ jdig78 ];
|
|
||||||
};
|
|
||||||
}
|
|
18
flake.lock
18
flake.lock
|
@ -232,11 +232,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722648499,
|
"lastModified": 1722388556,
|
||||||
"narHash": "sha256-GRZDqWF+q3hFiVv4+B5uxAoxhyoGipagt8jiUOtJFkY=",
|
"narHash": "sha256-90/qzsfqtXbHk3vshBQkJdymG/IY7S6RqqYpQU2GB8Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "a6df283f4762b079b4d09b25acb1d9bd95f6a472",
|
"rev": "af75b047c7e12cbd5484190900e6216b5ebe68e2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -279,11 +279,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722421184,
|
"lastModified": 1722185531,
|
||||||
"narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=",
|
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58",
|
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -311,11 +311,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722519197,
|
"lastModified": 1722221733,
|
||||||
"narHash": "sha256-VEdJmVU2eLFtLqCjTYJd1J7+Go8idAcZoT11IewFiRg=",
|
"narHash": "sha256-sga9SrrPb+pQJxG1ttJfMPheZvDOxApFfwXCFO0H9xw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "05405724efa137a0b899cce5ab4dde463b4fd30b",
|
"rev": "12bf09802d77264e441f48e25459c10c93eada2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
discord
|
discord
|
||||||
element-desktop
|
element-desktop
|
||||||
gimp
|
gimp
|
||||||
neovim
|
|
||||||
obs-studio
|
obs-studio
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
openspades
|
openspades
|
||||||
|
|
|
@ -3,6 +3,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./custom-wallpaper
|
./custom-wallpaper
|
||||||
./extensions
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./monitor-brightness-and-volume.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
UUID = "monitor-brightness-volume@ailin.nemui";
|
|
||||||
lightModeBrightness = 50;
|
|
||||||
darkModeBrightness = 20;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/shell".enabled-extensions = [ UUID ];
|
|
||||||
|
|
||||||
"org/gnome/shell/extensions/monitor-brightness-volume".show-volume = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.ddcutil-auto-brightness-gnome = {
|
|
||||||
Install.WantedBy = [ "default.target" ];
|
|
||||||
|
|
||||||
Service = {
|
|
||||||
ExecStart = pkgs.writeShellScript "ddcutil-auto-brightness-gnome" ''
|
|
||||||
${pkgs.glib}/bin/gsettings monitor org.gnome.desktop.interface color-scheme | while read -r line; do
|
|
||||||
${pkgs.gnome.gnome-shell}/bin/gnome-extensions disable ${UUID} # Reload the extension to detect the brightness change
|
|
||||||
if [[ "$line" == *"prefer-dark"* ]]; then
|
|
||||||
ddcutil setvcp 10 ${toString darkModeBrightness}
|
|
||||||
else
|
|
||||||
ddcutil setvcp 10 ${toString lightModeBrightness}
|
|
||||||
fi
|
|
||||||
# Reload the extension to apply the brightness change
|
|
||||||
${pkgs.gnome.gnome-shell}/bin/gnome-extensions enable ${UUID}
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = 10;
|
|
||||||
};
|
|
||||||
|
|
||||||
Unit = {
|
|
||||||
After = [ "graphical-session.target" ];
|
|
||||||
Description = "ddcutil auto brightness service for GNOME";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ gnomeExtensions.monitor-brightness-and-volume ];
|
|
||||||
}
|
|
|
@ -2,9 +2,11 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.hardware.monitor-control.enable {
|
config = lib.mkIf config.hardware.monitor-control.enable {
|
||||||
environment.systemPackages = with pkgs; [ ddcutil ];
|
environment.systemPackages = with pkgs; [
|
||||||
hardware.i2c.enable = true;
|
ddcutil
|
||||||
users.groups."i2c".members = builtins.attrNames config.users.users;
|
];
|
||||||
|
|
||||||
|
boot.kernelModules = [ "i2c-dev" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
options.hardware.monitor-control.enable = lib.mkEnableOption "enable support for controlling monitor settings.";
|
options.hardware.monitor-control.enable = lib.mkEnableOption "enable support for controlling monitor settings.";
|
||||||
|
|
Loading…
Reference in a new issue