nixos-conf/modules/roles/desktop.nix

65 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
let
2025-07-06 03:22:09 +03:00
cfg = config.custom.roles.desktop;
in
{
2025-07-06 03:22:09 +03:00
options.custom.roles.desktop.enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
config = lib.mkIf cfg.enable {
custom = {
2025-07-06 03:22:09 +03:00
programs.symlinks.enable = true;
users.vili.enable = true;
};
environment.systemPackages = with pkgs; [
alacritty
vlc
flameshot
speedcrunch
];
services = {
displayManager = {
autoLogin.enable = true;
autoLogin.user = "vili";
};
xserver = {
enable = true;
displayManager = {
lightdm.enable = true;
sessionCommands = ''${pkgs.xorg.xrdb}/bin/xrdb -merge < ${
2025-07-06 03:22:09 +03:00
(import ../programs/embedded/xresources.conf { inherit pkgs; })
}'';
};
};
pipewire.enable = false;
pulseaudio.enable = true;
};
nixpkgs.config.pulseaudio = true;
security.polkit.enable = true;
xdg.mime.defaultApplications = {
"application/pdf" = "org.gnome.Evince.desktop";
"text/plain" = "org.xfce.mousepad.desktop";
"text/x-tex" = "org.kde.kile.desktop";
"inode/directory" = "pcmanfm.description";
};
qt = {
enable = true;
style = "adwaita-dark";
platformTheme = "gnome";
};
};
}