{ config, lib, pkgs, ... }: let cfg = config.orbekk.desktop; in { options = { orbekk.desktop = { enable = lib.mkEnableOption "Enable standard desktop config"; }; }; config = lib.mkIf cfg.enable { orbekk.yubikey.enable = lib.mkDefault true; orbekk.simple-firewall.enable = true; programs.kdeconnect.enable = true; xdg.portal.enable = true; location.latitude = 40.0; location.longitude = -74.0; sound.enable = true; nix.gc.automatic = true; nix.gc.options = "--delete-older-than 30d"; nixpkgs.overlays = [ (final: prev: { xmonad = prev.xmonad.overrideAttrs (o: o // { buildInputs = o.buildInputs + [ pkgs.xlibs.libXft ]; }); }) ]; hardware = { opengl = { enable = true; driSupport32Bit = true; driSupport = true; extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; }; bluetooth.enable = true; }; security.rtkit.enable = true; hardware.pulseaudio.enable = false; services.printing.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; fonts = { enableDefaultFonts = true; fonts = with pkgs; [ fira-code dejavu_fonts # Do these no longer exist? # steamPackages.steam-fonts wqy_microhei ]; fontconfig = { defaultFonts = { sansSerif = [ "Noto Sans" "WenQuanYi Micro Hei" ]; serif = [ "Noto Serif" "WenQuanYi Micro Hei-14" ]; emoji = [ "Noto Color Emoji" ]; monospace = [ "DejaVu Sans Mono" "WenQuanYi Micro Hei Mono" ]; }; }; }; environment.systemPackages = with pkgs; [ (conky.override { pulseSupport = true; }) anki autorandr chromium discord dmenu dzen2 ffmpeg firefox-bin haskellPackages.xmobar hledger hledger-ui hledger-web imagemagick iw ledger networkmanagerapplet nix-index nixfmt shfmt pavucontrol rofi rxvt_unicode-with-plugins unstable.signal-desktop sshfs-fuse trayer vlc wirelesstools xbindkeys xvkbd xdotool xorg.xwininfo xorg.xbacklight xorg.xev xclip xorg.libXft xscreensaver xsel # used by urxvt clipboard xss-lock dunst ]; # i18n.inputMethod = { # enabled = "fcitx"; # fcitx.engines = with pkgs.fcitx-engines; [ cloudpinyin ]; # }; # boot.plymouth.enable = true; # boot.kernelParams = ["quiet" "splash" "vt.global_cursor_default=0" "fbcon=nodefer"]; # Larger console font setup. console.font = "ter-i32b"; console.packages = [ pkgs.terminus_font ]; services = { udev.extraRules = '' # Anne Pro 2 SUBSYSTEM=="usb", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="8008", MODE="0666", GROUP="plugdev" KERNEL=="hidraw*", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="8008", MODE="0666", GROUP="plugdev" # Planck SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666", GROUP="plugdev" KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666", GROUP="plugdev" ''; avahi.enable = true; avahi.nssmdns = true; xserver = { enable = true; layout = "us"; # xkbVariant = "dvorak"; xkbOptions = "caps:ctrl_modifier"; desktopManager.plasma5 = { enable = true; }; windowManager.xmonad = { enable = true; enableContribAndExtras = true; extraPackages = hpkgs: [ hpkgs.xmobar hpkgs.split ]; }; displayManager.lightdm.enable = true; }; # redshift = { # enable = true; # extraOptions = [ "-r" ]; # }; }; }; }