2024-02-26 07:33:11 +00:00
|
|
|
{
|
2024-05-30 03:43:48 +00:00
|
|
|
description = "snowhawk: a nixos configuration flake";
|
2024-02-26 07:33:11 +00:00
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
|
2024-05-29 22:23:56 +00:00
|
|
|
neovim-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
|
|
|
|
2024-02-26 07:33:11 +00:00
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-02-29 04:37:01 +00:00
|
|
|
|
|
|
|
fish_theme = {
|
|
|
|
url = "git+https://git.zynh.me/Zynh0722/omf-theme";
|
|
|
|
flake = false;
|
|
|
|
};
|
2024-02-26 07:33:11 +00:00
|
|
|
};
|
|
|
|
|
2024-06-28 14:48:26 +00:00
|
|
|
outputs =
|
|
|
|
{ self, nixpkgs, ... }@inputs:
|
2024-02-26 07:33:11 +00:00
|
|
|
{
|
2024-06-28 14:11:38 +00:00
|
|
|
nixosConfigurations =
|
|
|
|
let
|
2024-06-28 14:48:26 +00:00
|
|
|
lib = import ./lib { inherit (nixpkgs) lib; };
|
|
|
|
|
2024-06-28 14:55:01 +00:00
|
|
|
cleanHostname =
|
|
|
|
config:
|
|
|
|
builtins.removeAttrs config [ "hostname" ];
|
|
|
|
toPartialNixosConfigSet =
|
|
|
|
config:
|
|
|
|
{
|
|
|
|
name = config.hostname;
|
|
|
|
value = nixpkgs.lib.nixosSystem (cleanHostname config);
|
|
|
|
};
|
|
|
|
toNixosSystemConfig =
|
|
|
|
{ hostname, system }:
|
|
|
|
{
|
|
|
|
inherit system hostname;
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./hosts/${hostname}/hardware-configuration.nix
|
|
|
|
./hosts/${hostname}/configuration.nix
|
|
|
|
inputs.home-manager.nixosModules.default
|
|
|
|
];
|
|
|
|
};
|
2024-06-28 15:03:01 +00:00
|
|
|
compileSystems =
|
|
|
|
systems:
|
|
|
|
lib.right
|
|
|
|
builtins.listToAttrs
|
|
|
|
(map toPartialNixosConfigSet)
|
|
|
|
(map toNixosSystemConfig)
|
|
|
|
systems;
|
2024-06-28 14:11:38 +00:00
|
|
|
in
|
2024-06-28 14:48:26 +00:00
|
|
|
compileSystems
|
|
|
|
[
|
|
|
|
{
|
|
|
|
hostname = "snowhawk";
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
hostname = "sprite";
|
|
|
|
system = "aarch64-linux";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
hostname = "nixos";
|
|
|
|
system = "x86_64-linux";
|
|
|
|
}
|
|
|
|
];
|
2024-02-26 07:33:11 +00:00
|
|
|
};
|
|
|
|
}
|