about summary refs log tree commit diff
path: root/infra/nixos/dotfiles.nix
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-12-14T11·44+0000
committerVincent Ambo <tazjin@google.com>2019-12-14T11·44+0000
commit3f199f96506d2559dd51d8fff629790e057c9149 (patch)
tree2ffdc8289f70568fa63ed97097d8da04ccaee989 /infra/nixos/dotfiles.nix
parent83f1b769fb433c1f3be1fe38c8d31910753a6123 (diff)
chore(nixos): Move NixOS config to infra/nixos
Diffstat (limited to 'infra/nixos/dotfiles.nix')
-rw-r--r--infra/nixos/dotfiles.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/infra/nixos/dotfiles.nix b/infra/nixos/dotfiles.nix
new file mode 100644
index 000000000000..2e952207d47d
--- /dev/null
+++ b/infra/nixos/dotfiles.nix
@@ -0,0 +1,27 @@
+# Bundle configuration files into a derivation.
+# I call this derivation dotfiles despite that not technically being true
+# anymore ...
+
+{ config, pkgs, ...}:
+
+let dotfiles = pkgs.stdenv.mkDerivation {
+  name = "tazjins-dotfiles";
+
+  srcs = [
+    ./dotfiles
+  ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp ./* $out/
+  '';
+};
+in {
+  # /etc/ is a special place in NixOS!
+  # Symlinks that need to be created there must be specified explicitly.
+  environment.etc = {
+    "alacritty.yml".source    = "${dotfiles}/alacritty.yml";
+    "fish/config.fish".source = "${dotfiles}/config.fish";
+    "tmux.conf".source        = "${dotfiles}/tmux.conf";
+  };
+}