-
-
Save zfnmxt/2401458d1ac5af9c8c6f6b9a8114d027 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; | |
autorun = true; | |
layout = "us"; | |
libinput.enable = true; | |
videoDrivers = [ "intel" "nvidia" ]; | |
displayManager.sddm.enable = true; | |
windowManager.xmonad = { | |
enable = true; | |
enableContribAndExtras = true; | |
}; | |
}; | |
hardware = { | |
# Bluetooth | |
bluetooth.enable = true; | |
# Audio | |
pulseaudio = { | |
enable = true; | |
support32Bit = true; | |
package = pkgs.pulseaudioFull; | |
}; | |
# GPU | |
#nvidia = { | |
# modesetting.enable = true; | |
# optimus_prime.enable = true; | |
# optimus_prime.nvidiaBusId = "PCI:1:0:0"; | |
# 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? | |
} | |
[zfnmxt@x1e:~]$ nix-shell -p pciutils --run "lspci"
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device a368 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
00:1e.0 Communication controller: Intel Corporation Device a328 (rev 10)
00:1f.0 ISA bridge: Intel Corporation Device a30e (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
06:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
3a:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
71:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
[zfnmxt@x1e:~]$ nix-shell -p nix-info --run "nix-info -m"
these paths will be fetched (0.05 MiB download, 0.28 MiB unpacked):
/nix/store/g1nyxagqjx4j30briplk9ad94lh5ddcf-bash-interactive-4.4-p23-dev
copying path '/nix/store/g1nyxagqjx4j30briplk9ad94lh5ddcf-bash-interactive-4.4-p23-dev' from 'https://cache.nixos.org'...
"x86_64-linux"
Linux 4.19.9, NixOS, 19.03pre162671.44b02b52ea6 (Koi)
yes
yes
nix-env (Nix) 2.1.3
"nixos-19.03pre162671.44b02b52ea6, nixpkgs-19.03pre161900.61c3169a0e1"
""
/nix/var/nix/profiles/per-user/root/channels/nixos