nixos-config/flake.nix

62 lines
1.7 KiB
Nix
Raw Normal View History

2023-07-31 14:27:24 +02:00
{
2023-07-31 14:18:02 +02:00
description = "My various NixOs configurations";
inputs = {
nixpkgs.url = "github:NixOs/nixpkgs/nixos-23.05";
home-manager.url = "github:nix-community/home-manager/release-23.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
2023-10-12 23:24:36 +02:00
agda.url = "github:agda/agda/v2.6.4";
agda.inputs.nixpkgs.follows = "nixpkgs";
2023-10-06 12:01:35 +02:00
cornelis.url = "github:isovector/cornelis";
2023-10-12 23:24:36 +02:00
cornelis.inputs.agda.follows = "agda";
2023-07-31 14:18:02 +02:00
};
2023-10-12 23:24:36 +02:00
outputs = { self, nixpkgs, home-manager, agda, cornelis }:
let nix-config-module =
2023-07-31 14:18:02 +02:00
{
nix.registry.nixpkgs.flake = nixpkgs;
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
2023-10-12 23:24:36 +02:00
};
rachel-home-module =
({ pkgs, ... }:
let system = pkgs.stdenv.system;
in {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.rachel = import ./home/rachel.nix {
pkgs = pkgs;
agda = agda.packages.${system}.Agda;
cornelis = cornelis.packages.${system}.cornelis;
cornelis-vim = cornelis.packages.${system}.cornelis-vim;
};
};
}
);
in
{
nixosConfigurations.lambda = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
nix-config-module
2023-07-31 14:18:02 +02:00
./lambda/configuration.nix
home-manager.nixosModules.home-manager
2023-10-12 23:24:36 +02:00
rachel-home-module
2023-07-31 14:18:02 +02:00
];
};
2023-08-19 16:58:57 +02:00
2023-10-12 23:24:36 +02:00
nixosConfigurations.computational = nixpkgs.lib.nixosSystem rec {
2023-08-19 16:58:57 +02:00
system = "x86_64-linux";
modules = [
2023-10-12 23:24:36 +02:00
nix-config-module
2023-08-19 16:58:57 +02:00
./computational/configuration.nix
home-manager.nixosModules.home-manager
2023-10-12 23:24:36 +02:00
rachel-home-module
2023-08-19 16:58:57 +02:00
];
};
2023-07-31 14:18:02 +02:00
};
}