diff --git a/flake.nix b/flake.nix index d6ba521..9ddc8a0 100644 --- a/flake.nix +++ b/flake.nix @@ -84,18 +84,20 @@ ]; specialArgs = { ## Custom variables (e.g. ip, interface, etc) - vars = (import ./systems/server/userdata.nix); + vars = import ./systems/userdata-default.nix // import ./systems/server/userdata.nix; inherit inputs ; }; }; nixosConfigurations."kop-pc" = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { + vars = import ./systems/userdata-default.nix // import ./systems/pc/userdata.nix; inherit inputs ; }; modules = [ ./users/kopatz.nix ./modules/graphical/plasma.nix + ./modules/graphical/hyprland.nix ./modules/graphical/shared.nix ./modules/hardware/nvidia.nix ./modules/hardware/ssd.nix @@ -123,13 +125,14 @@ inherit system; specialArgs = { ## Custom variables (e.g. ip, interface, etc) - vars = (import ./systems/laptop/userdata.nix); + vars = import ./systems/userdata-default.nix // import ./systems/laptop/userdata.nix; inherit inputs; }; modules = [ ./users/kopatz.nix ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) # Todo: refactor file layout + ./modules/graphical/hyprland.nix ./modules/graphical/shared.nix ./laptop/configuration.nix ./modules/virt-manager.nix diff --git a/laptop/configuration.nix b/laptop/configuration.nix index 8eb3111..057504b 100644 --- a/laptop/configuration.nix +++ b/laptop/configuration.nix @@ -5,7 +5,6 @@ imports = [ ./main.nix - ./hyperland.nix ./gnome.nix ]; diff --git a/laptop/hyperland.nix b/modules/graphical/hyprland.nix similarity index 96% rename from laptop/hyperland.nix rename to modules/graphical/hyprland.nix index 9643993..74ea9c2 100644 --- a/laptop/hyperland.nix +++ b/modules/graphical/hyprland.nix @@ -1,17 +1,19 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, inputs, vars, ... }: let patchedWaybar = pkgs.waybar.overrideAttrs (oldAttrs: { mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; }); in - { services.xserver = { - layout = "at"; - xkbVariant = ""; + layout = vars.layout; + xkbVariant = vars.variant; enable = true; + displayManager = lib.mkIf (!config.services.xserver.displayManager.gdm.enable) { + sddm.enable = true; + }; }; environment.sessionVariables = { @@ -19,6 +21,7 @@ in #WLR_NO_HARDWARE_CURSORS = "1"; # Hint electron apps to use wayland NIXOS_OZONE_WL = "1"; + WLR_NO_HARDWARE_CURSORS="1"; WLR_DRM_DEVICES = "/dev/dri/card0"; }; @@ -32,19 +35,13 @@ in programs.hyprland = { enable = true; - nvidiaPatches = true; + enableNvidiaPatches = true; xwayland.enable = true; }; home-manager.users.kopatz = { #systemd.user.services.waybar.Service.ExecStart = lib.mkForce "${pkgs.waybar}/bin/waybar -b 0"; - gtk = { - enable = true; - theme = { - name = "palenight"; - package = pkgs.palenight-theme; - }; - }; + wayland.windowManager.hyprland = { enable = true; settings = { @@ -71,8 +68,8 @@ in # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input = { - kb_layout = "de"; - kb_variant = ""; + kb_layout = vars.layout; + kb_variant = vars.variant; kb_model = ""; kb_options = ""; kb_rules = ""; diff --git a/systems/pc/userdata.nix b/systems/pc/userdata.nix new file mode 100644 index 0000000..b46c6a0 --- /dev/null +++ b/systems/pc/userdata.nix @@ -0,0 +1,5 @@ + +{ + layout = "de"; + variant = "us"; +} diff --git a/systems/userdata-default.nix b/systems/userdata-default.nix new file mode 100644 index 0000000..31e8ef9 --- /dev/null +++ b/systems/userdata-default.nix @@ -0,0 +1,4 @@ +{ + layout = "de"; + variant = ""; +} diff --git a/users/kopatz.nix b/users/kopatz.nix index ac8a7f9..bb67028 100644 --- a/users/kopatz.nix +++ b/users/kopatz.nix @@ -19,6 +19,18 @@ in }; useUserPackages = true; users.${user} = { + gtk = { + enable = true; + theme = { + name = "palenight"; + package = pkgs.palenight-theme; + }; + cursorTheme = { + package = pkgs.libsForQt5.breeze-gtk; + name = "Breeze-gtk"; + }; + }; + programs.zsh = { enable = true; enableCompletion = true;