summaryrefslogtreecommitdiff
path: root/modules/nixos/personal/user.nix
diff options
context:
space:
mode:
authorquentin@aristote.fr <quentin@aristote.fr>2024-05-19 22:41:47 +0200
committerquentin@aristote.fr <quentin@aristote.fr>2024-05-19 22:41:47 +0200
commit8571c0f972a89f74c83d8c9d2424adfead9c21f9 (patch)
tree3c45263cb34eb8ef2026ff879f5791027853ed7e /modules/nixos/personal/user.nix
parent3b22fe8f372eb8f441a797d4e04805ed70d406bb (diff)
home: stylix: disable emacs target
Diffstat (limited to 'modules/nixos/personal/user.nix')
-rw-r--r--modules/nixos/personal/user.nix78
1 files changed, 44 insertions, 34 deletions
diff --git a/modules/nixos/personal/user.nix b/modules/nixos/personal/user.nix
index 78c6765..b93072c 100644
--- a/modules/nixos/personal/user.nix
+++ b/modules/nixos/personal/user.nix
@@ -1,10 +1,13 @@
-{ config, lib, ... }@extraArgs:
-
-let
+{
+ config,
+ lib,
+ ...
+} @ extraArgs: let
cfg = config.personal.user;
importedHomeManager = extraArgs ? home-manager;
in {
- imports = lib.optional importedHomeManager
+ imports =
+ lib.optional importedHomeManager
extraArgs.home-manager.nixosModules.home-manager;
options.personal.user = {
@@ -13,39 +16,46 @@ in {
type = lib.types.str;
default = "qaristote";
};
- homeManager = { enable = lib.mkEnableOption "home-manager"; };
+ homeManager = {enable = lib.mkEnableOption "home-manager";};
};
config = lib.mkIf cfg.enable ({
- users.users."${cfg.name}" = {
- isNormalUser = true;
- extraGroups = [ "wheel" ] ++ lib.optional config.sound.enable "sound"
- ++ lib.optional config.networking.networkmanager.enable
- "networkmanager";
- openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK4wGbl3++lqCjLUhoRyABBrVEeNhIXYO4371srkRoyq qaristote@latitude-7490"
- ];
- };
-
- assertions = let
- missingArgAssertion = name: {
- assertion = lib.hasAttr name extraArgs || !cfg.homeManager.enable;
- message =
- "attribute ${name} missing: add it in lib.nixosSystem's specialArgs, or set config.personal.user.homeManager.enable to false";
+ users.users."${cfg.name}" = {
+ isNormalUser = true;
+ extraGroups =
+ ["wheel"]
+ ++ lib.optional config.sound.enable "sound"
+ ++ lib.optional config.networking.networkmanager.enable
+ "networkmanager";
+ openssh.authorizedKeys.keys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK4wGbl3++lqCjLUhoRyABBrVEeNhIXYO4371srkRoyq qaristote@latitude-7490"
+ ];
};
- in [
- (missingArgAssertion "homeModules")
- (missingArgAssertion "home-manager")
- ];
- } // lib.optionalAttrs (importedHomeManager && extraArgs ? homeModules) {
- home-manager = lib.mkIf cfg.homeManager.enable {
- users."${cfg.name}".imports = extraArgs.homeModules;
- useGlobalPkgs = lib.mkDefault true;
- useUserPackages = lib.mkDefault true;
- # TODO fix this: only config.personal options seem to be passed (or not ?)
- extraSpecialArgs = (extraArgs.homeSpecialArgs or {}) // {
- osConfig = lib.mkDefault config;
+
+ assertions = let
+ missingArgAssertion = name: {
+ assertion = lib.hasAttr name extraArgs || !cfg.homeManager.enable;
+ message = "attribute ${name} missing: add it in lib.nixosSystem's specialArgs, or set config.personal.user.homeManager.enable to false";
+ };
+ in [
+ (missingArgAssertion "homeModules")
+ (missingArgAssertion "home-manager")
+ ];
+ }
+ // lib.optionalAttrs (importedHomeManager && extraArgs ? homeModules) {
+ home-manager = lib.mkIf cfg.homeManager.enable {
+ users."${cfg.name}" = {
+ imports = extraArgs.homeModules;
+ stylix.targets.emacs.enable = false;
+ };
+ useGlobalPkgs = lib.mkDefault true;
+ useUserPackages = lib.mkDefault true;
+ # TODO fix this: only config.personal options seem to be passed (or not ?)
+ extraSpecialArgs =
+ (extraArgs.homeSpecialArgs or {})
+ // {
+ osConfig = lib.mkDefault config;
+ };
};
- };
- });
+ });
}