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·45+0000
committerVincent Ambo <tazjin@google.com>2019-12-14T11·45+0000
commit74b5054a43132580fba7e834efc4a39e013a5957 (patch)
tree655e372096e6a9a09486a16d142fbbd8e86a4882 /infra/nixos/dotfiles.nix
parent3071ffdc8afa83c9ddf04537943087ca71b8d097 (diff)
parent3f199f96506d2559dd51d8fff629790e057c9149 (diff)
merge(nixos): Merge (unrelated) NixOS config history into infra/ r/132
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";
+  };
+}