{ config, pkgs, ... }: { imports = [ ./common-gui.nix ]; environment.systemPackages = with pkgs; [ i3 i3status rofi rofi-pass feh gnome3.gnome-keyring networkmanagerapplet gnome3.nautilus # in closure of gnome-terminal anyhow pcmanfm # colord evince arandr xss-lock i3lock i3lock-color xdotool scrot pavucontrol pasystray gnome3.dconf-editor unclutter-xfixes dunst xorg.xev # gnome3 core packages desktop_file_utils shared_mime_info glib gtk3 glib_networking gvfs dconf gnome3.gnome-settings-daemon gnome_themes_standard gnome3.adwaita-icon-theme hicolor_icon_theme ]; services.xserver = { enable = true; displayManager = { # slim.enable = true; # slim.defaultUser = "gebner"; # # slim.autoLogin = true; lightdm.enable = true; # startx.enable = true; # sddm.enable = true; defaultSession = "i3wm"; }; desktopManager = { xterm.enable = false; session = [ { name = "i3wm"; start = '' export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS export $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) export XDG_CURRENT_DESKTOP=X-Generic i3 & waitPID=$! ''; } ]; }; updateDbusEnvironment = true; layout = "us"; xkbVariant = "altgr-intl"; xkbOptions = "caps:ctrl_modifier"; }; # services.dbus.socketActivated = true; services.dbus.packages = with pkgs; [ dunst ]; systemd.packages = [ pkgs.dunst ]; # https://github.com/NixOS/nixpkgs/issues/157112 nixpkgs.config.packageOverrides = prev: let patchedPkgs = import (builtins.fetchTarball { url = "https://github.com/nixos/nixpkgs/archive/ffdadd3ef9167657657d60daf3fe0f1b3176402d.tar.gz"; sha256 = "1nrz4vzjsf3n8wlnxskgcgcvpwaymrlff690f5njm4nl0rv22hkh"; }) { inherit (prev) system config; # inherit (prev) overlays; # not sure }; patchedPam = patchedPkgs.pam; in { i3lock = prev.i3lock.override { pam = patchedPam; }; i3lock-color = prev.i3lock-color.override { pam = patchedPam; }; }; }