dotfiles

My PC Dotfiles & Website
commit ef0e7379027b84d1f838b2e7444995aaa712af11
parent 42d1b50449be20f83db3e218afd016d4d9838704
Author: maydayv7 <maydayv7@gmail.com>
Date:   Tue,  3 Feb 2026 23:47:32 +0530

feat: Use `sunsetr` for Display Temperature Control

Diffstat:

25 files changed, 126 insertions(+), 83 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -1,5 +1,9 @@ ## 2026 +### February + +- Use `sunsetr` for Display Temperature Control + ### January - Update `impermanence` setup (`user.persist` -> `home.persist`) diff --git a/README.md b/README.md @@ -462,10 +462,10 @@ The system `config` can be accessed using the `sys` parameter in `home-manager` - Remove `pkgs.custom.copyous` after [merge](https://github.com/NixOS/nixpkgs/pull/469919) - Update Niri Configuration after [merge](https://github.com/sodiboo/niri-flake/pull/1548) -- Update `minecraft` after [merge](https://github.com/Infinidoge/nix-minecraft/pull/161) +- Remove `stremio.patch` after [merge](https://github.com/NixOS/nixpkgs/pull/468728) </details> -> Last Updated: **January** 2026 +> Last Updated: **February** 2026 If you like this project, consider leaving a [star](https://github.com/maydayv7/dotfiles) diff --git a/devices/valkyrie/default.nix b/devices/valkyrie/default.nix @@ -84,7 +84,7 @@ }; gui = { - desktop = "hyprland"; + desktop = "niri"; display = "eDP-1"; wallpaper = "Quasar"; fancy = true; diff --git a/files/flake.nix b/files/flake.nix @@ -138,6 +138,9 @@ extension = ".sh"; }; + # Display Temperature Control + sunsetr = ./sunsetr; + # Notifications Daemon swaync = readFile ./swaync.css; diff --git a/files/niri/theme/waybar.css b/files/niri/theme/waybar.css @@ -112,6 +112,9 @@ window#waybar.empty #window { background-color: @base0E; color: @base00; } +#custom-temperature { + color: @base07; +} #battery { background-color: @base0A; @@ -167,6 +170,7 @@ window#waybar.empty #window { #custom-logo, #custom-notify, #custom-power, +#custom-temperature, #custom-user, #custom-weather, #idle_inhibitor, diff --git a/files/sunsetr/presets/3000/sunsetr.toml b/files/sunsetr/presets/3000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 3000 +static_gamma = 100 diff --git a/files/sunsetr/presets/4000/sunsetr.toml b/files/sunsetr/presets/4000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 4000 +static_gamma = 100 diff --git a/files/sunsetr/presets/5000/sunsetr.toml b/files/sunsetr/presets/5000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 5000 +static_gamma = 100 diff --git a/files/sunsetr/presets/6000/sunsetr.toml b/files/sunsetr/presets/6000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 6000 +static_gamma = 100 diff --git a/files/sunsetr/presets/7000/sunsetr.toml b/files/sunsetr/presets/7000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 7000 +static_gamma = 100 diff --git a/files/sunsetr/presets/8000/sunsetr.toml b/files/sunsetr/presets/8000/sunsetr.toml @@ -0,0 +1,3 @@ +transition_mode = "static" +static_temp = 8000 +static_gamma = 100 diff --git a/files/sunsetr/sunsetr.toml b/files/sunsetr/sunsetr.toml @@ -0,0 +1,16 @@ +backend = "auto" +transition_mode = "start_at" + +smoothing = true +startup_duration = 0.5 +shutdown_duration = 0.5 +adaptive_interval = 1 + +sunset = "19:00:00" +sunrise = "06:00:00" +transition_duration = 15 +night_temp = 4000 +day_temp = 6500 +night_gamma = 90 +day_gamma = 100 +update_interval = 60 diff --git a/flake.lock b/flake.lock @@ -1136,15 +1136,15 @@ ] }, "locked": { - "lastModified": 1769028688, - "narHash": "sha256-Kq4AZmUNotVFKEHOTzjbGDsHr6mUh6u3ccyNMUIwyzE=", - "owner": "maydayv7", + "lastModified": 1769928064, + "narHash": "sha256-nx0no9qP8D0kxflY1BrSP+VGT3Ae80phWv3qsb13vhQ=", + "owner": "shezdy", "repo": "hyprsplit", - "rev": "21afca882244bc9df4d17f7d33bcc3a8f6379fd2", + "rev": "64348624e6a8d0d3aeb28400c5549a09fce8f1f6", "type": "github" }, "original": { - "owner": "maydayv7", + "owner": "shezdy", "repo": "hyprsplit", "type": "github" } @@ -1365,23 +1365,23 @@ "minecraft": { "inputs": { "flake-compat": "flake-compat_3", - "flake-utils": [ - "utils" - ], "nixpkgs": [ "nixpkgs" + ], + "systems": [ + "systems" ] }, "locked": { - "lastModified": 1762542291, - "narHash": "sha256-KgRa2LpZ8TSHEJUld6oTpfZdAIBRc1TWuRUJxXTsc4Q=", - "owner": "maydayv7", + "lastModified": 1770000653, + "narHash": "sha256-QO/twGynxjOSUDtxbqJLshc/Q5/wImLH5O6KV2p9eoE=", + "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "3db421e8fefd6470c57bd1c59c26fb65310b010f", + "rev": "6a2ddb643aaf7949caa6158e718c5efc3dda7dc1", "type": "github" }, "original": { - "owner": "maydayv7", + "owner": "Infinidoge", "repo": "nix-minecraft", "type": "github" } diff --git a/flake.nix b/flake.nix @@ -148,10 +148,10 @@ # Minecraft Server minecraft = { - url = "github:maydayv7/nix-minecraft"; + url = "github:Infinidoge/nix-minecraft"; inputs = { nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "utils"; + systems.follows = "systems"; }; }; @@ -208,7 +208,7 @@ # Plugins hyprsplit = { - url = "github:maydayv7/hyprsplit"; + url = "github:shezdy/hyprsplit"; inputs.hyprland.follows = "hyprland"; }; diff --git a/modules/gui/desktop/_shared/panel.nix b/modules/gui/desktop/_shared/panel.nix @@ -164,6 +164,11 @@ in on-click-middle = "sysutils media previous"; }; + "group/display".modules = [ + "backlight" + "custom/temperature" + ]; + backlight = { format = "{icon}"; tooltip-format = "Backlight: {percent}%"; @@ -182,6 +187,12 @@ in on-scroll-down = "sysutils brightness up"; }; + "custom/temperature" = { + format = ""; + tooltip = false; + on-click = "sysutils temperature"; + }; + "group/power".modules = [ "battery" "power-profiles-daemon" diff --git a/modules/gui/desktop/_shared/utilities.nix b/modules/gui/desktop/_shared/utilities.nix @@ -3,6 +3,7 @@ lib, util, pkgs, + files, ... }: let @@ -28,6 +29,7 @@ in custom.sysutils hyprpicker pwvucontrol + sunsetr wev wl-clipboard wl-screenrec @@ -70,6 +72,10 @@ in font = [ "com.github.FontManager.FontViewer.desktop" ]; }; + # Display Temperature + home.file.".config/sunsetr".source = files.sunsetr; + + # Desktop Clock systemd.user.services.wlclock = let target = [ "graphical-session.target" ]; diff --git a/modules/gui/desktop/hyprland/apps/panel.nix b/modules/gui/desktop/hyprland/apps/panel.nix @@ -92,23 +92,11 @@ in "group/display" = { orientation = "horizontal"; - modules = [ - "backlight" - "custom/temperature" - ]; drawer.transition-left-to-right = false; }; backlight.on-click = "nwg-displays"; - "custom/temperature" = { - format = ""; - tooltip = false; - on-scroll-up = "hyprutils temperature up"; - on-scroll-down = "hyprutils temperature down"; - on-click = "hyprutils temperature reset"; - }; - "group/power" = { orientation = "horizontal"; drawer.transition-left-to-right = false; diff --git a/modules/gui/desktop/hyprland/apps/utilities.nix b/modules/gui/desktop/hyprland/apps/utilities.nix @@ -22,40 +22,22 @@ in grimblast hyprkeys hyprshade - hyprsunset unstable.pyprland slurp waycorner ]; user.homeConfig = { - services = { - # Wallpaper Daemon - hyprpaper = { - enable = true; - settings = { - ipc = false; - splash = true; - }; - }; - - # Display Temperature - hyprsunset = { - enable = true; - extraArgs = [ "--identity" ]; - settings.profile = [ - { - time = "7:00"; - temperature = 6000; - } - { - time = "19:00"; - temperature = 4500; - } - ]; + # Wallpaper Daemon + services.hyprpaper = { + enable = true; + settings = { + ipc = false; + splash = true; }; }; + # Hot Corners systemd.user.services.waycorner = let target = [ "graphical-session.target" ]; diff --git a/modules/gui/desktop/hyprland/settings/apps.nix b/modules/gui/desktop/hyprland/settings/apps.nix @@ -46,6 +46,9 @@ in # Desktop Icons "pcmanfm-qt --desktop" + + # Display Temperature + "sunsetr -b" ]); ## Shortcuts diff --git a/modules/gui/desktop/niri/apps/panel.nix b/modules/gui/desktop/niri/apps/panel.nix @@ -68,6 +68,11 @@ in drawer.transition-left-to-right = true; }; + "group/display" = { + orientation = "vertical"; + drawer.transition-left-to-right = true; + }; + "custom/hide".format = ""; "custom/weather" = { @@ -126,7 +131,7 @@ in "clock" "custom/weather" "group/power" - "backlight" + "group/display" "group/media" "network" "bluetooth" diff --git a/modules/gui/desktop/niri/settings/apps.nix b/modules/gui/desktop/niri/settings/apps.nix @@ -28,6 +28,7 @@ } { command = exec "pcmanfm-qt" [ "--desktop" ]; } { command = exec "nwg-drawer" [ "-r" ]; } + { command = exec "sunsetr" [ "-b" ]; } ]; ## Keybindings diff --git a/modules/nix/tools.nix b/modules/nix/tools.nix @@ -18,9 +18,10 @@ environment.systemPackages = with pkgs; [ cachix + dix manix nix-output-monitor - nixfmt-rfc-style + nixfmt-tree nodePackages.prettier shellcheck statix diff --git a/packages/patches/stremio.patch b/packages/patches/stremio.patch @@ -1,4 +1,3 @@ -# https://github.com/NixOS/nixpkgs/pull/468728 --- /dev/null +++ b/pkgs/by-name/st/stremio-linux-shell/package.nix @@ -0,0 +1,135 @@ diff --git a/scripts/hyprutils.nix b/scripts/hyprutils.nix @@ -13,7 +13,6 @@ let # Usage # help - Show this information - temperature [up,down] - Display Temperature Controls click [button] [address] - Opens [address] with [button] action toggle  fancy - Toggle Compositor Effects @@ -64,7 +63,6 @@ recursiveUpdate custom.hyprshellevents hyprland hyprshade - hyprsunset libnotify zenity ]; @@ -92,28 +90,6 @@ recursiveUpdate info "Monitoring Hyprland Socket..." socat -u UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock EXEC:"shellevents ${daemon}",nofork ;; - "temperature") - temperature_notification() { - temperature=$(hyprctl hyprsunset temperature) - notify temperature -i "display" "🌡 $temperature K" - } - case "$2" in - "up") - hyprctl hyprsunset temperature +200 - temperature_notification - ;; - "down") - hyprctl hyprsunset temperature -200 - temperature_notification - ;; - "reset") - hyprctl hyprsunset identity - notify temperature -i "display" "🌡 Reset" - ;; - "") fail "Expected an Option" ;; - *) fail "Unexpected Option 'temperature $2'" ;; - esac - ;; "click") BUTTON="$2" ADDRESS="$3" diff --git a/scripts/sysutils.nix b/scripts/sysutils.nix @@ -15,6 +15,7 @@ let help - Show this information brightness [up,down] - Screen Brightness Controls backlight [up,down] - Keyboard Backlight Controls + temperature - Display Temperature Control volume [up,down,mute] - Volume Controls media [next,previous,toggle] - Media Controls toggle  @@ -44,6 +45,7 @@ recursiveUpdate brillo libnotify playerctl + sunsetr systemd ]; @@ -121,6 +123,30 @@ recursiveUpdate *) fail "Unexpected Option 'brightness $2'" ;; esac ;; + "temperature") + readarray -t presets < <(sunsetr preset list) + active_preset=$(sunsetr preset active) + cur_ind=-1 + for i in "''${!presets[@]}" + do + if [ "''${presets[$i]}" = "$active_preset" ] + then + cur_ind=$i + break + fi + done + + if [ "$cur_ind" -eq -1 ] + then + next_ind=0 + else + next_ind=$(( (cur_ind + 1) % ''${#presets[@]} )) + fi + + next_preset="''${presets[$next_ind]}" + sunsetr preset "$next_preset" + notify temperature -i "display" "🌡 Preset: $next_preset" + ;; "volume") volume_notification() { volume=$(amixer get Master | grep '%' | head -n 1 | cut -d '[' -f 2 | cut -d '%' -f 1)