Files
NixConfig/nixos/conf/GM/DE/dms.nix
T
2026-02-08 21:07:05 -03:00

82 lines
2.2 KiB
Nix

{ config, lib, inputs, pkgs, ... }: {
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
};
programs.dms-shell = {
enable = true;
package = inputs.dms.packages.${pkgs.stdenv.hostPlatform.system}.default;
quickshell.package = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.quickshell;
systemd = {
enable = true; # Systemd service for auto-start
restartIfChanged = true; # Auto-restart dms.service when dms-shell changes
};
plugins = {
#dankBitwarden.enable = true;
dankKDEConnect.enable = true;
linuxWallpaperEngine.enable = true;
};
# Core features
enableSystemMonitoring = true; # System monitoring widgets (dgop)
enableVPN = true; # VPN management widget
enableDynamicTheming = true; # Wallpaper-based theming (matugen)
enableAudioWavelength = true; # Audio visualizer (cava)
enableCalendarEvents = true; # Calendar integration (khal)
};
imports = [
./thunar.nix
inputs.dms.nixosModules.dank-material-shell
inputs.dms-plugin-registry.modules.default
inputs.dms.nixosModules.greeter
];
xdg.portal = {
enable = true;
extraPortals = [pkgs.kdePackages.xdg-desktop-portal-kde];
config.common.default = "*";
};
security.polkit.enable = true;
systemd.user.services.niri-flake-polkit.enable = false;
programs.xwayland.enable = true;
programs.kdeconnect.enable = true;
#services.displayManager.dms-greeter = {
# enable = true;
# compositor.name = "hyprland";
# package = inputs.dms.packages.${pkgs.stdenv.hostPlatform.system}.default;
# quickshell.package = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.quickshell;
#};
services = {
greetd =
let
session = {
#command = "${pkgs.hyprland}/bin/Hyprland";
command = "${pkgs.niri}/bin/niri-session";
user = "gui";
};
in
{
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
};
};
};
environment.systemPackages = with pkgs; [
dgop
];
}