From 195e32407441033407a6ea7ef531133c8e2bedb0 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:00:26 +0000 Subject: [PATCH 01/13] stylix: add template for application testbeds --- stylix/testbed.nix | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/stylix/testbed.nix b/stylix/testbed.nix index cbfaffcb..a2ad98dc 100644 --- a/stylix/testbed.nix +++ b/stylix/testbed.nix @@ -25,6 +25,62 @@ let }; }; + applicationModule = { config, lib, ... }: { + options.stylix.testbed.application = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to enable a standard configuration for testing individual + applications. + + This will automatically log in as the `${username}` user, then launch + the application from its desktop entry. + + This is currently based on GNOME, but the specific desktop environment + used may change in the future. + ''; + }; + + name = lib.mkOption { + type = lib.types.str; + description = '' + The name of the desktop entry for the application, without the + `.desktop` extension. + ''; + }; + + package = lib.mkOption { + type = lib.types.package; + description = '' + The application being tested. + ''; + }; + }; + + config = lib.mkIf config.stylix.testbed.application.enable { + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + services.displayManager.autoLogin = { + enable = true; + user = username; + }; + + # Disable the GNOME tutorial which pops up on first login. + environment.gnome.excludePackages = [ pkgs.gnome-tour ]; + + environment.systemPackages = [ + (pkgs.makeAutostartItem { + inherit (config.stylix.testbed.application) name package; + }) + ]; + }; + }; + autoload = builtins.concatLists (lib.mapAttrsToList (name: _: @@ -47,6 +103,7 @@ let modules = [ commonModule + applicationModule inputs.self.nixosModules.stylix inputs.home-manager.nixosModules.home-manager testbed.module From 6c67f75101679ce3c7d415995e090c61944e3bed Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:00:44 +0000 Subject: [PATCH 02/13] firefox: add testbed --- modules/firefox/testbed.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 modules/firefox/testbed.nix diff --git a/modules/firefox/testbed.nix b/modules/firefox/testbed.nix new file mode 100644 index 00000000..770c5901 --- /dev/null +++ b/modules/firefox/testbed.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +let package = pkgs.firefox; + +in { + stylix.testbed.application = { + enable = true; + name = "firefox"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.firefox = { + enable = true; + inherit package; + profiles.stylix.isDefault = true; + }; + + stylix.targets.firefox.profileNames = [ "stylix" ]; + }]; +} From 146d92a210743ca0dcdc43a1010ae11a0249a90d Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:00:55 +0000 Subject: [PATCH 03/13] vscode: add testbed --- modules/vscode/testbed.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 modules/vscode/testbed.nix diff --git a/modules/vscode/testbed.nix b/modules/vscode/testbed.nix new file mode 100644 index 00000000..671fa52d --- /dev/null +++ b/modules/vscode/testbed.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +# We are using VSCodium because VSCode is an unfree package +let package = pkgs.vscodium; + +in { + stylix.testbed.application = { + enable = true; + name = "codium"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.vscode = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From 2ce89d2821fbb6ef269cad5fdc7c1939e6a0e2b1 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:05:26 +0000 Subject: [PATCH 04/13] alacritty: add testbed --- modules/alacritty/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/alacritty/testbed.nix diff --git a/modules/alacritty/testbed.nix b/modules/alacritty/testbed.nix new file mode 100644 index 00000000..acc8d81c --- /dev/null +++ b/modules/alacritty/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.alacritty; + +in { + stylix.testbed.application = { + enable = true; + name = "Alacritty"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.alacritty = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From 8eb2da8d502d66e4660049254fec82e3e3e14c19 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:14:14 +0000 Subject: [PATCH 05/13] chromium: add testbed --- modules/chromium/testbed.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 modules/chromium/testbed.nix diff --git a/modules/chromium/testbed.nix b/modules/chromium/testbed.nix new file mode 100644 index 00000000..31475acd --- /dev/null +++ b/modules/chromium/testbed.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +let package = pkgs.chromium; + +in { + stylix.testbed.application = { + enable = true; + name = "chromium-browser"; + inherit package; + }; + + environment.systemPackages = [ package ]; +} \ No newline at end of file From 06218e77d01569881ec53f1ba5103b6b5e2ceada Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:19:05 +0000 Subject: [PATCH 06/13] emacs: add testbed --- modules/emacs/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/emacs/testbed.nix diff --git a/modules/emacs/testbed.nix b/modules/emacs/testbed.nix new file mode 100644 index 00000000..c8812d56 --- /dev/null +++ b/modules/emacs/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.emacs; + +in { + stylix.testbed.application = { + enable = true; + name = "emacs"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.emacs = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From 7cd8165fc1ced74a63ff216f1adefdae826d2e2c Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:23:42 +0000 Subject: [PATCH 07/13] foot: add testbed --- modules/foot/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/foot/testbed.nix diff --git a/modules/foot/testbed.nix b/modules/foot/testbed.nix new file mode 100644 index 00000000..da75cb2e --- /dev/null +++ b/modules/foot/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.foot; + +in { + stylix.testbed.application = { + enable = true; + name = "org.codeberg.dnkl.foot"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.foot = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From 7fcf77f1a9b4c849d6c7f742d7c93dd48554dab4 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 18:28:11 +0000 Subject: [PATCH 08/13] gedit: add testbed --- modules/gedit/testbed.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 modules/gedit/testbed.nix diff --git a/modules/gedit/testbed.nix b/modules/gedit/testbed.nix new file mode 100644 index 00000000..c645a31d --- /dev/null +++ b/modules/gedit/testbed.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +let package = pkgs.gedit; + +in { + stylix.testbed.application = { + enable = true; + name = "org.gnome.gedit"; + inherit package; + }; + + environment.systemPackages = [ package ]; +} \ No newline at end of file From 0c162ff5a8474b419ffe5a9509f377b7980eb478 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 20:28:45 +0000 Subject: [PATCH 09/13] kitty: add testbed --- modules/kitty/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/kitty/testbed.nix diff --git a/modules/kitty/testbed.nix b/modules/kitty/testbed.nix new file mode 100644 index 00000000..225ccd62 --- /dev/null +++ b/modules/kitty/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.kitty; + +in { + stylix.testbed.application = { + enable = true; + name = "kitty"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.kitty = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From 491f7b3c93fe37403f033d1efd67ea350732b7e2 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 20:40:49 +0000 Subject: [PATCH 10/13] qutebrowser: add testbed --- modules/qutebrowser/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/qutebrowser/testbed.nix diff --git a/modules/qutebrowser/testbed.nix b/modules/qutebrowser/testbed.nix new file mode 100644 index 00000000..08b3e89e --- /dev/null +++ b/modules/qutebrowser/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.qutebrowser; + +in { + stylix.testbed.application = { + enable = true; + name = "org.qutebrowser.qutebrowser"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.qutebrowser = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From efb0e6f59d0b8df5539acb239cd757402ba845b9 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 20:52:26 +0000 Subject: [PATCH 11/13] vesktop: add testbed --- modules/vesktop/testbed.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 modules/vesktop/testbed.nix diff --git a/modules/vesktop/testbed.nix b/modules/vesktop/testbed.nix new file mode 100644 index 00000000..68b8c3e0 --- /dev/null +++ b/modules/vesktop/testbed.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +let package = pkgs.vesktop; + +in { + stylix.testbed.application = { + enable = true; + name = "vesktop"; + inherit package; + }; + + environment.systemPackages = [ package ]; +} \ No newline at end of file From 6741c2ef6cb881acaf6904c6dc1a6a5cd181994f Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 20:56:12 +0000 Subject: [PATCH 12/13] wezterm: add testbed --- modules/wezterm/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/wezterm/testbed.nix diff --git a/modules/wezterm/testbed.nix b/modules/wezterm/testbed.nix new file mode 100644 index 00000000..6c7f45f2 --- /dev/null +++ b/modules/wezterm/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.wezterm; + +in { + stylix.testbed.application = { + enable = true; + name = "org.wezfurlong.wezterm"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.wezterm = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file From defb43d450dfc472682e64749334bd6f9ade91a5 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 8 Nov 2024 21:00:50 +0000 Subject: [PATCH 13/13] zathura: add testbed --- modules/zathura/testbed.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/zathura/testbed.nix diff --git a/modules/zathura/testbed.nix b/modules/zathura/testbed.nix new file mode 100644 index 00000000..7e61e507 --- /dev/null +++ b/modules/zathura/testbed.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let package = pkgs.zathura; + +in { + stylix.testbed.application = { + enable = true; + name = "org.pwmt.zathura"; + inherit package; + }; + + home-manager.sharedModules = [{ + programs.zathura = { + enable = true; + inherit package; + }; + }]; +} \ No newline at end of file