nixos/system/desktop.nix

110 lines
2.4 KiB
Nix

{
lib,
pkgs,
...
}: {
imports = [./default.nix];
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
system.autoUpgrade.operation = "boot";
hardware.bluetooth.enable = true;
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
};
systemPackages = with pkgs; [
xdg-utils
wtype
wl-clipboard
libsecret
libnotify
libcamera
glib
gsettings-desktop-schemas
hunspell
hunspellDicts.en_GB-large
pamixer
pavucontrol
playerctl
brightnessctl
];
};
security = {
polkit.enable = true;
pam.services.swaylock = {};
};
programs = {
dconf.enable = true;
light.enable = true;
noisetorch.enable = true;
kdeconnect.enable = true;
file-roller.enable = true;
thunar = {
enable = true;
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
};
sway = {
enable = true;
package =
pkgs.swayfx.overrideAttrs
(old: {passthru.providedSessions = ["sway"];});
wrapperFeatures.gtk = true;
};
gamescope = {
enable = true;
capSysNice = true;
};
xwayland.enable = true;
};
gtk.iconCache.enable = true;
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita";
};
services = {
dbus.packages = with pkgs; [gcr];
gnome.gnome-keyring.enable = true;
flatpak.enable = true;
blueman.enable = true;
printing.enable = true;
accounts-daemon.enable = true;
tumbler.enable = true;
udisks2.enable = true;
gvfs = {
enable = true;
package = lib.mkForce pkgs.gnome3.gvfs;
};
pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
greetd = {
enable = true;
settings = let
command = "sway";
in {
initial_session = {inherit command;};
default_session = {inherit command;};
};
};
xserver = {
enable = false;
xkb = {
layout = "gb";
variant = "";
options = "ctrl:nocaps";
};
};
};
xdg.portal = {
enable = true;
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
extraPortals = [pkgs.xdg-desktop-portal-gtk];
};
}