From 60fba00be909e9fc9a5adfa97227557c1735ec41 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Fri, 4 Oct 2024 01:51:38 +0200 Subject: [PATCH] moved user config back into user file from home file --- hosts/defiant/configuration.nix | 6 ++++-- hosts/horizon/configuration.nix | 8 ++++---- hosts/twilight/configuration.nix | 9 ++++----- users/default.nix | 11 +++++++++-- users/ester/default.nix | 6 +++++- users/ester/home.nix | 13 ++++++------- users/eve/default.nix | 6 +++++- users/eve/home.nix | 14 ++++++-------- users/home.nix | 10 +++++++--- users/leyla/default.nix | 8 +++++++- users/leyla/home.nix | 10 ++-------- users/leyla/packages.nix | 12 +++++++----- users/leyla/vscode.nix | 8 +++++--- 13 files changed, 71 insertions(+), 50 deletions(-) diff --git a/hosts/defiant/configuration.nix b/hosts/defiant/configuration.nix index bbe9601..07017bd 100644 --- a/hosts/defiant/configuration.nix +++ b/hosts/defiant/configuration.nix @@ -14,8 +14,10 @@ ../../enviroments/server ]; - home-manager.users.leyla.config = { - isTerminalUser = true; + nixos.users = { + leyla = { + isTerminalUser = true; + }; }; boot.loader.grub = { diff --git a/hosts/horizon/configuration.nix b/hosts/horizon/configuration.nix index ef042d6..f49e83d 100644 --- a/hosts/horizon/configuration.nix +++ b/hosts/horizon/configuration.nix @@ -14,14 +14,14 @@ ../../enviroments/client ]; - home-manager.users = { - leyla.config = { + nixos.users = { + leyla = { isDesktopUser = true; }; - ester.config = { + ester = { isDesktopUser = true; }; - eve.config = { + eve = { isDesktopUser = true; }; }; diff --git a/hosts/twilight/configuration.nix b/hosts/twilight/configuration.nix index 4de1e5f..0ed47c8 100644 --- a/hosts/twilight/configuration.nix +++ b/hosts/twilight/configuration.nix @@ -13,16 +13,15 @@ ../../enviroments/client ]; - - home-manager.users = { - leyla.config = { + nixos.users = { + leyla = { isDesktopUser = true; hasGPU = true; }; - ester.config = { + ester = { isDesktopUser = true; }; - eve.config = { + eve = { isDesktopUser = true; }; }; diff --git a/users/default.nix b/users/default.nix index ab74274..fd1f6a4 100644 --- a/users/default.nix +++ b/users/default.nix @@ -1,7 +1,14 @@ -{inputs, ...}: { +{ + lib, + config, + ... +}: { imports = [./leyla ./ester ./eve]; users.mutableUsers = false; - home-manager.users = import ./home.nix; + home-manager.users = import ./home.nix { + lib = lib; + config = config; + }; } diff --git a/users/ester/default.nix b/users/ester/default.nix index 61e0d4e..ec5449c 100644 --- a/users/ester/default.nix +++ b/users/ester/default.nix @@ -5,8 +5,12 @@ inputs, ... }: let - cfg = config.home-manager.users.ester; + cfg = config.nixos.users.ester; in { + options.nixos.users.ester = { + isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; + }; + config = { nixpkgs.config.allowUnfree = true; diff --git a/users/ester/home.nix b/users/ester/home.nix index 1d3a2a2..773c13c 100644 --- a/users/ester/home.nix +++ b/users/ester/home.nix @@ -2,16 +2,15 @@ pkgs, lib, config, + osConfig, ... -}: { - options = { - isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; - }; - +}: let + cfg = osConfig.nixos.users.ester; +in { config = { home = { username = "ester"; - homeDirectory = "/home/ester"; + homeDirectory = osConfig.users.users.ester.home; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release @@ -56,7 +55,7 @@ # EDITOR = "emacs"; }; - packages = lib.mkIf config.isDesktopUser ( + packages = lib.mkIf cfg.isDesktopUser ( with pkgs; [ firefox bitwarden diff --git a/users/eve/default.nix b/users/eve/default.nix index 4956dea..46c9a8a 100644 --- a/users/eve/default.nix +++ b/users/eve/default.nix @@ -5,8 +5,12 @@ inputs, ... }: let - cfg = config.home-manager.users.eve; + cfg = config.nixos.users.eve; in { + options.nixos.users.eve = { + isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; + }; + config = { nixpkgs.config.allowUnfree = true; diff --git a/users/eve/home.nix b/users/eve/home.nix index 461458d..0b1d25c 100644 --- a/users/eve/home.nix +++ b/users/eve/home.nix @@ -1,17 +1,15 @@ { pkgs, lib, - config, + osConfig, ... -}: { - options = { - isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; - }; - +}: let + cfg = osConfig.nixos.users.eve; +in { config = { home = { username = "eve"; - homeDirectory = "/home/eve"; + homeDirectory = osConfig.users.users.eve.home; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release @@ -56,7 +54,7 @@ # EDITOR = "emacs"; }; - packages = lib.mkIf config.isDesktopUser ( + packages = lib.mkIf cfg.isDesktopUser ( with pkgs; [ firefox bitwarden diff --git a/users/home.nix b/users/home.nix index 88d6337..d32f2df 100644 --- a/users/home.nix +++ b/users/home.nix @@ -1,5 +1,9 @@ { - leyla = import ./leyla/home.nix; - ester = import ./ester/home.nix; - eve = import ./eve/home.nix; + lib, + config, + ... +}: { + leyla = lib.mkIf (config.nixos.users.leyla.isDesktopUser || config.nixos.users.leyla.isTerminalUser) (import ./leyla/home.nix); + ester = lib.mkIf config.nixos.users.ester.isDesktopUser (import ./ester/home.nix); + eve = lib.mkIf config.nixos.users.eve.isDesktopUser (import ./eve/home.nix); } diff --git a/users/leyla/default.nix b/users/leyla/default.nix index e8baee3..48e3c98 100644 --- a/users/leyla/default.nix +++ b/users/leyla/default.nix @@ -4,8 +4,14 @@ inputs, ... }: let - cfg = config.home-manager.users.leyla; + cfg = config.nixos.users.leyla; in { + options.nixos.users.leyla = { + isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; + isTerminalUser = lib.mkEnableOption "install applications intended for terminal use"; + hasGPU = lib.mkEnableOption "installs gpu intensive programs"; + }; + config = { nixpkgs.config.allowUnfree = true; diff --git a/users/leyla/home.nix b/users/leyla/home.nix index ac513de..14f4e8b 100644 --- a/users/leyla/home.nix +++ b/users/leyla/home.nix @@ -1,25 +1,19 @@ { lib, - config, pkgs, + osConfig, ... }: { imports = [ ./packages.nix ]; - options = { - isDesktopUser = lib.mkEnableOption "install applications intended for desktop use"; - isTerminalUser = lib.mkEnableOption "install applications intended for terminal use"; - hasGPU = lib.mkEnableOption "installs gpu intensive programs"; - }; - config = { # Home Manager needs a bit of information about you and the paths it should # manage. home = { username = "leyla"; - homeDirectory = "/home/leyla"; + homeDirectory = osConfig.users.users.leyla.home; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release diff --git a/users/leyla/packages.nix b/users/leyla/packages.nix index bf3589c..0b40333 100644 --- a/users/leyla/packages.nix +++ b/users/leyla/packages.nix @@ -5,14 +5,16 @@ pkgs, inputs, ... -}: { +}: let + cfg = osConfig.nixos.users.leyla; +in { imports = [ ./vscode.nix ./firefox.nix ]; home = { - packages = lib.mkIf (config.isDesktopUser || config.isTerminalUser) ( + packages = lib.mkIf (cfg.isDesktopUser || cfg.isTerminalUser) ( lib.mkMerge [ ( with pkgs; [ @@ -23,7 +25,7 @@ ] ) ( - lib.mkIf (!config.isTerminalUser) ( + lib.mkIf (!cfg.isTerminalUser) ( with pkgs; [ #foss platforms signal-desktop @@ -42,7 +44,7 @@ onionshare easytag # rhythmbox - (lib.mkIf config.hasGPU obs-studio) + (lib.mkIf cfg.hasGPU obs-studio) # wireshark # rpi-imager # fritzing @@ -51,7 +53,7 @@ discord obsidian steam - (lib.mkIf config.hasGPU davinci-resolve) + (lib.mkIf cfg.hasGPU davinci-resolve) # development tools androidStudioPackages.canary diff --git a/users/leyla/vscode.nix b/users/leyla/vscode.nix index dbb5ae0..a0dd27c 100644 --- a/users/leyla/vscode.nix +++ b/users/leyla/vscode.nix @@ -1,10 +1,12 @@ { lib, - config, + osConfig, pkgs, inputs, ... -}: { +}: let + cfg = osConfig.nixos.users.leyla; +in { nixpkgs = { overlays = [ inputs.nix-vscode-extensions.overlays.default @@ -12,7 +14,7 @@ }; programs = { - bash.shellAliases = lib.mkIf config.isDesktopUser { + bash.shellAliases = lib.mkIf cfg.isDesktopUser { code = "codium"; };