From 365a13de3e19c66f6bb2ffb806e8086a068ffc25 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Sun, 9 Mar 2025 23:44:45 -0400 Subject: changed hyprland build, added mouse fx, firefox changes --- home-config/home-configuration.scm | 14 ++++++- home-config/hypr/autostart.sh | 36 ---------------- home-config/hypr/hyprland.conf | 41 ++++++++++++++++-- home-config/hypr/perf_mode.sh | 14 ------- home-config/hypr/scripts/autostart.sh | 36 ++++++++++++++++ home-config/hypr/scripts/perf_mode.sh | 14 +++++++ .../nix-home-manager/firefox-nightly/default.nix | 2 +- home-config/nix-home-manager/flake.lock | 48 ++++++++++++++++++++++ home-config/nix-home-manager/flake.nix | 13 +++++- home-config/nix-home-manager/home.nix | 17 ++++++-- 10 files changed, 175 insertions(+), 60 deletions(-) delete mode 100755 home-config/hypr/autostart.sh delete mode 100755 home-config/hypr/perf_mode.sh create mode 100755 home-config/hypr/scripts/autostart.sh create mode 100755 home-config/hypr/scripts/perf_mode.sh (limited to 'home-config') diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm index 8da1a78..27fe820 100644 --- a/home-config/home-configuration.scm +++ b/home-config/home-configuration.scm @@ -109,6 +109,10 @@ "texlive-setspace" "texlive-booktabs" "texlive-mdwtools" + "texlive-caption" + "texlive-diagbox" + "texlive-pict2e" + "texlive-ulem" "zathura" "zathura-pdf-mupdf" "go" @@ -156,7 +160,15 @@ ("nvim/after/ftplugin/markdown/custom.vim" ,(local-file "nvim/config/after/ftplugin/markdown/custom.vim")) ("nvim/after/ftplugin/mail/custom.vim" ,(local-file "nvim/config/after/ftplugin/mail/custom.vim")) ("sway" ,(local-file "sway" #:recursive? #t)) - ("hypr" ,(local-file "hypr" #:recursive? #t)) + ;("hypr" ,(local-file "hypr" #:recursive? #t)) + ("hypr/monitors.conf", (local-file "hypr/monitors.conf")) + ("hypr/family_guy.mp4", (local-file "hypr/family_guy.mp4")) + ("hypr/hyprlock.conf", (local-file "hypr/hyprlock.conf")) + ("hypr/hypridle.conf", (local-file "hypr/hypridle.conf")) + ("hypr/kanshi.conf", (local-file "hypr/kanshi.conf")) + ("hypr/subwaysurfer.webm", (local-file "hypr/subwaysurfer.webm")) + ("hypr/Wallpapers", (local-file "hypr/Wallpapers" #:recursive? #t)) + ("hypr/scripts", (local-file "hypr/scripts" #:recursive? #t)) ("wpaperd" ,(local-file "wpaperd" #:recursive? #t)) ("mpv" ,(local-file "mpv" #:recursive? #t)) ("foot" ,(local-file "foot" #:recursive? #t)) diff --git a/home-config/hypr/autostart.sh b/home-config/hypr/autostart.sh deleted file mode 100755 index b531c5b..0000000 --- a/home-config/hypr/autostart.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -waybar & - -mako & - -#swaybg -i ~/.config/hypr/Wallpapers/above-clouds.jpg & - -nice -n13 swww init & - -#~/.config/hypr/wallpaper-daemon.sh & -wpaperd -d & - -#swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' & - -hypridle & - -syncthing serve --no-browser & - -# Kill any orphans of this -killall wl-clip-persist -wl-clip-persist -c regular --reconnect-tries 5 & - -kanshi -c ~/.config/hypr/kanshi.conf & - -# Start the portals - -sleep 0.5 -killall -e xdg-desktop-portal-hyprland -killall xdg-desktop-portal-gtk -killall xdk-desktop-portal - -~/.nix-profile/libexec/xdg-desktop-portal-hyprland & -~/.nix-profile/libexec/xdg-desktop-portal-gtk & -sleep 2 -XDG_DESKTOP_PORTAL_DIR="/home/ryan/.nix-profile/share/xdg-desktop-portal/portals" ~/.nix-profile/libexec/xdg-desktop-portal & diff --git a/home-config/hypr/hyprland.conf b/home-config/hypr/hyprland.conf index 15e12fa..79917a1 100644 --- a/home-config/hypr/hyprland.conf +++ b/home-config/hypr/hyprland.conf @@ -213,12 +213,12 @@ bind = $mainMod, L, exec, hyprlock bind = $mainMod SHIFT, L, exec, loginctl suspend # Keybind to toggle "performance mode" (toggles GPU intensive things) -bind = $mainMod, F1, exec, ~/.config/hypr/perf_mode.sh +bind = $mainMod, F1, exec, ~/.config/hypr/scripts/perf_mode.sh # Keybind for screenshot bind = $mainMod SHIFT, S, exec, grimblast copy area bind = $mainMod SHIFT, Print, exec, grimblast edit area -bind = $mainMod, S, exec, grimblast save area - | imv - +bind = $mainMod, S, exec, imv <(grimblast save area -) # Notifications keybinds bind = $mainMod, N, exec, makoctl dismiss @@ -270,9 +270,44 @@ windowrulev2 = size 595 336,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ windowrulev2 = move 67% 5% ,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ windowrulev2 = pin,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ -exec-once = ~/.config/hypr/autostart.sh +exec-once = ~/.config/hypr/scripts/autostart.sh misc { disable_hyprland_logo = true force_default_wallpaper = 0 } + +# Cursors! +plugin:dynamic-cursors { + enabled = true + mode = tilt + threshold = 2 + tilt { + limit = 5000 + function = negative_quadratic + } + + shake { + enabled = true + nearest = true + threshold = 6.0 + base = 4.0 + speed = 4.0 + influence = 0.0 + + limit = 0.0 + + timeout = 2000 + + effects = true + + ipc = false + } + + hyprcursor { + nearest = true + enabled = true + resolution = -1 + fallback = clientside + } +} diff --git a/home-config/hypr/perf_mode.sh b/home-config/hypr/perf_mode.sh deleted file mode 100755 index c195688..0000000 --- a/home-config/hypr/perf_mode.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') -if [ "$HYPRGAMEMODE" = 1 ] ; then - hyprctl --batch "\ - keyword animations:enabled 0;\ - keyword decoration:drop_shadow 0;\ - keyword decoration:blur:enabled 0;\ - keyword general:gaps_in 0;\ - keyword general:gaps_out 0;\ - keyword general:border_size 1;\ - keyword decoration:rounding 0" - exit -fi -hyprctl reload diff --git a/home-config/hypr/scripts/autostart.sh b/home-config/hypr/scripts/autostart.sh new file mode 100755 index 0000000..b531c5b --- /dev/null +++ b/home-config/hypr/scripts/autostart.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +waybar & + +mako & + +#swaybg -i ~/.config/hypr/Wallpapers/above-clouds.jpg & + +nice -n13 swww init & + +#~/.config/hypr/wallpaper-daemon.sh & +wpaperd -d & + +#swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' & + +hypridle & + +syncthing serve --no-browser & + +# Kill any orphans of this +killall wl-clip-persist +wl-clip-persist -c regular --reconnect-tries 5 & + +kanshi -c ~/.config/hypr/kanshi.conf & + +# Start the portals + +sleep 0.5 +killall -e xdg-desktop-portal-hyprland +killall xdg-desktop-portal-gtk +killall xdk-desktop-portal + +~/.nix-profile/libexec/xdg-desktop-portal-hyprland & +~/.nix-profile/libexec/xdg-desktop-portal-gtk & +sleep 2 +XDG_DESKTOP_PORTAL_DIR="/home/ryan/.nix-profile/share/xdg-desktop-portal/portals" ~/.nix-profile/libexec/xdg-desktop-portal & diff --git a/home-config/hypr/scripts/perf_mode.sh b/home-config/hypr/scripts/perf_mode.sh new file mode 100755 index 0000000..c195688 --- /dev/null +++ b/home-config/hypr/scripts/perf_mode.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') +if [ "$HYPRGAMEMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + exit +fi +hyprctl reload diff --git a/home-config/nix-home-manager/firefox-nightly/default.nix b/home-config/nix-home-manager/firefox-nightly/default.nix index f6adc4a..cffaa1d 100644 --- a/home-config/nix-home-manager/firefox-nightly/default.nix +++ b/home-config/nix-home-manager/firefox-nightly/default.nix @@ -11,7 +11,7 @@ in { programs.firefox = { enable = true; - package = wrapped-ff-nightly; + #package = wrapped-ff-nightly; profiles.${config.home.username} = { name = "${config.home.username}"; diff --git a/home-config/nix-home-manager/flake.lock b/home-config/nix-home-manager/flake.lock index 9316edc..a0c7e15 100644 --- a/home-config/nix-home-manager/flake.lock +++ b/home-config/nix-home-manager/flake.lock @@ -49,6 +49,27 @@ "type": "github" } }, + "clipboard-sync": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731355357, + "narHash": "sha256-kTXsO+hskCfX36+Ez1fHu9SO54uUY2lofkrbMKE3Vrk=", + "owner": "dnut", + "repo": "clipboard-sync", + "rev": "943e49e0a9a16b54bbab3704e99b6cf6ad4ea19f", + "type": "github" + }, + "original": { + "owner": "dnut", + "repo": "clipboard-sync", + "rev": "943e49e0a9a16b54bbab3704e99b6cf6ad4ea19f", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -156,6 +177,31 @@ "type": "github" } }, + "hypr-dynamic-cursors": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738522286, + "narHash": "sha256-Fg4+6Yko8V9b19/62jfKH0IWTiiRDMso1P1TnjAcs/8=", + "owner": "VirtCode", + "repo": "hypr-dynamic-cursors", + "rev": "fd6214629937949ecd8a39f4b5ebbce2afac0dd5", + "type": "github" + }, + "original": { + "owner": "VirtCode", + "repo": "hypr-dynamic-cursors", + "rev": "fd6214629937949ecd8a39f4b5ebbce2afac0dd5", + "type": "github" + } + }, "hyprcursor": { "inputs": { "hyprlang": [ @@ -725,7 +771,9 @@ }, "root": { "inputs": { + "clipboard-sync": "clipboard-sync", "home-manager": "home-manager", + "hypr-dynamic-cursors": "hypr-dynamic-cursors", "hyprland": "hyprland", "hyprlock": "hyprlock", "hyprpicker-git": "hyprpicker-git", diff --git a/home-config/nix-home-manager/flake.nix b/home-config/nix-home-manager/flake.nix index b680ab9..ba3d01a 100644 --- a/home-config/nix-home-manager/flake.nix +++ b/home-config/nix-home-manager/flake.nix @@ -33,9 +33,18 @@ url = "github:nix-community/flake-firefox-nightly/3391372604cd3def19e6df88a51f1882aabcd59f"; inputs.nixpkgs.follows = "nixpkgs"; }; + clipboard-sync = { + url = "github:dnut/clipboard-sync/943e49e0a9a16b54bbab3704e99b6cf6ad4ea19f"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hypr-dynamic-cursors = { + url = "github:VirtCode/hypr-dynamic-cursors/fd6214629937949ecd8a39f4b5ebbce2afac0dd5"; + inputs.hyprland.follows = "hyprland"; + inputs.nixpkgs.follows = "hyprland/nixpkgs"; + }; }; - outputs = { nixpkgs, home-manager, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, ... }@inputs: + outputs = { nixpkgs, home-manager, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -59,6 +68,8 @@ inherit hyprlock; inherit hyprpicker-git; inherit mozff; + inherit clipboard-sync; + inherit hypr-dynamic-cursors; }; } ]; diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix index 4c72beb..d2e0034 100644 --- a/home-config/nix-home-manager/home.nix +++ b/home-config/nix-home-manager/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, ... }: +{ config, pkgs, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, ... }: { imports = [ @@ -32,7 +32,15 @@ serif = [ "DejaVu Serif" ]; }; - # wayland.windowManager.hyprland.enable = true; + wayland.windowManager.hyprland = { + enable = true; + package = hyprland.packages.${pkgs.system}.hyprland; + portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; + extraConfig = '' + ${builtins.readFile ../hypr/hyprland.conf} + ''; + plugins = [ hypr-dynamic-cursors.packages.${pkgs.system}.hypr-dynamic-cursors ]; + }; programs.starship = { enable = true; @@ -98,11 +106,12 @@ '') # Flakes specific things defined in flake.nix - hyprland.packages.${pkgs.system}.default - hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland + #hyprland.packages.${pkgs.system}.default + #hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland nixgl.packages.${pkgs.system}.nixGLIntel wpaperd.packages.${pkgs.system}.wpaperd hyprpicker-git.packages.${pkgs.system}.hyprpicker + clipboard-sync.packages.${pkgs.system}.default # Fonts! noto-fonts -- cgit v1.2.3