-
Notifications
You must be signed in to change notification settings - Fork 2
/
tangerinixos.nix
73 lines (57 loc) · 1.7 KB
/
tangerinixos.nix
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
{ config, pkgs, ... }:
let
# Get the host configuration from which some values can be used as defaults:
# locale, keyboard layout, timezone...
hostConfiguration = (import /etc/nixos/configuration.nix) { inherit config pkgs; };
user = rec {
name = "rpaulson";
value = {
password = "toor";
extraGroups = [ "networkmanager" "wheel" ];
home = "/home/${user.name}";
isNormalUser = true;
uid = 1000;
};
};
in
{
console = {
font = "Fura Code Regular Nerd Font Complete Mono";
keyMap = hostConfiguration.console.keyMap;
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = import ./packages.nix { inherit config pkgs; };
fonts = {
fontDir.enable = true;
fonts = with pkgs; [ nerdfonts ];
};
i18n = hostConfiguration.i18n;
networking = {
extraHosts =
let
hostsPath = https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts;
hostsFile = builtins.fetchurl hostsPath;
in
builtins.readFile "${hostsFile}";
hostName = "tangerinixos";
# Default to OpenDNS.
nameservers = [ "208.67.222.222" "208.67.220.220" ];
};
time = hostConfiguration.time;
services.sshd.enable = true;
services.xserver = {
enable = true;
displayManager.autoLogin = {
enable = true;
user = user.name;
};
displayManager.lightdm.enable = true;
desktopManager.mate.enable = true;
libinput.enable = true;
layout = hostConfiguration.services.xserver.layout;
xkbVariant = hostConfiguration.services.xserver.xkbVariant;
};
system.stateVersion = config.system.nixos.release;
users.extraUsers = builtins.listToAttrs [ user ];
virtualisation.memorySize = 800;
}