From 8947c4abd233040237a64c3aa807c6a6dd32a6f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 24 Jul 2025 20:22:20 +0100 Subject: [PATCH] Move initial Home Manager configuration --- modules2/home-manager/base.nix | 14 ++++++++++++++ modules2/home-manager/nixos.nix | 27 +++++++++++++++++++++++++++ modules2/owner.nix | 19 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 modules2/home-manager/base.nix create mode 100644 modules2/home-manager/nixos.nix create mode 100644 modules2/owner.nix diff --git a/modules2/home-manager/base.nix b/modules2/home-manager/base.nix new file mode 100644 index 00000000..bbd936b3 --- /dev/null +++ b/modules2/home-manager/base.nix @@ -0,0 +1,14 @@ +{ config, ... }: + +{ + flake.modules.homeManager.base = args: { + home = { + homeDirectory = "/home/${config.flake.meta.owner.username}"; + username = config.flake.meta.owner.username; + }; + + programs.home-manager.enable = true; + + systemd.user.startServices = "sd-switch"; + }; +} diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix new file mode 100644 index 00000000..253c5d22 --- /dev/null +++ b/modules2/home-manager/nixos.nix @@ -0,0 +1,27 @@ +{ config, inputs, lib, ... }: + +{ + flake.modules.nixos.pc = { + imports = [ inputs.home-manager.nixosModules.home-manager ]; + + home-manager = { + extraSpecialArgs.hasGlobalPkgs = true; + useGlobalPkgs = true; + + # https://github.com/nix-community/home-manager/issues/6770 + # useUserPackages = true; + + users.${config.flake.meta.owner.username}.imports = [ + ( + { osConfig, ... }: + + { + home.stateVersion = lib.mkForce osConfig.system.stateVersion; + } + ) + + config.flake.modules.homeManager.base + ]; + }; + }; +} diff --git a/modules2/owner.nix b/modules2/owner.nix new file mode 100644 index 00000000..399c83c2 --- /dev/null +++ b/modules2/owner.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: + +{ + flake = { + meta.owner.username = "opdavies"; + + modules = { + nixos.pc = { + users.users.${config.flake.meta.owner.username} = { + isNormalUser = true; + initialPassword = lib.mkForce ""; + extraGroups = [ "input" "wheel" ]; + }; + + nix.settings.trusted-users = [ config.flake.meta.owner.username ]; + }; + }; + }; +}