2024-03-28 04:27:37 +03:00
|
|
|
{ pkgs, lib, ... }: {
|
2024-03-28 07:51:33 +03:00
|
|
|
imports = [
|
|
|
|
./desktop/App.nix
|
|
|
|
./desktop/Dconf.nix
|
|
|
|
./desktop/Sound.nix
|
|
|
|
];
|
|
|
|
|
2024-03-28 04:27:37 +03:00
|
|
|
xdg.mime.defaultApplications = {
|
|
|
|
# Use `file -i file.txt` to find file mime type.
|
|
|
|
# Use `xdg-mime query default "text/plain"` to find default app.
|
2024-03-28 06:33:58 +03:00
|
|
|
"application/pdf" = "org.gnome.Evince.desktop"; # TODO: Different apps?
|
2024-03-28 04:27:37 +03:00
|
|
|
"application/vnd.openxmlformats-officedocument.*" = "onlyoffice-desktopeditors.desktop";
|
|
|
|
"audio/*" = "mpv.desktop";
|
|
|
|
"image/*" = "org.gnome.Loupe.desktop";
|
|
|
|
"text/*" = "nvim.desktop";
|
|
|
|
"video/*" = "mpv.desktop";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Extra apps.
|
|
|
|
services.gnome.gnome-keyring.enable = lib.mkForce false;
|
|
|
|
environment.systemPackages = with pkgs; [
|
2024-03-28 06:33:58 +03:00
|
|
|
grim # Screenshot.
|
|
|
|
mako # Notification system.
|
2024-03-28 08:03:33 +03:00
|
|
|
pamixer # Audio.
|
|
|
|
pulseaudio # Audio.
|
2024-03-28 06:33:58 +03:00
|
|
|
slurp # Screenshot.
|
|
|
|
wl-clipboard # Clipboard.
|
2024-03-28 04:27:37 +03:00
|
|
|
];
|
|
|
|
|
|
|
|
# Sound.
|
|
|
|
sound.enable = true;
|
|
|
|
hardware.pulseaudio.enable = false;
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Sway.
|
|
|
|
programs.sway = {
|
|
|
|
enable = true;
|
|
|
|
wrapperFeatures = {
|
|
|
|
base = true;
|
|
|
|
gtk = true;
|
|
|
|
};
|
|
|
|
extraOptions = [
|
|
|
|
"--config=${./sway/Config}"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2024-03-28 06:33:58 +03:00
|
|
|
# Brightness control.
|
|
|
|
programs.light.enable = true;
|
|
|
|
|
|
|
|
# Configs.
|
2024-03-28 04:27:37 +03:00
|
|
|
environment.variables = {
|
2024-03-28 05:55:16 +03:00
|
|
|
FOOT_CONFIG = ./foot/Foot.ini;
|
|
|
|
SWAY_CONFIG = ./sway/module;
|
2024-03-28 04:27:37 +03:00
|
|
|
};
|
2024-03-28 06:57:21 +03:00
|
|
|
|
2024-03-28 07:41:56 +03:00
|
|
|
# Extra performance.
|
|
|
|
security.pam.loginLimits = [
|
|
|
|
{ domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
|
|
|
|
];
|
2024-03-28 04:27:37 +03:00
|
|
|
}
|