2020-12-26 23:36:50 +01:00
|
|
|
{
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-20.09";
|
|
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable";
|
2021-01-18 20:24:07 +01:00
|
|
|
nixpkgs-master.url = "github:NixOS/nixpkgs?ref=master";
|
|
|
|
|
|
|
|
ra-systems = {
|
|
|
|
url = "git+https://gitea.redalder.org/RedAlder/systems";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager?ref=release-20.09";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2021-01-18 11:23:15 +01:00
|
|
|
|
2021-01-18 20:24:07 +01:00
|
|
|
# PACKAGES
|
2021-01-25 20:40:55 +01:00
|
|
|
## Rust Things
|
|
|
|
rust-overlay = {
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
url = "github:oxalica/rust-overlay";
|
|
|
|
};
|
|
|
|
|
2021-01-18 20:24:07 +01:00
|
|
|
## sss-cli
|
2021-01-18 11:23:15 +01:00
|
|
|
sss-cli = {
|
|
|
|
flake = false;
|
|
|
|
url = "github:dsprenkels/sss-cli";
|
|
|
|
};
|
2021-01-18 20:24:07 +01:00
|
|
|
|
2021-03-04 19:23:32 +01:00
|
|
|
## yarn2nix
|
|
|
|
yarn2nix = {
|
|
|
|
flake = false;
|
|
|
|
url = "github:Profpatsch/yarn2nix";
|
|
|
|
};
|
|
|
|
|
2021-03-07 14:18:19 +01:00
|
|
|
concourse = {
|
|
|
|
flake = false;
|
|
|
|
url = "github:concourse/concourse";
|
|
|
|
};
|
|
|
|
|
2021-01-18 20:24:07 +01:00
|
|
|
## Emacs
|
|
|
|
emacs-overlay = {
|
|
|
|
url = "git+https://github.com/nix-community/emacs-overlay";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
emacs = {
|
2021-02-01 12:00:24 +01:00
|
|
|
# type = "git";
|
|
|
|
#url = "https://git.savannah.gnu.org/git/emacs.git";
|
|
|
|
url = "github:flatwhatson/emacs?ref=pgtk-nativecomp";
|
|
|
|
#ref = "feature/native-comp";
|
2021-01-18 20:24:07 +01:00
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
vtermModule = {
|
|
|
|
url = "git+https://github.com/akermu/emacs-libvterm";
|
|
|
|
flake = false;
|
|
|
|
};
|
2020-12-26 23:36:50 +01:00
|
|
|
};
|
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
2021-01-18 20:24:07 +01:00
|
|
|
with inputs; let
|
2021-03-10 15:57:25 +01:00
|
|
|
rlib = import ./rlib {
|
2021-03-07 14:18:19 +01:00
|
|
|
inherit nixpkgs home-manager inputs;
|
|
|
|
pkgs = {
|
|
|
|
inherit nixpkgs nixpkgs-unstable nixpkgs-master;
|
|
|
|
};
|
|
|
|
custom = with rlib; {
|
2021-02-24 12:32:22 +01:00
|
|
|
sss-cli = ./packages/sss-cli;
|
|
|
|
atom-shell = ./packages/atom-shell;
|
|
|
|
emacs = ./packages/emacs;
|
|
|
|
emacsclient-remote = ./packages/emacsclient-remote;
|
|
|
|
enter-env = ./packages/enter-env;
|
|
|
|
screenshot = ./packages/screenshot;
|
|
|
|
multimc-devel = ./packages/multimc-devel;
|
|
|
|
concourse = ./packages/concourse-ci;
|
2021-02-28 19:18:30 +01:00
|
|
|
gpg-key = ./packages/gpg-key;
|
2021-03-04 19:23:32 +01:00
|
|
|
yarn2nix = ./packages/yarn2nix;
|
2021-02-02 20:10:25 +01:00
|
|
|
rust =
|
2021-03-08 08:55:02 +01:00
|
|
|
# system:
|
2021-02-02 20:10:25 +01:00
|
|
|
let
|
|
|
|
rustyPkgs = import inputs.nixpkgs {
|
|
|
|
overlays = [ inputs.rust-overlay.overlay ];
|
2021-03-08 08:55:02 +01:00
|
|
|
system = "x86_64-linux";
|
|
|
|
# inherit system;
|
2021-02-02 20:10:25 +01:00
|
|
|
};
|
|
|
|
in
|
|
|
|
rustyPkgs.rust-bin;
|
2021-03-07 14:18:19 +01:00
|
|
|
};
|
2021-02-02 20:10:25 +01:00
|
|
|
self = rlib;
|
2021-03-04 19:23:32 +01:00
|
|
|
supportedSystems = [ "x86_64-linux" "i386-linux" "aarch64-linux" ];
|
2021-01-25 19:44:11 +01:00
|
|
|
};
|
2020-12-29 17:58:07 +01:00
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
rmodules = {
|
|
|
|
klippy = ra-systems.flakes.klippy.nixosModules.klippy;
|
|
|
|
moonraker = ra-systems.flakes.moonraker.nixosModules.moonraker;
|
|
|
|
mainsail = ra-systems.flakes.mainsail.nixosModules.mainsail;
|
|
|
|
home-manager = inputs.home-manager.nixosModules.home-manager;
|
2020-12-29 17:58:07 +01:00
|
|
|
};
|
2020-12-27 02:15:29 +01:00
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
omen = rlib.nixosSystem (import ./systems/omen.nix inputs);
|
|
|
|
heater = rlib.nixosSystem (import ./systems/heater.nix inputs);
|
|
|
|
mark = rlib.nixosSystem (import ./systems/mark.nix inputs);
|
2021-01-10 20:05:04 +01:00
|
|
|
|
2021-02-02 20:35:29 +01:00
|
|
|
edge = rlib.homeManagerConfiguration (import ./systems/edge.nix);
|
2021-02-05 12:05:42 +01:00
|
|
|
blowhole = rlib.homeManagerConfiguration (import ./systems/blowhole.nix);
|
2021-03-04 19:23:32 +01:00
|
|
|
|
|
|
|
recoveryUsb = rlib.nixosSystem (import ./systems/recovery-usb.nix inputs);
|
2021-03-08 08:57:08 +01:00
|
|
|
|
|
|
|
dockerImages = rlib.dockerImages {
|
|
|
|
concourse = ./docker/concourse;
|
|
|
|
gitea = ./docker/gitea;
|
|
|
|
postgresql = ./docker/postgresql;
|
|
|
|
concourse-vault-sidecar = ./docker/concourse-vault-sidecar;
|
|
|
|
nix = (import ./docker/nix inputs);
|
|
|
|
};
|
2021-02-02 20:10:25 +01:00
|
|
|
in {
|
|
|
|
nixosConfigurations.omen = omen;
|
|
|
|
omen = omen.config.system.build.toplevel;
|
2021-01-18 11:23:42 +01:00
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
nixosConfigurations.heater = heater;
|
|
|
|
heater = heater.config.system.build.toplevel;
|
2021-01-24 17:43:50 +01:00
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
nixosConfigurations.mark = mark;
|
|
|
|
mark = mark.config.system.build.toplevel;
|
2021-01-25 19:44:11 +01:00
|
|
|
|
2021-02-02 20:10:25 +01:00
|
|
|
homeConfigurations.edge = edge;
|
|
|
|
edge = edge.activationPackage;
|
2021-02-05 12:05:42 +01:00
|
|
|
|
|
|
|
homeConfigurations.blowhole = blowhole;
|
|
|
|
blowhole = blowhole.activationPackage;
|
2021-03-04 19:23:32 +01:00
|
|
|
|
|
|
|
recoveryUsb = recoveryUsb.config.system.build.isoImage;
|
|
|
|
|
2021-03-10 15:57:25 +01:00
|
|
|
inherit dockerImages rlib;
|
2021-03-08 08:57:08 +01:00
|
|
|
|
|
|
|
halfFlakes = rlib.custom;
|
2021-03-08 17:26:46 +01:00
|
|
|
CI =
|
2021-03-08 08:57:08 +01:00
|
|
|
{
|
2021-03-08 17:26:46 +01:00
|
|
|
dockerImages = (rlib.linkFarm "dockerImages" (system: with dockerImages."${system}"; [
|
2021-03-08 08:57:08 +01:00
|
|
|
{
|
|
|
|
name = "gitea";
|
|
|
|
path = gitea;
|
|
|
|
}
|
|
|
|
{
|
2021-03-08 17:26:46 +01:00
|
|
|
name = "concourse";
|
2021-03-08 08:57:08 +01:00
|
|
|
path = concourse;
|
|
|
|
}
|
2021-03-08 17:26:46 +01:00
|
|
|
]));
|
|
|
|
systems = (rlib.linkFarm "systems" (_: [
|
2021-03-08 08:57:08 +01:00
|
|
|
{
|
|
|
|
name = "omen";
|
|
|
|
path = omen.config.system.build.toplevel;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "heater";
|
|
|
|
path = heater.config.system.build.toplevel;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "blowhole";
|
|
|
|
path = blowhole.activationPackage;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "mark";
|
|
|
|
path = mark.config.system.build.toplevel;
|
|
|
|
}
|
|
|
|
]))."${system}";
|
2021-03-08 17:26:46 +01:00
|
|
|
halfFlakes = (rlib.linkFarm "dockerImages" (system: with dockerImages."${system}"; [
|
|
|
|
{
|
|
|
|
name = "gitea";
|
|
|
|
path = gitea;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "concourse";
|
|
|
|
path = concourse;
|
|
|
|
}
|
|
|
|
]));
|
|
|
|
|
|
|
|
packages = (rlib.linkFarm "dockerImages" (system: with dockerImages."${system}"; [
|
|
|
|
{
|
|
|
|
name = "sss-cli";
|
|
|
|
path = sss-cli.defaultPackage."${system}";
|
|
|
|
}
|
|
|
|
]));
|
|
|
|
};
|
2021-03-08 08:57:08 +01:00
|
|
|
};
|
2020-12-26 23:36:50 +01:00
|
|
|
}
|