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 = true; 39 subpixel = { 40 lcdfilter = "none"; 41 rgba = "none"; 42 }; 43 antialias = true; 44 hinting = { 45 enable = true; 46 style = "slight"; 47 autohint = false; 48 }; 49 50 # have i told you how much i despise fontconfig. literally zero reason to pick bitmap fonts over noto fonts but it always does. 51 localConf = '' 52 <?xml version="1.0"?> 53 <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> 54 <fontconfig> 55 <description>Reject bitmap fonts except bitmap emoji fonts</description> 56 <!-- Reject bitmap fonts --> 57 <selectfont> 58 <rejectfont> 59 <pattern> 60 <patelt name="outline"><bool>false</bool></patelt> 61 <patelt name="scalable"><bool>false</bool></patelt> 62 </pattern> 63 </rejectfont> 64 </selectfont> 65 </fontconfig> 66 ''; 67 }; 68 69 packages = with pkgs; [ 70 noto-fonts 71 noto-fonts-cjk-sans 72 noto-fonts-emoji 73 noto-fonts-color-emoji 74 nerd-fonts.jetbrains-mono 75 ]; 76 }; 77 78 home-manager.sharedModules = [ 79 { 80 config.myHome.desktop.enable = true; 81 } 82 ]; 83 84 programs.system-config-printer.enable = true; 85 86 services = { 87 avahi = { 88 enable = true; 89 nssmdns4 = true; 90 openFirewall = true; 91 92 publish = { 93 enable = true; 94 addresses = true; 95 userServices = true; 96 workstation = true; 97 }; 98 }; 99 100 gnome.gnome-keyring.enable = true; 101 gvfs.enable = true; # Mount, trash, etc. 102 libinput.enable = true; 103 104 pipewire = { 105 enable = true; 106 107 alsa = { 108 enable = true; 109 support32Bit = true; 110 }; 111 112 pulse.enable = true; 113 }; 114 115 printing.enable = false; 116 117 pulseaudio = { 118 support32Bit = true; 119 }; 120 121 system-config-printer.enable = true; 122 123 xserver = { 124 enable = true; 125 excludePackages = with pkgs; [xterm]; 126 }; 127 }; 128 129 system.nixos.tags = ["desktop"]; 130 }; 131}