mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-09 17:24:05 -05:00
130 lines
3.6 KiB
Nix
130 lines
3.6 KiB
Nix
{
|
|
description = "CrOS Ecosystem";
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
...
|
|
}@inputs:
|
|
let
|
|
inherit (self) outputs;
|
|
|
|
# Architectures
|
|
forAllSystems = nixpkgs.lib.genAttrs [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
# Extend lib with lib.custom
|
|
lib = nixpkgs.lib.extend (self: super: { custom = import ./lib { inherit (nixpkgs) lib; }; });
|
|
in
|
|
{
|
|
# Overlays
|
|
overlays = import ./overlays { inherit inputs; };
|
|
|
|
# Host Configurations
|
|
nixosConfigurations = builtins.listToAttrs (
|
|
map (host: {
|
|
name = host;
|
|
value = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs outputs lib;
|
|
isDarwin = false;
|
|
};
|
|
modules = [ ./hosts/nixos/${host} ];
|
|
};
|
|
}) (builtins.attrNames (builtins.readDir ./hosts/nixos))
|
|
);
|
|
|
|
# For later, to enable if we get any darwin hosts
|
|
# darwinConfigurations = builtins.listToAttrs (
|
|
# map (host: {
|
|
# name = host;
|
|
# value = nix-darwin.lib.darwinSystem {
|
|
# specialArgs = {
|
|
# inherit inputs outputs lib;
|
|
# isDarwin = true;
|
|
# };
|
|
# modules = [ ./hosts/darwin/${host} ];
|
|
# };
|
|
# }) (builtins.attrNames (builtins.readDir ./hosts/darwin))
|
|
# );
|
|
|
|
#packages = forAllSystems (
|
|
# system: let
|
|
# pkgs = import nixpkgs {
|
|
# inherit system;
|
|
# overlays = [self.overlays.default];
|
|
# };
|
|
# in
|
|
# nixpkgs.lib.packagesFromDirectoryRecursive {
|
|
# callPackage = nixpkgs.lib.callPackageWith pkgs;
|
|
# directory = ./pkgs/common;
|
|
# }
|
|
#);
|
|
|
|
devShells = forAllSystems (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
#overlays = [self.overlays.default];
|
|
};
|
|
in
|
|
builtins.listToAttrs (
|
|
map (name: {
|
|
inherit name;
|
|
value = import ./devshells/${name} {
|
|
inherit pkgs inputs outputs;
|
|
};
|
|
}) (builtins.attrNames (builtins.readDir ./devshells))
|
|
)
|
|
);
|
|
};
|
|
|
|
inputs = {
|
|
# Official inputs
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
hardware.url = "github:nixos/nixos-hardware";
|
|
|
|
nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-25.11-darwin";
|
|
nix-darwin = {
|
|
url = "github:lnl7/nix-darwin";
|
|
inputs.nixpkgs.follows = "nixpkgs-darwin";
|
|
};
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-25.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
|
|
# 3rd party inputs
|
|
disko = {
|
|
# Declarative partitioning
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
sops-nix = {
|
|
url = "github:mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
iamb-flake.url = "github:ulyssa/iamb/v0.0.11-alpha.1";
|
|
quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
|
|
deferred-apps.url = "github:WitteShadovv/deferred-apps";
|
|
dms = {
|
|
url = "github:AvengeMedia/DankMaterialShell/stable";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# CrOS inputs
|
|
nix-secrets.url = "git+ssh://git@github.com/TheWanderingCrow/nix-secrets";
|
|
nvix.url = "github:TheWanderingCrow/nvix";
|
|
actualbudget-report.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/actualbudget-report";
|
|
};
|
|
}
|