Compare commits

..

2 Commits

Author SHA1 Message Date
ca95451f26 update readme.md
Some checks are pending
Flake.lock / build (push) Waiting to run
2024-08-30 21:55:18 +02:00
34bb96f9db add more hosts 2024-08-30 21:52:50 +02:00
2 changed files with 57 additions and 9 deletions

View File

@ -10,6 +10,6 @@ Mirrored on [gitea.chrayed.de](https://gitea.chrayed.de/moe1369/nixos-config)
- [X] Bash/ZSH Settings - [X] Bash/ZSH Settings
- [ ] ssh key deployment with [agenix](https://github.com/ryantm/agenix) - [ ] ssh key deployment with [agenix](https://github.com/ryantm/agenix)
- [ ] alternative way to declare .nix files instead of dumping them into configuration.nix - [ ] alternative way to declare .nix files instead of dumping them into configuration.nix
- [x] Multi Host functionality for homelab - preferably [conditional implementation](https://nixos.wiki/wiki/Extend_NixOS#Conditional_Implementation) - [x] Multi Host functionality for homelab
- [ ] OCI container for common services - [ ] OCI container for common services
- [ ] Fix Home-Manager issues with immutable .config files during rebuild - [ ] Fix Home-Manager issues with immutable .config files during rebuild -> files kglobalshortcutsrc and kwinrc can't be overwritten because of plasma-manager

View File

@ -76,24 +76,72 @@
in in
{ {
nixosConfigurations = { nixosConfigurations = {
# Workstation config
workstation = workstation =
let let
user = "mo"; user = "mo";
hostName = "workstation"; hostName = "workstation";
in in
lib.nixosSystem { lib.nixosSystem {
specialArgs = {inherit user; inherit hostName;}; specialArgs = {inherit user; inherit hostName; inherit system;};
system = system;
# Device specific NixOS Modules
modules = externalSystemModules ++ baseSystemModules ++ desktopSystemModules ++ displaySystemModules ++ gamingSystemModules ++ [ modules = externalSystemModules ++ baseSystemModules ++ desktopSystemModules ++ displaySystemModules ++ gamingSystemModules ++ [
./hosts/${hostName} ./hosts/${hostName}
./modules/system/jovian-${hostName} ./modules/system/jovian-${hostName}
{ {
# Device specific Home Manager Modules home-manager.users.${user}.imports = baseUserModules ++ desktopUserModules ++ gamingUserModules ++ [
home-manager.users.${user}.imports = baseUserModules ++ desktopUserModules ++ [ ];
home-manager.extraSpecialArgs = { inherit user; inherit hostName;};
home-manager.sharedModules = externalUserModules;
}
];
};
konsole =
let
user = "deck";
hostName = "konsole";
in
lib.nixosSystem {
specialArgs = {inherit user; inherit hostName; inherit system;};
modules = externalSystemModules ++ baseSystemModules ++ desktopSystemModules ++ gamingSystemModules ++ [
./hosts/${hostName}
./modules/system/jovian-${hostName}
{
home-manager.users.${user}.imports = baseUserModules ++ desktopUserModules ++ gamingUserModules ++ [
];
home-manager.extraSpecialArgs = { inherit user; inherit hostName;};
home-manager.sharedModules = externalUserModules;
}
];
};
steamdeck =
let
user = "deck";
hostName = "steamdeck";
in
lib.nixosSystem {
specialArgs = {inherit user; inherit hostName; inherit system;};
modules = externalSystemModules ++ baseSystemModules ++ desktopSystemModules ++ gamingSystemModules ++ [
./hosts/${hostName}
./modules/system/jovian-${hostName}
{
home-manager.users.${user}.imports = baseUserModules ++ desktopUserModules ++ gamingUserModules ++ [
];
home-manager.extraSpecialArgs = { inherit user; inherit hostName;};
home-manager.sharedModules = externalUserModules;
}
];
};
server =
let
user = "administrator";
hostName = "server";
in
lib.nixosSystem {
specialArgs = {inherit user; inherit hostName; inherit system;};
modules = externalSystemModules ++ baseSystemModules ++ serverSystemModules ++ [
./hosts/${hostName}
{
home-manager.users.${user}.imports = baseUserModules ++ serverUserModules ++ [
]; ];
# Issue with Plasma Manager, has to be imported in a special way
home-manager.extraSpecialArgs = { inherit user; inherit hostName;}; home-manager.extraSpecialArgs = { inherit user; inherit hostName;};
home-manager.sharedModules = externalUserModules; home-manager.sharedModules = externalUserModules;
} }