nixos-config/flake.nix

40 lines
1.4 KiB
Nix
Raw Normal View History

2024-07-30 22:56:44 +02:00
{
description = "Moe.OS";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
2024-08-01 13:27:23 +02:00
jovian.url = "github:Jovian-Experiments/Jovian-NixOS/development";
home-manager.url = "github:nix-community/home-manager/master";
2024-07-30 22:56:44 +02:00
home-manager.inputs.nixpkgs.follows = "nixpkgs";
plasma-manager.url = "github:nix-community/plasma-manager/trunk";
2024-08-01 11:18:20 +02:00
plasma-manager.inputs.nixpkgs.follows = "nixpkgs";
plasma-manager.inputs.home-manager.follows = "home-manager";
2024-07-30 22:56:44 +02:00
};
outputs = { self, nixpkgs, home-manager, jovian, plasma-manager, ...}:
2024-07-30 22:56:44 +02:00
let
lib = nixpkgs.lib;
2024-08-10 14:52:00 +02:00
host = "computer-mo";
user = "mo";
2024-07-30 22:56:44 +02:00
system = "x86_64-linux";
2024-08-10 15:41:00 +02:00
pkgs = import nixpkgs {inherit system;};
2024-07-30 22:56:44 +02:00
in {
nixosConfigurations = {
2024-08-10 14:15:06 +02:00
${host} = lib.nixosSystem {
2024-08-10 15:41:00 +02:00
specialArgs = {inherit system user host;};
2024-07-31 20:22:31 +02:00
modules = [
2024-08-10 14:15:06 +02:00
./hosts/${host}/system-imports.nix
2024-08-04 19:46:24 +02:00
jovian.nixosModules.jovian
2024-08-04 15:49:13 +02:00
home-manager.nixosModules.home-manager
2024-08-04 16:01:57 +02:00
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
2024-08-04 16:01:57 +02:00
home-manager.extraSpecialArgs = {inherit pkgs;};
2024-08-10 14:52:00 +02:00
home-manager.users.${user}.imports = [./hosts/${host}/user-imports.nix];
2024-08-04 16:01:57 +02:00
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager];
}
2024-07-31 20:22:31 +02:00
];
2024-07-30 22:56:44 +02:00
};
};
};
}