diff --git a/flake.lock b/flake.lock index 5dbcd33059..bf58c99126 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": 1726669894, + "narHash": "sha256-FivTn1qXm9N5BzoKrXBX9HyW0kc1yu9SEWg5FIFZx4E=", + "owner": "tiiuae", + "repo": "ghaf-ctrl-panel", + "rev": "17646c90bf7f59c7f8bfa89ead2f4128647f861d", + "type": "github" + }, + "original": { + "owner": "tiiuae", + "repo": "ghaf-ctrl-panel", + "type": "github" + } + }, "devshell": { "inputs": { "nixpkgs": [ @@ -498,6 +525,7 @@ }, "root": { "inputs": { + "ctrl-panel": "ctrl-panel", "devshell": "devshell", "disko": "disko", "flake-compat": "flake-compat", diff --git a/flake.nix b/flake.nix index 8d005ef24b..5ae9b0d986 100644 --- a/flake.nix +++ b/flake.nix @@ -155,6 +155,15 @@ pre-commit-hooks-nix.follows = "pre-commit-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 5adf3a5928..ee039c28a6 100644 --- a/modules/common/services/desktop.nix +++ b/modules/common/services/desktop.nix @@ -160,6 +160,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/flake-module.nix b/modules/flake-module.nix index ddce352dcc..6f5eac0b13 100644 --- a/modules/flake-module.nix +++ b/modules/flake-module.nix @@ -20,7 +20,13 @@ nixpkgs.overlays = [ inputs.ghafpkgs.overlays.default ]; } ]; - + laptop.imports = [ + ./hardware/definition.nix + ./hardware/x86_64-generic + ./reference/hardware/laptop.nix + ./hardware/common + { nixpkgs.overlays = [ inputs.ghafpkgs.overlays.default ]; } + ]; desktop.imports = [ ./desktop ]; host.imports = [ ./host ]; lanzaboote.imports = [ ./lanzaboote ]; diff --git a/modules/hardware/flake-module.nix b/modules/hardware/flake-module.nix index 620daa85d0..71a2a92bfd 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 ca194c6abb..c188360004 100644 --- a/modules/microvm/virtualization/microvm/guivm.nix +++ b/modules/microvm/virtualization/microvm/guivm.nix @@ -113,6 +113,7 @@ let pkgs.nm-launcher pkgs.pamixer ] + ++ [ inputs.ctrl-panel.packages.${pkgs.system}.default ] ++ (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 d9f9d419b5..47e35006e5 100644 --- a/packages/icon-pack/default.nix +++ b/packages/icon-pack/default.nix @@ -30,6 +30,7 @@ let "thorium-browser.svg" "utilities-terminal.svg" "yast-vpn.svg" + "utilities-tweak-tool.svg" ]; in runCommand "icon-pack"