nix-config/modules/wm/niri/default.nix
2025-12-03 22:49:49 +01:00

60 lines
1.5 KiB
Nix

{ config, ... }:
{
# Source niri config
xdg.configFile."niri" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/wm/niri/config";
};
# Additional setup
services.polkit-gnome.enable = true;
# WM Utilities (split out if they need additional config)
programs.hyprlock.enable = true;
# Additional Desktop Entries
xdg.desktopEntries = {
screenshot = {
type = "Application";
name = "Screenshot";
exec = "niri msg action screenshot";
icon = "screenie";
};
screenshot-screen = {
type = "Application";
name = "Screenshot Screen";
exec = "niri msg action screenshot-screen";
icon = "screenie";
};
color-pickers = {
type = "Application";
name = "Color Picker";
exec = "hyprpicker -a -f=hex -n -l -q";
icon = "colorpicker";
};
notes = {
type = "Application";
name = "Notes";
exec = "ghostty --working-directory=${config.home.homeDirectory}/notes -e nvim -c \":lua Snacks.picker('files')\"";
icon = "gnotes";
};
lock = {
type = "Application";
name = "Lock";
exec = "hyprlock";
icon = "lock-screen";
};
logout = {
type = "Application";
name = "Logout";
exec = "niri msg action quit";
icon = "administration";
};
shutdown = {
type = "Application";
name = "Shutdown";
exec = "shutdown now";
icon = "com.github.bcedu.shutdownscheduler";
};
};
}