nixcfg/desktop/default.nix

57 lines
1.3 KiB
Nix
Raw Normal View History

2024-02-29 17:06:55 -05:00
{ config, pkgs, ... }:
{
## Enable the X11 windowing system.
2024-02-29 17:06:55 -05:00
services.xserver.enable = true;
services.xserver.excludePackages = with pkgs; [
xterm
];
# Configure keymap in X11
services.xserver = {
2024-03-02 13:09:35 -05:00
xkb.layout = "us";
xkb.variant = "";
2024-02-29 17:06:55 -05:00
};
## Needed for Flatpaks
xdg.portal.enable = true;
services.flatpak.enable = true;
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
];
2024-03-05 18:47:01 -05:00
environment.systemPackages = with pkgs; [
firefox
google-chrome
];
# services.flatpak.overrides = {
# sockets = [
# "gpg-agent" # Expose GPG agent
# "pcsc" # Expose smart cards (i.e. YubiKey)
# ];
# "org.onlyoffice.desktopeditors".Context.sockets = ["x11"]; # No Wayland support
# };
fonts.fontDir.enable = true;
system.fsPackages = [ pkgs.bindfs ];
fileSystems = let
mkRoSymBind = path: {
device = path;
fsType = "fuse.bindfs";
options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ];
};
aggregatedFonts = pkgs.buildEnv {
name = "system-fonts";
paths = config.fonts.packages;
pathsToLink = [ "/share/fonts" ];
};
in {
# Create an FHS mount to support flatpak host icons/fonts
"/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons");
"/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts");
};
2024-02-29 17:06:55 -05:00
}