diff options
Diffstat (limited to 'dotfiles.nix')
-rw-r--r-- | dotfiles.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/dotfiles.nix b/dotfiles.nix new file mode 100644 index 000000000000..8ba5f976f76e --- /dev/null +++ b/dotfiles.nix @@ -0,0 +1,31 @@ +# 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/dotfiles + cp ./* $out/dotfiles/ + ''; +}; +in { + # /etc/ is a special place in NixOS! + # Symlinks that need to be created there must be specified explicitly. + environment.etc = { + "i3/config" = { + source = "${dotfiles}/dotfiles/i3.conf"; + # Setting a mode causes Nix to copy the file instead of symlinking it. + # For i3 config in particular this is desirable because I want to be able + # to modify and reload it before committing a change. + mode = "0644"; + }; + }; +} |