about summary refs log tree commit diff
path: root/machines/sternenseemann/schnurrkadse.nix
blob: a07d7b8af0b5c8519823dbeb38dc26b1e788e2b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
{ config, lib, pkgs, ... }:

let
   mytexlive = with pkgs.texlive; combine { inherit scheme-medium minted units collection-bibtexextra ifplatform xstring doublestroke csquotes; };

in {
  nixpkgs.config.allowUnfree = true;

  boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ata_piix" "usb_storage" "floppy" "usblp" "pcspkr" ];
  boot.kernelModules = [ ];
  boot.extraModulePackages = [ ];

  boot.initrd.luks.devices =
    [ { name = "schnurrkadse";
        device = "/dev/disk/by-uuid/544529b8-81cb-4e8e-9b6b-44f828ea2a7b";
        preLVM = true;
    } ];

  fileSystems."/" =
    { device = "/dev/mapper/schnurrkadse-root";
      fsType = "btrfs";
    };

  fileSystems."/boot" =
    { device = "/dev/disk/by-uuid/e42bd75d-627d-4469-90cb-282dca7fdd4f";
      fsType = "ext4";
    };

  swapDevices =
    [ { device = "/dev/mapper/schnurrkadse-swap"; }
    ];

  nix.maxJobs = 1;
  networking.enableIntel2200BGFirmware = true;

  hardware.pulseaudio.enable = true;

  hardware.trackpoint = {
    enable = true;
    emulateWheel = true;
    speed = 250;
    sensitivity = 140;
  };

  boot.loader.grub.enable = true;
  boot.loader.grub.version = 2;
  boot.loader.grub.device = "/dev/sda";

  networking.hostName = "schnurrkadse";
  networking.networkmanager.enable = true;

  i18n = {
    consoleFont = "Lat2-Terminus16";
    consoleKeyMap = "de";
    defaultLocale = "en_US.UTF-8";
  };

  time.timeZone = "Europe/Berlin";

  environment.systemPackages = with pkgs; [
    unzip
    zip
    bzip2
    wget
    vim
    git
    stow
    acpi
    termite
    redshift
    networkmanagerapplet
    sudo
    mosh
    dmenu
    taffybar
    alock
    graphicsmagick
    silver-searcher
    pavucontrol
    hostapd
    #pandoc
    unison
    connect
    lame
    ffmpeg

    # texlive, minted deps
    mytexlive
    which
    pythonPackages.pygments
    python

    w3m
    torbrowser
    mpv
    htop
    feh
    mupdf
    screen-message
    zathura
    youtube-dl
    pass

    #ghc
    #cabal-install
    #haskellPackages.stylish-haskell
    #haskellPackages.cabal2nix

    mutt
    notmuch
    offlineimap
    msmtp
    gnupg
    gpgme
  ];

  # Proudly stolen from Profpatsch
  fonts.fontconfig = {
    defaultFonts = {
      monospace = [ "Inconsolata" "Source Code Pro" "DejaVu Sans Mono" ];
      sansSerif = [ "Ubuntu" "Liberation Sans" "DejaVu Sans" ];
    };
    ultimate = {
      rendering = {
        INFINALITY_FT_FILTER_PARAMS = "08 24 36 24 08";
        INFINALITY_FT_FRINGE_FILTER_STRENGTH = "25";
        INFINALITY_FT_USE_VARIOUS_TWEAKS = "true";
        INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH = "25";
        INFINALITY_FT_STEM_ALIGNMENT_STRENGTH = "15";
        INFINALITY_FT_STEM_FITTING_STRENGTH = "15";
      };
    };
  };
  fonts.fonts = with pkgs; [
    corefonts
    source-han-sans-japanese
    source-han-sans-korean
    source-han-sans-simplified-chinese
    source-code-pro
    dejavu_fonts
    ubuntu_font_family
    inconsolata
    libertine
    unifont
  ];

  services.openssh.enable = true;

  services.tor.enable = true;

  services.printing = {
    enable = true;
    drivers = [ pkgs.gutenprint pkgs.hplip ];
  };

  # for taffybar
  services.upower.enable = true;

  services.tlp.enable = true;

  services.xserver = {
    enable = true;
    layout = "de";
    xkbVariant = "neo";

    desktopManager.xterm.enable = false;

    windowManager.xmonad = {
      enable = true;
      enableContribAndExtras = true;
    };

    displayManager = {
      sessionCommands =
        ''
        redshift -c .redshift &
        xsetroot -solid '#0fffb0'
        '';
    };

    synaptics.enable = true;
    synaptics.tapButtons = false;
    synaptics.twoFingerScroll = false;

    videoDrivers = [ "intel" ];
  };

  programs.fish.enable = true;

  users.users.lukas = {
    isNormalUser = true;
    uid = 1000;
    shell = "${pkgs.fish}/bin/fish";
    group = "users";
    extraGroups = [ "audio" "wheel" "networkmanager" "uucp" ];
  };

  environment.etc."vte.sh" = { source = "${pkgs.gnome3.vte}/etc/profile.d/vte.sh"; };
  programs.ssh.startAgent = false;

  system.stateVersion = "unstable";
}