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";
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager?ref=release-20.09";
|
2021-04-11 00:25:36 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2021-01-18 20:24:07 +01:00
|
|
|
};
|
2021-01-18 11:23:15 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
nixng = {
|
|
|
|
url = "git+https://gitea.redalder.org/Magic_RB/NixNG";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2021-01-25 20:40:55 +01:00
|
|
|
};
|
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
fenix = {
|
|
|
|
url = "github:nix-community/fenix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
};
|
|
|
|
|
|
|
|
# PACKAGES
|
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
|
|
|
|
|
|
|
## Emacs
|
|
|
|
emacs-overlay = {
|
|
|
|
url = "git+https://github.com/nix-community/emacs-overlay";
|
2021-04-11 00:25:36 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2021-01-18 20:24:07 +01:00
|
|
|
};
|
|
|
|
emacs = {
|
2021-02-01 12:00:24 +01:00
|
|
|
url = "github:flatwhatson/emacs?ref=pgtk-nativecomp";
|
2021-01-18 20:24:07 +01:00
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
vtermModule = {
|
|
|
|
url = "git+https://github.com/akermu/emacs-libvterm";
|
|
|
|
flake = false;
|
|
|
|
};
|
2021-04-18 21:44:26 +02:00
|
|
|
easy-hls-nix = {
|
|
|
|
url = "github:jkachmar/easy-hls-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
};
|
2020-12-26 23:36:50 +01:00
|
|
|
};
|
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs:
|
|
|
|
let
|
|
|
|
inherit (nixpkgs-unstable.lib) nixosSystem;
|
|
|
|
inherit (home-manager.lib) homeManagerConfiguration;
|
2021-01-10 20:05:04 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
supportedSystems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
|
|
|
|
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
|
2021-02-02 20:10:25 +01:00
|
|
|
in {
|
2021-04-11 00:25:36 +02:00
|
|
|
nixosConfigurations.omen = nixosSystem (import ./systems/omen.nix inputs);
|
|
|
|
omen = self.nixosConfigurations.omen.config.system.build.toplevel;
|
2021-01-18 11:23:42 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
nixosConfigurations.heater = nixosSystem (import ./systems/heater.nix inputs);
|
|
|
|
heater = self.nixosConfigurations.heater.config.system.build.toplevel;
|
2021-01-24 17:43:50 +01:00
|
|
|
|
2021-05-30 11:19:34 +02:00
|
|
|
nixosConfigurations.tweedledee = nixosSystem (import ./systems/tweedledee.nix inputs);
|
|
|
|
tweedledee = self.nixosConfigurations.tweedledee.config.system.build.toplevel;
|
|
|
|
|
|
|
|
nixosConfigurations.tweedledum = nixosSystem (import ./systems/tweedledum.nix inputs);
|
|
|
|
tweedledum = self.nixosConfigurations.tweedledum.config.system.build.toplevel;
|
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
nixosConfigurations.mark = nixosSystem (import ./systems/mark.nix inputs);
|
|
|
|
mark = self.nixosConfigurations.mark.config.system.build.toplevel;
|
2021-02-05 12:05:42 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
nixosConfigurations.recoveryUsb = nixosSystem (import ./systems/recovery-usb.nix inputs);
|
|
|
|
recoveryUsb = self.nixosConfigurations.recoveryUsb.config.system.build.toplevel;
|
2021-03-04 19:23:32 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
homeConfigurations.edge = homeManagerConfiguration (import ./systems/edge.nix inputs);
|
|
|
|
edge = self.homeConfigurations.edge.activationPackage;
|
2021-03-04 19:23:32 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
homeConfigurations.blowhole = homeManagerConfiguration (import ./systems/blowhole.nix inputs);
|
|
|
|
blowhole = self.homeConfigurations.blowhole.activationPackage;
|
2021-03-08 08:57:08 +01:00
|
|
|
|
2021-03-08 17:26:46 +01:00
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
overlays = {
|
|
|
|
emacs = import ./overlays/emacs/default.nix inputs;
|
|
|
|
emacsclient-remote = import ./overlays/emacsclient-remote;
|
|
|
|
gpg-key = import ./overlays/gpg-key inputs.nixng.lib;
|
|
|
|
screenshot = import ./overlays/screenshot inputs.nixng.lib;
|
|
|
|
sss-cli = import ./overlays/sss-cli inputs.sss-cli;
|
2021-04-19 20:05:53 +02:00
|
|
|
shh = import ./overlays/shh;
|
2021-04-11 00:25:36 +02:00
|
|
|
};
|
|
|
|
|
2021-05-09 23:28:36 +02:00
|
|
|
nixosModules = {
|
|
|
|
vault-agent = import ./nixos-modules/vault-agent.nix;
|
|
|
|
};
|
|
|
|
|
2021-04-11 00:25:36 +02:00
|
|
|
packages =
|
|
|
|
forAllSystems (system:
|
|
|
|
let
|
2021-04-18 01:23:47 +02:00
|
|
|
mkPkg' =
|
2021-06-27 18:55:28 +02:00
|
|
|
pkgs: name: package: (import pkgs { inherit system; overlays = [ self.overlays."${name}" ]; }).magic_rb."${package}";
|
|
|
|
mkPkg = name: mkPkg' nixpkgs-unstable name name;
|
2021-04-11 00:25:36 +02:00
|
|
|
in
|
2021-03-08 17:26:46 +01:00
|
|
|
{
|
2021-04-11 00:25:36 +02:00
|
|
|
emacs = mkPkg "emacs";
|
|
|
|
emacsclient-remote = mkPkg "emacsclient-remote";
|
|
|
|
gpg-key = mkPkg "gpg-key";
|
2021-06-27 18:55:28 +02:00
|
|
|
gpg-key-hs = mkPkg' "gpg-key" "gpg-key-hs";
|
2021-04-11 00:25:36 +02:00
|
|
|
screenshot = mkPkg "screenshot";
|
|
|
|
sss-cli = mkPkg "sss-cli";
|
2021-04-19 20:05:53 +02:00
|
|
|
shh = mkPkg "shh";
|
2021-04-11 00:25:36 +02:00
|
|
|
});
|
2021-03-08 08:57:08 +01:00
|
|
|
};
|
2020-12-26 23:36:50 +01:00
|
|
|
}
|