Skip to content

Instantly share code, notes, and snippets.

@zfnmxt

zfnmxt/xorg.conf Secret

Created December 24, 2018 03:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zfnmxt/14622d41e6a83aa1aef79d7ab8427f0f to your computer and use it in GitHub Desktop.
Save zfnmxt/14622d41e6a83aa1aef79d7ab8427f0f to your computer and use it in GitHub Desktop.
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
kernelPackages = pkgs.linuxPackages_latest;
initrd.kernelModules = [ "fbcon" "i915" ];
blacklistedKernelModules = [ "nouveau" ];
initrd.luks.devices = [
{
name = "root";
device = "/dev/nvme0n1p2";
preLVM = true;
}
];
};
networking = {
hostName = "x1e";
networkmanager.enable = true;
};
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Copenhagen";
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# Basic stuff
wget
tmux
which
htop
git
mlocate
networkmanagerapplet
yadm # Manages dotfiles
pciutils
gnupg # gpg
undervolt
killall
gparted
# Audio
pavucontrol
pasystray
# Desktop environment
dmenu
networkmanager_dmenu
rofi
pywal
(polybar.override { pulseSupport = true; })
xorg.xbacklight
xorg.xdpyinfo
xcompmgr
# Terminal
rxvt_unicode-with-plugins
termite
# Editors
vim
emacs
# Browsers
firefox
# Social stuff
weechat
aspell
aspellDicts.en
wire-desktop
signal-desktop
# Media
spotify
# Misc.
screenfetch
xfontsel
alarm-clock-applet
];
fonts.fonts = with pkgs; [
terminus_font
gohufont
roboto-mono
dina-font
unifont
unifont_upper
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
sound.enable = true;
# Enable the X11 windowing system.
services.xserver = {
enable = true;
enableCtrlAltBackspace = true;
autorun = true;
layout = "us";
libinput.enable = true;
videoDrivers = [ "intel" "nvidia" ];
displayManager.sddm.enable = true;
#displayManager.startx.enable = true;
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
};
deviceSection = "BusID \"PCI:0:2:0\"";
};
hardware = {
# Bluetooth
bluetooth.enable = true;
# Audio
pulseaudio = {
enable = true;
support32Bit = true;
package = pkgs.pulseaudioFull;
};
# GPU
#nvidia = {
# modesetting.enable = true;
# optimus_prime.enable = true;
#nvidia.optimus_prime.nvidiaBusId = "PCI:1:0:0";
#nvidia.optimus_prime.intelBusId = "PCI:0:2:0";
##};
bumblebee = {
enable = true;
connectDisplay = true;
#pmMethod = "bbswitch";
};
# CPU
cpu.intel.updateMicrocode = true;
};
# Enable touchpad support.
# services.xserver.libinput.enable = true;
users.users.zfnmxt = {
isNormalUser = true;
extraGroups = ["wheel" "video" "audio" "disk" ];
group = "users";
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "18.09"; # Did you read the comment?
}
Section "Files"
FontPath "/nix/store/h3yg4a7fqazq87xpsqaz2xa9ik77wcp2-font-bh-lucidatypewriter-100dpi-1.0.3/lib/X11/fonts/100dpi"
FontPath "/nix/store/f40mp8iz1ajjh01qpsdsjzwvng20g45a-font-bh-lucidatypewriter-75dpi-1.0.3/lib/X11/fonts/75dpi"
FontPath "/nix/store/cqy2zrdbawpf0k3g0nijl77vdqq5gys1-font-bh-100dpi-1.0.3/lib/X11/fonts/100dpi"
FontPath "/nix/store/r1b2cyv5r8drs44vgm1c50m7wldx5p4j-font-misc-misc-1.1.2/lib/X11/fonts/misc"
FontPath "/nix/store/8qm1ka7j6p1b4ry6yca6j7p9h7pqk9q4-font-cursor-misc-1.0.3/lib/X11/fonts/misc"
FontPath "/nix/store/adznf6h69af320wpmlhx525l6hfizaqw-unifont-11.0.02/share/fonts"
FontPath "/nix/store/28ss7gqr7ras201hqygsvz9f3lpd6fsw-terminus-font-4.46/share/fonts/terminus"
FontPath "/nix/store/6m22g6h86vb8nzzj4hdmvcsn3pch1lk6-gohufont-2.0/share/fonts/misc"
FontPath "/nix/store/adznf6h69af320wpmlhx525l6hfizaqw-unifont-11.0.02/share/fonts"
FontPath "/nix/store/gvh0dyw4pdspzi5l3nc4kw0q5949yrrk-font-adobe-100dpi-1.0.3/lib/X11/fonts/100dpi"
FontPath "/nix/store/hj925jfrrdsr0ng67hm03vgiy9qhr63m-font-adobe-75dpi-1.0.3/lib/X11/fonts/75dpi"
ModulePath "/nix/store/8x5j64n3vgazcd82ai0yl62y7snq0zgq-xf86-video-intel-2018-12-03/lib"
ModulePath "/nix/store/8x5j64n3vgazcd82ai0yl62y7snq0zgq-xf86-video-intel-2018-12-03/lib/xorg/modules/drivers"
ModulePath "/nix/store/cvi72wqkchxvdmnfymp952kqvv49wrgl-nvidia-x11-410.78-4.19.9-bin/lib/xorg/modules"
ModulePath "/nix/store/cvi72wqkchxvdmnfymp952kqvv49wrgl-nvidia-x11-410.78-4.19.9-bin/lib/xorg/modules/extensions"
ModulePath "/nix/store/cvi72wqkchxvdmnfymp952kqvv49wrgl-nvidia-x11-410.78-4.19.9-bin/lib/xorg/modules/drivers"
ModulePath "/nix/store/c4z8wryaclp24j4rnfd6jayrvvh40706-xorg-server-1.19.6/lib/xorg/modules"
ModulePath "/nix/store/c4z8wryaclp24j4rnfd6jayrvvh40706-xorg-server-1.19.6/lib/xorg/modules/extensions"
ModulePath "/nix/store/c4z8wryaclp24j4rnfd6jayrvvh40706-xorg-server-1.19.6/lib/xorg/modules/drivers"
ModulePath "/nix/store/rzfyl7chlmcryqq6gq7vxviqriwac26g-xf86-input-evdev-2.10.5/lib/xorg/modules/input"
ModulePath "/nix/store/gb5q11karrjqy407a8yw8qxqanx9jpq6-xf86-input-libinput-0.28.0/lib/xorg/modules/input"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "on"
Option "DontZap" "off"
EndSection
Section "Module"
EndSection
Section "Monitor"
Identifier "Monitor[0]"
EndSection
# Additional "InputClass" sections
Section "ServerLayout"
Identifier "Layout[all]"
# Reference the Screen sections for each driver. This will
# cause the X server to try each in turn.
Screen "Screen-intel[0]"
Screen "Screen-nvidia[0]"
EndSection
# For each supported driver, add a "Device" and "Screen"
# section.
Section "Device"
Identifier "Device-intel[0]"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen-intel[0]"
Device "Device-intel[0]"
EndSection
Section "Device"
Identifier "Device-nvidia[0]"
Driver "nvidia"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen-nvidia[0]"
Device "Device-nvidia[0]"
Option "RandRRotation" "on"
EndSection
# Automatically enable the libinput driver for all touchpads.
Section "InputClass"
Identifier "libinputConfiguration"
MatchIsTouchpad "on"
Driver "libinput"
Option "AccelProfile" "adaptive"
Option "LeftHanded" "off"
Option "MiddleEmulation" "on"
Option "NaturalScrolling" "off"
Option "ScrollMethod" "twofinger"
Option "HorizontalScrolling" "on"
Option "SendEventsMode" "enabled"
Option "Tapping" "on"
Option "TappingDragLock" "on"
Option "DisableWhileTyping" "off"
EndSection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment