refactor(users/multi): make my user directory CI-compatible.

My home-manager config is not currently readTree compatible, which means
that it's not built by CI. This constructs a house of cards around
home-manager to make this buildable in CI.

Change-Id: I80480f24ff47347f46d708edbbf34d59fa76adac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2123
Tested-by: BuildkiteCI
Reviewed-by: multi <depot@in-addr.xyz>
This commit is contained in:
multi 2020-11-22 16:58:19 +00:00
parent 9d6d945f52
commit 69244064da
3 changed files with 93 additions and 0 deletions

View file

View file

@ -0,0 +1,66 @@
{ depot, pkgs, ... }:
let
nixpkgs = import pkgs.nixpkgsSrc {};
in
{
programs = {
home-manager = {
enable = true;
path = toString nixpkgs.home-manager.src;
};
bash = {
enable = true;
initExtra = ''
bind '"\e[5~":history-search-backward'
bind '"\e[6~":history-search-forward'
PS1="[\\u@\\h:\\w]\\\$ "
_Z_CMD=d
source ~/.z.sh
'';
};
tmux = {
enable = true;
terminal = "tmux-256color";
escapeTime = 50;
extraConfig = ''
bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1
'';
};
vim = {
enable = true;
extraConfig = "set mouse=";
};
};
home.sessionVariables = {
NIX_PATH =
"nixpkgs=${pkgs.nixpkgsSrc}:" +
"depot=${depot.depotPath}";
HOME_MANAGER_CONFIG = "${depot.depotPath}/users/multi/whitby/home-manager.nix";
EDITOR = "vim";
};
home.packages = [
nixpkgs.lsof
nixpkgs.strace
nixpkgs.file
nixpkgs.pciutils
];
home.file = {
z = {
source = builtins.fetchurl "https://raw.githubusercontent.com/rupa/z/9f76454b32c0007f20b0eae46d55d7a1488c9df9/z.sh";
target = ".z.sh";
};
};
home.stateVersion = "20.03";
}

View file

@ -0,0 +1,27 @@
{ depot, pkgs, lib, ... }:
let
nixpkgs = import pkgs.nixpkgsSrc {};
home-modules = import "${nixpkgs.home-manager.src}/modules";
outerLib = lib;
home = path:
let
configSet = import path { inherit depot pkgs; };
in
home-modules {
pkgs = nixpkgs;
configuration = { config, lib, ... }: (
{
_module.args.pkgs = outerLib.mkForce (import pkgs.nixpkgsSrc {});
} // configSet
);
};
in
rec {
whitby = home ./configs/whitby.nix;
whitbyHome = whitby.activationPackage;
meta.targets = [ "whitbyHome" ];
}