mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat: load nixos hm-options dynamically
This commit is contained in:
parent
d9a72d44ea
commit
4232360563
3 changed files with 12 additions and 4 deletions
|
|
@ -2345,6 +2345,10 @@ I usually use =mutableUsers = false= in my NixOS configuration. However, on a ne
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.withHomeManager = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
options.swarselsystems.initialSetup = lib.mkEnableOption "initial setup (no sops keys available)";
|
options.swarselsystems.initialSetup = lib.mkEnableOption "initial setup (no sops keys available)";
|
||||||
options.swarselsystems.server.enable = lib.mkEnableOption "is a server machine";
|
options.swarselsystems.server.enable = lib.mkEnableOption "is a server machine";
|
||||||
options.swarselsystems.server.kavita = lib.mkEnableOption "enable kavita on server";
|
options.swarselsystems.server.kavita = lib.mkEnableOption "enable kavita on server";
|
||||||
|
|
@ -3171,9 +3175,9 @@ Mostly used to install some compilers and lsp's that I want to have available wh
|
||||||
First, we enable the use of =home-manager= as a NixoS modul.
|
First, we enable the use of =home-manager= as a NixoS modul.
|
||||||
|
|
||||||
#+begin_src nix :tangle profiles/common/nixos/home-manager.nix
|
#+begin_src nix :tangle profiles/common/nixos/home-manager.nix
|
||||||
{ inputs, ... }:
|
{ inputs, config, lib, ... }:
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = lib.mkIf config.swarselsystems.withHomeManager {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = inputs; # used mainly for inputs.self
|
extraSpecialArgs = inputs; # used mainly for inputs.self
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@ in
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.withHomeManager = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
options.swarselsystems.initialSetup = lib.mkEnableOption "initial setup (no sops keys available)";
|
options.swarselsystems.initialSetup = lib.mkEnableOption "initial setup (no sops keys available)";
|
||||||
options.swarselsystems.server.enable = lib.mkEnableOption "is a server machine";
|
options.swarselsystems.server.enable = lib.mkEnableOption "is a server machine";
|
||||||
options.swarselsystems.server.kavita = lib.mkEnableOption "enable kavita on server";
|
options.swarselsystems.server.kavita = lib.mkEnableOption "enable kavita on server";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{ inputs, ... }:
|
{ inputs, config, lib, ... }:
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = lib.mkIf config.swarselsystems.withHomeManager {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = inputs; # used mainly for inputs.self
|
extraSpecialArgs = inputs; # used mainly for inputs.self
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue