aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix150
1 files changed, 75 insertions, 75 deletions
diff --git a/flake.nix b/flake.nix
index a4980d9..df7ad4a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
+ };
+ };
+ };
}