Skip to content

Instantly share code, notes, and snippets.

@slaykovsky
Created February 4, 2017 22:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slaykovsky/5ba41dfcf36a6999e12fe64719b0729b to your computer and use it in GitHub Desktop.
Save slaykovsky/5ba41dfcf36a6999e12fe64719b0729b to your computer and use it in GitHub Desktop.
My nixos configuration.
# 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
];
boot.initrd.luks.cryptoModules = [ "aes" "sha256" "xts" ];
boot.initrd.kernelModules = [
"dm_snapshot" "kvm-intel" "usbhid"
"ehci_pci"
"ohci_pci"
"xhci_pci" "hid_generic"
];
boot.initrd.luks.devices = [{
name = "crypt";
device = "/dev/disk/by-uuid/9d6af03a-6f69-4fdc-92b8-c50536f23e3e";
allowDiscards = true;
}];
fileSystems."/" =
{ device = "/dev/mapper/crypt";
fsType = "btrfs";
options = ["noatime" "nodiratime" "discard" "ssd" "space_cache"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/63C1-CCD0";
fsType = "vfat";
options = ["noatime" "nodiratime" "discard"];
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "exodus"; # Define your hostname.
networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Prague";
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
wget
emacs25
vim
rsync
firefox
chromium
libvirt
docker
git
];
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";
# Enable the KDE Desktop Environment.
# services.xserver.displayManager.kdm.enable = true;
# services.xserver.desktopManager.kde4.enable = true;
services.xserver.desktopManager.kde5.enable = true;
services.xserver.videoDrivers = [ "modesetting" ];
# Define a user account. Don't forget to set a password with ‘passwd’.
# users.extraUsers.guest = {
# isNormalUser = true;
# uid = 1000;
# };
users.extraUsers.aslaikov = {
isNormalUser = true;
uid = 1000;
extraGroups = [ "wheel" "networkmanager" "docker" ];
};
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "16.09";
# nixpkg.config.packageOverrides = pkgs: {
# freetype_subpixel = pkgs.freetype.override {
# useEncumberedCode = true;
# };
# };
virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "btrfs";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment