Version 0.1.0

This commit is contained in:
2025-11-13 14:15:48 +00:00
parent daa7360b56
commit 292b8e9372
45 changed files with 3728 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/01_monitors.conf".text = ''
# MONITORS
monitor = eDP-1, preferred, auto, 1.25
'';
}

View File

@@ -0,0 +1,18 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/02_autostart.conf".text = ''
# AUTOSTART
exec-once = ~/.config/hypr/scripts/waybar_watcher.sh &
# FIREFOX PRELOAD - fast firefox bööt, just hide workspace 9.
exec-once = hyprctl dispatch exec '[workspace 9 silent] firefox --new-instance --profile ~/.mozilla/firefox/c>
# EWW SCRIPTS
exec-once = ~/.config/eww/scripts/audio/audio_visualizer.py &
exec-once = cava -p ~/.config/cava/config &
# ROFI image cache
exec-once = cp ~/.config/rofi/image.png /dev/shm/rofi_image.png
'';
}

View File

@@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/03_look-and-feel.conf".text = ''
# LOOK AND FEEL
general {
col.active_border = rgba(9cdef2ff)
col.inactive_border = rgba(444444ff)
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(61afefff) # Blue for focused windows
col.inactive_border = rgba(444444ff)
resize_on_border = false
allow_tearing = false
layout = dwindle
}
'';
}

View File

@@ -0,0 +1,27 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/04_decoration.conf".text = ''
# DECORATION
decoration {
rounding = 1
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 5
render_power = 4
color = rgba(1fbeffee)
}
blur {
size = 2
passes = 1
brightness = 0.4
}
}
'';
}

View File

@@ -0,0 +1,31 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/05_animation.conf".text = ''
# ANIMATIONS
animations {
enabled = yes, please :)
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
}
'';
}

View File

@@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/06_layouts.conf".text = ''
# LAYOUTS
dwindle {
pseudotile = true
preserve_split = true
}
master {
new_status = master
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
}
'';
}

View File

@@ -0,0 +1,28 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/07_input.conf".text = ''
# INPUT
input {
kb_layout = gb, se,
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0
touchpad {
natural_scroll = true
}
}
gestures {
workspace_swipe = false
}
device {
name = epic-mouse-v1
sensitivity = -0.5
}
'';
}

View File

@@ -0,0 +1,70 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/08_keybinds.conf".text = ''
# KEYBINDINGS
$mainMod = SUPER L
$mod = SUPER
# Keyboard language switch
bind = SUPER, S, exec, hyprctl switchxkblayout "asus-keyboard-2" 0
bind = SUPER, E, exec, hyprctl switchxkblayout "asus-keyboard-2" 1
# Apps
bind = ALT, T, exec, $terminal
bind = ALT, B, exec, firefox
bind = ALT, F, exec, thunar
bind = ALT, W, killactive,
bind = ALT, V, togglefloating,
bind = ALT, {, pseudo,
bind = ALT, J, togglesplit,
bind = ALT, SPACE, exec, rofi -show drun
# Move focus
bind = ALT, left, movefocus, l
bind = ALT, right, movefocus, r
bind = ALT, up, movefocus, u
bind = ALT, down, movefocus, d
# Screenshot
bind = ALT, P, exec, slurp | tee >(grim -g "$(cat)" "$HOME/Pictures/Screenshots/screenshot-$(date +'%Y-%m-%d-%H%M%S').png") | grim -g "$(cat)" - | wl-copy
# Function keys
bind = , XF86KbdBrightnessDown, exec, bash ~/.config/kbd-brightness.sh down
bind = , XF86KbdBrightnessUp, exec, bash ~/.config/kbd-brightness.sh up
bind = , XF86Launch3, exec, bash ~/.config/kbd-breathing.sh
exec-once = bash ~/.config/kbd-brightness.sh &
bind = , XF86Launch4, exec, ~/.config/hypr/scripts/asus-kbd/cycle-profile.s
# Touchpad / Monitor
bind = , XF86Display, exec, hyprctl dispatch cyclenextmonitor
bind = , XF86Launch1, exec, ~/.config/hyprlock/lock.sh
# Workspaces
bind = ALT, 1, workspace, 1
bind = ALT, 2, workspace, 2
bind = ALT, 3, workspace, 3
bind = ALT, 4, workspace, 4
bind = ALT, 9, workspace, 9 #Kept hidden as "workspace for background tasks".
bind = $mainMod, 1, movetoworkspace, 1
bind = $mainMod, 2, movetoworkspace, 2
bind = $mainMod, 3, movetoworkspace, 3
bind = $mainMod, 4, movetoworkspace, 4
bind = $mainMod, 9, movetoworkspace, 9
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = ALT, mouse:272, movewindow
bindm = ALT, mouse:273, resizewindow
# Multimedia keys
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @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%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# ASUS KEYBOARD SCRIPTS
bind = , XF86KbdBrightnessUp, exec, ~/.config/hypr/scripts/asus-kbd/kbd-brightness.sh up
bind = , XF86KbdBrightnessDown, exec, ~/.config/hypr/scripts/asus-kbd/kbd-brightness.sh down
bind = , XF86Launch3, exec, ~/.config/hypr/scripts/asus-kbd/kbd-breathing.sh
bind = , XF86Launch4, exec, ~/.config/hypr/scripts/asus-kbd/cycle-profile.sh
'';
}

View File

@@ -0,0 +1,22 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/09_windows-and-workspaces.conf".text = ''
# WINDOWS AND WORKSPACES
windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrulev2 = nofocus, class:^(eww)$
workspace=1,persistent:true
workspace=2,persistent:true
workspace=3,persistent:true
workspace=4,persistent:true
workspace=9,persistent:true
workspace=1,monitor:eDP-1
workspace=2,monitor:eDP-1
workspace=3,monitor:eDP-1
workspace=4,monitor:eDP-1
workspace=9,monitor:eDP-1
'';
}

View File

@@ -0,0 +1,26 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/extras/ascii_boot.txt".text = ''
[ REACTOR STATUS REPORT ]
Date: 2025-04-21 Time: 15:05:35
============================================
> Radiation Forecast................. +17°C
> Phantom Link....................... CONNECTED
> Battery Reserve.................... 62%
> Filesystem Mount................... OK
> Memory Integrity................... STABLE (77% free)
> Display Pipeline................... ACTIVE
> Audio Interface.................... IDLE
> Bluetooth Module................... ONLINE
> Internet Uplink.................... ESTABLISHED
> Hyprland Interface................. ACTIVE
============================================
> "Pain and suffering are always inevitable for a large intelligence and a deep heart."
Dostoevsky
>>> DOBRO POZHALOVAT', KOMANDIR.
>>> PANEL' UPRAVLENIYA REAKTORA: ONLINE.
'';
}

View File

@@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/extras/quotes.txt".text = ''
Ive lived to bury my desires. - Pushkin
Become who you are. - Nietzsche
One must still have chaos in oneself to be able to give birth to a dancing star. - Nietzsche
I am not a man, I am dynamite. - Nietzsche
There are no beautiful surfaces without a terrible depth. - Nietzsche
Pain and suffering are always inevitable for a large intelligence and a deep heart. - Dostoevsky
Above all, dont lie to yourself. - Dostoevsky
Taking a new step, uttering a new word, is what people fear most. - Dostoevsky
To go wrong in ones own way is better than to go right in someone elses. - Dostoevsky
Ive lived to bury my desires, and see my dreams corrode with rust. - Pushkin
My name has become a legend - and I remain a shadow. - Pushkin
I loved you: perhaps that flame still burns. - Pushkin
And I shall bury myself in my books and the silence of my dreams. - Pushkin
Life deceives the hopeful, but art is always true. - Pushkin
'';
}

View File

@@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/shaders/screenshot_overlay.frag".text = ''
#version 330
uniform sampler2D tex;
in vec2 uv;
out vec4 fragColor;
void main() {
vec4 color = texture(tex, uv);
fragColor = mix(color, vec4(0.2, 0.4, 0.8, 1.0), 0.4); // Adjust the blue tint strength
}
'';
}

View File

@@ -0,0 +1,106 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/wallpapers/black.png".source =
pkgs.fetchurl {
url = "https://github.com/pewdiepie-archdaemon/dionysus/blob/dionysus/dotfiles/hypr/wallpapers/black.png?raw=true";
sha256 = "06cfc2114fe04546436ddb47e2dfd7655e2d7be4d184be0a7b123d96c06cc91a";
};
home.file.".config/hypr/wallpapers/bg_wallpaper.png".source =
pkgs.fetchurl {
url = "https://github.com/pewdiepie-archdaemon/dionysus/blob/dionysus/dotfiles/hypr/wallpapers/bg_wallpaper.png?raw=true";
sha256 = "d87aafd5486f6b6231f172411bea9633ff3550a65d4bd52bbc3176ca37e1afa9";
};
home.file.".config/hypr/scripts/waybar-watcher.sh".text = ''
#!/bin/bash
touch "/var/log/waybar_watcher.log"
logfile="/var/log/waybar_watcher.log"
wallpaper_with_window="/home/nubfriedrice/.config/hypr/wallpapers/black.png"
wallpaper_without_window="/home/nubfriedrice/.config/hypr/wallpapers/bg_wallpaper.png"
current_wallpaper=""
eww_visible=false
waybar_visible=false
monitor=$(hyprctl monitors -j | jq -r '.[0].name')
# Eww widgets
eww_windows="active_workspace \
ascii_decor_frame \
audio_status \
cpu_ram_storage_bars \
four_boxes \
net_bars \
orange_workspace \
power-cooling_header_text \
power_mode_text \
right_fan_data \
right_internet_text \
visualizer_window \
welcome_text \
workspace_window_text"
# Start hyprpaper if needed
if ! pgrep -x hyprpaper > /dev/null; then
echo "Starting hyprpaper..." >> "$logfile"
hyprpaper &
sleep 1
fi
while true; do
echo "--- $(date) ---" >> "$logfile"
active_workspace=$(hyprctl activeworkspace -j | jq -r '.id')
window_count=$(hyprctl clients -j | jq "[.[] | select(.workspace.id == $active_workspace and .mapped == true)] | length")
echo "Window count: $window_count" >> "$logfile"
if [ "$window_count" -eq 0 ]; then
# No windows Eww on, Waybar off
if [ "$current_wallpaper" != "$wallpaper_without_window" ]; then
echo "Switching to wallpaper WITHOUT window" >> "$logfile"
hyprctl hyprpaper preload "$wallpaper_without_window"
sleep 0.3
hyprctl hyprpaper wallpaper "$monitor,$wallpaper_without_window"
current_wallpaper="$wallpaper_without_window"
fi
if ! $eww_visible; then
echo "Launching Eww widgets..." >> "$logfile"
pgrep -x eww || eww daemon &
sleep 1
eww open-many $eww_windows
eww_visible=true
fi
if $waybar_visible; then
echo "Stopping Waybar..." >> "$logfile"
pkill -x waybar
waybar_visible=false
fi
else
# Windows Waybar on, Eww off
if [ "$current_wallpaper" != "$wallpaper_with_window" ]; then
echo "Switching to wallpaper WITH window" >> "$logfile"
hyprctl hyprpaper preload "$wallpaper_with_window"
sleep 0.3
hyprctl hyprpaper wallpaper "$monitor,$wallpaper_with_window"
current_wallpaper="$wallpaper_with_window"
fi
if $eww_visible; then
echo "Hiding Eww widgets..." >> "$logfile"
eww close-all
eww_visible=false
fi
if ! $waybar_visible; then
echo "Starting Waybar..." >> "$logfile"
nohup waybar >/dev/null 2>&1 &
waybar_visible=true
fi
fi
sleep 0.5
done
'';
}

View File

@@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/scripts/refresh-eww.sh".text = ''
#!/bin/bash
while true; do
eww update line_refresh=$(date +%s%3N)
sleep 0.05
done
}
'';
}

View File

@@ -0,0 +1,10 @@
{ config, pkgs, ... }:
{
home.file.".config/hypr/hyprpaper.conf".text = ''
preload=$HOME/.config/hypr/wallpapers/black.png
preload=$HOME/.config/hypr/wallpapers/bg_wallpaper.png
wallpaper=eDP-1,$HOME/.config/hypr/wallpapers/bg_wallpaper.png
fit=2
'';
}

View File

@@ -0,0 +1,56 @@
{ config, pkgs, ... }:
{
imports = [
./01_monitors.nix
./02_autostart.nix
./03_look-and-feel.nix
./04_decoration.nix
./05_animation.nix
./06_layouts.nix
./07_input.nix
./08_keybinds.nix
./09_windows-and-workspaces.nix
./10_extras_ascii-boot.nix
./11_extras_quotes.nix
./12_hypr_shaders.nix
./13_waybar-watcher.nix
./14_refresh-eww.nix
./15_hyprpapr.nix
];
home.file.".config/hypr/hyprland.conf".text = ''
#
# °˖* ( )🍸 pewdiepie/archdaemon/dionysh shhheersh
# Hyprland config
# vers. 1.0-nix
#
# MONITORS
source=~/.config/hypr/01_monitors.conf
# AUTOSTART
source=~/.config/hypr/02_autostart.conf
# LOOK AND FEEL
source=~/.config/hypr/03_look-and-feel.conf
# DECORATION
source=~/.config/hypr/04_decoration.conf
# ANIMATIONS
source=~/.config/hypr/05_animation.conf
# LAYOUTS
source=~/.config/hypr/06_layouts.conf
# INPUT
source=~/.config/hypr/07_input.conf
# KEYBINDINGS
source=~/.config/hypr/08_keybindings.conf
# WINDOWS AND WORKSPACES
source=~/.config/hypr/09_windows-and-workspaces.conf
'';
}