2022-01-14 09:19:01 +00:00
|
|
|
rec {
|
|
|
|
description = "Lotte's NixOS installation";
|
|
|
|
|
|
|
|
# Use NixOS unstable
|
2022-03-05 20:39:49 +00:00
|
|
|
inputs = {
|
2022-05-07 12:04:36 +00:00
|
|
|
nixpkgs.url = github:NixOS/nixpkgs;
|
2022-03-05 20:39:49 +00:00
|
|
|
flake-utils.url = github:numtide/flake-utils;
|
2022-04-06 14:00:34 +00:00
|
|
|
home-manager.url = "github:andresilva/home-manager/fix-systemd-services";
|
2022-03-05 20:39:49 +00:00
|
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
sops-nix.url = github:Mic92/sops-nix;
|
|
|
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
chir-rs.url = "git+https://git.chir.rs/darkkirb/chir.rs.git?ref=main";
|
|
|
|
nur.url = "github:nix-community/NUR";
|
|
|
|
polymc.url = "github:PolyMC/PolyMC";
|
2022-04-10 07:34:14 +00:00
|
|
|
polymc.inputs.nixpkgs.follows = "nixpkgs";
|
2022-03-05 20:39:49 +00:00
|
|
|
dns.url = "github:DarkKirb/dns.nix?ref=master";
|
2022-05-01 19:11:01 +00:00
|
|
|
hydra.url = github:NixOS/hydra;
|
2022-05-01 20:52:05 +00:00
|
|
|
nix.url = github:NixOS/nix/5fe4fe823c193cbb7bfa05a468de91eeab09058d;
|
|
|
|
hydra.inputs.nix.follows = "nix";
|
|
|
|
hydra.inputs.nixpkgs.follows = "nix/nixpkgs";
|
2022-03-12 21:02:54 +00:00
|
|
|
hosts-list.url = github:StevenBlack/hosts;
|
|
|
|
hosts-list.flake = false;
|
2022-03-22 18:22:35 +00:00
|
|
|
nixos-hardware.url = github:NixOS/nixos-hardware;
|
2022-05-17 19:16:07 +00:00
|
|
|
nixpkgs-noto-variable.url = github:NixOS/nixpkgs/1988f9a17fc1c2ab11f5817adf34a4eb8d06454d;
|
2022-06-11 13:33:50 +00:00
|
|
|
|
|
|
|
nix-packages.url = github:DarkKirb/nix-packages/main;
|
|
|
|
nix-packages.inputs.nixpkgs.follows = "nixpkgs";
|
2022-03-05 20:39:49 +00:00
|
|
|
};
|
2022-01-14 09:19:01 +00:00
|
|
|
|
2022-06-12 15:39:15 +00:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
sops-nix,
|
|
|
|
home-manager,
|
|
|
|
chir-rs,
|
|
|
|
nur,
|
|
|
|
polymc,
|
|
|
|
...
|
|
|
|
} @ args: let
|
|
|
|
systems = [
|
|
|
|
{
|
|
|
|
name = "nixos-8gb-fsn1-1"; # Hetzner Server
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "nutty-noon"; # PC
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "thinkrac"; # Thinkpad T470
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "installer"; # The Installer DVD
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "nas"; # My nas
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
#{
|
|
|
|
# name = "rpi2"; # Raspberry Pi 2
|
|
|
|
# system = "armv7l-linux";
|
|
|
|
#}
|
|
|
|
];
|
|
|
|
in rec {
|
|
|
|
nixosConfigurations = builtins.listToAttrs (map
|
|
|
|
({
|
|
|
|
name,
|
|
|
|
system,
|
|
|
|
}: {
|
|
|
|
inherit name;
|
|
|
|
value =
|
|
|
|
nixpkgs.lib.nixosSystem
|
|
|
|
{
|
|
|
|
inherit system;
|
|
|
|
specialArgs =
|
|
|
|
args
|
|
|
|
// {
|
2022-02-08 21:01:33 +00:00
|
|
|
inherit system;
|
2022-06-12 15:39:15 +00:00
|
|
|
};
|
|
|
|
modules = [
|
|
|
|
(./config + "/${name}.nix")
|
|
|
|
./config/default.nix
|
|
|
|
sops-nix.nixosModules.sops
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
({pkgs, ...}: {
|
|
|
|
nixpkgs.overlays = [
|
|
|
|
(self: super: {
|
|
|
|
chir-rs = chir-rs.outputs.defaultPackage.${system};
|
2022-02-26 08:13:08 +00:00
|
|
|
})
|
2022-06-12 15:39:15 +00:00
|
|
|
nur.overlay
|
|
|
|
polymc.overlay
|
2022-02-26 08:13:08 +00:00
|
|
|
];
|
2022-06-12 15:39:15 +00:00
|
|
|
})
|
|
|
|
(import utils/link-input.nix args)
|
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|
|
|
|
systems);
|
|
|
|
devShell.x86_64-linux = let
|
|
|
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
|
|
|
in
|
|
|
|
pkgs.mkShell {
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
|
|
sops
|
|
|
|
ssh-to-age
|
|
|
|
nix-prefetch
|
|
|
|
nix-prefetch-git
|
|
|
|
jq
|
|
|
|
bundix
|
|
|
|
python3
|
|
|
|
python3Packages.yapf
|
|
|
|
github-cli
|
|
|
|
];
|
|
|
|
};
|
|
|
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
|
|
|
hydraJobs =
|
|
|
|
(builtins.listToAttrs (map
|
|
|
|
({
|
|
|
|
name,
|
|
|
|
system,
|
|
|
|
}: {
|
2022-02-26 08:13:08 +00:00
|
|
|
inherit name;
|
|
|
|
value = {
|
2022-02-26 08:55:00 +00:00
|
|
|
${system} = nixosConfigurations.${name}.config.system.build.toplevel;
|
2022-02-26 08:13:08 +00:00
|
|
|
};
|
2022-01-14 09:19:01 +00:00
|
|
|
})
|
2022-06-12 15:39:15 +00:00
|
|
|
systems))
|
|
|
|
// {
|
2022-04-16 11:02:32 +00:00
|
|
|
devShell = devShell;
|
2022-04-16 15:59:04 +00:00
|
|
|
# Uncomment the line to build an installer image
|
|
|
|
# This is EXTREMELY LARGE and will make builds take forever
|
|
|
|
# installer.x86_64-linux = nixosConfigurations.installer.config.system.build.isoImage;
|
2022-04-16 11:02:32 +00:00
|
|
|
};
|
2022-06-12 15:39:15 +00:00
|
|
|
};
|
2022-01-14 09:19:01 +00:00
|
|
|
}
|