nixos-config/flake.nix

59 lines
1.8 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";
2024-08-10 15:47:04 +02:00
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url= "github:nix-community/plasma-manager/trunk";
inputs.nixpkgs.follows = "nixpkgs";
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
2024-08-10 17:44:43 +02:00
# Different Devices
host-computer = "computer-mo";
host-server = "server";
host-konsole = "konsole";
host-steamdeck = "steamdeck";
user-computer = "mo";
user-server = "administrator";
user-konsole = "deck";
user-steamdeck = "deck";
2024-07-30 22:56:44 +02:00
lib = nixpkgs.lib;
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 {
2024-08-10 17:44:43 +02:00
2024-07-30 22:56:44 +02:00
nixosConfigurations = {
2024-08-10 17:44:43 +02:00
${host-computer} = lib.nixosSystem {
specialArgs = {inherit user-computer host-computer;};
2024-07-31 20:22:31 +02:00
modules = [
2024-08-10 19:39:20 +02:00
./hosts/${host-computer}
2024-08-10 17:44:43 +02:00
./global/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 17:44:43 +02:00
home-manager.users.${user-computer}.imports = [
2024-08-10 19:39:20 +02:00
./hosts/${host-computer}
2024-08-10 17:44:43 +02:00
./global/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
};
};
};
}