nixos/home/hyprland/default.nix

145 lines
4.4 KiB
Nix

{ config, lib, pkgs, ... }: {
imports = [ ./waybar/default.nix ];
services = {
avizo.enable = true;
syncthing.enable = true;
udiskie = {
enable = true;
notify = true;
automount = true;
tray = "never";
};
mako = {
enable = true;
actions = true;
anchor = "top-right";
defaultTimeout = 5000;
icons = true;
iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}";
layer = "overlay";
margin = "20";
padding = "10";
sort = "-time";
borderRadius = 10;
};
};
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
extraConfig = import ./config.nix { inherit config pkgs; };
};
programs = {
zathura.enable = true;
rofi = {
enable = true;
package = pkgs.rofi-wayland;
location = "center";
terminal = "${pkgs.alacritty}/bin/alacritty";
pass = {
enable = true;
package = pkgs.rofi-pass-wayland;
extraConfig = ''
USERNAME_field='login'
'';
};
plugins = with pkgs; [ rofi-calc ];
extraConfig = let
power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
in {
modi = "window,run,drun,ssh,calc,${power-menu},combi";
combi-modi = "window,drun,ssh,calc";
sidebar-mode = true;
sort = true;
sorting-method = "fzf";
matching = "fuzzy";
icon-theme = config.gtk.iconTheme.name;
show-icons = true;
application-fallback-icon = "󰋙";
drun-display-format = "{icon} {name} ({categories})";
disable-history = false;
hide-scrollbar = true;
display-window = " 󰧨 Move ";
display-run = " 󰅴 Run ";
display-drun = " 󱓞 Launch ";
display-ssh = " 󰢹 SSH ";
display-calc = " 󰪚 Calculator ";
display-combi = " 󰛡 Combi ";
};
};
};
gtk = {
enable = true;
cursorTheme = {
package = pkgs.catppuccin-cursors.mochaDark;
name = "Catppuccin-Mocha-Dark-Cursors";
size = 24;
};
iconTheme = {
package = pkgs.papirus-icon-theme;
name = "Papirus-Dark";
};
theme = {
package = pkgs.catppuccin-gtk.override {
accents = [ "lavender" ];
size = "standard";
variant = "mocha";
};
name = "Catppuccin-Mocha-Standard-Lavender-Dark";
};
};
xdg = {
configFile = {
"hypr/extra.conf" = lib.mkDefault { text = ""; };
"hypr/hyprpaper.conf".text = ''
preload = ${config.stylix.image}
wallpaper = ,${config.stylix.image}
'';
"gtklock/config.ini".text = let
powerbar =
"${pkgs.gtklock-powerbar-module}/lib/gtklock/powerbar-module.so";
playerctl =
"${pkgs.gtklock-playerctl-module}/lib/gtklock/playerctl-module.so";
in ''
[main]
start-hidden=true
modules=${powerbar};${playerctl}
[powerbar]
reboot-command=systemctl reboot
poweroff-command=systemctl -i poweroff
suspend-command=systemctl suspend
logout-command=hyprctl dispatch exit
[playerctl]
art-size=64
position=below-clock
'';
};
mimeApps = rec {
enable = true;
defaultApplications = {
"image/jpeg" = [ "swayimg.desktop" ];
"image/png" = [ "swayimg.desktop" ];
"video/mp4" = [ "mpv.desktop" ];
"text/csv" = [ "calc.desktop" ];
"text/html" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
"x-scheme-handler/about" = [ "firefox.desktop" ];
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
"application/x-extension-htm" = [ "firefox.desktop" ];
"application/x-extension-html" = [ "firefox.desktop" ];
"application/x-extension-shtml" = [ "firefox.desktop" ];
"application/xhtml+xml" = [ "firefox.desktop" ];
"application/x-extension-xhtml" = [ "firefox.desktop" ];
"application/x-extension-xht" = [ "firefox.desktop" ];
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"application/epub+zip" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"application/oxps" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
};
associations.added = defaultApplications;
};
};
}