mirror of
https://github.com/Moe1369/nixos-config.git
synced 2024-10-18 12:04:07 +02:00
Compare commits
2 Commits
5117de6577
...
ca95451f26
Author | SHA1 | Date | |
---|---|---|---|
ca95451f26 | |||
34bb96f9db |
@ -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
|
||||||
|
62
flake.nix
62
flake.nix
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user