From 8f05b3339196a245d612cff0522a5c5e8221a540 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Mon, 27 Oct 2025 12:51:33 -0700 Subject: [PATCH] Move spotify and create glava desktop entries within home manager, switch to bemenu from wofi, add official spotify client --- modules/application-groups/media.nix | 17 +----------- modules/system/hyprland.nix | 3 ++- users/caperren/caperren.nix | 8 ++++++ .../dotfiles/.local/share/glava.desktop | 7 +++++ .../.local/share/spotify-player.desktop | 7 +++++ .../dotfiles/hyprland/hyprland-common.conf | 27 +++++++++---------- 6 files changed, 38 insertions(+), 31 deletions(-) create mode 100644 users/caperren/dotfiles/.local/share/glava.desktop create mode 100644 users/caperren/dotfiles/.local/share/spotify-player.desktop diff --git a/modules/application-groups/media.nix b/modules/application-groups/media.nix index b338da9..35a13d4 100644 --- a/modules/application-groups/media.nix +++ b/modules/application-groups/media.nix @@ -1,19 +1,4 @@ { config, pkgs, ... }: -let - spotifyPlayerDesktopEntry = pkgs.writeTextFile { - name = "spotify-player-desktop"; - destination = "/share/applications/spotify-player.desktop"; - text = '' - [Desktop Entry] - Type=Application - Name=Spotify Player - Exec=kitty -e spotify_player - Icon=spotify_player - Terminal=false - Categories=Media; - ''; - }; -in { boot = { # Make v4l2loopback kernel module available to NixOS. @@ -45,8 +30,8 @@ in plex-desktop projectm_3 sox + spotify spotify-player - spotifyPlayerDesktopEntry vlc ]; diff --git a/modules/system/hyprland.nix b/modules/system/hyprland.nix index 18e1544..a781890 100644 --- a/modules/system/hyprland.nix +++ b/modules/system/hyprland.nix @@ -33,6 +33,7 @@ grim hyprpaper hyprpicker + j4-dmenu-desktop kanshi libnotify mako @@ -42,7 +43,7 @@ swayimg wl-clipboard wlogout - wofi + bemenu ]; } diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index 3d6bc5d..aff994b 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -40,10 +40,13 @@ in }; + programs.bemenu.enable = true; + programs.kitty = { font.name = "JetBrains Mono"; }; + # Application config files home.file.".config/hypr/hypridle.conf".source = ./dotfiles/hypridle/hypridle.conf; home.file.".config/hypr/hyprpaper.conf".source = ./dotfiles/hyprpaper/hyprpaper.conf; home.file.".config/hypr/backgrounds/black.png".source = ./dotfiles/hyprpaper/black.png; @@ -55,6 +58,11 @@ in home.file.".config/waybar/style.css".source = ./dotfiles/waybar/style.css; home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout; + # Desktop entry files so bemenu can find them + home.file.".local/share/glava.desktop".source = ./dotfiles/.local/share/glava.desktop; + home.file.".local/share/spotify-player.desktop".source = + ./dotfiles/.local/share/spotify-player.desktop; + gtk = { enable = true; diff --git a/users/caperren/dotfiles/.local/share/glava.desktop b/users/caperren/dotfiles/.local/share/glava.desktop new file mode 100644 index 0000000..0185048 --- /dev/null +++ b/users/caperren/dotfiles/.local/share/glava.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Glava +Exec=glava +Icon=glava +Terminal=false +Categories=Media; \ No newline at end of file diff --git a/users/caperren/dotfiles/.local/share/spotify-player.desktop b/users/caperren/dotfiles/.local/share/spotify-player.desktop new file mode 100644 index 0000000..183210c --- /dev/null +++ b/users/caperren/dotfiles/.local/share/spotify-player.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Spotify Player +Exec=kitty -e spotify_player +Icon=spotify_player +Terminal=false +Categories=Media; \ No newline at end of file diff --git a/users/caperren/dotfiles/hyprland/hyprland-common.conf b/users/caperren/dotfiles/hyprland/hyprland-common.conf index 468d1af..cd0e0d5 100644 --- a/users/caperren/dotfiles/hyprland/hyprland-common.conf +++ b/users/caperren/dotfiles/hyprland/hyprland-common.conf @@ -1,12 +1,12 @@ -# Always enable new monitors in automatic mode +# Always enable new monitors in automatic mode, for when kanshi doesn't know about the setup monitor=,preferred,auto,1 # Set programs that you use $terminal = kitty $fileManager = thunar -$menu = wofi --show drun +$menu = bemenu-run -# Some default env vars. +# Some default env vars env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that @@ -158,17 +158,16 @@ bind = ,XF86MonBrightnessDown, exec, brightnessctl s 1%- bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1% # Application launch -exec-once = kanshi -exec-once = ydotoold -exec-once = hypridle -exec-once = hyprpaper +exec-once = kanshi # Automatically handles display configurations +exec-once = ydotoold # Autoclicker/autokeyboard for automation +exec-once = hypridle # Hyprland/wayland specific idle lock tool +exec-once = hyprpaper # Hyprland/wayland specific wallpaper tool -exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10% +exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10% # Keep eardrums intact on reboot -# Loop needed until waybar gtk icon crash fixed -exec-once = bash -c "while true; do waybar; sleep 3; done" +exec-once = waybar # Wayland specific status bar -exec-once = sleep 5 && nm-applet -exec-once = sleep 5 && blueman-applet -exec-once = sleep 5 && streamdeck -n -exec-once = sleep 5 && Telegram -startintray \ No newline at end of file +exec-once = sleep 5 && nm-applet # Traditional notifications area +exec-once = sleep 5 && blueman-applet # Traditional bluetooth management tool +exec-once = sleep 5 && streamdeck -n # Streamdeck management tool +exec-once = sleep 5 && Telegram -startintray # Gotta keep in touch with peeps \ No newline at end of file