forked from aylac.top/nixcfg
this repo has no description
1{ 2 pkgs, 3 config, 4 lib, 5 ... 6}: { 7 imports = [./gnome]; 8 9 options.myNixOS.desktop.enable = lib.mkOption { 10 default = 11 config.myNixOS.desktop.gnome.enable or config.myNixOS.desktop.hyprland.enable 12 or config.myNixOS.desktop.kde.enable; 13 description = "Desktop environment configuration."; 14 type = lib.types.bool; 15 }; 16 17 config = lib.mkIf config.myNixOS.desktop.enable { 18 boot = { 19 consoleLogLevel = 0; 20 initrd.verbose = false; 21 plymouth.enable = true; 22 }; 23 24 environment = { 25 sessionVariables.NIXOS_OZONE_WL = "1"; 26 27 # stem darkening for prettier fonts 28 variables = { 29 FREETYPE_PROPERTIES = "autofitter:no-stem-darkening=0 autofitter:darkening-parameters=500,0,1000,500,2500,500,4000,0 cff:no-stem-darkening=0 type1:no-stem-darkening=0 t1cid:no-stem-darkening=0"; 30 QT_NO_SYNTHESIZED_BOLD = 1; 31 }; 32 }; 33 34 # other font settings 35 fonts = { 36 fontconfig = { 37 enable = true; 38 includeUserConf = false; 39 useEmbeddedBitmaps = true; 40 subpixel = { 41 lcdfilter = "none"; 42 rgba = "none"; 43 }; 44 antialias = true; 45 hinting = { 46 enable = true; 47 style = "slight"; 48 autohint = false; 49 }; 50 }; 51 52 packages = with pkgs; [ 53 noto-fonts 54 noto-fonts-cjk-sans 55 noto-fonts-emoji 56 noto-fonts-color-emoji 57 nerd-fonts.jetbrains-mono 58 ]; 59 }; 60 61 home-manager.sharedModules = [ 62 { 63 config.myHome.desktop.enable = true; 64 } 65 ]; 66 67 programs.system-config-printer.enable = true; 68 69 services = { 70 avahi = { 71 enable = true; 72 nssmdns4 = true; 73 openFirewall = true; 74 75 publish = { 76 enable = true; 77 addresses = true; 78 userServices = true; 79 workstation = true; 80 }; 81 }; 82 83 gnome.gnome-keyring.enable = true; 84 gvfs.enable = true; # Mount, trash, etc. 85 libinput.enable = true; 86 87 pipewire = { 88 enable = true; 89 90 alsa = { 91 enable = true; 92 support32Bit = true; 93 }; 94 95 pulse.enable = true; 96 }; 97 98 printing.enable = false; 99 100 pulseaudio = { 101 support32Bit = true; 102 }; 103 104 system-config-printer.enable = true; 105 106 xserver = { 107 enable = true; 108 excludePackages = with pkgs; [xterm]; 109 }; 110 }; 111 112 system.nixos.tags = ["desktop"]; 113 }; 114}