summary refs log tree commit diff stats
path: root/trillian.nix
diff options
context:
space:
mode:
authorAlan Pearce2018-10-21 14:55:27 +0200
committerAlan Pearce2018-10-21 15:01:02 +0200
commit086e0f60c01730cacd716f14115bef99774f6957 (patch)
tree864771585e2c27878d63520d39589ff2c3740517 /trillian.nix
parente30c6624e41d8b8b55085897a57f9c9c0c6c3edf (diff)
downloadnixos-configuration-086e0f60c01730cacd716f14115bef99774f6957.tar.lz
nixos-configuration-086e0f60c01730cacd716f14115bef99774f6957.tar.zst
nixos-configuration-086e0f60c01730cacd716f14115bef99774f6957.zip
Setup trillian (MacBook)
Diffstat (limited to 'trillian.nix')
-rw-r--r--trillian.nix93
1 files changed, 93 insertions, 0 deletions
diff --git a/trillian.nix b/trillian.nix
new file mode 100644
index 0000000..07bcb5d
--- /dev/null
+++ b/trillian.nix
@@ -0,0 +1,93 @@
+{ config, pkgs, ... }:
+
+let emacsPackage = import ./packages/emacs.nix {
+  inherit pkgs;
+  emacs = pkgs.emacs25Macport;
+};
+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 = pkgs;
+    };
+  };
+
+  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
+    ];
+
+  # 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;
+
+  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