nixos-config/theba.nix

195 lines
4.8 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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";
};
}