diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 150 |
1 files changed, 75 insertions, 75 deletions
@@ -1,85 +1,85 @@ { - description = "WebTray Flake"; + description = "WebTray Flake"; - inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - }; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; - outputs = - { self, nixpkgs }: - let - pkgs = import nixpkgs { system = "x86_64-linux"; }; - in - { - packages.x86_64-linux.default = pkgs.stdenv.mkDerivation { - name = "webtray"; - src = self; - buildPhase = "qmake . && make"; - installPhase = "mkdir -p $out/bin; install -t $out/bin webtray"; + outputs = + { self, nixpkgs }: + let + pkgs = import nixpkgs { system = "x86_64-linux"; }; + in + { + packages.x86_64-linux.default = pkgs.stdenv.mkDerivation { + name = "webtray"; + src = self; + buildPhase = "qmake . && make"; + installPhase = "mkdir -p $out/bin; install -t $out/bin webtray"; - nativeBuildInputs = with pkgs; [ - qt6.wrapQtAppsHook - makeWrapper - ]; + nativeBuildInputs = [ + pkgs.qt6.wrapQtAppsHook + pkgs.makeWrapper + ]; - buildInputs = with pkgs; [ - qt6.qmake - qt6.full - qt6.qtbase - qt6.qtwayland - ]; - }; + buildInputs = with pkgs; [ + pkgs.qt6.qmake + pkgs.qt6.qtwebengine + pkgs.qt6.qtbase + pkgs.qt6.qtwayland + ]; + }; - overlays.default = final: prev: { inherit (self.packages.${prev.system}) webtray; }; + overlays.default = final: prev: { inherit (self.packages.${prev.system}) webtray; }; - nixosModules.default = - { - pkgs, - lib, - config, - ... - }: - { - options.webtray.instances = lib.mkOption { - type = lib.types.attrsOf ( - lib.types.submodule { - options = { - url = lib.mkOption { - description = "URL of the WebTray instance"; - type = lib.types.strMatching "http[s]?://[a-z0-9.]*:?[0-9]*"; - }; - autoStart = lib.mkOption { - description = "WebTray Instances to start on login"; - type = lib.types.bool; - default = true; - }; - openInWindow = lib.mkOption { - description = "Open Instance as Window"; - type = lib.types.bool; - default = false; - }; - }; - } - ); - }; + nixosModules.default = + { + pkgs, + lib, + config, + ... + }: + { + options.webtray.instances = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + url = lib.mkOption { + description = "URL of the WebTray instance"; + type = lib.types.strMatching "http[s]?://[a-z0-9.]*:?[0-9]*"; + }; + autoStart = lib.mkOption { + description = "WebTray Instances to start on login"; + type = lib.types.bool; + default = true; + }; + openInWindow = lib.mkOption { + description = "Open Instance as Window"; + type = lib.types.bool; + default = false; + }; + }; + } + ); + }; - config = { - environment.systemPackages = [ self.packages.${pkgs.system}.default ]; + config = { + environment.systemPackages = [ self.packages.${pkgs.system}.default ]; - systemd.user.services = builtins.mapAttrs (name: value: { - enable = true; - requires = if value.autoStart then [ "tray.target" ] else [ ]; - wantedBy = [ "graphical-session.target" ]; - description = "WebTray Instance for ${name}"; - serviceConfig = { - Type = "simple"; - Restart = "on-failure"; - ExecStart = "${self.packages.${pkgs.system}.default}/bin/webtray ${value.url}${ - if value.openInWindow then " --open-at-startup" else "" - }"; - }; - }) config.webtray.instances; - }; - }; - }; + systemd.user.services = builtins.mapAttrs (name: value: { + enable = true; + requires = if value.autoStart then [ "tray.target" ] else [ ]; + wantedBy = [ "graphical-session.target" ]; + description = "WebTray Instance for ${name}"; + serviceConfig = { + Type = "simple"; + Restart = "on-failure"; + ExecStart = "${self.packages.${pkgs.system}.default}/bin/webtray ${value.url}${ + if value.openInWindow then " --open-at-startup" else "" + }"; + }; + }) config.webtray.instances; + }; + }; + }; } |