66 lines
3.3 KiB
Nix
66 lines
3.3 KiB
Nix
# Configuration for my xmonad desktop requirements
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.xserver.enable = true; # Enable the X11 windowing system.
|
|
services.xserver.layout = "us"; # Set your preferred keyboard layout.
|
|
services.xserver.desktopManager.default = "none"; # Unset the default desktop manager.
|
|
services.xserver.windowManager = { # Open configuration for the window manager.
|
|
xmonad.enable = true; # Enable xmonad.
|
|
xmonad.enableContribAndExtras = true; # Enable xmonad contrib and extras.
|
|
xmonad.extraPackages = hpkgs: [ # Open configuration for additional Haskell packages.
|
|
hpkgs.xmonad-contrib # Install xmonad-contrib.
|
|
hpkgs.xmonad-extras # Install xmonad-extras.
|
|
hpkgs.xmonad # Install xmonad itself.
|
|
];
|
|
default = "xmonad"; # Set xmonad as the default window manager.
|
|
};
|
|
|
|
services.xserver.desktopManager.xterm.enable = false; # Disable NixOS default desktop manager.
|
|
|
|
services.xserver.libinput.enable = true; # Enable touchpad support.
|
|
|
|
services.udisks2.enable = true; # Enable udisks2.
|
|
services.devmon.enable = true; # Enable external device automounting.
|
|
|
|
services.xserver.displayManager.gdm.enable = true; # Enable the GNOME display manager
|
|
services.xserver.desktopManager.gnome3.enable = true; # Enable GNOME desktop environment
|
|
|
|
sound = {
|
|
mediaKeys = {
|
|
enable = true;
|
|
volumeStep = "5%";
|
|
};
|
|
};
|
|
|
|
# Install any additional fonts that I require to be used with xmonad
|
|
fonts.fonts = with pkgs; [
|
|
opensans-ttf # Used in in my xmobar configuration
|
|
];
|
|
|
|
# Install other packages that I require to be used with xmonad.
|
|
environment.systemPackages = with pkgs; [
|
|
dmenu # A menu for use with xmonad
|
|
feh # A light-weight image viewer to set backgrounds
|
|
haskellPackages.libmpd # Shows MPD status in xmobar
|
|
haskellPackages.xmobar # A minimalistic text based status bar
|
|
haskellPackages.xmonad # Required for user rebuild with (ie: [alt]+Q)
|
|
haskellPackages.xmonad-extras # Required for user rebuild with (ie: [alt]+Q)
|
|
haskellPackages.xmonad-contrib # Required for user rebuild with (ie: [alt]+Q)
|
|
libnotify # Notification client for my Xmonad setup
|
|
lxqt.lxqt-notificationd # The notify daemon itself
|
|
mpc_cli # CLI for MPD, called from xmonad
|
|
scrot # CLI screen capture utility
|
|
trayer # A system tray for use with xmonad
|
|
xbrightness # X11 brigthness and gamma software control
|
|
xflux # Adjusts your screen to emit warmer light at night
|
|
xcompmgr # X composting manager
|
|
xorg.xrandr # CLI to X11 RandR extension
|
|
xscreensaver # My preferred screensaver
|
|
xsettingsd # A lightweight desktop settings server
|
|
];
|
|
|
|
}
|