-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
394 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
modules/nixos/linux/gui/hyprland/old-config/blue-light-filter.glsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 | ||
|
||
precision highp float; | ||
varying vec2 v_texcoord; | ||
uniform sampler2D tex; | ||
|
||
const float temperature = 3600.0; | ||
const float temperatureStrength = 1.0; | ||
|
||
#define WithQuickAndDirtyLuminancePreservation | ||
const float LuminancePreservationFactor = 1.0; | ||
|
||
// function from https://www.shadertoy.com/view/4sc3D7 | ||
// valid from 1000 to 40000 K (and additionally 0 for pure full white) | ||
vec3 colorTemperatureToRGB(const in float temperature) { | ||
// values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 | ||
mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), | ||
vec3(0.0, 1669.5803561666639, 2575.2827530017594), | ||
vec3(1.0, 1.3302673723350029, 1.8993753891711275)) | ||
: mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), | ||
vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), | ||
vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); | ||
return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), | ||
vec3(1.0), smoothstep(1000.0, 0.0, temperature)); | ||
} | ||
|
||
void main() { | ||
vec4 pixColor = texture2D(tex, v_texcoord); | ||
|
||
// RGB | ||
vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); | ||
|
||
#ifdef WithQuickAndDirtyLuminancePreservation | ||
color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), | ||
LuminancePreservationFactor); | ||
#endif | ||
|
||
color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); | ||
|
||
vec4 outCol = vec4(color, pixColor[3]); | ||
|
||
gl_FragColor = outCol; | ||
} |
294 changes: 294 additions & 0 deletions
294
modules/nixos/linux/gui/hyprland/old-config/hyprland.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,294 @@ | ||
# TODO: Move this to settings.nix | ||
|
||
################ | ||
### MONITORS ### | ||
################ | ||
|
||
# See https://wiki.hyprland.org/Configuring/Monitors/ | ||
monitor=,highres,auto,2 | ||
monitor=DP-5,highres,auto-up,2 | ||
monitor=DP-6,disable # Same as DP-5 | ||
|
||
|
||
################### | ||
### MY PROGRAMS ### | ||
################### | ||
|
||
# See https://wiki.hyprland.org/Configuring/Keywords/ | ||
|
||
# Set programs that you use | ||
$terminal = rio | ||
$fileManager = thunar | ||
$menu = walker | ||
$screenshot = sh -c "hyprshade off && hyprshot --clipboard-only -m region ; hyprshade on ~/.config/hypr/blue-light-filter.glsl" | ||
|
||
|
||
################# | ||
### AUTOSTART ### | ||
################# | ||
|
||
# Autostart necessary processes (like notifications daemons, status bars, etc.) | ||
# Or execute your favorite apps at launch like this: | ||
|
||
# exec-once = $terminal | ||
# exec-once = nm-applet & | ||
# exec-once = waybar & hyprpaper & firefox | ||
# | ||
exec-once = dbus-update-activation-environment --systemd --all | ||
|
||
|
||
############################# | ||
### ENVIRONMENT VARIABLES ### | ||
############################# | ||
|
||
# See https://wiki.hyprland.org/Configuring/Environment-variables/ | ||
|
||
env = XCURSOR_SIZE,24 | ||
env = HYPRCURSOR_SIZE,24 | ||
|
||
|
||
##################### | ||
### LOOK AND FEEL ### | ||
##################### | ||
|
||
# Refer to https://wiki.hyprland.org/Configuring/Variables/ | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#general | ||
general { | ||
gaps_in = 5 | ||
gaps_out = 20 | ||
|
||
border_size = 2 | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors | ||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg | ||
col.inactive_border = rgba(595959aa) | ||
|
||
# Set to true enable resizing windows by clicking and dragging on borders and gaps | ||
resize_on_border = false | ||
|
||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on | ||
allow_tearing = false | ||
|
||
layout = dwindle | ||
} | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#decoration | ||
decoration { | ||
rounding = 10 | ||
|
||
# Change transparency of focused and unfocused windows | ||
active_opacity = 1.0 | ||
inactive_opacity = 1.0 | ||
|
||
drop_shadow = true | ||
shadow_range = 4 | ||
shadow_render_power = 3 | ||
col.shadow = rgba(1a1a1aee) | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#blur | ||
blur { | ||
enabled = true | ||
size = 3 | ||
passes = 1 | ||
|
||
vibrancy = 0.1696 | ||
} | ||
} | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#animations | ||
animations { | ||
enabled = yes, please :) | ||
|
||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more | ||
|
||
bezier = easeOutQuint,0.23,1,0.32,1 | ||
bezier = easeInOutCubic,0.65,0.05,0.36,1 | ||
bezier = linear,0,0,1,1 | ||
bezier = almostLinear,0.5,0.5,0.75,1.0 | ||
bezier = quick,0.15,0,0.1,1 | ||
|
||
animation = global, 1, 10, default | ||
animation = border, 1, 5.39, easeOutQuint | ||
animation = windows, 1, 4.79, easeOutQuint | ||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% | ||
animation = windowsOut, 1, 1.49, linear, popin 87% | ||
animation = fadeIn, 1, 1.73, almostLinear | ||
animation = fadeOut, 1, 1.46, almostLinear | ||
animation = fade, 1, 3.03, quick | ||
animation = layers, 1, 3.81, easeOutQuint | ||
animation = layersIn, 1, 4, easeOutQuint, fade | ||
animation = layersOut, 1, 1.5, linear, fade | ||
animation = fadeLayersIn, 1, 1.79, almostLinear | ||
animation = fadeLayersOut, 1, 1.39, almostLinear | ||
animation = workspaces, 1, 1.94, almostLinear, fade | ||
animation = workspacesIn, 1, 1.21, almostLinear, fade | ||
animation = workspacesOut, 1, 1.94, almostLinear, fade | ||
} | ||
|
||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ | ||
# "Smart gaps" / "No gaps when only" | ||
# uncomment all if you wish to use that. | ||
# workspace = w[t1], gapsout:0, gapsin:0 | ||
# workspace = w[tg1], gapsout:0, gapsin:0 | ||
# workspace = f[1], gapsout:0, gapsin:0 | ||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1] | ||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[t1] | ||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1] | ||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1] | ||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] | ||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] | ||
|
||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more | ||
dwindle { | ||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below | ||
preserve_split = true # You probably want this | ||
} | ||
|
||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more | ||
master { | ||
new_status = master | ||
} | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#misc | ||
misc { | ||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers | ||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( | ||
} | ||
|
||
|
||
############# | ||
### INPUT ### | ||
############# | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#input | ||
input { | ||
kb_layout = us | ||
kb_variant = | ||
kb_model = | ||
kb_options = | ||
kb_rules = | ||
|
||
follow_mouse = 1 | ||
|
||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. | ||
natural_scroll = true | ||
|
||
touchpad { | ||
natural_scroll = true | ||
} | ||
|
||
kb_options = ctrl:nocaps | ||
} | ||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#gestures | ||
gestures { | ||
workspace_swipe = false | ||
} | ||
|
||
# Example per-device config | ||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more | ||
device { | ||
name = epic-mouse-v1 | ||
sensitivity = -0.5 | ||
} | ||
|
||
|
||
################### | ||
### KEYBINDINGS ### | ||
################### | ||
|
||
# See https://wiki.hyprland.org/Configuring/Keywords/ | ||
$mainMod = SUPER # Sets "Windows" key as main modifier | ||
|
||
bindl = , switch:Lid Switch, exec, systemctl suspend | ||
|
||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more | ||
bind = $mainMod, Q, exec, $terminal | ||
bind = $mainMod, C, killactive, | ||
bind = $mainMod, M, exit, | ||
bind = $mainMod, E, exec, $fileManager | ||
bind = $mainMod, V, togglefloating, | ||
bind = $mainMod, R, exec, $menu | ||
bind = $mainMod, P, pseudo, # dwindle | ||
bind = $mainMod, J, togglesplit, # dwindle | ||
bind = $mainMod, T, exec, $screenshot | ||
|
||
# Move focus with mainMod + arrow keys | ||
bind = $mainMod, h, movefocus, l | ||
bind = $mainMod, l, movefocus, r | ||
bind = $mainMod, k, movefocus, u | ||
bind = $mainMod, j, movefocus, d | ||
|
||
# Switch workspaces with mainMod + [0-9] | ||
bind = $mainMod, 1, workspace, 1 | ||
bind = $mainMod, 2, workspace, 2 | ||
bind = $mainMod, 3, workspace, 3 | ||
bind = $mainMod, 4, workspace, 4 | ||
bind = $mainMod, 5, workspace, 5 | ||
bind = $mainMod, 6, workspace, 6 | ||
bind = $mainMod, 7, workspace, 7 | ||
bind = $mainMod, 8, workspace, 8 | ||
bind = $mainMod, 9, workspace, 9 | ||
bind = $mainMod, 0, workspace, 10 | ||
|
||
# Move active window to a workspace with mainMod + SHIFT + [0-9] | ||
bind = $mainMod SHIFT, 1, movetoworkspace, 1 | ||
bind = $mainMod SHIFT, 2, movetoworkspace, 2 | ||
bind = $mainMod SHIFT, 3, movetoworkspace, 3 | ||
bind = $mainMod SHIFT, 4, movetoworkspace, 4 | ||
bind = $mainMod SHIFT, 5, movetoworkspace, 5 | ||
bind = $mainMod SHIFT, 6, movetoworkspace, 6 | ||
bind = $mainMod SHIFT, 7, movetoworkspace, 7 | ||
bind = $mainMod SHIFT, 8, movetoworkspace, 8 | ||
bind = $mainMod SHIFT, 9, movetoworkspace, 9 | ||
bind = $mainMod SHIFT, 0, movetoworkspace, 10 | ||
|
||
# Example special workspace (scratchpad) | ||
bind = $mainMod, S, togglespecialworkspace, magic | ||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic | ||
|
||
bind = $mainMod SHIFT, M, movecurrentworkspacetomonitor, t | ||
|
||
# Scroll through existing workspaces with mainMod + scroll | ||
bind = $mainMod, mouse_down, workspace, e+1 | ||
bind = $mainMod, mouse_up, workspace, e-1 | ||
|
||
# Move/resize windows with mainMod + LMB/RMB and dragging | ||
bindm = $mainMod, mouse:272, movewindow | ||
bindm = $mainMod, mouse:273, resizewindow | ||
|
||
bind = $mainMod, F, fullscreen | ||
|
||
# Laptop multimedia keys for volume and LCD brightness | ||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ | ||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- | ||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle | ||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle | ||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ | ||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- | ||
|
||
# Requires playerctl | ||
bindl = , XF86AudioNext, exec, playerctl next | ||
bindl = , XF86AudioPause, exec, playerctl play-pause | ||
bindl = , XF86AudioPlay, exec, playerctl play-pause | ||
bindl = , XF86AudioPrev, exec, playerctl previous | ||
|
||
############################## | ||
### WINDOWS AND WORKSPACES ### | ||
############################## | ||
|
||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more | ||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules | ||
|
||
# Example windowrule v1 | ||
# windowrule = float, ^(kitty)$ | ||
|
||
# Example windowrule v2 | ||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ | ||
|
||
# Ignore maximize requests from apps. You'll probably like this. | ||
windowrulev2 = suppressevent maximize, class:.* | ||
|
||
# Fix some dragging issues with XWayland | ||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 |
Oops, something went wrong.