nixos-config/theba.nix

195 lines
4.8 KiB
Nix
Raw Normal View History

2015-05-21 15:27:06 +02:00
# 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 gummiboot efi boot loader.
boot.loader.gummiboot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.luks.devices = [ { name = "sda2_crypt"; device = "/dev/disk/by-uuid/a7482f34-1d7b-4181-9f3c-f6bbbdb8679d"; preLVM = true; } ];
boot.initrd.kernelModules = [ "fbcon" ];
boot.kernelPackages = pkgs.linuxPackages_latest;
# workaround until trackpad is supported properly
boot.extraModprobeConfig = ''
options psmouse proto=imps
'';
hardware.trackpoint = {
enable = true;
# emulateWheel = true;
};
services.xserver.config =
''
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "PS/2 Synaptics TouchPad"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
'';
services.tlp.enable = true;
networking.hostName = "theba"; # Define your hostname.
networking.hostId = "b29b900f";
# nix.binaryCaches = [ https://hydra.nixos.org https://cache.nixos.org http://hydra.cryp.to/ ];
# nix.trustedBinaryCaches = [ https://hydra.nixos.org https://cache.nixos.org http://hydra.cryp.to/ ];
nix.binaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ];
nix.trustedBinaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ];
networking.networkmanager.enable = true;
networking.firewall.enable = true;
# networking.extraHosts = ''
# 127.1.0.80 compile compile.logic.tuwien.ac.at
# '';
time.timeZone = "Europe/Vienna";
# Select internationalisation properties.
# i18n = {
# consoleFont = "lat9w-16";
# consoleKeyMap = "us";
# defaultLocale = "en_US.UTF-8";
# };
programs.ibus.enable = true;
programs.ibus.plugins = [ pkgs.ibus-anthy pkgs.mozc ];
environment.systemPackages = with pkgs; with haskellngPackages; [
stdenv
nox
wget
vim_configurable
zsh
gitFull gitAndTools.hub tig gitg
gnumake
m4
openjdk8
# icedtea7_jdk
sbt scala
idea.idea-community
screen
psmisc
firefoxWrapper
thunderbird
gnupg
pass xclip
gcc
remmina
silver-searcher
tree
python
python34
python34Packages.ipython
ledger
hledger
hledger-diff
cmake
vimPlugins.YouCompleteMe
gdb
mpv
xlibs.xwininfo # for gnome maximus extension
dstat
which
zip
file
unzip
elinks
ctags
mutt
nix-prefetch-scripts
texLiveFull biber
androidsdk_4_4
gimp
inkscape
# libreoffice
jabref
# haskell dev
cabal2nix
cabal-install
# ghc-mod
gnome3.libgweather
];
nixpkgs.config.packageOverrides = pkgs: rec {
# sbt = pkgs.sbt.override { jre = pkgs.openjdk8; };
jre = pkgs.openjdk8;
jdk = pkgs.openjdk8;
# vim_configurable = pkgs.vim_configurable.override { source = "vim-nox"; };
};
fonts = {
fonts = with pkgs; [
inconsolata
dejavu_fonts
ipafont
unifont
ubuntu_font_family
];
};
environment.variables.EDITOR = "${pkgs.vim}/bin/vim";
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
permitRootLogin = "no";
passwordAuthentication = false;
};
programs.ssh.startAgent = false;
# Enable CUPS to print documents.
services.avahi.enable = true; # cups browsing support
services.printing.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.desktopManagerHandlesLidAndPower = false;
services.xserver.desktopManager.gnome3.enable = true;
# services.xserver.displayManager.lightdm.enable = true;
# services.xserver.desktopManager.kde5.enable = true;
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";
services.dbus.packages = [ pkgs.colord ];
# services.jenkins.enable = true;
# services.jenkinsSlave.enable = true;
# services.jenkins.port = 8888;
# services.jenkins.packages = with pkgs; [ stdenv gitFull jdk openssh sbt prover9 minisat veriT bash gnutar gzip ];
# TODO: ntp enabled anyhow
# services.timesyncd.enable = true;
# IntelliJ
boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288;
users.extraUsers.gebner = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
shell = "${pkgs.zsh}/bin/zsh";
};
}