···7python3.pkgs.buildPythonApplication rec {
8 pname = "mastodon-archive";
9 version = "1.4.2";
10- format = "setuptools";
1112 src = fetchFromGitHub {
13 owner = "kensanata";
···16 hash = "sha256-b4bYQshz7mwxEfpRYV7ze4C8hz58R9cVp58wHvGFb0A=";
17 };
1819- propagatedBuildInputs = with python3.pkgs; [
000020 html2text
21 mastodon-py
22 progress
···2425 # There is no test
26 doCheck = false;
002728 meta = with lib; {
29 description = "Utility for backing up your Mastodon content";
···7python3.pkgs.buildPythonApplication rec {
8 pname = "mastodon-archive";
9 version = "1.4.2";
10+ pyproject = true;
1112 src = fetchFromGitHub {
13 owner = "kensanata";
···16 hash = "sha256-b4bYQshz7mwxEfpRYV7ze4C8hz58R9cVp58wHvGFb0A=";
17 };
1819+ build-system = with python3.pkgs; [
20+ setuptools
21+ ];
22+23+ dependencies = with python3.pkgs; [
24 html2text
25 mastodon-py
26 progress
···2829 # There is no test
30 doCheck = false;
31+32+ pythonImportsCheck = [ "mastodon_archive" ];
3334 meta = with lib; {
35 description = "Utility for backing up your Mastodon content";
+5-1
pkgs/by-name/md/md-tangle/package.nix
···7python3.pkgs.buildPythonPackage rec {
8 pname = "md-tangle";
9 version = "1.4.4";
10- format = "setuptools";
1112 # By some strange reason, fetchPypi fails miserably
13 src = fetchFromGitHub {
···17 hash = "sha256-PkOKSsyY8uwS4mhl0lB+KGeUvXfEc7PUDHZapHMYv4c=";
18 };
190020 # Pure Python application, uses only standard modules and comes without
21 # testing suite
22 doCheck = false;
002324 meta = with lib; {
25 homepage = "https://github.com/joakimmj/md-tangle/";
···7python3.pkgs.buildPythonPackage rec {
8 pname = "md-tangle";
9 version = "1.4.4";
10+ pyproject = true;
1112 # By some strange reason, fetchPypi fails miserably
13 src = fetchFromGitHub {
···17 hash = "sha256-PkOKSsyY8uwS4mhl0lB+KGeUvXfEc7PUDHZapHMYv4c=";
18 };
1920+ build-system = with python3.pkgs; [ setuptools ];
21+22 # Pure Python application, uses only standard modules and comes without
23 # testing suite
24 doCheck = false;
25+26+ pythonImportsCheck = [ "md_tangle" ];
2728 meta = with lib; {
29 homepage = "https://github.com/joakimmj/md-tangle/";
+5-1
pkgs/by-name/md/mdslides/package.nix
···7python3Packages.buildPythonApplication {
8 pname = "mdslides";
9 version = "unstable-2022-12-15";
10- format = "setuptools";
1112 src = fetchFromGitHub {
13 owner = "dadoomer";
···16 sha256 = "sha256-31ALsy1P/vfI+H6Onmg4TXLeKbVAQ1FlnFs4k6ZOgHQ=";
17 };
180019 doCheck = false;
002021 meta = with lib; {
22 longDescription = "Using markdown, write simple but beautiful presentations with math, animations and media, which can be visualized in a web browser or exported to PDF.";
···7python3Packages.buildPythonApplication {
8 pname = "mdslides";
9 version = "unstable-2022-12-15";
10+ pyproject = true;
1112 src = fetchFromGitHub {
13 owner = "dadoomer";
···16 sha256 = "sha256-31ALsy1P/vfI+H6Onmg4TXLeKbVAQ1FlnFs4k6ZOgHQ=";
17 };
1819+ build-system = with python3Packages; [ setuptools ];
20+21 doCheck = false;
22+23+ pythonImportsCheck = [ "mdslides" ];
2425 meta = with lib; {
26 longDescription = "Using markdown, write simple but beautiful presentations with math, animations and media, which can be visualized in a web browser or exported to PDF.";
···27 pname = "ntfy";
28 version = "2.7.0";
2930- format = "setuptools";
3132 src = fetchFromGitHub {
33 owner = "dschep";
···73 postPatch = ''
74 # We disable the Darwin specific things because it relies on pyobjc, which we don't have.
75 substituteInPlace setup.py \
76- --replace "':sys_platform == \"darwin\"'" "'darwin'"
77 '';
780079 dependencies =
80 with python.pkgs;
81 (
···122 preCheck = ''
123 export HOME=$(mktemp -d)
124 '';
00125126 meta = with lib; {
127 description = "Utility for sending notifications, on demand and when commands finish";
···27 pname = "ntfy";
28 version = "2.7.0";
2930+ pyproject = true;
3132 src = fetchFromGitHub {
33 owner = "dschep";
···73 postPatch = ''
74 # We disable the Darwin specific things because it relies on pyobjc, which we don't have.
75 substituteInPlace setup.py \
76+ --replace-fail "':sys_platform == \"darwin\"'" "'darwin'"
77 '';
7879+ build-system = with python.pkgs; [ setuptools ];
80+81 dependencies =
82 with python.pkgs;
83 (
···124 preCheck = ''
125 export HOME=$(mktemp -d)
126 '';
127+128+ pythonImportsCheck = [ "ntfy" ];
129130 meta = with lib; {
131 description = "Utility for sending notifications, on demand and when commands finish";
···1+/**
2+ This file has as its value the list of overlays, as determined from the environment.
3+ If Nix evaluation is [pure](https://nix.dev/manual/nix/latest/command-ref/conf-file.html?highlight=pure-eval#conf-pure-eval), then the list is empty.
4+*/
5+let
6+ # Return ‘x’ if it evaluates, or ‘def’ if it throws an exception.
7+ try =
8+ x: def:
9+ let
10+ res = builtins.tryEval x;
11+ in
12+ if res.success then res.value else def;
13+ homeDir = builtins.getEnv "HOME";
14+15+ isDir = path: builtins.pathExists (path + "/.");
16+ pathOverlays = try (toString <nixpkgs-overlays>) "";
17+ homeOverlaysFile = homeDir + "/.config/nixpkgs/overlays.nix";
18+ homeOverlaysDir = homeDir + "/.config/nixpkgs/overlays";
19+ overlays =
20+ path:
21+ # check if the path is a directory or a file
22+ if isDir path then
23+ # it's a directory, so the set of overlays from the directory, ordered lexicographically
24+ let
25+ content = builtins.readDir path;
26+ in
27+ map (n: import (path + ("/" + n))) (
28+ builtins.filter (
29+ n:
30+ (
31+ builtins.match ".*\\.nix" n != null
32+ &&
33+ # ignore Emacs lock files (.#foo.nix)
34+ builtins.match "\\.#.*" n == null
35+ )
36+ || builtins.pathExists (path + ("/" + n + "/default.nix"))
37+ ) (builtins.attrNames content)
38+ )
39+ else
40+ # it's a file, so the result is the contents of the file itself
41+ import path;
42+in
43+if pathOverlays != "" && builtins.pathExists pathOverlays then
44+ overlays pathOverlays
45+else if builtins.pathExists homeOverlaysFile && builtins.pathExists homeOverlaysDir then
46+ throw ''
47+ Nixpkgs overlays can be specified with ${homeOverlaysFile} or ${homeOverlaysDir}, but not both.
48+ Please remove one of them and try again.
49+ ''
50+else if builtins.pathExists homeOverlaysFile then
51+ if isDir homeOverlaysFile then
52+ throw (homeOverlaysFile + " should be a file")
53+ else
54+ overlays homeOverlaysFile
55+else if builtins.pathExists homeOverlaysDir then
56+ if !(isDir homeOverlaysDir) then
57+ throw (homeOverlaysDir + " should be a directory")
58+ else
59+ overlays homeOverlaysDir
60+else
61+ [ ]
+1-57
pkgs/top-level/impure.nix
···78 homeDir = builtins.getEnv "HOME";
910- # Return ‘x’ if it evaluates, or ‘def’ if it throws an exception.
11- try =
12- x: def:
13- let
14- res = builtins.tryEval x;
15- in
16- if res.success then res.value else def;
17-18in
1920{
···50 # Overlays are used to extend Nixpkgs collection with additional
51 # collections of packages. These collection of packages are part of the
52 # fix-point made by Nixpkgs.
53- overlays ?
54- let
55- isDir = path: builtins.pathExists (path + "/.");
56- pathOverlays = try (toString <nixpkgs-overlays>) "";
57- homeOverlaysFile = homeDir + "/.config/nixpkgs/overlays.nix";
58- homeOverlaysDir = homeDir + "/.config/nixpkgs/overlays";
59- overlays =
60- path:
61- # check if the path is a directory or a file
62- if isDir path then
63- # it's a directory, so the set of overlays from the directory, ordered lexicographically
64- let
65- content = builtins.readDir path;
66- in
67- map (n: import (path + ("/" + n))) (
68- builtins.filter (
69- n:
70- (
71- builtins.match ".*\\.nix" n != null
72- &&
73- # ignore Emacs lock files (.#foo.nix)
74- builtins.match "\\.#.*" n == null
75- )
76- || builtins.pathExists (path + ("/" + n + "/default.nix"))
77- ) (builtins.attrNames content)
78- )
79- else
80- # it's a file, so the result is the contents of the file itself
81- import path;
82- in
83- if pathOverlays != "" && builtins.pathExists pathOverlays then
84- overlays pathOverlays
85- else if builtins.pathExists homeOverlaysFile && builtins.pathExists homeOverlaysDir then
86- throw ''
87- Nixpkgs overlays can be specified with ${homeOverlaysFile} or ${homeOverlaysDir}, but not both.
88- Please remove one of them and try again.
89- ''
90- else if builtins.pathExists homeOverlaysFile then
91- if isDir homeOverlaysFile then
92- throw (homeOverlaysFile + " should be a file")
93- else
94- overlays homeOverlaysFile
95- else if builtins.pathExists homeOverlaysDir then
96- if !(isDir homeOverlaysDir) then
97- throw (homeOverlaysDir + " should be a directory")
98- else
99- overlays homeOverlaysDir
100- else
101- [ ],
102103 crossOverlays ? [ ],
104
···78 homeDir = builtins.getEnv "HOME";
90000000010in
1112{
···42 # Overlays are used to extend Nixpkgs collection with additional
43 # collections of packages. These collection of packages are part of the
44 # fix-point made by Nixpkgs.
45+ overlays ? import ./impure-overlays.nix,
0000000000000000000000000000000000000000000000004647 crossOverlays ? [ ],
48