mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-04-01 01:30:53 +02:00
52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
inputs: final: prev:
|
|
|
|
with builtins; with inputs;
|
|
|
|
let
|
|
overlay-unstable = final: prev: {
|
|
unstable = unstable.legacyPackages.x86_64-linux;
|
|
};
|
|
in
|
|
{
|
|
|
|
mkMachine = {host, host-config, modules, system ? "x86_64-linux"}: nixpkgs.lib.nixosSystem {
|
|
lib = final;
|
|
system = system;
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = builtins.attrValues modules ++ [
|
|
../base.nix
|
|
sops-nix.nixosModules.sops
|
|
host-config
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useUserPackages = true;
|
|
nixpkgs.overlays = [
|
|
inputs.neovim-nightly-overlay.overlay
|
|
overlay-unstable
|
|
(final: prev:
|
|
{
|
|
tinystatus = prev.pkgs.callPackage ../packages/tinystatus {};
|
|
mosh = prev.pkgs.callPackage ../packages/mosh {};
|
|
})
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
importConfig = path: (mapAttrs (name: value: import (path + "/${name}/default.nix")) (readDir path));
|
|
|
|
mkSubdomain = name: port: {
|
|
luj.nginx.enable = true;
|
|
services.nginx.virtualHosts."${name}.julienmalka.me" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/" = {
|
|
proxyPass = "http://localhost:${toString port}";
|
|
};
|
|
};
|
|
};
|
|
|
|
}
|
|
|