From 3615bb010f19bbf2958c58792d6b70298b8dc83b Mon Sep 17 00:00:00 2001 From: ooks-io Date: Thu, 6 Jun 2024 22:08:51 +1200 Subject: [PATCH] feat(home): add initial role configuration --- home/roles/default.nix | 5 +++++ home/roles/ooks-desktop-workstation.nix | 26 +++++++++++++++++++++++++ sys/modules/base/host/admin.nix | 3 +-- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 home/roles/default.nix create mode 100644 home/roles/ooks-desktop-workstation.nix diff --git a/home/roles/default.nix b/home/roles/default.nix new file mode 100644 index 0000000..0293729 --- /dev/null +++ b/home/roles/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./ooks-desktop-workstation.nix + ]; +} diff --git a/home/roles/ooks-desktop-workstation.nix b/home/roles/ooks-desktop-workstation.nix new file mode 100644 index 0000000..6276953 --- /dev/null +++ b/home/roles/ooks-desktop-workstation.nix @@ -0,0 +1,26 @@ +{ lib, config, osConfig, ... }: + +let + inherit (lib) mkIf; + host = osConfig.ooknet.host; +in + +{ + config = mkIf (host.admin.name == "ooks" && host.type == "desktop" && host.role == "workstation") { + ooknet = { + theme = "minimal"; + desktop = { + environment = "hyprland"; + browser = "firefox"; + terminal = "foot"; + notes = "obsidian"; + pdf = "zathura"; + discord = "vesktop"; + }; + console = { + editor = "helix"; + multiplexer = "zellij"; + }; + }; + }; +} diff --git a/sys/modules/base/host/admin.nix b/sys/modules/base/host/admin.nix index 2bc1468..ff696f8 100644 --- a/sys/modules/base/host/admin.nix +++ b/sys/modules/base/host/admin.nix @@ -2,7 +2,6 @@ let cfg = config.ooknet.host.admin; - host = config.ooknet.host; ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; inherit (lib) mkIf types mkOption; in @@ -68,7 +67,7 @@ in verbose = true; extraSpecialArgs = { inherit inputs outputs self; }; users.${cfg.name} = { - imports = [ "${self}/home/user/${cfg.name}/${host.name}" ]; + imports = [ "${self}/home" ]; }; }; };