nix/flake.nix
2024-08-14 01:01:53 +10:00

106 lines
2.6 KiB
Nix

{
description = "nixos config";
inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.follows = "nixos-cosmic/nixpkgs";
nur.url = "github:/nix-community/NUR";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
helix.url = "github:helix-editor/helix";
home-manager = {
# url = "github:nix-community/home-manager";
url = "github:n-hass/home-manager/podman-module";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database.url = "github:Mic92/nix-index-database";
nix-rice.url = "github:bertof/nix-rice";
nixd.url = "github:nix-community/nixd";
flatpaks.url = "github:gmodena/nix-flatpak";
nixos-cosmic = {
url = "github:lilyinstarlight/nixos-cosmic";
};
madness.url = "github:antithesishq/madness";
};
outputs = {
self,
nixpkgs,
nixos-cosmic,
home-manager,
nur,
flatpaks,
nix-index-database,
madness,
...
} @ inputs: let
inherit (self) outputs;
sharedModules = [
madness.nixosModules.madness
nur.nixosModules.nur
nix-index-database.nixosModules.nix-index
./system/cachix.nix
];
system = "x86_64-linux";
in {
overlays = import ./util/overlay.nix {inherit inputs;};
nixosConfigurations = {
"quiver" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {inherit inputs outputs;};
modules =
[
./system/quiver.nix
nixos-cosmic.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = {inherit inputs outputs;};
users.bolt.imports = [
flatpaks.homeManagerModules.nix-flatpak
./home/bolt.nix
];
};
}
]
++ sharedModules;
};
"adrift" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {inherit inputs outputs;};
modules =
[
./system/adrift.nix
nixos-cosmic.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = {inherit inputs outputs;};
users.plank.imports = [
flatpaks.homeManagerModules.nix-flatpak
./home/plank.nix
];
};
}
]
++ sharedModules;
};
};
};
}