Change:
Project description Pantheon Tweaks is a Switchboard plug allowing users to somewhat tweak Pantheon (elementary OS's DE) settings of the more hidden kind, not normally available from Switchboard. As NixOS has Pantheon packaged, it might be of use in Nixpkgs. Metadata homepage URL: source URL: license: platforms: same as Pantheon Depending on Pantheon version currently in Nixpkgs, the predecessor elementary-tweaks, also GPLv3, might be of more use:
As I maintain Pantheon in NixOS, I approve of this being packaged in the future, but not , because it's archived and IIRC I denied that .
Then we should probably do it once Pantheon in NixOS advances to whatever version elementary OS 6 Odin will have - this'll probably happen once elementary OS 6 will get released.
Ah yes, the repo says "Pantheon Tweaks is currently only supported on elementary OS Odin" :+1:
Did some initial work for this (), would you like to try that? Will need Pantheon 6 () and following line in your NixOS configuration file: Update: I will move this out from the pantheon namespace when creating the PR due to reasons below.
Did some initial work for this great! would you like to try that? of course works great. only the force darkmode did not work in minder program. haven't tested more... ! ! maybe it could be enabled by an option like ? So it's consistent with other options like .
Tested 1.13.1 on both elementary OS (installed via appcenter) and NixOS (btw minder in Nixpkgs seems out-of-date, just opened a PR: ), I guess this should be an issue to minder, as minder is trying to read information from of granite (, ), so it should respect settings from switchboard-plug-pantheon-shell, while what pantheon-tweaks does is (I guess) setting under you gtk config file and I am not sure how handle this. You can check this with: ! I am not sure as this is not an official part of Pantheon. I guess it should be okay to do this.
I am not sure as this is not an official part of Pantheon. yes, that is a concern, but we can make that clear in the description do you think it is acceptable to enable a third-party component (e.g. pantheon-tweaks) with an option like if we clarify that it is third-party in the description, which is for example displayed at the or in the documentation?
I would not recommend packaging this tweaks app. It regularly breaks since it references gsettings that aren't considered API. That's just my personal opinion though I'm not familiar with NixOS options or what that means so I can't really offer an opinion there
thanks for your opinion! the program exists and people want to use it and we at nixos want to empower users to do what they want, even if the choices could be considered bad, like installing proprietary software. that's why it's considered for advanced users. you are responsible for the choices you make and you can end up with a broken system, but it's easy to roll back to a working state. experimenting is encouraged So i think it's fine for us to offer the package, but we can clarify that "it's not recommended by elementary because it regularly breaks". I'm not familiar with NixOS options or what that means so I can't really offer an opinion there i try to explain quickly: on nixos the whole system is configured by one (or multiple) config. file. as a consequence is read-only if you want to use pantheon, you add this line to the config: that sets up pantheon with default settings. there are options to change those default, like to remove default apps you don't need... so the question here is, all current options with in the name relate to official pantheon software, but would relate to third party software, which is not visible from the name. so it might not be 100% clear all the time so my suggestion is to clarify it at least in the description of the option that it is third-party and not recommended the concern is that it could devaluate you branding like the name "pantheon"
ah okay yeah. If possible then it would great if that was not namespaced with actual parts of pantheon and instead namespaced the way you would hand extensions or apps if there's no special convention for extensions. Thanks!
i suggest then

Discussion:
<link linkend="opt-services.touchegg.enable">services.touchegg</link>. </para> </listitem> <ins> <listitem> <para> <link xlink:href="https://github.com/pantheon-tweaks/pantheon-tweaks">pantheon-tweaks</link>, an unofficial system settings panel for Pantheon. Available as <link linkend="opt-programs.pantheon-tweaks.enable">programs.pantheon-tweaks</link>. </para> </listitem> </ins> </itemizedlist> </section> <section xml:id="sec-release-21.11-incompatibilities">

- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable). <ins> - [pantheon-tweaks](https://github.com/pantheon-tweaks/pantheon-tweaks), an unofficial system settings panel for Pantheon. Available as [programs.pantheon-tweaks](#opt-programs.pantheon-tweaks.enable). </ins> ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}

./programs/npm.nix ./programs/noisetorch.nix ./programs/oblogout.nix <ins> ./programs/pantheon-tweaks.nix </ins> ./programs/partition-manager.nix ./programs/plotinus.nix ./programs/proxychains.nix

<ins> { config, lib, pkgs, ... }: with lib; { meta = { maintainers = teams.pantheon.members; }; ###### interface options = { programs.pantheon-tweaks.enable = mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon"; }; ###### implementation config = mkIf config.programs.pantheon-tweaks.enable { services.xserver.desktopManager.pantheon.extraSwitchboardPlugs = [ pkgs.pantheon-tweaks ]; }; } </ins>

<ins> { lib , stdenv , fetchFromGitHub , nix-update-script , meson , ninja , pkg-config , python3 , vala , gtk3 , libgee , pantheon }: stdenv.mkDerivation rec { pname = "pantheon-tweaks"; version = "1.0.1"; src = fetchFromGitHub { owner = "pantheon-tweaks"; repo = pname; rev = version; sha256 = "sha256-tAfDxX/RD7pO5PN/LaZ92Cj/iZtBI/EHb0+pORfYnPM="; }; patches = [ ./fix-paths.patch ]; nativeBuildInputs = [ meson ninja pkg-config python3 vala ]; buildInputs = [ gtk3 libgee pantheon.granite pantheon.switchboard ]; postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py ''; passthru = { updateScript = nix-update-script { attrPath = pname; }; }; meta = with lib; { description = "Unofficial system settings panel for Pantheon"; longDescription = '' Unofficial system settings panel for Pantheon that lets you easily and safely customise your desktop's appearance. Use programs.pantheon-tweaks.enable to add this to your switchboard. ''; homepage = "https://github.com/pantheon-tweaks/pantheon-tweaks"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = teams.pantheon.members; }; } </ins>

<ins> diff --git a/src/Settings/ThemeSettings.vala b/src/Settings/ThemeSettings.vala index 589121b..8e9c81e 100644 --- a/src/Settings/ThemeSettings.vala +++ b/src/Settings/ThemeSettings.vala @@ -29,7 +29,7 @@ public class PantheonTweaks.ThemeSettings { var themes = new Gee.ArrayList<string> (); string[] dirs = { -            "/usr/share/" + path + "/", +            "/run/current-system/sw/share/" + path + "/", Environment.get_home_dir () + "/." + path + "/", Environment.get_home_dir () + "/.local/share/" + path + "/"}; </ins>

pamtester = callPackage ../tools/security/pamtester { }; <ins> pantheon-tweaks = callPackage ../applications/system/pantheon-tweaks { }; </ins> paperless-ng = callPackage ../applications/office/paperless-ng { }; paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };