From 05ea1b46c7e35d5960a2d8aa34adbd8649087d2e Mon Sep 17 00:00:00 2001 From: Kopatz <7265381+Kropatz@users.noreply.github.com> Date: Mon, 11 Dec 2023 21:46:42 +0100 Subject: [PATCH] more reorganizing --- flake.nix | 8 ++++++++ home-manager/hyprland-settings.nix | 6 +++--- modules/graphical/hyprland.nix | 10 +++++----- systems/laptop/userdata.nix | 1 - systems/pc/configuration.nix | 3 +++ systems/pc/userdata.nix | 4 +--- systems/server/userdata.nix | 1 - systems/userdata-default.nix | 4 +--- users/anon.nix | 2 +- users/kopatz.nix | 1 + users/option.nix | 19 +++++++++++++++++++ 11 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 users/option.nix diff --git a/flake.nix b/flake.nix index 801b1c9..aabd45a 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,7 @@ modules = [ ### User specific ### ./users/anon.nix + ./users/option.nix ### System sepecific ### ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ./systems/server/configuration.nix @@ -99,7 +100,10 @@ inherit inputs ; }; modules = [ + ### User specific ### + ./users/option.nix ./users/kopatz.nix + ### System modules ### ./modules/graphical/plasma.nix ./modules/graphical/hyprland.nix ./modules/graphical/emulators.nix @@ -138,6 +142,8 @@ inherit inputs; }; modules = [ + ### User specific ### + ./users/option.nix ./users/kopatz.nix ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) # Todo: refactor file layout @@ -168,6 +174,8 @@ inherit inputs ; }; modules = [ + ### User specific ### + ./users/option.nix ./users/kopatz.nix ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ./laptop/configuration.nix diff --git a/home-manager/hyprland-settings.nix b/home-manager/hyprland-settings.nix index f68d410..ed5e46b 100644 --- a/home-manager/hyprland-settings.nix +++ b/home-manager/hyprland-settings.nix @@ -1,4 +1,4 @@ -{ user, pkgs, vars, ... }: +{ user, pkgs, layout, variant, ... }: { home-manager.users.${user} = { programs.swaylock.enable = true; @@ -33,8 +33,8 @@ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input = { - kb_layout = vars.layout; - kb_variant = vars.variant; + kb_layout = layout; + kb_variant = variant; kb_model = ""; kb_options = ""; kb_rules = ""; diff --git a/modules/graphical/hyprland.nix b/modules/graphical/hyprland.nix index 5a745a6..7f5df9d 100644 --- a/modules/graphical/hyprland.nix +++ b/modules/graphical/hyprland.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, vars, ... }: +{ config, pkgs, lib, inputs, ... }: let patchedWaybar = pkgs.waybar.overrideAttrs (oldAttrs: { @@ -11,14 +11,14 @@ let in { imports = [ - (import ../../home-manager/hyprland-settings.nix ({ user="${vars.user}"; pkgs = pkgs; inherit vars; })) + (import ../../home-manager/hyprland-settings.nix ({ user="${config.mainUser.name}"; pkgs = pkgs; layout = config.mainUser.layout; variant = config.mainUser.variant; })) ]; services.xserver = { - layout = vars.layout; - xkbVariant = vars.variant; + layout = config.mainUser.layout; + xkbVariant = config.mainUser.variant; enable = true; - displayManager = lib.mkIf (!config.services.xserver.displayManager.gdm.enable) { + displayManager = lib.mkIf (!config.services.xserver.displayManager.gdm.enable) { sddm.enable = true; }; }; diff --git a/systems/laptop/userdata.nix b/systems/laptop/userdata.nix index c870df2..f949c29 100644 --- a/systems/laptop/userdata.nix +++ b/systems/laptop/userdata.nix @@ -3,5 +3,4 @@ ipv4 = "192.168.0.4"; dns = "192.168.0.6"; wm = "gnome-shell"; - user = "kopatz"; } diff --git a/systems/pc/configuration.nix b/systems/pc/configuration.nix index f89929b..a760fb4 100644 --- a/systems/pc/configuration.nix +++ b/systems/pc/configuration.nix @@ -10,6 +10,9 @@ ./hardware-configuration.nix ]; + mainUser.layout = "de"; + mainUser.variant = "us"; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/systems/pc/userdata.nix b/systems/pc/userdata.nix index ec8cb39..604dc9d 100644 --- a/systems/pc/userdata.nix +++ b/systems/pc/userdata.nix @@ -1,6 +1,4 @@ { - layout = "de"; - variant = "us"; - user = "kopatz"; + } diff --git a/systems/server/userdata.nix b/systems/server/userdata.nix index 6d3e712..1a0f376 100644 --- a/systems/server/userdata.nix +++ b/systems/server/userdata.nix @@ -4,7 +4,6 @@ dns = "127.0.0.1"; wireguardIp = "192.168.2.1"; wm = "startplasma-x11"; - user = "anon"; udpRanges = [ #{ # from = 52000; diff --git a/systems/userdata-default.nix b/systems/userdata-default.nix index 25a91b0..0db3279 100644 --- a/systems/userdata-default.nix +++ b/systems/userdata-default.nix @@ -1,5 +1,3 @@ { - layout = "de"; - variant = ""; - user = "kopatz"; + } diff --git a/users/anon.nix b/users/anon.nix index e18747a..2ed63ea 100644 --- a/users/anon.nix +++ b/users/anon.nix @@ -8,7 +8,7 @@ in (import ../home-manager/direnv.nix ({ user="${user}"; pkgs = pkgs; })) (import ../home-manager/zsh.nix ({ user="${user}"; pkgs = pkgs; })) ]; - vars.user = user; + mainUser.name = user; home-manager = { useGlobalPkgs = true; diff --git a/users/kopatz.nix b/users/kopatz.nix index b1c223a..7ae19d3 100644 --- a/users/kopatz.nix +++ b/users/kopatz.nix @@ -12,6 +12,7 @@ in (import ../home-manager/lf.nix ({ user="${user}"; pkgs = pkgs; })) ]; + mainUser.name = user; home-manager = { useGlobalPkgs = true; extraSpecialArgs = { diff --git a/users/option.nix b/users/option.nix new file mode 100644 index 0000000..fef3480 --- /dev/null +++ b/users/option.nix @@ -0,0 +1,19 @@ +{lib, config, pkgs, ...}: +{ + options.mainUser = { + name = lib.mkOption { + default = "mainuser"; + description = '' + username + ''; + }; + layout = lib.mkOption { + default = "de"; + description = "keyboard layout"; + }; + variant = lib.mkOption { + default = ""; + description = "keyboard variant"; + }; + }; +}