summaryrefslogtreecommitdiffstats
path: root/lass/2configs/baseX.nix
blob: 0e0273dcc184fc41ea2c41c99560f1999df0c425 (plain)
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
{ config, pkgs, ... }:
with import <stockholm/lib>;
let
  user = config.krebs.build.user;
in {
  imports = [
    ./mpv.nix
    ./power-action.nix
    ./screenlock.nix
    ./copyq.nix
    ./xresources.nix
    ./livestream.nix
    ./dns-stuff.nix
    {
      hardware.pulseaudio = {
        enable = true;
        systemWide = true;
      };
      security.rtkit.enable = true;
      sound.enableOSSEmulation = false;
    }
    {
      krebs.per-user.lass.packages = [
        pkgs.sshuttle
      ];
      security.sudo.extraConfig = ''
        lass ALL= (root) NOPASSWD:SETENV: ${pkgs.sshuttle}/bin/.sshuttle-wrapped
      '';
    }
    { #font magic
      options.lass.myFont = mkOption {
        type = types.str;
        default = "-schumacher-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
      };
    }
  ];

  users.extraUsers.mainUser.extraGroups = [ "audio" "video" ];

  time.timeZone = "Europe/Berlin";

  programs.ssh.startAgent = false;
  services.openssh.forwardX11 = true;

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

  environment.systemPackages = with pkgs; [
    acpi
    dic
    dmenu
    gi
    gitAndTools.qgit
    lm_sensors
    haskellPackages.hledger
    much
    ncdu
    nix-repl
    nmap
    pavucontrol
    powertop
    push
    slock
    sxiv
    xclip
    xorg.xbacklight
    xorg.xhost
    xsel
    zathura

    mpv-poll
    yt-next

    youtube-tools

    rxvt_unicode
  ];

  fonts.fonts = [
    pkgs.xlibs.fontschumachermisc
  ];

  services.xserver = {
    enable = true;

    desktopManager.xterm.enable = false;
    desktopManager.default = "none";
    displayManager.lightdm.enable = true;
    displayManager.lightdm.autoLogin = {
      enable = true;
      user = "lass";
    };
    windowManager.default = "xmonad";
    windowManager.session = [{
      name = "xmonad";
      start = ''
        ${pkgs.xorg.xhost}/bin/xhost +LOCAL:
        ${pkgs.xmonad-lass}/bin/xmonad &
        waitPID=$!
      '';
    }];

    layout = "us";
    xkbModel = "evdev";
    xkbVariant = "altgr-intl";
    xkbOptions = "caps:backspace";
  };

  services.logind.extraConfig = ''
    HandleLidSwitch=ignore
  '';

  services.xserver.synaptics = {
    enable = true;
    twoFingerScroll = true;
    accelFactor = "0.035";
  };

  services.urxvtd.enable = true;
}