feat(dotfiles): Begin controlling various dotfiles from Nix
Moves my i3 configuration into a nix derivation called 'tazjins-dotfiles'. A good step towards fully declarative system configuration!
This commit is contained in:
parent
a8a9bf1300
commit
7fe75e0138
5 changed files with 200 additions and 2 deletions
31
dotfiles.nix
Normal file
31
dotfiles.nix
Normal file
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue