summary refs log tree commit diff stats
path: root/trillian.nix
blob: 01fd67b0de5fdd9772b01c99976224467e9cb2a0 (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
{ config, pkgs, ... }:

let emacsPackage = import ./packages/emacs.nix {
  pkgs = pkgs.unstable;
  emacs = pkgs.emacsMacport;
};
in
{
  imports = [
    ./modules/development/base.nix
    ./modules/development/javascript.nix
    ./modules/programs/accounting.nix
    ./modules/programs/dotfiles.nix
    ./modules/programs/shell.nix
  ];

  nixpkgs.config = {
    packageOverrides = pkgs: {
      unstable = import <nixpkgs-unstable> {
        config = config.nixpkgs.config;
      };
    };
  };

  networking = {
    hostName = "trillian";
    knownNetworkServices = [ "Wi-Fi" ];
    dns = [
      "2606:4700:4700::1001"
      "2606:4700:4700::1111"
      "1.0.0.1"
      "1.1.1.1"
    ];
  };

  # List packages installed in system profile. To search by name, run:
  # $ nix-env -qaP | grep  wget
  environment.systemPackages = with pkgs;
    [
      mosh
      emacsPackage
      aspell
      aspellDicts.en
    ];

  # Use a custom configuration.nix location.
  # $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix
  # environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";

  # Auto upgrade nix package and the daemon service.
  services.nix-daemon.enable = true;
  services.nix-daemon.enableSocketListener = true;
  # nix.package = pkgs.nix;

  # programs.nix-index.enable = true;

  programs.vim = {
    enable = true;
    enableSensible = true;
  };

  # Create /etc/bashrc that loads the nix-darwin environment.
  programs.bash.enable = true;
  programs.zsh.enable = true;
  programs.fish.enable = true;

  environment.variables.LANG = "en_GB.UTF-8";

  programs.gnupg = {
    agent = {
      enable = true;
      enableSSHSupport = false;
    };
  };

  # launchd.user.agents.emacs-daemon = {
  #   command = "${emacsPackage}/bin/emacs --daemon";
  #   serviceConfig = {
  #     KeepAlive = true;
  #   };
  # };
  # 
  nix.gc = {
    automatic = true;
    options = "--max-freed $((25 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | awk '{ print $4 }')))";
  };
  nix.daemonNiceLevel = 10;
  nix.daemonIONice = true;

  # Used for backwards compatibility, please read the changelog before changing.
  # $ darwin-rebuild changelog
  system.stateVersion = 3;

  # You should generally set this to the total number of logical cores in your system.
  # $ sysctl -n hw.ncpu
  nix.maxJobs = 2;
  nix.buildCores = 4;
}
# vim: sw=2 sts=2 expandtab autoindent smarttab