nixos/home/hyprland/default.nix

140 lines
4.2 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";
};
};
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
extraConfig = import ./config.nix { inherit config pkgs; };
};
programs = {
zathura.enable = true;
foot = {
enable = true;
settings = {
main = {
pad = "10x10";
locked-title = false;
notify-focus-inhibit = true;
selection-target = "both";
};
bell = {
urgent = true;
notify = true;
};
mouse = { hide-when-typing = "yes"; };
};
};
rofi = {
enable = true;
package = pkgs.rofi-wayland;
location = "center";
terminal = "foot";
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 ";
};
};
swaylock = {
enable = true;
settings = {
indicator-caps-lock = true;
indicator-radius = 100;
indicator-thickness = 7;
ignore-empty-password = true;
show-failed-attempts = true;
};
};
};
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}
'';
"swaync/style.css".source = ./swaync/style.css;
};
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" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
};
associations.added = defaultApplications;
};
};
}