From 5ce0e0e1dff609212dfd5fb737115172d68b31a3 Mon Sep 17 00:00:00 2001 From: Petru Paler Date: Sat, 25 Oct 2025 11:45:41 +0100 Subject: [PATCH] Only install omarchy on desktop machines. --- common/desktop-node.nix | 5 +++- common/global/network.nix | 1 + flake.nix | 59 ++++++++++++++++++++++----------------- hosts/sparky/default.nix | 4 +-- 4 files changed, 40 insertions(+), 29 deletions(-) diff --git a/common/desktop-node.nix b/common/desktop-node.nix index 82468a7..9942067 100644 --- a/common/desktop-node.nix +++ b/common/desktop-node.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: { # Desktop profile: Graphical desktop with Hyprland # Extends workstation-node with desktop environment @@ -6,6 +6,9 @@ ./workstation-node.nix ]; + # omarchy-nix enables NetworkManager, but we use useDHCP globally + networking.networkmanager.enable = lib.mkForce false; + # Enable Hyprland (Wayland compositor) programs.hyprland = { enable = true; diff --git a/common/global/network.nix b/common/global/network.nix index b4e8460..d657242 100644 --- a/common/global/network.nix +++ b/common/global/network.nix @@ -1,3 +1,4 @@ +{ lib, ... }: { networking = { useDHCP = true; diff --git a/flake.nix b/flake.nix index 51395a5..e7eadf4 100644 --- a/flake.nix +++ b/flake.nix @@ -88,32 +88,41 @@ disko.nixosModules.disko sops-nix.nixosModules.sops impermanence.nixosModules.impermanence - omarchy-nix.nixosModules.default home-manager.nixosModules.home-manager - { - omarchy = { - full_name = "Petru Paler"; - email_address = "petru@paler.net"; - theme = "tokyo-night"; - monitors = [ "DP-1,preferred,auto,1.5" ]; - }; - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.ppetru = { - imports = [ - (inputs.impermanence + "/home-manager.nix") - inputs.nix-index-database.homeModules.nix-index - inputs.nixvim.homeModules.nixvim - omarchy-nix.homeManagerModules.default - ./home - ]; - }; - extraSpecialArgs = { - inherit profile; - }; - }; - } + ( + { lib, ... }: + lib.mkMerge [ + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.ppetru = { + imports = [ + (inputs.impermanence + "/home-manager.nix") + inputs.nix-index-database.homeModules.nix-index + inputs.nixvim.homeModules.nixvim + ./home + ] ++ lib.optionals (profile == "desktop") [ + omarchy-nix.homeManagerModules.default + ]; + }; + extraSpecialArgs = { + inherit profile; + }; + }; + } + (lib.optionalAttrs (profile == "desktop") { + omarchy = { + full_name = "Petru Paler"; + email_address = "petru@paler.net"; + theme = "tokyo-night"; + monitors = [ "DP-1,preferred,auto,1.5" ]; + }; + }) + ] + ) + ] ++ nixpkgs.lib.optionals (profile == "desktop") [ + omarchy-nix.nixosModules.default ] ++ modules; specialArgs = { inherit inputs self; diff --git a/hosts/sparky/default.nix b/hosts/sparky/default.nix index f6e8a49..54e71f6 100644 --- a/hosts/sparky/default.nix +++ b/hosts/sparky/default.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs, lib, ... }: +{ pkgs, inputs, ... }: { imports = [ ../../common/encrypted-btrfs-layout.nix @@ -16,7 +16,5 @@ }; networking.hostName = "sparky"; - # enabled by omarchy-nix, conflicts with useDHCP - networking.networkmanager.enable = lib.mkForce false; services.tailscaleAutoconnect.authkey = "tskey-auth-kBCKN7QNv411CNTRL-n5Td7Jw7h3TAjubEeLmy1THy33JvD9JnM"; }