2017-12-15 19:43:04 +00: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’ ).
2018-06-27 15:01:04 +00:00
{ config , pkgs , lib , . . . }:
2017-12-15 17:27:00 +00:00
{
2017-12-15 19:43:04 +00:00
imports = [
<stockholm/jeschli>
./hardware-configuration.nix
<stockholm/jeschli/2configs/urxvt.nix>
2018-03-20 19:14:51 +00:00
<stockholm/jeschli/2configs/emacs.nix>
2018-04-18 06:20:48 +00:00
<stockholm/jeschli/2configs/xdg.nix>
2018-04-17 18:20:09 +00:00
<stockholm/jeschli/2configs/xserver>
2018-08-21 17:45:50 +00:00
<stockholm/jeschli/2configs/steam.nix>
2018-06-19 07:33:26 +00:00
<stockholm/jeschli/2configs/virtualbox.nix>
2017-12-15 19:43:04 +00:00
] ;
2017-12-15 17:27:00 +00:00
2017-12-15 19:43:04 +00:00
krebs . build . host = config . krebs . hosts . brauerei ;
2017-12-15 17:27:00 +00:00
# Use the GRUB 2 boot loader.
boot . loader . grub . enable = true ;
boot . loader . grub . version = 2 ;
boot . loader . grub . efiSupport = true ;
# Define on which hard drive you want to install Grub.
2017-12-15 19:43:04 +00:00
boot . loader . grub . device = " / d e v / s d a " ;
# or "nodev" for efi only
boot . initrd . luks . devices = [ {
name = " r o o t " ;
device = " / d e v / s d a 2 " ;
preLVM = true ;
allowDiscards = true ;
} ] ;
2018-06-19 07:35:38 +00:00
networking . networkmanager . enable = true ;
2017-12-15 19:43:04 +00:00
time . timeZone = " E u r o p e / A m s t e r d a m " ;
2018-07-31 17:19:32 +00:00
2017-12-15 19:43:04 +00:00
nixpkgs . config . allowUnfree = true ;
2018-07-31 17:19:32 +00:00
2018-01-23 18:40:10 +00:00
environment . shellAliases = {
n = " n i x - s h e l l " ;
stocki = pkgs . writeDash " d e p l o y " ''
cd ~/stockholm
exec nix-shell - I stockholm = " $ P W D " - - run ' deploy - - system = " b r a u e r e i " '
'' ;
} ;
2018-07-31 17:19:55 +00:00
2017-12-15 17:27:00 +00:00
environment . systemPackages = with pkgs ; [
2017-12-15 19:43:04 +00:00
# system helper
ag
curl
copyq
dmenu
2017-12-15 17:27:00 +00:00
git
2017-12-15 19:43:04 +00:00
i3lock
keepass
networkmanagerapplet
rsync
terminator
tmux
wget
# editors
emacs
# internet
thunderbird
chromium
google-chrome
# programming languages
2018-06-19 07:36:56 +00:00
elixir
elmPackages . elm
2018-04-10 16:15:02 +00:00
exercism
2017-12-15 19:43:04 +00:00
go
gcc
ghc
python35
python35Packages . pip
2018-06-27 15:01:04 +00:00
( vagrant . override {
bundlerEnv = bundlerEnv . override {
bundler = bundler . overrideAttrs ( old : {
name = " b u n d l e r - 1 . 1 6 . 1 " ;
src = fetchurl {
url = " h t t p s : / / r u b y g e m s . o r g / g e m s / b u n d l e r - 1 . 1 6 . 1 . g e m " ;
sha256 = " 1 s 2 n q 4 q n f f x g 3 k w r k 7 c n w x c v f i h l h x m 9 a b s l 2 l 6 d 3 q c k f 3 s y 1 f 2 2 " ;
} ;
} ) ;
} ;
} )
2017-12-15 19:43:04 +00:00
# go tools
golint
gotools
2018-04-10 16:15:02 +00:00
# rust
cargo
rustc
2017-12-15 19:43:04 +00:00
# dev tools
gnumake
2017-12-16 14:58:35 +00:00
jetbrains . pycharm-professional
jetbrains . webstorm
jetbrains . goland
2017-12-15 19:43:04 +00:00
# document viewer
2018-06-19 07:47:43 +00:00
evince
2017-12-15 19:43:04 +00:00
zathura
2018-02-18 09:41:57 +00:00
# xorg
xorg . xbacklight
2018-07-31 17:20:09 +00:00
taskwarrior
2017-12-15 17:27:00 +00:00
] ;
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.bash.enableCompletion = true;
# programs.mtr.enable = true;
2017-12-15 19:43:04 +00:00
programs . gnupg . agent = { enable = true ; enableSSHSupport = true ; } ;
2017-12-15 17:27:00 +00:00
# List services that you want to enable:
# Enable the OpenSSH daemon.
services . openssh . enable = true ;
2018-06-27 15:01:37 +00:00
services . xserver = {
2017-12-15 17:27:00 +00:00
2018-06-27 15:01:37 +00:00
# Don't install feh into systemPackages
# refs <nixpkgs/nixos/modules/services/x11/desktop-managers>
desktopManager . session = lib . mkForce [ ] ;
2017-12-15 17:27:00 +00:00
2018-06-27 15:01:37 +00:00
enable = true ;
display = 11 ;
tty = 11 ;
2017-12-15 17:27:00 +00:00
2018-07-31 17:20:29 +00:00
dpi = 144 ;
2018-06-27 15:01:37 +00:00
# videoDrivers = [ "nvidia" ];
synaptics = {
enable = true ;
twoFingerScroll = true ;
accelFactor = " 0 . 0 3 5 " ;
} ;
} ;
2017-12-15 17:27:00 +00:00
2018-04-17 18:20:09 +00:00
users . extraUsers . jeschli = { # TODO: define as krebs.users
2017-12-15 17:27:00 +00:00
isNormalUser = true ;
2018-07-31 17:21:30 +00:00
extraGroups = [ " d o c k e r " " v b o x u s e r s " " a u d i o " ] ;
2017-12-15 17:27:00 +00:00
uid = 1000 ;
} ;
2017-12-16 15:55:53 +00:00
users . extraUsers . jamie = {
isNormalUser = true ;
2018-04-17 18:20:09 +00:00
uid = 1001 ; # TODO genid
2017-12-16 15:55:53 +00:00
} ;
2017-12-15 17:27:00 +00:00
users . users . root . openssh . authorizedKeys . keys = [
" s s h - r s a A A A A B 3 N z a C 1 y c 2 E A A A A D A Q A B A A A E Z g H R 1 Z P D B M U j G W a r / Q m I 2 G i U k Z M 8 p A X R y B D h 8 j 3 h G l x l S + 0 l s B V 6 b T A I 5 F 1 3 i y z T C 4 p C u E u D O 2 O l F B 0 s c w j c O A T c i 8 p h d 8 j T j O I D o d q D a e Q Z X b s h y u U B f y i A V 6 q 0 S c + c U D V 3 D 6 G h z i g H 3 t 8 E i Q m v X m U G m 9 1 6 y F o t T 1 2 o 0 d m 8 3 S C O h 1 n A f 9 Z v e C 1 H z / e E U T v g W v I b 5 8 O d U R 5 F / S 5 O V B n I I J Z 8 t c p 0 B P 9 l y j j J C c A N W k Y J l w a V c N N b 0 U a r C R h v R t p t F j + e / E P q Q x S C a S 2 Q c x W 4 z B s Q 6 C 8 1 T F f 7 W r d H + p w t F g 0 o w l W s x v 5 4 7 s R L L i P f 2 h 2 Y u Q g S o A a W 2 4 N 0 S H h U q v O X d + J y a Y w 7 M A F 8 Q h 3 j H m 2 i J Q R g X N u I N 0 m s F i 1 a l w A e v i l L 2 m n f A t 2 b i Q 9 s S 9 g + C V v Q C w X 3 m g 0 9 E 4 Y 3 U m F L z v s J a f D 9 m e K V r j n D C c X y S e A f t s 5 9 e F m w K t M Q 0 q r E W a c l z U i A 6 A y 3 u D 1 z m a 8 x 1 X E L G T f 8 n x n X C G l 8 s 2 i 2 A P n 7 y 1 T c w e p 6 9 D l E N W S a R e F 5 z B L I k C t I U D d + 8 x B F T F 3 y u 5 C p y R r R M K G a 0 Q X / M t s Q l 4 S G J W a d O T w p M 8 j o I b r I V f K k T N B 2 M c x A j v o 0 i a R o B D m 4 0 9 g i 2 Y c y + N S o U V / K A I U G 7 O y s A Q Z 6 2 h r + E / K w 1 o c J C I V I + 9 v z K x / E n E I H k C S w h Y K l 5 3 9 3 W 7 C S h V J j J U c K c Z d d q X 2 s m S S h X q 8 r X P z h I H k 1 d A V n 5 F f / v G Z T 9 z 9 R 0 Q N 3 z 6 O a 9 Q N 5 t 5 T j T d U D T o q H T u d q O p D x P l 2 c 2 y X K 9 w V + a o H F o M L 9 A m b z T T 1 U 1 m K U 7 G X S o F A C i K N z h D z k o v y J G p W R y v i s X 5 t 7 5 I f u V q v G G I 8 n 3 u 8 O h P M d y y O H R y l V a c i D z B M Z 0 0 x n I H B + d J G 9 I e Y a M m 9 b W 1 L i 4 J o 0 C W n o g o 2 + o l f H P M L i j B u u + b s a 5 K p 6 k F k c c J Y R / x q c S q 0 l V X k p G m 6 9 2 J I 4 d n M G j c h i p X E G h 1 g X o f 9 j X H e m M M B w j p L F G t y + D 0 r 5 K d A 3 3 m + m I q c 9 h i 0 S h q u A 9 n A 7 E 1 I x D l g E 0 g Q g + P 5 Z O e e I N 7 q 5 4 A Q m T 8 i C C C R y n e 2 K w 5 7 X x a G g Z o L f j 7 V j j a e R l z B U g l m t y q 8 B 7 / c 0 J 3 y 4 1 v t 9 H x h j 4 s K D + v u f Z u + M 9 E 6 E 9 3 6 K s J l I i + 3 U 0 P t o p M / b 8 L 4 j c H 1 J Y p P l j a p s y s 8 w k J Z 1 y m H f 6 K j / 0 F H y i 1 V + G v q u i V r l F N + a H E C I z N l C i S M O 4 M q f P U O 1 A + s 9 z k G 2 Z g P N N v + L o Z q n o k j b m K M 4 k d x e x M x a L / E o 9 N d / b z d Y i F Y X l l l E L 7 U o x + y V 0 N 3 l o Q 2 j u h 4 z n + c t C n w H i + V 9 X 4 l 4 r B 8 a m W 9 6 W r X i J / W q E K 2 U O 8 S t 8 d c Q W h C s U U m 2 O a w S r b Y Y Z w 5 H h J w z / R h z 2 U s d S c 5 6 s 5 O U i Q L J q p I L Y v C n q S L l F 4 i Z d R S d D Q N p K n + l e 3 C e G U l 5 U U u v K 2 B p K G r b P K x 0 i / 2 Z S E M x N A 5 G n D M x / N y i N y D B c o P u / X O l N i 8 V W s E b C t o T Q R a m v q H j O m N c P r x C x d s + T a F 8 c 0 w M R 7 2 0 y j 5 s W q 8 = j e s c h l i @ n i x o s "
] ;
# 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.
2017-12-15 19:43:04 +00:00
system . stateVersion = " 1 7 . 0 9 " ; # Did you read the comment?
2017-12-15 17:27:00 +00:00
2018-04-17 16:42:47 +00:00
hardware . trackpoint = {
enable = true ;
sensitivity = 220 ;
speed = 0 ;
emulateWheel = true ;
} ;
2017-12-15 17:27:00 +00:00
}