diff --git a/flake.lock b/flake.lock index 9a381fb9d..d86135f54 100644 --- a/flake.lock +++ b/flake.lock @@ -42,6 +42,33 @@ "type": "github" } }, + "ctrl-panel": { + "inputs": { + "crane": [ + "givc", + "crane" + ], + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1728630644, + "narHash": "sha256-BgBj/+oLuVEN6w03sZjTvYLL61QIAM90lQ92fvre46U=", + "owner": "tiiuae", + "repo": "ghaf-ctrl-panel", + "rev": "a6dd4f04a2e9d26c0d4f835545b043dac5fd0a63", + "type": "github" + }, + "original": { + "owner": "tiiuae", + "repo": "ghaf-ctrl-panel", + "type": "github" + } + }, "devshell": { "inputs": { "nixpkgs": [ @@ -490,6 +517,7 @@ }, "root": { "inputs": { + "ctrl-panel": "ctrl-panel", "devshell": "devshell", "disko": "disko", "flake-compat": "flake-compat", diff --git a/flake.nix b/flake.nix index fce8c7acf..5cd075fa8 100644 --- a/flake.nix +++ b/flake.nix @@ -156,6 +156,15 @@ pre-commit-hooks-nix.follows = "git-hooks-nix"; }; }; + + ctrl-panel = { + url = "github:tiiuae/ghaf-ctrl-panel"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "flake-utils"; + crane.follows = "givc/crane"; + }; + }; }; outputs = diff --git a/modules/common/services/desktop.nix b/modules/common/services/desktop.nix index 5917d1d26..f6d006e08 100644 --- a/modules/common/services/desktop.nix +++ b/modules/common/services/desktop.nix @@ -209,6 +209,12 @@ in path = "${pkgs.givc-cli}/bin/givc-cli ${cliArgs} reboot"; icon = "${pkgs.icon-pack}/system-reboot.svg"; } + + { + name = "Control panel"; + path = "${pkgs.ctrl-panel}/bin/ctrl-panel"; + icon = "${pkgs.icon-pack}/utilities-tweak-tool.svg"; + } ] ++ optionals config.ghaf.reference.programs.windows-launcher.enable [ { diff --git a/modules/hardware/flake-module.nix b/modules/hardware/flake-module.nix index 620daa85d..71a2a92bf 100644 --- a/modules/hardware/flake-module.nix +++ b/modules/hardware/flake-module.nix @@ -9,7 +9,14 @@ ./x86_64-generic ./laptop.nix ./common - { nixpkgs.overlays = [ inputs.ghafpkgs.overlays.default ]; } + { + nixpkgs.overlays = [ + inputs.ghafpkgs.overlays.default + (_final: prev: { + ctrl-panel = inputs.ctrl-panel.packages.${prev.stdenv.hostPlatform.system}.default; + }) + ]; + } ]; hw-x86_64-generic.imports = [ ./definition.nix diff --git a/modules/microvm/virtualization/microvm/guivm.nix b/modules/microvm/virtualization/microvm/guivm.nix index ef0ce23b9..28121684e 100644 --- a/modules/microvm/virtualization/microvm/guivm.nix +++ b/modules/microvm/virtualization/microvm/guivm.nix @@ -127,6 +127,7 @@ let pkgs.pamixer pkgs.eww ] + ++ [ pkgs.ctrl-panel ] ++ (lib.optional ( config.ghaf.profiles.debug.enable && config.ghaf.virtualization.microvm.idsvm.mitmproxy.enable ) pkgs.mitmweb-ui) diff --git a/packages/icon-pack/default.nix b/packages/icon-pack/default.nix index d7dde8811..ad92d3d62 100644 --- a/packages/icon-pack/default.nix +++ b/packages/icon-pack/default.nix @@ -34,6 +34,7 @@ let "utilities-terminal.svg" "yast-vpn.svg" "system-file-manager.svg" + "utilities-tweak-tool.svg" ]; in runCommand "icon-pack"