all repos — nixfiles @ main

System and user configuration, managed by nix and home-manager

sources.nix (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
let
  npins = import ./npins;
  pkgs = import npins.nixpkgs { };

  inherit (pkgs) lib;

  mkPathable = s: toString (
    if lib.path.subpath.isValid s
    then (lib.path.append ../. s)
    else s
  );

  kvPath = k: v: "${k}=${v}";

  fromNpins = sources:
    lib.attrsets.mapAttrs
      (k: v: v.outPath)
      sources;

  config =
    if pkgs.stdenv.isDarwin
    then "darwin-config"
    else "nixos-config";

in
{
  nixPath = lib.attrsets.mapAttrsToList
    (k: v: kvPath k (mkPathable v))
    npins;

  sources = {
    personal = ./packages;
    nixpkgs-overlays = ./overlays;
    private = ./private;
    ${config} = ./system/configuration.nix;
  } // (fromNpins npins);
}