d4nj1 / TLPUI

A GTK user interface for TLP written in Python
GNU General Public License v2.0
1.09k stars 83 forks source link

NixOS package #86

Open ciferkey opened 3 years ago

ciferkey commented 3 years ago

I'm looking to build TLPUI (most recent release) on NixOS. It seems the TLPUI build process tries to read your configuration from /etc/tlp.conf during build time (possibly in a test?). This fails on NixOS where the builds are sandboxed.

Is there any way to disable this while building or to provide a parameter during the build for an alternate path for the configuration file?

Here is the stack trace from the build failure:

writing TLPUI.egg-info/PKG-INFO
writing dependency_links to TLPUI.egg-info/dependency_links.txt
writing entry points to TLPUI.egg-info/entry_points.txt
writing top-level names to TLPUI.egg-info/top_level.txt
reading manifest file 'TLPUI.egg-info/SOURCES.txt'
writing manifest file 'TLPUI.egg-info/SOURCES.txt'
running build_ext
Error: cannot read user configuration from /etc/tlp.conf or /etc/default/tlp.
Traceback (most recent call last):
  File "nix_run_setup", line 8, in <module>
    exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
  File "setup.py", line 3, in <module>
    setup(
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
    return distutils.core.setup(**attrs)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 238, in run
    self.run_tests()
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 256, in run_tests
    test = unittest.main(
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 124, in parseArgs
    self._do_discovery(argv[2:])
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 244, in _do_discovery
    self.createTests(from_discovery=True, Loader=Loader)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 154, in createTests
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 349, in discover
    tests = list(self._find_tests(start_dir, pattern))
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 405, in _find_tests
    tests, should_recurse = self._find_test_path(
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 483, in _find_test_path
    tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 55, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/build/source/tlpui/__main__.py", line 11, in <module>
    Gtk.StyleContext.add_provider_for_screen(
TypeError: Argument 0 does not allow None as a value
builder for '/nix/store/qmimb5pixjxijpjsg0bn310ybk6pa2lq-tlpui-1.3.1-5.drv' failed with exit code 1
error: build of '/nix/store/qmimb5pixjxijpjsg0bn310ybk6pa2lq-tlpui-1.3.1-5.drv' failed

Note the "Error: cannot read user configuration from /etc/tlp.conf or /etc/default/tlp."

If you are curious about the NixOS specifics there's more details on my Stack Overflow question.

d4nj1 commented 3 years ago

Hi, I'm currently reafctoring my code and fixing the tests. Runtime information in tests will not be used anymore. This was really a bad behaviour. Will notify you once I commit a fix.

d4nj1 commented 3 years ago

Hi @ciferkey, please try your build with https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.3.1-6 and report back if you still have issues.

Kind regards

ciferkey commented 3 years ago

Thank you for the response. I just reran the build with 1.3.1-6 and I'm getting the same error message:

/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/dist.py:454: UserWarning: Normalizing '1.3.1-6' to '1.3.1.post6'
  warnings.warn(tmpl.format(**locals()))
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing TLPUI.egg-info/PKG-INFO
writing dependency_links to TLPUI.egg-info/dependency_links.txt
writing entry points to TLPUI.egg-info/entry_points.txt
writing top-level names to TLPUI.egg-info/top_level.txt
reading manifest file 'TLPUI.egg-info/SOURCES.txt'
writing manifest file 'TLPUI.egg-info/SOURCES.txt'
running build_ext
Error: cannot read user configuration from /etc/tlp.conf or /etc/default/tlp.
Traceback (most recent call last):
  File "nix_run_setup", line 8, in <module>
d4nj1 commented 3 years ago

Thanks for the fast feedback. I missed the intrinsic settings import in file.py. Will try to fix tomorrow.

d4nj1 commented 3 years ago

Hi @ciferkey, sorry for taking one day longer. It should be fixed in https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.3.1-7 now. Please report back if new issues occur.

ciferkey commented 3 years ago

Hmm unfortunately I'm still getting a similar exception:

xecuting setuptoolsCheckPhase
/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/dist.py:454: UserWarning: Normalizing '1.3.1-7' to '1.3.1.post7'
  warnings.warn(tmpl.format(**locals()))
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing TLPUI.egg-info/PKG-INFO
writing dependency_links to TLPUI.egg-info/dependency_links.txt
writing entry points to TLPUI.egg-info/entry_points.txt
writing top-level names to TLPUI.egg-info/top_level.txt
reading manifest file 'TLPUI.egg-info/SOURCES.txt'
writing manifest file 'TLPUI.egg-info/SOURCES.txt'
running build_ext
/build/source/tlpui/ui_config_objects/gtkentry.py:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
Error: cannot read user configuration from /etc/tlp.conf or /etc/default/tlp.
Traceback (most recent call last):
  File "nix_run_setup", line 8, in <module>
    exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
  File "setup.py", line 4, in <module>
    setup(
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
    return distutils.core.setup(**attrs)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 238, in run
    self.run_tests()
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 256, in run_tests
    test = unittest.main(
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 124, in parseArgs
    self._do_discovery(argv[2:])
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 244, in _do_discovery
    self.createTests(from_discovery=True, Loader=Loader)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/main.py", line 154, in createTests
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 349, in discover
    tests = list(self._find_tests(start_dir, pattern))
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 405, in _find_tests
    tests, should_recurse = self._find_test_path(
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 483, in _find_test_path
    tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/command/test.py", line 55, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/lib/python3.8/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/build/source/tlpui/__main__.py", line 11, in <module>
    Gtk.StyleContext.add_provider_for_screen(
TypeError: Argument 0 does not allow None as a value
builder for '/nix/store/lnpynw35f6gavfsw90w7gr6dvprvdxlc-tlpui-1.3.1-7.drv' failed with exit code 1
error: build of '/nix/store/lnpynw35f6gavfsw90w7gr6dvprvdxlc-tlpui-1.3.1-7.drv' failed
d4nj1 commented 3 years ago

Hi @ciferkey, it seems like some Gtk oder Gdk methods might be deprecated or some library initialization missing. Other than that it seems the nix build is executing the application itself. Why does it do this? It is not possible to run TLPUI without having the right runtime configuration available. Is the nix build definition on Stackoverflow still valid? Could you maybe share what you executed to build tlpui? I think that could speed up debugging for me.

Thanks in advance

d4nj1 commented 3 years ago

Hi @ciferkey, I looked on the web for the error and it seems that Gdk has to be initilizied first. I added Gtk.init() which also calls Gdk.init() and commited in https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.3.1-8. It would be nice if you could test that.

ciferkey commented 3 years ago

Thanks for the follow ups.

Here's the most recent default.nix:

{ lib, fetchFromGitHub, cairo, gobject-introspection, gtk3, python3, python38Packages, tlp, wrapGAppsHook }:

python3.pkgs.buildPythonApplication rec {
  pname = "tlpui";
  version = "1.3.1-8";

  src = fetchFromGitHub {
    owner = "d4nj1";
    repo = "TLPUI";
    rev = "${pname}-${version}";
    sha256 = "0sf2wq66vp62cc6d1v4pgsm45cdxch62104nl3hxb2pjds8xn6lf";
  };

  nativeBuildInputs = [
    cairo
    gobject-introspection
    gtk3
    python38Packages.pygobject3
    python38Packages.pycairo
    tlp
    wrapGAppsHook
  ];

  meta = {
    description = "UI to change TLP configuration files easily while protecting users from setting invalid configuration";
    homepage = "https://github.com/d4nj1/TLPUI";
    license = lib.licenses.gpl2; 

    maintainers = [ lib.maintainers.ciferkey ];
    platforms = lib.platforms.linux;
  };
}

When I run it it now produces:

Finished executing setuptoolsBuildPhase
glibPreInstallPhase
installing
Executing pipInstallPhase
/build/source/dist /build/source
Processing ./TLPUI-1.3.1.post8-py3-none-any.whl
Installing collected packages: TLPUI
Successfully installed TLPUI-1.3.1.post8
/build/source
Finished executing pipInstallPhase
glibPreFixupPhase
giDiscoverSelf
dropIconThemeCache
gappsWrapperArgsHook
post-installation fixup
Wrapping program '/nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8/bin/tlpui'
shrinking RPATHs of ELF executables and libraries in /nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8
strip is /nix/store/b10shv9yqbgps47y0n8x7l7bq8fmp1i6-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8/lib  /nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8/bin
patching script interpreter paths in /nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8
checking for references to /build/ in /nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8...
Rewriting #! /nix/store/a3fc4zqaiak11jks9zd579mz5v0li8bg-bash-4.4-p23/bin/bash -e to #!/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5
Rewriting #!/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5/bin/python3.8 to #!/nix/store/v72cj06nk69cynckz2s12rhar25k1h7v-python3-3.8.5
wrapping `/nix/store/shi82krm70dsfmd05wjj2ahfzggqbi0j-tlpui-1.3.1-8/bin/.tlpui-wrapped'...
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
running install tests
no Makefile or custom buildPhase, doing nothing
pythonCatchConflictsPhase
pythonRemoveBinBytecodePhase
pythonImportsCheckPhase
Executing pythonImportsCheckPhase
setuptoolsCheckPhase
Executing setuptoolsCheckPhase
/nix/store/y7a5rsd9g4nkxizd8mnrmr19z0q67k8x-python3.8-setuptools-47.3.1/lib/python3.8/site-packages/setuptools/dist.py:454: UserWarning: Normalizing '1.3.1-8' to '1.3.1.post8'
  warnings.warn(tmpl.format(**locals()))
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing TLPUI.egg-info/PKG-INFO
writing dependency_links to TLPUI.egg-info/dependency_links.txt
writing entry points to TLPUI.egg-info/entry_points.txt
writing top-level names to TLPUI.egg-info/top_level.txt
reading manifest file 'TLPUI.egg-info/SOURCES.txt'
writing manifest file 'TLPUI.egg-info/SOURCES.txt'
running build_ext
/build/source/tlpui/ui_config_objects/gtkentry.py:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
Error: cannot read user configuration from /etc/tlp.conf or /etc/default/tlp.

(nix_run_setup:142): Gtk-WARNING **: 17:16:01.101: cannot open display:
builder for '/nix/store/m73kxq2srf0ba9gnvifl0g4y1c749k17-tlpui-1.3.1-8.drv' failed with exit code 1
error: build of '/nix/store/m73kxq2srf0ba9gnvifl0g4y1c749k17-tlpui-1.3.1-8.drv' failed

I'm wondering now if the display warning might be related to Wayland? I'll take some more time to experiment but wanted to give you and update first.

d4nj1 commented 3 years ago

Hi @ciferkey, I added a tox.ini file in https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.3.1-9 As the logs recommend to use tox I added a working configuration that should probably work with the nix build. I also looked into nix packages documentation and it seems that normally test are executed with python setup.py test. To change it for using tox please add the following to the .nix file:

Add tox in first line like { lib, tox, ... } and the below in python3.pkgs.buildPythonApplication rec {}:

checkInputs = [ tox ];
checkPhase = "tox";

If this does not work please add:

doCheck = false;

To see if it even builds without testing.

If this still does not work I might have to look deeper into building nix packages, but this might take some time.

Cheers

d4nj1 commented 3 years ago

Hi @ciferkey, are you still on it? Or do you expect me to jump in on building the nix package?

ciferkey commented 3 years ago

@d4nj1 Thanks for reaching out. Life has gotten recently so I've not been able to look into this right. I'm hoping to get back to it once I have time.

d4nj1 commented 3 years ago

@ciferkey Thanks for the feedback. I'm currently also under proper load, so you have my full understanding. I wish you strength and energy for whatever challenge there is.

Kind regards

d4nj1 commented 2 years ago

I close this for now. Please feel free to reopen anytime.

GeorgesAlkhouri commented 2 years ago

Hello,

I built a working derivation with one problem. When the application is starting it tries to read the intrinsic default file path /usr/share/tlp/defaults.conf which is not available in NixOS resutling in an FileNotFoundError.

/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/bin/tlpui 
Traceback (most recent call last):
  File "/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/bin/..tlpui-wrapped-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/lib/python3.9/site-packages/tlpui/__main__.py", line 31, in main
    init_tlp_file_config()
  File "/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/lib/python3.9/site-packages/tlpui/file.py", line 40, in init_tlp
_file_config
    settings.tlpconfig_defaults = get_tlp_config_defaults(tlpversion)
  File "/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/lib/python3.9/site-packages/tlpui/file.py", line 31, in get_tlp_
config_defaults
    tlpconfig_defaults.update(extract_default_tlp_configs(intrinsic_defaults_path))
  File "/nix/store/x21576pb3spqqzwpkg89damd5ygr9z6f-python3.9-tlpui-1.5.0-5/lib/python3.9/site-packages/tlpui/filehelper.py", line 46, in ex
tract_default_tlp_configs
    fileopener = open(filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/share/tlp/defaults.conf'

While manually creating a blank file at /usr/share/tlp/defaults.conf is making the application work, would it be possible to add a file check and only read the intrinsic default file when it exists?

d4nj1 commented 2 years ago

@GeorgesAlkhouri I'm more than happy that you are working on this. Where is this intrinsic /usr/share/tlp/defaults.conf located in the TLP package for nix? It probably should exist for TLP to work correctly with sane defaults.

GeorgesAlkhouri commented 2 years ago

The intrinsic defaults are packaged and distributed within the nix-build result. The link to tlp is done via the make flags DESTDIR and TLP_CONFDEF. Also consider this comment for more clarification.

GeorgesAlkhouri commented 2 years ago

What do you think @d4nj1 ?

d4nj1 commented 2 years ago

@GeorgesAlkhouri I guess it should be ok to use the value from TLP_CONFDEF and also look into /share/tlp/defaults.conf if we do not find it in /usr/share/tlp/defaults.conf

Could you change the PR to something like:

# fallback for NixOS TLP package
if not path.exists(intrinsic_defaults_path):
            tlpconfig_defaults.update(extract_default_tlp_configs('/share/tlp/defaults.conf'))

Would that work for you?

GeorgesAlkhouri commented 2 years ago

As far as I am understandingt this, /share/tlp/defaults.conf(line 3 in your listing) would never exists in NixOS.
During build time TLP_CONFDEF is configured to point to the intrinsic defaults at /nix/store/big-hash-tlp-1.5.0/share/tlp/defaults.conf which does exist on the system. I tried my nix tlpui package with the merged pull request #112 and it did work. But the problem still remains when you are not on a NixOS system and there is no intrinsic defaults file, then I don't how tlp would behave. I`ll open a draft PR at nixpkgs with the tlpui nix package.

GeorgesAlkhouri commented 2 years ago

https://github.com/NixOS/nixpkgs/compare/master...GeorgesAlkhouri:nixpkgs:submit/tlpui

worldofgeese commented 11 months ago

Just a heads-up that the Guix tlpui package also seems to run into the same issue:

(.tlpui-real:6890): Gtk-WARNING **: 09:19:16.758: Locale not supported by C library.
    Using the fallback 'C' locale.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "en_US.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "en_US.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Traceback (most recent call last):
  File "/gnu/store/yi977fxj546v05jvw6k5vpxr752pix9r-tlpui-1.5.0-7/bin/.tlpui-real", line 33, in <module>
    sys.exit(load_entry_point('TLPUI==1.5.0.post7', 'gui_scripts', 'tlpui')())
  File "/gnu/store/yi977fxj546v05jvw6k5vpxr752pix9r-tlpui-1.5.0-7/lib/python3.10/site-packages/tlpui/__main__.py", line 31, in main
    init_tlp_file_config()
  File "/gnu/store/yi977fxj546v05jvw6k5vpxr752pix9r-tlpui-1.5.0-7/lib/python3.10/site-packages/tlpui/file.py", line 40, in init_tlp_file_config
    settings.tlpconfig_defaults = get_tlp_config_defaults(tlpversion)
  File "/gnu/store/yi977fxj546v05jvw6k5vpxr752pix9r-tlpui-1.5.0-7/lib/python3.10/site-packages/tlpui/file.py", line 31, in get_tlp_config_defaults
    tlpconfig_defaults.update(extract_default_tlp_configs(intrinsic_defaults_path))
  File "/gnu/store/yi977fxj546v05jvw6k5vpxr752pix9r-tlpui-1.5.0-7/lib/python3.10/site-packages/tlpui/filehelper.py", line 46, in extract_default_tlp_configs
    fileopener = open(filename)
FileNotFoundError: [Errno 2] No such file or directory: "'/gnu/store/chi79kcl74gr4spix4xqlqgx95sf4rci-tlp-1.5.0/share/tlp/defaults.conf'"

Package definition is at https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/linux.scm#n7787