52 lines
1.4 KiB
Nix
52 lines
1.4 KiB
Nix
|
{ theme, ... }: {
|
||
|
home.file = {
|
||
|
".config/hypr/hyprland.conf" = {
|
||
|
enable = true;
|
||
|
text = ''
|
||
|
|
||
|
# Monitor specific:
|
||
|
monitor=,2560x1440,auto,1
|
||
|
$mainMod = SUPER
|
||
|
|
||
|
# Start the config:
|
||
|
exec-once=bash ~/.config/hypr/start.sh
|
||
|
'';
|
||
|
};
|
||
|
# Set the custom launcher script
|
||
|
".config/hypr/start.sh" = {
|
||
|
enable = true;
|
||
|
executable = true;
|
||
|
text = ''
|
||
|
#!/usr/bin/env bash
|
||
|
# https://wiki.hyprland.org/FAQ/#some-of-my-apps-take-a-really-long-time-to-open
|
||
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &
|
||
|
|
||
|
# Set the wallpaper
|
||
|
swww init
|
||
|
|
||
|
# Waybar
|
||
|
waybar &
|
||
|
|
||
|
# Set up the idle management daemon
|
||
|
swayidle -w \
|
||
|
timeout 120 'swaylock -f && playerctl pause' \
|
||
|
timeout 180 'hyprctl dispatch dpms off' \
|
||
|
timeout 300 'systemctl suspend-then-hibernate' \
|
||
|
resume 'hyprctl dispatch dpms on' \
|
||
|
before-sleep 'swaylock -f' \
|
||
|
before-sleep 'playerctl pause' &
|
||
|
|
||
|
# Automatic device mounting
|
||
|
udiskie &
|
||
|
|
||
|
DIR=/etc/nixos/git/wallpapers/${theme}
|
||
|
IMG=`ls $DIR | shuf -n 1`
|
||
|
swww img $DIR/$IMG -t random &
|
||
|
|
||
|
# Notification listener
|
||
|
mako
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
}
|