diff --git a/flake.nix b/flake.nix index 6e40cfe..5e5654c 100644 --- a/flake.nix +++ b/flake.nix @@ -28,13 +28,6 @@ pkgs = nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { - dell-laptop = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./hosts/dell-laptop - ./users/seb - ]; - }; seb-desktop = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ @@ -42,6 +35,13 @@ ./users/seb ]; }; + dell-laptop = nixpkgs.lib.nixosSystem { + specialArgs = {inherit inputs;}; + modules = [ + ./hosts/dell-laptop + "${./.}/users/seb/@dell-laptop.nix" + ]; + }; }; formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra.overrideAttrs { diff --git a/modules/home/de/default.nix b/modules/home/de/default.nix index ad33b0d..d30ae75 100644 --- a/modules/home/de/default.nix +++ b/modules/home/de/default.nix @@ -9,10 +9,22 @@ in { imports = [./qtile.nix]; options.myConfig.de = { + theming.enable = lib.mkEnableOption ""; + wallpaper = lib.mkOption { type = lib.types.path; }; - theming.enable = lib.mkEnableOption ""; + + widget = { + backlight = { + enable = lib.mkEnableOption ""; + device = lib.mkOption { + type = lib.types.str; + }; + }; + battery.enable = lib.mkEnableOption ""; + }; + tray = { syncthing.enable = lib.mkEnableOption ""; networkmanager.enable = lib.mkEnableOption ""; diff --git a/modules/home/de/qtile.nix b/modules/home/de/qtile.nix index 236a7b9..ab9449e 100644 --- a/modules/home/de/qtile.nix +++ b/modules/home/de/qtile.nix @@ -3,10 +3,12 @@ pkgs, lib, ... -}: { +}: let + cfg = config.myConfig.de; +in { options.myConfig.de.qtile.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.de.qtile.enable { + config = lib.mkIf cfg.qtile.enable { home.packages = [ # Widget dependencies pkgs.python311Packages.iwlib @@ -18,7 +20,7 @@ pkgs.brightnessctl ]; - home.file.".background-image".source = config.myConfig.de.wallpaper; + home.file.".background-image".source = cfg.wallpaper; xsession.enable = true; @@ -34,7 +36,22 @@ services.dunst.enable = true; - xdg.configFile."qtile/config.py".text = '' + xdg.configFile."qtile/config.py".text = let + backlightWidget = + if cfg.widget.backlight.enable + then '' + widget.Sep(), + widget.Backlight(fmt="󰃠 {}", backlight_name='${cfg.widget.backlight.device}'), + '' + else ""; + batteryWidget = + if cfg.widget.battery.enable + then '' + widget.Sep(), + widget.Battery(format="󰁹 {percent:2.0%}"), + '' + else ""; + in '' import os import subprocess @@ -160,10 +177,8 @@ ]), widget.Sep(), widget.PulseVolume(fmt="󰕾 {}"), - widget.Sep(), - widget.Backlight(fmt="󰃠 {}", backlight_name='amdgpu_bl1'), - widget.Sep(), - widget.Battery(format="󰁹 {percent:2.0%}"), + ${backlightWidget} + ${batteryWidget} ], 26, ), diff --git a/users/seb/@dell-laptop.nix b/users/seb/@dell-laptop.nix new file mode 100644 index 0000000..1c610a3 --- /dev/null +++ b/users/seb/@dell-laptop.nix @@ -0,0 +1,11 @@ +{...}: { + imports = [./default.nix]; + + home-manager.users.seb.myConfig.de.widget = { + backlight = { + enable = true; + device = "amdgpu_bl1"; + }; + battery.enable = true; + }; +}