From d9c7ea62551de58be515ee819137c52d7b16fb83 Mon Sep 17 00:00:00 2001 From: blahai Date: Mon, 17 Feb 2025 22:20:48 +0200 Subject: [PATCH] home: init --- home/default.nix | 56 ++++++++++++++++++++++++++++++++++++++++ home/pingu/default.nix | 1 + modules/home/default.nix | 1 + 3 files changed, 58 insertions(+) create mode 100644 home/default.nix create mode 100644 home/pingu/default.nix create mode 100644 modules/home/default.nix diff --git a/home/default.nix b/home/default.nix new file mode 100644 index 0000000..667edc1 --- /dev/null +++ b/home/default.nix @@ -0,0 +1,56 @@ +{ + lib, + self, + self', + config, + inputs, + inputs', + ... +}: let + inherit (lib.modules) mkIf mkDefault; + inherit (lib.attrsets) genAttrs; + inherit (lib.options) mkEnableOption; +in { + options.olympus.system.useHomeManager = + mkEnableOption "Whether to use home-manager or not" + // { + default = true; + }; + + config = mkIf config.olympus.system.useHomeManager { + home-manager = { + verbose = true; + useUserPackages = true; + useGlobalPkgs = true; + backupFileExtension = "bak"; + + users = genAttrs config.olympus.system.users (name: ./${name}); + + extraSpecialArgs = { + inherit + self + self' + inputs + inputs' + ; + }; + + # we should define grauntied common modules here + sharedModules = [ + inputs.beapkgs.homeManagerModules.default + + (self + /modules/home/default.nix) + + { + home.stateVersion = config.system.stateVersion; + + # reload system units when changing configs + systemd.user.startServices = mkDefault "sd-switch"; # or "legacy" if "sd-switch" breaks again + + # let HM manage itself when in standalone mode + programs.home-manager.enable = true; + } + ]; + }; + }; +} diff --git a/home/pingu/default.nix b/home/pingu/default.nix new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/home/pingu/default.nix @@ -0,0 +1 @@ +{} diff --git a/modules/home/default.nix b/modules/home/default.nix new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/modules/home/default.nix @@ -0,0 +1 @@ +{}