Project import generated by Copybara.

GitOrigin-RevId: fcd48a5a0693f016a5c370460d0c2a8243b882dc
This commit is contained in:
Default email 2022-03-10 11:12:11 -08:00
parent c9bd0696ed
commit aa526eb20f
635 changed files with 7569 additions and 4407 deletions

View file

@ -104,9 +104,9 @@
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1 /pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
# Perl # Perl
/pkgs/development/interpreters/perl @volth @stigtsp @zakame /pkgs/development/interpreters/perl @stigtsp @zakame
/pkgs/top-level/perl-packages.nix @volth @stigtsp @zakame /pkgs/top-level/perl-packages.nix @stigtsp @zakame
/pkgs/development/perl-modules @volth @stigtsp @zakame /pkgs/development/perl-modules @stigtsp @zakame
# R # R
/pkgs/applications/science/math/R @jbedo @bcdarwin /pkgs/applications/science/math/R @jbedo @bcdarwin

View file

@ -1,16 +1,10 @@
###### Description of changes
<!-- <!--
To help with the large amounts of pull requests, we would appreciate your For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
reviews of other pull requests, especially simple package updates. Just leave a For new packages please briefly describe the package or provide a link to its homepage.
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
--> -->
###### Motivation for this change
###### Things done ###### Things done
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. --> <!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
@ -34,3 +28,14 @@ Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module - [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes - [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->

View file

@ -1,5 +1,10 @@
<p align="center"> <p align="center">
<a href="https://nixos.org/nixos"><img src="https://nixos.org/logo/nixos-hires.png" width="500px" alt="NixOS logo" /></a> <a href="https://nixos.org#gh-light-mode-only">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/master/logo/nixos-hires.png" width="500px" alt="NixOS logo"/>
</a>
<a href="https://nixos.org#gh-dark-mode-only">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png" width="500px" alt="NixOS logo"/>
</a>
</p> </p>
<p align="center"> <p align="center">

View file

@ -327,7 +327,7 @@ rec {
isDerivation "foobar" isDerivation "foobar"
=> false => false
*/ */
isDerivation = x: isAttrs x && x ? type && x.type == "derivation"; isDerivation = x: x.type or null == "derivation";
/* Converts a store path to a fake derivation. */ /* Converts a store path to a fake derivation. */
toDerivation = path: toDerivation = path:

View file

@ -364,8 +364,8 @@ rec {
musleabihf = { float = "hard"; }; musleabihf = { float = "hard"; };
musl = {}; musl = {};
uclibceabihf = { float = "soft"; }; uclibceabi = { float = "soft"; };
uclibceabi = { float = "hard"; }; uclibceabihf = { float = "hard"; };
uclibc = {}; uclibc = {};
unknown = {}; unknown = {};

View file

@ -1301,6 +1301,12 @@
githubId = 75235; githubId = 75235;
name = "Michael Walker"; name = "Michael Walker";
}; };
bartsch = {
email = "consume.noise@gmail.com";
github = "bartsch";
githubId = 3390885;
name = "Daniel Martin";
};
bartuka = { bartuka = {
email = "wand@hey.com"; email = "wand@hey.com";
github = "wandersoncferreira"; github = "wandersoncferreira";
@ -2218,7 +2224,7 @@
ckie = { ckie = {
email = "nixpkgs-0efe364@ckie.dev"; email = "nixpkgs-0efe364@ckie.dev";
github = "ckiee"; github = "ckiee";
githubId = 2526321; githubId = 25263210;
keys = [{ keys = [{
longkeyid = "rsa4096/0x13E79449C0525215"; longkeyid = "rsa4096/0x13E79449C0525215";
fingerprint = "539F 0655 4D35 38A5 429A E253 13E7 9449 C052 5215"; fingerprint = "539F 0655 4D35 38A5 429A E253 13E7 9449 C052 5215";
@ -7701,6 +7707,16 @@
githubId = 279868; githubId = 279868;
name = "Matti Kariluoma"; name = "Matti Kariluoma";
}; };
matthewpi = {
email = "me+nix@matthewp.io";
github = "matthewpi";
githubId = 26559841;
name = "Matthew Penner";
keys = [{
longkeyid = "ed25519/0x31311906AD4CF6D6";
fingerprint = "5118 F1CC B7B0 6C17 4DD1 5267 3131 1906 AD4C F6D6";
}];
};
maurer = { maurer = {
email = "matthew.r.maurer+nix@gmail.com"; email = "matthew.r.maurer+nix@gmail.com";
github = "maurer"; github = "maurer";
@ -7747,6 +7763,12 @@
githubId = 1187050; githubId = 1187050;
name = "Maximilian Huber"; name = "Maximilian Huber";
}; };
maximsmol = {
email = "maximsmol@gmail.com";
github = "maximsmol";
githubId = 1472826;
name = "Max Smolin";
};
maxxk = { maxxk = {
email = "maxim.krivchikov@gmail.com"; email = "maxim.krivchikov@gmail.com";
github = "maxxk"; github = "maxxk";
@ -8400,6 +8422,17 @@
githubId = 3073833; githubId = 3073833;
name = "Massimo Redaelli"; name = "Massimo Redaelli";
}; };
mrhedgehog = {
name = "Mr Hedgehog";
email = "hedgehog@mrhedgehog.xyz";
matrix = "@mrhedgehog:jupiterbroadcasting.com";
github = "ModdedGamers";
githubId = 35778371;
keys = [{
longkeyid = "rsa4096/0x7D5107866B1C6752";
fingerprint = "38A0 29B0 4A7E 4C13 A4BB 86C8 7D51 0786 6B1C 6752";
}];
};
mrkkrp = { mrkkrp = {
email = "markkarpov92@gmail.com"; email = "markkarpov92@gmail.com";
github = "mrkkrp"; github = "mrkkrp";
@ -8544,6 +8577,17 @@
githubId = 25388474; githubId = 25388474;
name = "Matej Urbas"; name = "Matej Urbas";
}; };
mvisonneau = {
name = "Maxime VISONNEAU";
email = "maxime@visonneau.fr";
matrix = "@maxime:visonneau.fr";
github = "mvisonneau";
githubId = 1761583;
keys = [{
longkeyid = "rsa4096/0x150D6F0AE9198D24";
fingerprint = "EC63 0CEA E8BC 5EE5 5C58 F2E3 150D 6F0A E919 8D24";
}];
};
mvnetbiz = { mvnetbiz = {
email = "mvnetbiz@gmail.com"; email = "mvnetbiz@gmail.com";
matrix = "@mvtva:matrix.org"; matrix = "@mvtva:matrix.org";
@ -8805,6 +8849,12 @@
githubId = 8214542; githubId = 8214542;
name = "Nicolò Balzarotti"; name = "Nicolò Balzarotti";
}; };
nidabdella = {
name = "Mohamed Nidabdella";
email = "nidabdella.mohamed@gmail.com";
github = "nidabdella";
githubId = 8083813;
};
NieDzejkob = { NieDzejkob = {
email = "kuba@kadziolka.net"; email = "kuba@kadziolka.net";
github = "NieDzejkob"; github = "NieDzejkob";
@ -9110,6 +9160,12 @@
githubId = 158758; githubId = 158758;
name = "Oliver Dunkl"; name = "Oliver Dunkl";
}; };
ofek = {
email = "oss@ofek.dev";
github = "ofek";
githubId = 9677399;
name = "Ofek Lev";
};
offline = { offline = {
email = "jaka@x-truder.net"; email = "jaka@x-truder.net";
github = "offlinehacker"; github = "offlinehacker";
@ -9362,6 +9418,13 @@
githubId = 71795; githubId = 71795;
name = "Mica Semrick"; name = "Mica Semrick";
}; };
papojari = {
email = "papojari-git.ovoid@aleeas.com";
matrix = "@papojari:artemislena.eu";
github = "papojari";
githubId = 81317317;
name = "papojari";
};
paraseba = { paraseba = {
email = "paraseba@gmail.com"; email = "paraseba@gmail.com";
github = "paraseba"; github = "paraseba";
@ -14002,6 +14065,12 @@
github = "jpagex"; github = "jpagex";
githubId = 635768; githubId = 635768;
}; };
vbrandl = {
name = "Valentin Brandl";
email = "mail+nixpkgs@vbrandl.net";
github = "vbrandl";
githubId = 20639051;
};
portothree = { portothree = {
name = "Gustavo Porto"; name = "Gustavo Porto";
email = "gustavoporto@ya.ru"; email = "gustavoporto@ya.ru";

View file

@ -68,7 +68,7 @@ luautf8,,,,,,pstn
luazip,,,,,, luazip,,,,,,
lua-yajl,,,,,,pstn lua-yajl,,,,,,pstn
luuid,,,,,, luuid,,,,,,
luv,,,,1.42.0-0,, luv,,,,1.43.0-0,,
lyaml,,,,,,lblasc lyaml,,,,,,lblasc
markdown,,,,,, markdown,,,,,,
mediator_lua,,,,,, mediator_lua,,,,,,

1 name src ref server version luaversion maintainers
68 luazip
69 lua-yajl pstn
70 luuid
71 luv 1.42.0-0 1.43.0-0
72 lyaml lblasc
73 markdown
74 mediator_lua

View file

@ -25,8 +25,8 @@ from pathlib import Path
log = logging.getLogger() log = logging.getLogger()
log.addHandler(logging.StreamHandler()) log.addHandler(logging.StreamHandler())
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore
from pluginupdate import Editor, update_plugins, PluginDesc, CleanEnvironment, LOG_LEVELS, Cache from pluginupdate import Editor, update_plugins, FetchConfig, CleanEnvironment
PKG_LIST="maintainers/scripts/luarocks-packages.csv" PKG_LIST="maintainers/scripts/luarocks-packages.csv"
TMP_FILE="$(mktemp)" TMP_FILE="$(mktemp)"
@ -118,7 +118,7 @@ class LuaEditor(Editor):
def attr_path(self): def attr_path(self):
return "luaPackages" return "luaPackages"
def get_update(self, input_file: str, outfile: str, proc: int): def get_update(self, input_file: str, outfile: str, config: FetchConfig):
_prefetch = generate_pkg_nix _prefetch = generate_pkg_nix
def update() -> dict: def update() -> dict:
@ -126,14 +126,14 @@ class LuaEditor(Editor):
sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower()) sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower())
try: try:
pool = Pool(processes=proc) pool = Pool(processes=config.proc)
results = pool.map(_prefetch, sorted_plugin_specs) results = pool.map(_prefetch, sorted_plugin_specs)
finally: finally:
pass pass
self.generate_nix(results, outfile) self.generate_nix(results, outfile)
redirects = [] redirects = {}
return redirects return redirects
return update return update
@ -181,11 +181,9 @@ def generate_pkg_nix(plug: LuaPlugin):
cmd.append(plug.version) cmd.append(plug.version)
#
if plug.server != "src" and plug.server: if plug.server != "src" and plug.server:
cmd.append(f"--only-server={plug.server}") cmd.append(f"--only-server={plug.server}")
if plug.luaversion: if plug.luaversion:
with CleanEnvironment(): with CleanEnvironment():
local_pkgs = str(ROOT.resolve()) local_pkgs = str(ROOT.resolve())
@ -209,7 +207,6 @@ def main():
parser = editor.create_parser() parser = editor.create_parser()
args = parser.parse_args() args = parser.parse_args()
log.setLevel(LOG_LEVELS[args.debug])
update_plugins(editor, args) update_plugins(editor, args)

View file

@ -65,7 +65,6 @@ with lib.maintainers; {
chia = { chia = {
members = [ members = [
atemu
lourkeur lourkeur
]; ];
scope = "Maintain the Chia blockchain and its dependencies"; scope = "Maintain the Chia blockchain and its dependencies";

View file

@ -364,6 +364,20 @@
relying on the insecure behaviour before upgrading. relying on the insecure behaviour before upgrading.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>services.k3s.enable</literal> no longer implies
<literal>systemd.enableUnifiedCgroupHierarchy = false</literal>,
and will default to the <quote>systemd</quote> cgroup driver
when using <literal>services.k3s.docker = true</literal>. This
change may require a reboot to take effect, and k3s may not be
able to run if the boot cgroup hierarchy does not match its
configuration. The previous behavior may be retained by
explicitly setting
<literal>systemd.enableUnifiedCgroupHierarchy = false</literal>
in your configuration.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The DHCP server (<literal>services.dhcpd4</literal>, The DHCP server (<literal>services.dhcpd4</literal>,
@ -752,6 +766,18 @@
directly. directly.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>dendrite</literal> package has been upgraded from
0.5.1 to
<link xlink:href="https://github.com/matrix-org/dendrite/releases/tag/v0.6.5">0.6.5</link>.
Instances configured with split sqlite databases, which has
been the default in NixOS, require merging of the federation
sender and signing key databases. See upstream
<link xlink:href="https://github.com/matrix-org/dendrite/releases/tag/v0.6.0">release
notes</link> on version 0.6.0 for details on database changes.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The existing <literal>pkgs.opentelemetry-collector</literal> The existing <literal>pkgs.opentelemetry-collector</literal>
@ -1068,6 +1094,12 @@
compatibilty, but will be removed at a later date. compatibilty, but will be removed at a later date.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>programs.zsh.autosuggestions.strategy</literal> now
takes a list of strings instead of a string.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The <literal>services.unifi.openPorts</literal> option default The <literal>services.unifi.openPorts</literal> option default

View file

@ -121,6 +121,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.kubernetes.scheduler.{port,address}` now set `--secure-port` and `--bind-address` instead of `--port` and `--address`, since the former have been deprecated and are no longer functional in kubernetes>=1.23. Ensure that you are not relying on the insecure behaviour before upgrading. - `services.kubernetes.scheduler.{port,address}` now set `--secure-port` and `--bind-address` instead of `--port` and `--address`, since the former have been deprecated and are no longer functional in kubernetes>=1.23. Ensure that you are not relying on the insecure behaviour before upgrading.
- `services.k3s.enable` no longer implies `systemd.enableUnifiedCgroupHierarchy = false`, and will default to the 'systemd' cgroup driver when using `services.k3s.docker = true`.
This change may require a reboot to take effect, and k3s may not be able to run if the boot cgroup hierarchy does not match its configuration.
The previous behavior may be retained by explicitly setting `systemd.enableUnifiedCgroupHierarchy = false` in your configuration.
- The DHCP server (`services.dhcpd4`, `services.dhcpd6`) has been hardened. - The DHCP server (`services.dhcpd4`, `services.dhcpd6`) has been hardened.
The service is now using the systemd's `DynamicUser` mechanism to run as an unprivileged dynamically-allocated user with limited capabilities. The service is now using the systemd's `DynamicUser` mechanism to run as an unprivileged dynamically-allocated user with limited capabilities.
The dhcpd state files are now always stored in `/var/lib/dhcpd{4,6}` and the `services.dhcpd4.stateDir` and `service.dhcpd6.stateDir` options have been removed. The dhcpd state files are now always stored in `/var/lib/dhcpd{4,6}` and the `services.dhcpd4.stateDir` and `service.dhcpd6.stateDir` options have been removed.
@ -289,6 +293,14 @@ In addition to numerous new and upgraded packages, this release has the followin
This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly. This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly.
- The `dendrite` package has been upgraded from 0.5.1 to
[0.6.5](https://github.com/matrix-org/dendrite/releases/tag/v0.6.5). Instances
configured with split sqlite databases, which has been the default
in NixOS, require merging of the federation sender and signing key
databases. See upstream [release
notes](https://github.com/matrix-org/dendrite/releases/tag/v0.6.0)
on version 0.6.0 for details on database changes.
- The existing `pkgs.opentelemetry-collector` has been moved to - The existing `pkgs.opentelemetry-collector` has been moved to
`pkgs.opentelemetry-collector-contrib` to match the actual source being the `pkgs.opentelemetry-collector-contrib` to match the actual source being the
"contrib" edition. `pkgs.opentelemetry-collector` is now the actual core "contrib" edition. `pkgs.opentelemetry-collector` is now the actual core
@ -392,6 +404,8 @@ In addition to numerous new and upgraded packages, this release has the followin
combined `influxdb2` package is still provided in this release for combined `influxdb2` package is still provided in this release for
backwards compatibilty, but will be removed at a later date. backwards compatibilty, but will be removed at a later date.
- `programs.zsh.autosuggestions.strategy` now takes a list of strings instead of a string.
- The `services.unifi.openPorts` option default value of `true` is now deprecated and will be changed to `false` in 22.11. - The `services.unifi.openPorts` option default value of `true` is now deprecated and will be changed to `false` in 22.11.
Configurations using this default will print a warning when rebuilt. Configurations using this default will print a warning when rebuilt.

View file

@ -1,7 +1,7 @@
{ {
x86_64-linux = "/nix/store/67amfijcvhqfgz4bwf2izsvbnklwjbvk-nix-2.6.0"; x86_64-linux = "/nix/store/0n2wfvi1i3fg97cjc54wslvk0804y0sn-nix-2.7.0";
i686-linux = "/nix/store/kinl99f619b2xsma4qnzhidbp65axyzm-nix-2.6.0"; i686-linux = "/nix/store/4p27c1k9z99pli6x8cxfph20yfyzn9nh-nix-2.7.0";
aarch64-linux = "/nix/store/8zpm63nn7k4n1alp9a0fcilpgc8j014z-nix-2.6.0"; aarch64-linux = "/nix/store/r9yr8ijsb0gi9r7y92y3yzyld59yp0kj-nix-2.7.0";
x86_64-darwin = "/nix/store/hw5v03wnc0k1pwgiyhblwlxb1fx5zyx8-nix-2.6.0"; x86_64-darwin = "/nix/store/hyfj5imsd0c4amlcjpf8l6w4q2draaj3-nix-2.7.0";
aarch64-darwin = "/nix/store/669p1vjnzi56fib98qczwlaglcwcnip4-nix-2.6.0"; aarch64-darwin = "/nix/store/9l96qllhbb6xrsjaai76dn74ap7rq92n-nix-2.7.0";
} }

View file

@ -169,6 +169,7 @@
./programs/iotop.nix ./programs/iotop.nix
./programs/java.nix ./programs/java.nix
./programs/k40-whisperer.nix ./programs/k40-whisperer.nix
./programs/kclock.nix
./programs/kdeconnect.nix ./programs/kdeconnect.nix
./programs/kbdlight.nix ./programs/kbdlight.nix
./programs/less.nix ./programs/less.nix

View file

@ -0,0 +1,13 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.programs.kclock;
kclockPkg = pkgs.libsForQt5.kclock;
in {
options.programs.kclock = { enable = mkEnableOption "Enable KClock"; };
config = mkIf cfg.enable {
services.dbus.packages = [ kclockPkg ];
environment.systemPackages = [ kclockPkg ];
};
}

View file

@ -22,17 +22,18 @@ in
}; };
strategy = mkOption { strategy = mkOption {
type = types.enum [ "history" "match_prev_cmd" ]; type = types.listOf (types.enum [ "history" "completion" "match_prev_cmd" ]);
default = "history"; default = [ "history" ];
description = '' description = ''
Set ZSH_AUTOSUGGEST_STRATEGY to choose the strategy for generating suggestions. `ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated.
There are currently two to choose from: The strategies in the array are tried successively until a suggestion is found.
There are currently three built-in strategies to choose from:
* history: Chooses the most recent match. - `history`: Chooses the most recent match from history.
* match_prev_cmd: Chooses the most recent match whose preceding history item matches - `completion`: Chooses a suggestion based on what tab-completion would suggest. (requires `zpty` module)
the most recently executed command (more info). Note that this strategy won't work as - `match_prev_cmd`: Like `history`, but chooses the most recent match whose preceding history item matches
expected with ZSH options that don't preserve the history order such as the most recently executed command. Note that this strategy won't work as expected with ZSH options that
HIST_IGNORE_ALL_DUPS or HIST_EXPIRE_DUPS_FIRST. don't preserve the history order such as `HIST_IGNORE_ALL_DUPS` or `HIST_EXPIRE_DUPS_FIRST`.
''; '';
}; };
@ -62,7 +63,7 @@ in
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}" export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}"
export ZSH_AUTOSUGGEST_STRATEGY=("${cfg.strategy}") export ZSH_AUTOSUGGEST_STRATEGY=(${concatStringsSep " " cfg.strategy})
${optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"} ${optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"}
${concatStringsSep "\n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)} ${concatStringsSep "\n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)}

View file

@ -91,11 +91,6 @@ in
virtualisation.docker = mkIf cfg.docker { virtualisation.docker = mkIf cfg.docker {
enable = mkDefault true; enable = mkDefault true;
}; };
# TODO: disable this once k3s supports cgroupsv2, either by docker
# supporting it, or their bundled containerd
systemd.enableUnifiedCgroupHierarchy = false;
environment.systemPackages = [ config.services.k3s.package ]; environment.systemPackages = [ config.services.k3s.package ];
systemd.services.k3s = { systemd.services.k3s = {
@ -119,6 +114,7 @@ in
[ [
"${cfg.package}/bin/k3s ${cfg.role}" "${cfg.package}/bin/k3s ${cfg.role}"
] ++ (optional cfg.docker "--docker") ] ++ (optional cfg.docker "--docker")
++ (optional (cfg.docker && config.systemd.enableUnifiedCgroupHierarchy) "--kubelet-arg=cgroup-driver=systemd")
++ (optional cfg.disableAgent "--disable-agent") ++ (optional cfg.disableAgent "--disable-agent")
++ (optional (cfg.serverAddr != "") "--server ${cfg.serverAddr}") ++ (optional (cfg.serverAddr != "") "--server ${cfg.serverAddr}")
++ (optional (cfg.token != "") "--token ${cfg.token}") ++ (optional (cfg.token != "") "--token ${cfg.token}")

View file

@ -81,7 +81,9 @@ in {
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = redisName name; default = redisName name;
defaultText = "\"redis\" or \"redis-\${name}\" if name != \"\""; defaultText = literalExpression ''
if name == "" then "redis" else "redis-''${name}"
'';
description = "The username and groupname for redis-server."; description = "The username and groupname for redis-server.";
}; };
@ -105,8 +107,7 @@ in {
bind = mkOption { bind = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = if name == "" then "127.0.0.1" else null; default = "127.0.0.1";
defaultText = literalExpression ''if name == "" then "127.0.0.1" else null'';
description = '' description = ''
The IP interface to bind to. The IP interface to bind to.
<literal>null</literal> means "all interfaces". <literal>null</literal> means "all interfaces".
@ -117,7 +118,9 @@ in {
unixSocket = mkOption { unixSocket = mkOption {
type = with types; nullOr path; type = with types; nullOr path;
default = "/run/${redisName name}/redis.sock"; default = "/run/${redisName name}/redis.sock";
defaultText = "\"/run/redis/redis.sock\" or \"/run/redis-\${name}/redis.sock\" if name != \"\""; defaultText = literalExpression ''
if name == "" then "/run/redis/redis.sock" else "/run/redis-''${name}/redis.sock"
'';
description = "The path to the socket to bind to."; description = "The path to the socket to bind to.";
}; };
@ -370,7 +373,7 @@ in {
ProtectKernelTunables = true; ProtectKernelTunables = true;
ProtectControlGroups = true; ProtectControlGroups = true;
RestrictAddressFamilies = RestrictAddressFamilies =
optionals (conf.bind != null) ["AF_INET" "AF_INET6"] ++ optionals (conf.port != 0) ["AF_INET" "AF_INET6"] ++
optional (conf.unixSocket != null) "AF_UNIX"; optional (conf.unixSocket != null) "AF_UNIX";
RestrictNamespaces = true; RestrictNamespaces = true;
LockPersonality = true; LockPersonality = true;

View file

@ -110,6 +110,15 @@ in
''; '';
}; };
}; };
options.app_service_api.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:federationapi.db";
description = ''
Database for the Appservice API.
'';
};
};
options.client_api = { options.client_api = {
registration_disabled = lib.mkOption { registration_disabled = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
@ -120,6 +129,91 @@ in
''; '';
}; };
}; };
options.federation_api.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:federationapi.db";
description = ''
Database for the Federation API.
'';
};
};
options.key_server.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:keyserver.db";
description = ''
Database for the Key Server (for end-to-end encryption).
'';
};
};
options.media_api = {
database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:mediaapi.db";
description = ''
Database for the Media API.
'';
};
};
base_path = lib.mkOption {
type = lib.types.str;
default = "${workingDir}/media_store";
description = ''
Storage path for uploaded media.
'';
};
};
options.room_server.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:roomserver.db";
description = ''
Database for the Room Server.
'';
};
};
options.sync_api.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:syncserver.db";
description = ''
Database for the Sync API.
'';
};
};
options.user_api = {
account_database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:userapi_accounts.db";
description = ''
Database for the User API, accounts.
'';
};
};
device_database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:userapi_devices.db";
description = ''
Database for the User API, devices.
'';
};
};
};
options.mscs = {
database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:mscs.db";
description = ''
Database for exerimental MSC's.
'';
};
};
};
}; };
default = { }; default = { };
description = '' description = ''

View file

@ -7,23 +7,24 @@ let cfg = config.services.input-remapper; in
options = { options = {
services.input-remapper = { services.input-remapper = {
enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons."; enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
package = mkOption { package = options.mkPackageOption pkgs "input-remapper" { };
type = types.package; enableUdevRules = mkEnableOption "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140";
default = pkgs.input-remapper; serviceWantedBy = mkOption {
defaultText = literalExpression "pkgs.input-remapper"; default = [ "graphical.target" ];
description = '' example = [ "multi-user.target" ];
The input-remapper package to use. type = types.listOf types.str;
''; description = "Specifies the WantedBy setting for the input-remapper service.";
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
# FIXME: udev rule hangs sometimes when lots of devices connected, so let's not use it services.udev.packages = mkIf cfg.enableUdevRules [ cfg.package ];
# config.services.udev.packages = mapper-pkg; services.dbus.packages = [ cfg.package ];
services.dbus.packages = cfg.package; systemd.packages = [ cfg.package ];
systemd.packages = cfg.package; environment.systemPackages = [ cfg.package ];
environment.systemPackages = cfg.package; systemd.services.input-remapper.wantedBy = cfg.serviceWantedBy;
systemd.services.input-remapper.wantedBy = [ "graphical.target" ];
}; };
meta.maintainers = with lib.maintainers; [ LunNova ];
} }

View file

@ -73,7 +73,8 @@ in
PrivateDevices = true; PrivateDevices = true;
PrivateUsers = true; PrivateUsers = true;
ProtectClock = true; # Disabled as it does not allow Jellyfin to interface with CUDA devices
# ProtectClock = true;
ProtectControlGroups = true; ProtectControlGroups = true;
ProtectHostname = true; ProtectHostname = true;
ProtectKernelLogs = true; ProtectKernelLogs = true;
@ -84,7 +85,7 @@ in
RestrictNamespaces = true; RestrictNamespaces = true;
# AF_NETLINK needed because Jellyfin monitors the network connection # AF_NETLINK needed because Jellyfin monitors the network connection
RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET" "AF_INET6" ]; RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictRealtime = true; RestrictRealtime = true;
RestrictSUIDSGID = true; RestrictSUIDSGID = true;

View file

@ -49,6 +49,13 @@ in
services.nitter = { services.nitter = {
enable = mkEnableOption "If enabled, start Nitter."; enable = mkEnableOption "If enabled, start Nitter.";
package = mkOption {
default = pkgs.nitter;
type = types.package;
defaultText = literalExpression "pkgs.nitter";
description = "The nitter derivation to use.";
};
server = { server = {
address = mkOption { address = mkOption {
type = types.str; type = types.str;
@ -78,8 +85,8 @@ in
staticDir = mkOption { staticDir = mkOption {
type = types.path; type = types.path;
default = "${pkgs.nitter}/share/nitter/public"; default = "${cfg.package}/share/nitter/public";
defaultText = literalExpression ''"''${pkgs.nitter}/share/nitter/public"''; defaultText = literalExpression ''"''${config.services.nitter.package}/share/nitter/public"'';
description = "Path to the static files directory."; description = "Path to the static files directory.";
}; };
@ -306,8 +313,8 @@ in
Environment = [ "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" ]; Environment = [ "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" ];
# Some parts of Nitter expect `public` folder in working directory, # Some parts of Nitter expect `public` folder in working directory,
# see https://github.com/zedeus/nitter/issues/414 # see https://github.com/zedeus/nitter/issues/414
WorkingDirectory = "${pkgs.nitter}/share/nitter"; WorkingDirectory = "${cfg.package}/share/nitter";
ExecStart = "${pkgs.nitter}/bin/nitter"; ExecStart = "${cfg.package}/bin/nitter";
ExecStartPre = "${preStart}"; ExecStartPre = "${preStart}";
AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
Restart = "on-failure"; Restart = "on-failure";

View file

@ -11,7 +11,7 @@ in {
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter \ ${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
''; '';
RestrictAddressFamilies = [ RestrictAddressFamilies = [
# Need AF_UNIX to collect data # Need AF_UNIX to collect data

View file

@ -962,7 +962,7 @@ in
'') onion.authorizedClients ++ '') onion.authorizedClients ++
optional (onion.secretKey != null) '' optional (onion.secretKey != null) ''
install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path}
key="$(cut -f1 -d: ${escapeShellArg onion.secretKey})" key="$(cut -f1 -d: ${escapeShellArg onion.secretKey} | head -1)"
case "$key" in case "$key" in
("== ed25519v"*"-secret") ("== ed25519v"*"-secret")
install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;; install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;;

View file

@ -693,6 +693,7 @@ in
RemainAfterExit = true; RemainAfterExit = true;
User = "postgres"; User = "postgres";
Group = "postgres"; Group = "postgres";
LoadCredential = [ "db_password:${cfg.database.passwordFile}" ];
}; };
script = '' script = ''
set -o errexit -o pipefail -o nounset -o errtrace set -o errexit -o pipefail -o nounset -o errtrace
@ -701,7 +702,8 @@ in
create_role="$(mktemp)" create_role="$(mktemp)"
trap 'rm -f "$create_role"' ERR EXIT trap 'rm -f "$create_role"' ERR EXIT
echo "CREATE ROLE keycloak WITH LOGIN PASSWORD '$(<'${cfg.database.passwordFile}')' CREATEDB" > "$create_role" db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")"
echo "CREATE ROLE keycloak WITH LOGIN PASSWORD '$db_password' CREATEDB" > "$create_role"
psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='keycloak'" | grep -q 1 || psql -tA --file="$create_role" psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='keycloak'" | grep -q 1 || psql -tA --file="$create_role"
psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'keycloak'" | grep -q 1 || psql -tAc 'CREATE DATABASE "keycloak" OWNER "keycloak"' psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'keycloak'" | grep -q 1 || psql -tAc 'CREATE DATABASE "keycloak" OWNER "keycloak"'
''; '';
@ -717,14 +719,14 @@ in
RemainAfterExit = true; RemainAfterExit = true;
User = config.services.mysql.user; User = config.services.mysql.user;
Group = config.services.mysql.group; Group = config.services.mysql.group;
LoadCredential = [ "db_password:${cfg.database.passwordFile}" ];
}; };
script = '' script = ''
set -o errexit -o pipefail -o nounset -o errtrace set -o errexit -o pipefail -o nounset -o errtrace
shopt -s inherit_errexit shopt -s inherit_errexit
db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")"
db_password="$(<'${cfg.database.passwordFile}')"
( echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';" ( echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';"
echo "CREATE DATABASE keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;" echo "CREATE DATABASE IF NOT EXISTS keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
echo "GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'localhost';" echo "GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'localhost';"
) | mysql -N ) | mysql -N
''; '';

View file

@ -924,7 +924,8 @@ in
PrivateMounts = true; PrivateMounts = true;
# System Call Filtering # System Call Filtering
SystemCallArchitectures = "native"; SystemCallArchitectures = "native";
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" ] ++ optionals (cfg.package != pkgs.tengine) [ "~@ipc" ]; SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" ]
++ optionals ((cfg.package != pkgs.tengine) && (!lib.any (mod: (mod.disableIPC or false)) cfg.package.modules)) [ "~@ipc" ];
}; };
}; };

View file

@ -59,7 +59,7 @@ $ENV{NIXOS_ACTION} = $action;
# This is a NixOS installation if it has /etc/NIXOS or a proper # This is a NixOS installation if it has /etc/NIXOS or a proper
# /etc/os-release. # /etc/os-release.
die "This is not a NixOS installation!\n" unless die "This is not a NixOS installation!\n" unless
-f "/etc/NIXOS" || (read_file("/etc/os-release", err_mode => 'quiet') // "") =~ /ID=nixos/s; -f "/etc/NIXOS" || (read_file("/etc/os-release", err_mode => 'quiet') // "") =~ /ID="?nixos"?/s;
openlog("nixos", "", LOG_USER); openlog("nixos", "", LOG_USER);

View file

@ -224,6 +224,7 @@ in
initrd-network-ssh = handleTest ./initrd-network-ssh {}; initrd-network-ssh = handleTest ./initrd-network-ssh {};
initrdNetwork = handleTest ./initrd-network.nix {}; initrdNetwork = handleTest ./initrd-network.nix {};
initrd-secrets = handleTest ./initrd-secrets.nix {}; initrd-secrets = handleTest ./initrd-secrets.nix {};
input-remapper = handleTest ./input-remapper.nix {};
inspircd = handleTest ./inspircd.nix {}; inspircd = handleTest ./inspircd.nix {};
installer = handleTest ./installer.nix {}; installer = handleTest ./installer.nix {};
invoiceplane = handleTest ./invoiceplane.nix {}; invoiceplane = handleTest ./invoiceplane.nix {};

View file

@ -0,0 +1,52 @@
import ./make-test-python.nix ({ pkgs, ... }:
{
name = "input-remapper";
meta = {
maintainers = with pkgs.lib.maintainers; [ LunNova ];
};
machine = { config, ... }:
let user = config.users.users.sybil; in
{
imports = [
./common/user-account.nix
./common/x11.nix
];
services.xserver.enable = true;
services.input-remapper.enable = true;
users.users.sybil = { isNormalUser = true; group = "wheel"; };
test-support.displayManager.auto.user = user.name;
# workaround for pkexec not working in the test environment
# Error creating textual authentication agent:
# Error opening current controlling terminal for the process (`/dev/tty'):
# No such device or address
# passwordless pkexec with polkit module also doesn't work
# to allow the program to run, we replace pkexec with sudo
# and turn on passwordless sudo
# this is not correct in general but good enough for this test
security.sudo = { enable = true; wheelNeedsPassword = false; };
security.wrappers.pkexec = pkgs.lib.mkForce
{
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.sudo}/bin/sudo";
};
};
enableOCR = true;
testScript = { nodes, ... }: ''
start_all()
machine.wait_for_x()
machine.succeed("systemctl status input-remapper.service")
machine.execute("su - sybil -c input-remapper-gtk >&2 &")
machine.wait_for_text("Input Remapper")
machine.wait_for_text("Preset")
machine.wait_for_text("Change Key")
'';
})

View file

@ -0,0 +1,9 @@
{ pkgs, makeInstalledTest, ... }:
makeInstalledTest {
tested = pkgs.libsForQt5.appstream-qt;
testConfig = {
appstream.enable = true;
};
}

View file

@ -0,0 +1,9 @@
{ pkgs, makeInstalledTest, ... }:
makeInstalledTest {
tested = pkgs.appstream;
testConfig = {
appstream.enable = true;
};
}

View file

@ -84,6 +84,8 @@ let
in in
{ {
appstream = callInstalledTest ./appstream.nix {};
appstream-qt = callInstalledTest ./appstream-qt.nix {};
colord = callInstalledTest ./colord.nix {}; colord = callInstalledTest ./colord.nix {};
flatpak = callInstalledTest ./flatpak.nix {}; flatpak = callInstalledTest ./flatpak.nix {};
flatpak-builder = callInstalledTest ./flatpak-builder.nix {}; flatpak-builder = callInstalledTest ./flatpak-builder.nix {};

View file

@ -40,7 +40,7 @@ let
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
xmlstarlet xmlstarlet
libtidy html-tidy
jq jq
]; ];
}; };

View file

@ -45,21 +45,19 @@ in import ./make-test-python.nix ({ pkgs, lib, ... }: {
"{}" "{}"
).format(" ".join(args)) ).format(" ".join(args))
def parallel(*fns):
from threading import Thread
threads = [ Thread(target=fn) for fn in fns ]
for t in threads: t.start()
for t in threads: t.join()
start_all() start_all()
server.wait_for_unit("nats.service") server.wait_for_unit("nats.service")
client1.fail("test -f ${file}") with subtest("pub sub"):
parallel(
# Subscribe on topic on client1 and echo messages to file. lambda: client1.succeed(nats_cmd("sub", "--count", "1", "${topic}")),
client1.execute("({} | tee ${file} &)".format(nats_cmd("sub", "--raw", "${topic}"))) lambda: client2.succeed("sleep 2 && {}".format(nats_cmd("pub", "${topic}", "hello"))),
)
# Give client1 some time to subscribe.
client1.execute("sleep 2")
# Publish message on client2.
client2.execute(nats_cmd("pub", "${topic}", "hello"))
# Check if message has been received.
client1.succeed("grep -q hello ${file}")
''; '';
}) })

View file

@ -1156,6 +1156,10 @@ let
systemd = { systemd = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;
extraFlags = [
"--collector.enable-restart-count"
];
}; };
metricProvider = { }; metricProvider = { };
exporterTest = '' exporterTest = ''
@ -1166,6 +1170,11 @@ let
'systemd_unit_state{name="basic.target",state="active",type="target"} 1' 'systemd_unit_state{name="basic.target",state="active",type="target"} 1'
) )
) )
succeed(
"curl -sSf localhost:9558/metrics | grep '{}'".format(
'systemd_service_restart_total{state="prometheus-systemd-exporter.service"} 0'
)
)
''; '';
}; };

View file

@ -78,13 +78,13 @@ let
in in
mkDerivation rec { mkDerivation rec {
pname = "cantata"; pname = "cantata";
version = "2.4.2"; version = "2.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CDrummond"; owner = "CDrummond";
repo = "cantata"; repo = "cantata";
rev = "v${version}"; rev = "v${version}";
sha256 = "15qfx9bpfdplxxs08inwf2j8kvf7g5cln5sv1wj1l2l41vbf1mjr"; sha256 = "sha256-UaZEKZvCA50WsdQSSJQQ11KTK6rM4ouCHDX7pn3NlQw=";
}; };
patches = [ patches = [

View file

@ -14,7 +14,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "csound"; pname = "csound";
version = "6.16.2"; version = "6.17.0";
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
owner = "csound"; owner = "csound";
repo = "csound"; repo = "csound";
rev = version; rev = version;
sha256 = "sha256-1rcS3kOspU9ACx45yB8betph4G0hso1OSJQRiabX6tE="; sha256 = "sha256-O19jm3JxHg4TcQzWQZu1uFjfYN2FR41fCRq5YGnTGD0=";
}; };
cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
homepage = "http://www.csounds.com/"; homepage = "https://csound.com/";
license = licenses.gpl2; license = licenses.lgpl21Plus;
maintainers = [maintainers.marcweber]; maintainers = [maintainers.marcweber];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "gpodder"; pname = "gpodder";
version = "3.10.17"; version = "3.10.21";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0wrk8d4q6ricbcjzlhk10vrk1qg9hi323kgyyd0c8nmh7a82h8pd"; sha256 = "0n73jm5ypsj962gpr0dk10lqh83giqsczm63wchyhmrkyf1wgga1";
}; };
patches = [ patches = [
@ -42,7 +42,10 @@ python3Packages.buildPythonApplication rec {
]; ];
checkInputs = with python3Packages; [ checkInputs = with python3Packages; [
coverage minimock minimock
pytest
pytest-httpserver
pytest-cov
]; ];
doCheck = true; doCheck = true;
@ -51,6 +54,7 @@ python3Packages.buildPythonApplication rec {
feedparser feedparser
dbus-python dbus-python
mygpoclient mygpoclient
requests
pygobject3 pygobject3
eyeD3 eyeD3
podcastparser podcastparser
@ -69,7 +73,8 @@ python3Packages.buildPythonApplication rec {
''; '';
installCheckPhase = '' installCheckPhase = ''
LC_ALL=C PYTHONPATH=./src:$PYTHONPATH python3 -m gpodder.unittests LC_ALL=C PYTHONPATH=src/:$PYTHONPATH pytest --ignore=tests --ignore=src/gpodder/utilwin32ctypes.py --doctest-modules src/gpodder/util.py src/gpodder/jsonconfig.py
LC_ALL=C PYTHONPATH=src/:$PYTHONPATH pytest tests --ignore=src/gpodder/utilwin32ctypes.py --ignore=src/mygpoclient --cov=gpodder
''; '';
meta = with lib; { meta = with lib; {

View file

@ -11,41 +11,20 @@
</section> </section>
<section> <section>
<item> <item>
@@ -201,4 +197,4 @@
</submenu>
</menu>
</interface>
-<!-- :noTabs=true:tabSize=2:indentSize=2: -->
\ No newline at end of file
+<!-- :noTabs=true:tabSize=2:indentSize=2: -->
--- a/src/gpodder/config.py --- a/src/gpodder/config.py
+++ b/src/gpodder/config.py +++ b/src/gpodder/config.py
@@ -91,13 +91,6 @@ @@ -94,7 +94,7 @@
'retries': 3, # number of retries when downloads time out
},
- # Software updates from gpodder.org # Software updates from gpodder.org
- 'software_update': { 'software_update': {
- 'check_on_startup': True, # check for updates on start - 'check_on_startup': True, # check for updates on start
- 'last_check': 0, # unix timestamp of last update check + 'check_on_startup': False, # check for updates on start
- 'interval': 5, # interval (in days) to check for updates 'last_check': 0, # unix timestamp of last update check
- }, 'interval': 5, # interval (in days) to check for updates
- },
'ui': {
# Settings for the Command-Line Interface
'cli': {
--- a/src/gpodder/gtkui/main.py --- a/src/gpodder/gtkui/main.py
+++ b/src/gpodder/gtkui/main.py +++ b/src/gpodder/gtkui/main.py
@@ -224,7 +224,7 @@ @@ -3445,6 +3445,7 @@
util.idle_add(self.subscribe_to_url, self.options.subscribe)
elif not self.channels:
self.on_itemUpdate_activate()
- elif self.config.software_update.check_on_startup:
+ elif False and self.config.software_update.check_on_startup:
# Check for software updates from gpodder.org
diff = time.time() - self.config.software_update.last_check
if diff > (60 * 60 * 24) * self.config.software_update.interval:
@@ -3288,6 +3288,7 @@
If silent=False, a message will be shown even if no updates are If silent=False, a message will be shown even if no updates are
available (set silent=False when the check is manually triggered). available (set silent=False when the check is manually triggered).
""" """

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "praat"; pname = "praat";
version = "6.2.07"; version = "6.2.09";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "praat"; owner = "praat";
repo = "praat"; repo = "praat";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MM8uC1+d1P7aZI460fCcHWtE7+xfJV1ZFj2cdp/b1rY="; sha256 = "sha256-BhsbTFwxgWwMwe1ow0ppVsLjfMC7QMA/fq09Utwe+KA=";
}; };
configurePhase = '' configurePhase = ''

View file

@ -0,0 +1,39 @@
{ lib, fetchFromGitHub, rustPlatform, alsa-lib, atk, cairo, dbus, gdk-pixbuf, glib, gtk3, pango, pkg-config }:
rustPlatform.buildRustPackage rec {
pname = "psst";
version = "unstable-2022-01-25";
src = fetchFromGitHub {
owner = "jpochyla";
repo = pname;
rev = "1627cd4a301dd51e9ee3034294cd7b0d94d02ddc";
sha256 = "sha256-kepvYhmieXx6Hj79aqaA7tYUnueaBsNx0U4lV7K6LuU=";
};
cargoSha256 = "sha256-DcdlQudGyWUUAacV7pAOLDvhd1fgAkEesdxDkHSYm4M=";
# specify the subdirectory of the binary crate to build from the workspace
buildAndTestSubdir = "psst-gui";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
alsa-lib
atk
cairo
dbus
gdk-pixbuf
glib
gtk3
pango
];
meta = with lib; {
description = "Fast and multi-platform Spotify client with native GUI";
homepage = "https://github.com/jpochyla/psst";
license = licenses.mit;
maintainers = [ maintainers.vbrandl ];
};
}

View file

@ -5,14 +5,14 @@
mkDerivation rec { mkDerivation rec {
pname = "qpwgraph"; pname = "qpwgraph";
version = "0.2.0"; version = "0.2.2";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.freedesktop.org"; domain = "gitlab.freedesktop.org";
owner = "rncbc"; owner = "rncbc";
repo = "qpwgraph"; repo = "qpwgraph";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-SGx80fMFomNEa/jgH8Yeof+f7zXCDxx3Yqd0GxHZGMw="; sha256 = "sha256-BBvF1L3IqkYqSghHxcbwOBizdu6GtxaWof3Q/bc+aTY=";
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];

View file

@ -0,0 +1,85 @@
{ lib, fetchurl
# Optional due to unfree license.
, faacSupport ? false
, glib, python3Packages, gtk3, wrapGAppsHook
, gsettings-desktop-schemas, intltool, xvfb-run
, gobject-introspection, gst_all_1, fdk-aac-encoder }:
python3Packages.buildPythonApplication rec {
pname = "soundconverter";
version = "4.0.3";
src = fetchurl {
url = "https://launchpad.net/soundconverter/trunk/${version}/+download/${pname}-${version}.tar.gz";
sha256 = "sha256-hzIG/4LD3705erPYvXb7uoRwF9LtKKIKB3jrhpYMsZ0=";
};
buildInputs = [
gtk3
fdk-aac-encoder
gobject-introspection
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
(gst_all_1.gst-plugins-bad.override { inherit faacSupport; })
];
nativeBuildInputs = [
intltool
wrapGAppsHook
];
propagatedBuildInputs = [
python3Packages.gst-python
python3Packages.distutils_extra
python3Packages.setuptools
python3Packages.pygobject3
];
checkInputs = [
xvfb-run
];
postPatch = ''
substituteInPlace bin/soundconverter --replace \
"DATA_PATH = os.path.join(SOURCE_PATH, 'data')" \
"DATA_PATH = '$out/share/soundconverter'"
'';
preCheck = let
self = { outPath = "$out"; name = "${pname}-${version}"; };
xdgPaths = lib.concatMapStringsSep ":" glib.getSchemaDataDirPath;
in ''
export HOME=$TMPDIR
export XDG_DATA_DIRS=$XDG_DATA_DIRS:${xdgPaths [gtk3 gsettings-desktop-schemas self]}
# FIXME: Fails due to weird Gio.file_parse_name() behavior.
sed -i '49 a\ @unittest.skip("Gio.file_parse_name issues")' tests/testcases/names.py
'' + lib.optionalString (!faacSupport) ''
substituteInPlace tests/testcases/integration.py --replace \
"for encoder in ['fdkaacenc', 'faac', 'avenc_aac']:" \
"for encoder in ['fdkaacenc', 'avenc_aac']:"
'';
checkPhase = ''
runHook preCheck
xvfb-run python tests/test.py
runHook postCheck
'';
# Necessary to set GDK_PIXBUF_MODULE_FILE.
strictDeps = false;
meta = with lib; {
homepage = "https://soundconverter.org/";
description = "Leading audio file converter for the GNOME Desktop";
longDescription = ''
SoundConverter reads anything the GStreamer library can read,
and writes WAV, FLAC, MP3, AAC and Ogg Vorbis files.
Uses Python and GTK+ GUI toolkit, and runs on X Window System.
'';
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ jakubgs ];
};
}

View file

@ -1,5 +1,6 @@
{ lib, stdenv { lib
, fetchgit , stdenv
, fetchFromGitHub
, autoreconfHook , autoreconfHook
, help2man , help2man
, pkg-config , pkg-config
@ -11,24 +12,25 @@
, boost , boost
, ecasound , ecasound
, glibcLocales , glibcLocales
, libGLU, libGL # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL , libGLU
, libGL # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "soundscape-renderer-unstable"; pname = "soundscape-renderer";
version = "unstable-2016-11-03";
version = "2016-11-03"; src = fetchFromGitHub {
owner = "SoundScapeRenderer";
src = fetchgit { repo = "ssr";
url = "https://github.com/SoundScapeRenderer/ssr";
rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9"; rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9";
sha256 = "095x2spv9bmg6pi71mpajnghbqj58ziflg16f9854awx0qp9d8x7"; sha256 = "sha256-9s+Elaxz9kX+Nle1CqBU/9r0hdI4dhsJ6GrNqvP5HIs=";
}; };
# Without it doesn't find all of the boost libraries. # Without it doesn't find all of the boost libraries.
BOOST_LIB_DIR="${boost}/lib"; BOOST_LIB_DIR = "${boost}/lib";
# uses the deprecated get_generic_category() in boost_system # uses the deprecated get_generic_category() in boost_system
NIX_CFLAGS_COMPILE="-DBOOST_SYSTEM_ENABLE_DEPRECATED=1"; NIX_CFLAGS_COMPILE = "-DBOOST_SYSTEM_ENABLE_DEPRECATED=1";
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";

View file

@ -6,14 +6,14 @@
let chia = python3Packages.buildPythonApplication rec { let chia = python3Packages.buildPythonApplication rec {
pname = "chia"; pname = "chia";
version = "1.2.11"; version = "1.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Chia-Network"; owner = "Chia-Network";
repo = "chia-blockchain"; repo = "chia-blockchain";
rev = version; rev = version;
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "sha256-hRpZce8ydEsyq7htNfzlRSKPwMAOUurC3uiQpX6WiB8="; hash = "sha256-eUvZc/7gqGkCB2tNKdwqKOmOgEcG9a/7TSvvyQzhNcQ=";
}; };
postPatch = '' postPatch = ''
@ -31,6 +31,7 @@ let chia = python3Packages.buildPythonApplication rec {
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}"; SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
aiofiles
aiohttp aiohttp
aiosqlite aiosqlite
bitstring bitstring
@ -46,6 +47,7 @@ let chia = python3Packages.buildPythonApplication rec {
colorlog colorlog
concurrent-log-handler concurrent-log-handler
cryptography cryptography
dnslib
dnspythonchia dnspythonchia
fasteners fasteners
keyrings-cryptfile keyrings-cryptfile
@ -55,6 +57,7 @@ let chia = python3Packages.buildPythonApplication rec {
sortedcontainers sortedcontainers
watchdog watchdog
websockets websockets
zstd
]; ];
checkInputs = with python3Packages; [ checkInputs = with python3Packages; [

View file

@ -1,5 +1,6 @@
{ lib { lib
, stdenv , stdenv
, darwin
, fetchurl , fetchurl
, autoconf , autoconf
, automake , automake
@ -27,16 +28,25 @@ stdenv.mkDerivation rec {
sha256 = "3c9dcb686217b2efe0e988e90b95777c4591e3335e259e01a94af87e0bf01809"; sha256 = "3c9dcb686217b2efe0e988e90b95777c4591e3335e259e01a94af87e0bf01809";
}; };
nativeBuildInputs = [ autogen autoconf automake gettext libtool pkg-config py3 unzip which ]; # when building on darwin we need dawin.cctools to provide the correct libtool
# as libwally-core detects the host as darwin and tries to add the -static
# option to libtool, also we have to add the modified gsed package.
nativeBuildInputs = [ autogen autoconf automake gettext pkg-config py3 unzip which ]
++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ] ++ [ libtool ];
buildInputs = [ gmp libsodium sqlite zlib ]; buildInputs = [ gmp libsodium sqlite zlib ];
postPatch = '' # this causes some python trouble on a darwin host so we skip this step.
# also we have to tell libwally-core to use sed instead of gsed.
postPatch = if !stdenv.isDarwin then ''
patchShebangs \ patchShebangs \
tools/generate-wire.py \ tools/generate-wire.py \
tools/update-mocks.sh \ tools/update-mocks.sh \
tools/mockup.sh \ tools/mockup.sh \
devtools/sql-rewrite.py devtools/sql-rewrite.py
'' else ''
substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
substituteInPlace external/libwally-core/configure.ac --replace gsed sed
''; '';
configureFlags = [ "--disable-developer" "--disable-valgrind" ]; configureFlags = [ "--disable-developer" "--disable-valgrind" ];
@ -56,6 +66,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/ElementsProject/lightning"; homepage = "https://github.com/ElementsProject/lightning";
maintainers = with maintainers; [ jb55 prusnak ]; maintainers = with maintainers; [ jb55 prusnak ];
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View file

@ -12,16 +12,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "electrs"; pname = "electrs";
version = "0.9.5"; version = "0.9.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "romanz"; owner = "romanz";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6TR9OeIAVVbwDrshb9zHTS39x6taNWYK0UyRLbkW+g0="; hash = "sha256-BI7hxlpg2sggD1ag73n+tRre+Ja2ZFhDPzy1DV8aEHw=";
}; };
cargoHash = "sha256-taOrbtx74DICvPLrwym70X3pv7EBA/H22VZmlxefANM="; cargoHash = "sha256-Oy2mOulSB2a9LaT47G+BzjidcjPjHeaoesQ7g6M8M1Q=";
# needed for librocksdb-sys # needed for librocksdb-sys
nativeBuildInputs = [ llvmPackages.clang ]; nativeBuildInputs = [ llvmPackages.clang ];

View file

@ -2,12 +2,12 @@
let let
pname = "ledger-live-desktop"; pname = "ledger-live-desktop";
version = "2.38.3"; version = "2.39.2";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage"; url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-svNsVdenolrfMGKJvB/8HQMq08Ov5Oe5QooI1jFAcbI="; hash = "sha256-zVefF5CsyVVMNffec/xwA3KmMtZepM51C3Xh0ZCGl0c=";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {

View file

@ -15,7 +15,7 @@ from typing import List, Tuple
from pathlib import Path from pathlib import Path
# Import plugin update library from maintainers/scripts/pluginupdate.py # Import plugin update library from maintainers/scripts/pluginupdate.py
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) # type: ignore
sys.path.insert( sys.path.insert(
0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts") 0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts")
) )
@ -42,7 +42,7 @@ HEADER = "# This file has been generated by ./pkgs/applications/editors/kakoune/
class KakouneEditor(pluginupdate.Editor): class KakouneEditor(pluginupdate.Editor):
def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str): def generate_nix(self, plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower()) sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
with open(outfile, "w+") as f: with open(outfile, "w+") as f:

View file

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "leo-editor"; pname = "leo-editor";
version = "6.5"; version = "6.6-b2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leo-editor"; owner = "leo-editor";
repo = "leo-editor"; repo = "leo-editor";
rev = version; rev = version;
sha256 = "sha256-f237oXhnu6OtGVhIFDswFwfjcLgYWvLNRtVW4SChFzU="; sha256 = "sha256-oUOsAYcxknG+bao76bzPhStO1m08pMWTEEiG2rLkklA=";
}; };
dontBuild = true; dontBuild = true;

View file

@ -3,7 +3,7 @@
}: }:
let let
version = "12.6"; version = "13";
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "netbeans"; name = "netbeans";
exec = "netbeans"; exec = "netbeans";
@ -19,7 +19,7 @@ stdenv.mkDerivation {
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip"; url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
hash = "sha512-K0HjEO/yw9h+2+Y5CvxyYG1+kx+KH9NSn+QsKCsvh/rG/ilYLYyy93iZfx+wzwrgEfRtfMpZGtDAxd6nyUSnCA=="; hash = "sha512-Xnh2OhnHOo++gGPx1o/WmcTHV7KNVeeT6ut9xH2Zo0EFtt43GFi2+HLOXm3u/IcjAzWlbGvIp9+TVUnwDusDoA==";
}; };
buildCommand = '' buildCommand = ''

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pinegrow"; pname = "pinegrow";
version = "6.3"; version = "6.4";
src = fetchurl { src = fetchurl {
url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip"; url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
sha256 = "0wldj633p67da077nfc67gr9xhq580rkfd0r3904sjq7x01r0kaz"; sha256 = "0i8sg4criimrqmz0g68b8xcwcrb362ssid5jazswpa6hhwj6s5n4";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -18,13 +18,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "setzer"; pname = "setzer";
version = "0.4.3"; version = "0.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cvfosammmm"; owner = "cvfosammmm";
repo = "Setzer"; repo = "Setzer";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-rfk/csJJATXI1JvAHn2K/+fVLsqmkKxIbNWlcu1EhYY="; hash = "sha256-y39u1eSX7vzcIJzoykU7Y7FTmeZnBW/IlvJLzKHfz8Y=";
}; };
format = "other"; format = "other";

View file

@ -6,13 +6,13 @@
mkDerivation rec { mkDerivation rec {
pname = "sigil"; pname = "sigil";
version = "1.9.0"; version = "1.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "Sigil"; repo = "Sigil";
owner = "Sigil-Ebook"; owner = "Sigil-Ebook";
rev = version; rev = version;
sha256 = "sha256-3rECGnb0kkQwzsMxLxgAp0QEoHFHv+qCjiCgzCZeUJw="; sha256 = "sha256-PsHliyJu61QFTFZUgDtxguu18GBVTOGMW6pPYjHhvG0=";
}; };
pythonPath = with python3Packages; [ lxml ]; pythonPath = with python3Packages; [ lxml ];

View file

@ -536,6 +536,19 @@ let
}; };
}; };
daohong-emilio.yash = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "daohong-emilio";
name = "yash";
version = "0.2.8";
sha256 = "ummOEBSXUI78hBb1AUh+x339T7ocB/evOVaz79geHRM=";
};
meta = {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kamadorueda ];
};
};
davidanson.vscode-markdownlint = buildVscodeMarketplaceExtension { davidanson.vscode-markdownlint = buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "vscode-markdownlint"; name = "vscode-markdownlint";
@ -684,8 +697,8 @@ let
mktplcRef = { mktplcRef = {
name = "gitlens"; name = "gitlens";
publisher = "eamodio"; publisher = "eamodio";
version = "11.7.0"; version = "12.0.1";
sha256 = "0apjjlfdwljqih394ggz2d8m599pyyjrb0b4cfcz83601b7hk3x6"; sha256 = "1xv1vzx643qa8jhjpnpv2wrymz38w130vm0idkcl77lh209r5i8x";
}; };
meta = with lib; { meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog"; changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
@ -1007,8 +1020,8 @@ let
mktplcRef = { mktplcRef = {
name = "vscode-pull-request-github"; name = "vscode-pull-request-github";
publisher = "github"; publisher = "github";
version = "0.35.2022010609"; version = "0.37.2022030309";
sha256 = "06ryx8b605fd1q2zz8jps7j8r506qwym93x1ra1kc0h9g8a8r7sa"; sha256 = "1icmg2ssdkxvwp8mn8zzakwn42hrdglsdgfnaf8va4vd9mqixl1v";
}; };
meta = { license = lib.licenses.mit; }; meta = { license = lib.licenses.mit; };
}; };
@ -1167,10 +1180,14 @@ let
mktplcRef = { mktplcRef = {
name = "latex-workshop"; name = "latex-workshop";
publisher = "James-Yu"; publisher = "James-Yu";
version = "8.2.0"; version = "8.23.0";
sha256 = "1ai16aam4v5jzhxgms589q0l24kyk1a9in6z4i7g05b3sahyxab2"; sha256 = "sha256-IHLsAuTi+GBZViL2KozudebNY745RiOYNATzabQfnOY=";
}; };
meta = with lib; { meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
description = "LaTeX Workshop Extension";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop";
homepage = "https://github.com/James-Yu/LaTeX-Workshop";
license = licenses.mit; license = licenses.mit;
}; };
}; };
@ -1783,6 +1800,23 @@ let
}; };
}; };
skellock.just = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "just";
publisher = "skellock";
version = "2.0.0";
sha256 = "sha256-FOp/dcW0+07rADEpUMzx+SGYjhvE4IhcCOqUQ38yCN4=";
};
meta = with lib; {
changelog = "https://github.com/skellock/vscode-just/blob/master/CHANGELOG.md";
description = "Provides syntax and recipe launcher for Just scripts";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=skellock.just";
homepage = "https://github.com/skellock/vscode-just";
license = licenses.mit;
maintainers = with maintainers; [ maximsmol ];
};
};
skyapps.fish-vscode = buildVscodeMarketplaceExtension { skyapps.fish-vscode = buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "fish-vscode"; name = "fish-vscode";
@ -2067,11 +2101,12 @@ let
mktplcRef = { mktplcRef = {
name = "vscode-pitch-black-theme"; name = "vscode-pitch-black-theme";
publisher = "ViktorQvarfordt"; publisher = "ViktorQvarfordt";
version = "1.2.4"; version = "1.3.0";
sha256 = "sha256-HTXToZv0WWFjuQiofEJuaZNSDTmCUcZ0B3KOn+CVALw="; sha256 = "sha256-1JDm/cWNWwxa1gNsHIM/DIvqjXsO++hAf0mkjvKyi4g=";
}; };
meta = { meta = with lib; {
license = lib.licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
}; };
}; };

View file

@ -14,17 +14,17 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "04lyih67vcf2hficvlv1r25k8k48n9x15sbqrfp1syzhy5i4zch3"; x86_64-linux = "09hqcym8dj4d8r5ibdzypdmjxdw4ix24zq688vnb4kfas2jbb3hi";
x86_64-darwin = "0460mh1ah9hswn8ihais5hzvz453r36ay2bb3hy3z1grfs3s5blk"; x86_64-darwin = "1wij82gl1wqrprrfn9cfih19wr4h3bn2xapr1l2l0mkansrzsvg5";
aarch64-linux = "1db2r4ja0srya2lw900l4mk24xva00kf7vxajcb7q0rab4cpfr3n"; aarch64-linux = "09x93i190lmxb3ygzjcmb7ag3dz7ixf07yk7zqc7ljrnn5f0b6ag";
aarch64-darwin = "04c43ibbarsqdm1wcsmsi9rnfsl3lyq638d3j0dj94xifk0v61j9"; aarch64-darwin = "1k7glnqy0vjx55chjpwbgwipcvzb0vx0wmvqis865pvzmr0d06a0";
armv7l-linux = "1qzi2biy5mjbxdgcakzmid68ykq6vrgj4lqmz0jk3g46r4kpnrgd"; armv7l-linux = "0vkivg1f61k8vkr0j9dm7fw2klh45xxnp07pill1gmrwxafm5bra";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.65.0"; version = "1.65.1";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View file

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0a38bjkksna7q2lhcm1hgfn189jw3k8svw0jf591bpq7jvknim1v"; x86_64-linux = "09zpc8c2il6x88h65kbm6z8vfnx0byzpcqqy9a1za5ilqr3dhk43";
x86_64-darwin = "173rhavczm0k9qgrlz68rdvwsmy3ynq2g14shx9gipchr1i0rih5"; x86_64-darwin = "09m2ij0phf5ni5m110z2bnmd9z50lz1qsh7w7cfawycjhwsl602z";
aarch64-linux = "00xkhwvxmyiyy9k1vh23sqyib584qafzs1m57xraqq3n8098jrng"; aarch64-linux = "1nsdn9mc4ahrz392w2z071sfxc5jmwhamlaid2qy899cc7sk8nqr";
armv7l-linux = "0lqq54hnv4b1m47cya7196cn00jwslcsh5ykicgq0dxljrcawi0y"; armv7l-linux = "1ii6li6l09ccxf0gyjy3f5752kr4a8pga5w0a0ndgfa73mhlamin";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -31,7 +31,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.65.0"; version = "1.65.1";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View file

@ -0,0 +1,23 @@
diff --git a/Ryujinx.Common/ReleaseInformations.cs b/Ryujinx.Common/ReleaseInformations.cs
index 35890406..cca77163 100644
--- a/Ryujinx.Common/ReleaseInformations.cs
+++ b/Ryujinx.Common/ReleaseInformations.cs
@@ -42,12 +42,14 @@ namespace Ryujinx.Common
public static string GetBaseApplicationDirectory()
{
- if (IsFlatHubBuild())
- {
+ //if (IsFlatHubBuild())
+ //{
+ // This needs to be a mutable path, while CurrentDomain.BaseDirectory refers to the nix store.
+ // AppDataManager.BaseDirPath refers to ".config/Ryujinx" on Linux.
return AppDataManager.BaseDirPath;
- }
+ //}
- return AppDomain.CurrentDomain.BaseDirectory;
+ //return AppDomain.CurrentDomain.BaseDirectory;
}
}
}

View file

@ -1,8 +1,6 @@
{ lib { lib
, buildDotnetModule , buildDotnetModule
, fetchFromGitHub , fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, dotnetCorePackages , dotnetCorePackages
, libX11 , libX11
, libgdiplus , libgdiplus
@ -19,13 +17,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "ryujinx"; pname = "ryujinx";
version = "1.1.54"; # Versioning is based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml version = "1.1.64"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ryujinx"; owner = "Ryujinx";
repo = "Ryujinx"; repo = "Ryujinx";
rev = "3705c206688c69d3348f5cec84dc480d8d7c578e"; rev = "54bfaa125d9b6ae1be53ec431d40326fba51d0de";
sha256 = "1lhnr11x46yjpka865m0dzkbkdxmrrhjcpvq4ab4wll6j0ipy908"; sha256 = "0p8wmnm8sjx7wqb5z62mp8c3cwrv241ji3fawj2qgqx3k9jlb31i";
}; };
dotnet-sdk = dotnetCorePackages.sdk_6_0; dotnet-sdk = dotnetCorePackages.sdk_6_0;
@ -41,7 +39,6 @@ buildDotnetModule rec {
executables = [ "Ryujinx" ]; executables = [ "Ryujinx" ];
nativeBuildInputs = [ nativeBuildInputs = [
copyDesktopItems
wrapGAppsHook wrapGAppsHook
]; ];
@ -54,7 +51,6 @@ buildDotnetModule rec {
gtk3 gtk3
libX11 libX11
libgdiplus libgdiplus
ffmpeg
SDL2_mixer SDL2_mixer
openal openal
libsoundio libsoundio
@ -63,34 +59,31 @@ buildDotnetModule rec {
]; ];
patches = [ patches = [
./log.patch # Without this, Ryujinx attempts to write logs to the nix store. This patch makes it write to "~/.config/Ryujinx/Logs" on Linux. ./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
]; ];
preInstall = '' preInstall = ''
# TODO: fix this hack https://github.com/Ryujinx/Ryujinx/issues/2349 # Ryujinx tries to use ffmpeg from PATH
mkdir -p $out/lib/sndio-6
ln -s ${sndio}/lib/libsndio.so $out/lib/sndio-6/libsndio.so.6
makeWrapperArgs+=( makeWrapperArgs+=(
--suffix LD_LIBRARY_PATH : "$out/lib/sndio-6" --suffix PATH : ${lib.makeBinPath [ ffmpeg ]}
) )
for i in 16 32 48 64 96 128 256 512 1024; do
install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png
done
''; '';
desktopItems = [ preFixup = ''
(makeDesktopItem { mkdir -p $out/share/{applications,icons/hicolor/scalable/apps,mime/packages}
desktopName = "Ryujinx"; pushd ${src}/distribution/linux
name = "ryujinx";
exec = "Ryujinx"; install -D ./ryujinx.desktop $out/share/applications/ryujinx.desktop
icon = "ryujinx"; install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml
comment = meta.description; install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg
type = "Application";
categories = [ "Game" ]; substituteInPlace $out/share/applications/ryujinx.desktop --replace \
}) "Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
];
popd
'';
passthru.updateScript = ./updater.sh;
meta = with lib; { meta = with lib; {
homepage = "https://ryujinx.org/"; homepage = "https://ryujinx.org/";
@ -108,5 +101,4 @@ buildDotnetModule rec {
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
mainProgram = "Ryujinx"; mainProgram = "Ryujinx";
}; };
passthru.updateScript = ./updater.sh;
} }

View file

@ -1,21 +0,0 @@
diff --git a/Ryujinx/Configuration/LoggerModule.cs b/Ryujinx/Configuration/LoggerModule.cs
index 44631ea0..534576bc 100644
--- a/Ryujinx/Configuration/LoggerModule.cs
+++ b/Ryujinx/Configuration/LoggerModule.cs
@@ -1,6 +1,7 @@
using Ryujinx.Common;
using Ryujinx.Common.Logging;
using System;
+using System.IO;
namespace Ryujinx.Configuration
{
@@ -74,7 +75,7 @@ namespace Ryujinx.Configuration
if (e.NewValue)
{
Logger.AddTarget(new AsyncLogTargetWrapper(
- new FileLogTarget(AppDomain.CurrentDomain.BaseDirectory, "file"),
+ new FileLogTarget(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"), "file"),
1000,
AsyncLogTargetOverflowAction.Block
));

View file

@ -1,6 +1,6 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6 #! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6
set -euxo pipefail set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")" cd "$(dirname "${BASH_SOURCE[0]}")"
DEPS_FILE="$(realpath "./deps.nix")" DEPS_FILE="$(realpath "./deps.nix")"
@ -31,7 +31,7 @@ NEW_VERSION="${BASE_VERSION}.${PATCH_VERSION}"
OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
echo "comparing versions $OLD_VERSION => $NEW_VERSION" echo "comparing versions $OLD_VERSION -> $NEW_VERSION"
if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
echo "Already up to date! Doing nothing" echo "Already up to date! Doing nothing"
exit 0 exit 0
@ -42,6 +42,8 @@ SHA="$(nix-prefetch-git https://github.com/ryujinx/ryujinx --rev "$COMMIT" --qui
cd ../../../.. cd ../../../..
update-source-version ryujinx "$NEW_VERSION" "$SHA" --rev="$COMMIT" update-source-version ryujinx "$NEW_VERSION" "$SHA" --rev="$COMMIT"
echo "building Nuget lockfile"
STORE_SRC="$(nix-build . -A ryujinx.src --no-out-link)" STORE_SRC="$(nix-build . -A ryujinx.src --no-out-link)"
SRC="$(mktemp -d /tmp/ryujinx-src.XXX)" SRC="$(mktemp -d /tmp/ryujinx-src.XXX)"
cp -rT "$STORE_SRC" "$SRC" cp -rT "$STORE_SRC" "$SRC"

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "avocode"; pname = "avocode";
version = "4.15.5"; version = "4.15.6";
src = fetchurl { src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
sha256 = "sha256-vPS2hTaWjundVjtguy/1eH1qBaipN2Ij8PQODka+IGg="; sha256 = "sha256-vNQT4jyMIIAk1pV3Hrp40nawFutWCv7xtwg2gU6ejy0=";
}; };
libPath = lib.makeLibraryPath (with xorg; [ libPath = lib.makeLibraryPath (with xorg; [

View file

@ -25,14 +25,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "foxotron"; pname = "foxotron";
version = "2021-08-13"; version = "2022-03-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Gargaj"; owner = "Gargaj";
repo = "Foxotron"; repo = "Foxotron";
rev = version; rev = version;
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "sha256-0cnLHTZMeh8ilP0iXaMpFgKQAkizy/FimxXFDbH0b2w="; sha256 = "sha256-w66wi+aMwQa9akfNA/1cS6UmDXPWC4OPK9BIa9Kt47A=";
}; };
nativeBuildInputs = [ cmake pkg-config makeWrapper ]; nativeBuildInputs = [ cmake pkg-config makeWrapper ];

View file

@ -0,0 +1,76 @@
{ lib
, mkDerivation
, fetchpatch
, fetchFromGitHub
, cmake
, extra-cmake-modules
, qtbase
, wrapQtAppsHook
, libraw
, exiv2
, zlib
, alglib
, pkg-config
, makeDesktopItem
, copyDesktopItems
}:
mkDerivation rec {
pname = "hdrmerge";
version = "unstable-2020-11-12";
src = fetchFromGitHub {
owner = "jcelaya";
repo = "hdrmerge";
rev = "f5a2538cffe3e27bd9bea5d6a199fa211d05e6da";
sha256 = "1bzf9wawbdvdbv57hnrmh0gpjfi5hamgf2nwh2yzd4sh1ssfa8jz";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
copyDesktopItems
];
buildInputs = [ qtbase libraw exiv2 zlib alglib ];
cmakeFlags = [
"-DALGLIB_DIR:PATH=${alglib}"
];
patches = [
(fetchpatch {
# patch FindAlglib.cmake to respect ALGLIB_DIR
# see https://github.com/jcelaya/hdrmerge/pull/213
name = "patch-hdrmerge-CMake.patch";
url = "https://github.com/mkroehnert/hdrmerge/commit/472b2dfe7d54856158aea3d5412a02d0bab1da4c.patch";
sha256 = "0jc713ajr4w08pfbi6bva442prj878nxp1fpl9112i3xj34x9sdi";
})
];
desktopItems = [
(makeDesktopItem {
name = "HDRMerge";
genericName = "HDR raw image merge";
desktopName = "HDRMerge";
comment = meta.description;
icon = "hdrmerge";
exec = "hdrmerge %F";
categories = [ "Graphics" ];
mimeTypes = [ "image/x-dcraw" "image/x-adobe-dng" ];
terminal = false;
})
];
postInstall = ''
install -Dm444 ../data/images/icon.png $out/share/icons/hicolor/128x128/apps/hdrmerge.png
'';
meta = with lib; {
homepage = "https://github.com/jcelaya/hdrmerge";
description = "Combines two or more raw images into an HDR";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.paperdigits ];
};
}

View file

@ -5,7 +5,6 @@
, gnumake , gnumake
, makeWrapper , makeWrapper
, pkg-config , pkg-config
, fetchpatch
, autopanosiftc , autopanosiftc
, boost , boost
, cairo , cairo
@ -37,21 +36,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "hugin"; pname = "hugin";
version = "2019.0.0"; version = "2021.0.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2"; url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
sha256 = "1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr"; sha256 = "sha256-BHrqin+keESzTvJ8GdO2l+hJOdyx/bvrLCBGIbZu6tk=";
}; };
patches = [
# Fixes build with exiv2 0.27.1
(fetchpatch {
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/0467d8ba362b9c196e4c1dc4be7de0c1b336335b/hugin/trunk/hugin-exiv2-0.27.1.patch";
sha256 = "1yxvlpvrhyrfd2w6kwx1w3mncsvlzdhp0w7xchy8q6kc2kd5nf7r";
})
];
buildInputs = [ buildInputs = [
boost boost
cairo cairo

View file

@ -6,7 +6,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lightburn"; pname = "lightburn";
version = "1.0.06"; version = "1.1.01";
nativeBuildInputs = [ nativeBuildInputs = [
p7zip p7zip
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z"; url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
sha256 = "sha256-2Wlyt9Xw/FNaFkN1Q6utXdGzp42piebESQARhfpvRhM="; sha256 = "sha256-HgyqpZTf9GTsbDi1+e20YNoFIPYtTHQd8KC626G0038=";
}; };
buildInputs = [ buildInputs = [

View file

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchFromGitHub, copyDesktopItems, makeDesktopItem, qmake { mkDerivation, lib, fetchFromGitHub, fetchpatch, copyDesktopItems, makeDesktopItem, qmake
, qtbase, qtxmlpatterns, qttools, qtwebkit, libGL, fontconfig, openssl, poppler , qtbase, qtxmlpatterns, qttools, qtwebkit, libGL, fontconfig, openssl, poppler
, ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg , ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg
, libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }: , libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }:
@ -32,6 +32,15 @@ in mkDerivation rec {
sha256 = "sha256-OlGXGIMghil/GG6eso20+CWo/hCjarXGs6edXX9pc/M="; sha256 = "sha256-OlGXGIMghil/GG6eso20+CWo/hCjarXGs6edXX9pc/M=";
}; };
patches = [
# Poppler requires at least C++17
(fetchpatch {
name = "use-c-17-for-pdf-on-linux-builds";
url = "https://aur.archlinux.org/cgit/aur.git/plain/use-c-17-for-pdf-on-linux-builds.patch?h=openboard";
sha256 = "sha256-M6HigpOo8ul7qaub4cd7/ATUc85HezEyKyDuzsrZvC8=";
})
];
postPatch = '' postPatch = ''
substituteInPlace OpenBoard.pro \ substituteInPlace OpenBoard.pro \
--replace '/usr/include/quazip' '${quazip}/include/QuaZip-Qt5-${quazip.version}/quazip' \ --replace '/usr/include/quazip' '${quazip}/include/QuaZip-Qt5-${quazip.version}/quazip' \

View file

@ -1,64 +1,80 @@
{ lib { lib
, dbus
, stdenv , stdenv
, rustPlatform
, fetchFromGitHub
, dbus
, ffmpeg
, x264
, libva
, gst_all_1 , gst_all_1
, xorg , xorg
, libdrm , libdrm
, libva , pkg-config
, fetchzip , pango
, copyDesktopItems , cmake
, fontconfig , autoconf
, libpng , libtool
, pipewire , nodePackages
, makeWrapper , ApplicationServices
, autoPatchelfHook , Carbon
, Cocoa
, VideoToolbox
}: }:
stdenv.mkDerivation rec { rustPlatform.buildRustPackage rec {
pname = "weylus"; pname = "weylus";
version = "0.11.4"; version = "0.11.4";
src = fetchzip { src = fetchFromGitHub {
url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip"; owner = "H-M-H";
sha256 = "sha256-EW3TdI4F4d4X/BeSqI05QtS77ym1U5jdswFfNtSFyFk="; repo = pname;
stripRoot = false; rev = "v${version}";
sha256 = "0gq2czxvahww97j4i3k18np29zl6wx85f8253wn3ibqrpfnklz6l";
}; };
installPhase = ''
runHook preInstall
install -Dm755 ./weylus $out/bin/weylus
copyDesktopItems ./weylus.desktop
runHook postInstall
'';
buildInputs = [ buildInputs = [
libpng ffmpeg
x264
] ++ lib.optionals stdenv.isDarwin [
ApplicationServices
Carbon
Cocoa
VideoToolbox
] ++ lib.optionals stdenv.isLinux [
dbus dbus
libdrm
fontconfig
libva libva
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base
pipewire xorg.libXext
# autoPatchelfHook complains if these are missing, even on wayland
xorg.libXft xorg.libXft
xorg.libXinerama xorg.libXinerama
xorg.libXcursor xorg.libXcursor
xorg.libXrender
xorg.libXfixes
xorg.libXtst
xorg.libXrandr xorg.libXrandr
xorg.libXcomposite xorg.libXcomposite
xorg.libXtst xorg.libXi
xorg.libXv
pango
libdrm
]; ];
nativeBuildInputs = [ copyDesktopItems autoPatchelfHook makeWrapper ]; nativeBuildInputs = [
cmake
nodePackages.typescript
] ++ lib.optionals stdenv.isLinux [
pkg-config
autoconf
libtool
];
postFixup = let cargoSha256 = "1pigmch0sy9ipsafd83b8q54xwqjxdaif363n1q8n46arq4v81j0";
GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
gst_all_1.gst-plugins-base cargoBuildFlags = [ "--features=ffmpeg-system" ];
pipewire cargoTestFlags = [ "--features=ffmpeg-system" ];
];
in '' postInstall = ''
wrapProgram $out/bin/weylus --prefix GST_PLUGIN_PATH : ${GST_PLUGIN_PATH} install -vDm755 weylus.desktop $out/share/applications/weylus.desktop
''; '';
meta = with lib; { meta = with lib; {
@ -66,6 +82,5 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/H-M-H/Weylus"; homepage = "https://github.com/H-M-H/Weylus";
license = with licenses; [ agpl3Only ]; license = with licenses; [ agpl3Only ];
maintainers = with maintainers; [ lom ]; maintainers = with maintainers; [ lom ];
platforms = [ "x86_64-linux" ];
}; };
} }

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "batsignal"; pname = "batsignal";
version = "1.3.4"; version = "1.3.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "electrickite"; owner = "electrickite";
repo = "batsignal"; repo = "batsignal";
rev = version; rev = version;
sha256 = "sha256-B2HAEJj8TX44YagJ993d7js/wi1D39/Hi85rxJoKa3U="; sha256 = "sha256-bBa3eKBT43G/Q8gYluW2gH5qcmp/SsrF06onyGlg+UI=";
}; };
buildInputs = [ libnotify glib ]; buildInputs = [ libnotify glib ];

View file

@ -0,0 +1,31 @@
From 324a267b0e5505c9124874581bc48fb174fb2542 Mon Sep 17 00:00:00 2001
From: "P. R. d. O" <d.ol.rod@tutanota.com>
Date: Fri, 4 Mar 2022 07:03:17 -0600
Subject: [PATCH] Pillow update
---
pyproject.toml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 5dc25e0..b3ba397 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.7"
logbook = "^1.5.3"
-Pillow = "^8.2.0"
+Pillow = "^9.0.0"
requests = "^2.24.0"
kiss-headers = "^2.2.3"
single-version = "^1.5.1"
@@ -33,4 +33,4 @@ skip-string-normalization = true
[build-system]
requires = ["poetry>=0.12"]
-build-backend = "poetry.masonry.api"
+build-backend = "poetry.core.masonry.api"
--
2.35.1

View file

@ -0,0 +1,102 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, wrapGAppsHook
, atk
, gdk-pixbuf
, gobject-introspection
, gtk3
, gst-plugins-good
, libhandy
, librsvg
, networkmanager
, pango
, gst-python
, kiss-headers
, Logbook
, pillow
, poetry-core
, pygobject3
, python
, python-zbar
, requests
, single-version
, pytestCheckHook }:
buildPythonApplication rec {
pname = "cobang";
version = "0.9.6";
format = "pyproject";
src = fetchFromGitHub {
owner = "hongquan";
repo = "CoBang";
rev = "v${version}";
sha256 = "sha256-YcXQ2wAgFSsJEqcaDQotpX1put4pQaF511kwq/c2yHw=";
};
patches = [
./0001-Poetry-core-and-pillow-9.patch
];
nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
];
propagatedBuildInputs = [
gst-python
kiss-headers
Logbook
pillow
poetry-core
pygobject3
python-zbar
requests
single-version
];
buildInputs = [
atk
gdk-pixbuf
# Needed to detect namespaces
gobject-introspection
gst-plugins-good
libhandy
networkmanager
pango
];
checkInputs = [
pytestCheckHook
];
# Wrapping this manually for SVG recognition
dontWrapGApps = true;
postInstall = ''
# Needed by the application
cp -R data $out/${python.sitePackages}/
# Icons and applications
install -Dm 644 $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.svg -t $out/share/pixmaps/
install -Dm 644 $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.desktop -t $out/share/applications/
substituteInPlace $out/share/applications/vn.hoabinh.quan.CoBang.desktop \
--replace "Exec=" "Exec=$out/bin/"
'';
preFixup = ''
wrapProgram $out/bin/cobang \
''${gappsWrapperArgs[@]} \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
'';
meta = with lib; {
description = "A QR code scanner desktop app for Linux";
homepage = "https://github.com/hongquan/CoBang";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cubiomes-viewer"; pname = "cubiomes-viewer";
version = "1.12.1"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cubitect"; owner = "Cubitect";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-F0c6gMQKu35iBNRw+wpoxSUOhRUbPRKIXSNDDNZsfPE="; sha256 = "sha256-6XPgSreWcRXN8ymP7zS5a7Cfl9wSLMxjmiugJPp6l+g=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
cp cubiomes-viewer $out/bin cp cubiomes-viewer $out/bin
mkdir -p $out/share/pixmaps mkdir -p $out/share/pixmaps
cp icons/map.png $out/share/pixmaps/cubiomes-viewer.png cp rc/icons/map.png $out/share/pixmaps/cubiomes-viewer.png
runHook postInstall runHook postInstall
''; '';

View file

@ -20,13 +20,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dbeaver"; pname = "dbeaver";
version = "21.3.5"; # When updating also update fetchedMavenDeps.sha256 version = "22.0.0"; # When updating also update fetchedMavenDeps.sha256
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dbeaver"; owner = "dbeaver";
repo = "dbeaver"; repo = "dbeaver";
rev = version; rev = version;
sha256 = "sha256-xJYC+p8HeY4XOzArZMKRvOafW82npMMfwlqlxsH6Ycg="; sha256 = "sha256-LSEsaCEUoKViKC+IjJrV/w1VzOGi4EOr4LnAutOIyJU=";
}; };
fetchedMavenDeps = stdenv.mkDerivation { fetchedMavenDeps = stdenv.mkDerivation {

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }: { lib, stdenv, fetchFromGitHub, python3, installShellFiles }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.9"; version = "2.0";
pname = "ddgr"; pname = "ddgr";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "ddgr"; repo = "ddgr";
rev = "v${version}"; rev = "v${version}";
sha256 = "0qbdq7k0mmvkjp6qzz88n7vf29liqn6y5w4y39ldqdc8hzw5sld7"; sha256 = "sha256-otfa2t/tfpYKqQu+VQxRKryUsIxM3JKILc3zseTC2KM=";
}; };
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dunst"; pname = "dunst";
version = "1.8.0"; version = "1.8.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dunst-project"; owner = "dunst-project";
repo = "dunst"; repo = "dunst";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-bSlSOAxIcFS5B5o3pWmXFsKthAXzbCltnbLAV/bIHLw="; sha256 = "sha256-aMla5mzQpN9CNDc4QSxjcKR+Ufej+8WLBYxCntApcKU=";
}; };
nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ]; nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];

View file

@ -3,15 +3,15 @@
}: }:
let let
pname = "josm"; pname = "josm";
version = "18360"; version = "18387";
srcs = { srcs = {
jar = fetchurl { jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "sha256-1OMEPMtUGkxQCgpmyVP1h25gSDa2MKF7l1rodr61O5s="; sha256 = "sha256-zkEWZjjSy0ajG5X1/dIgLPZ7zr0BiaJJcHaN8sv/3yc=";
}; };
macosx = fetchurl { macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip"; url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
sha256 = "sha256-ZCybgaLwPfQVG2gJ+dtElIY7bGZUe9R8a/0B6QK8yK8="; sha256 = "sha256-xOVnnQ+eUkboT8Tq5F4QJEou1wAaHwiEdyiEKDR/fUk=";
}; };
pkg = fetchsvn { pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested"; url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";

View file

@ -2,12 +2,12 @@
let let
pname = "marktext"; pname = "marktext";
version = "v0.16.3"; version = "v0.17.1";
name = "${pname}-${version}-binary"; name = "${pname}-${version}-binary";
src = fetchurl { src = fetchurl {
url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage"; url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage";
sha256 = "0s93c79vy2vsi7b6xq4hvsvjjad8bdkhl1q135vp98zmbf7bvm9b"; sha256 = "2e2555113e37df830ba3958efcccce7020907b12fd4162368cfd906aeda630b7";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
@ -48,7 +48,7 @@ appimageTools.wrapType2 rec {
description = "A simple and elegant markdown editor, available for Linux, macOS and Windows"; description = "A simple and elegant markdown editor, available for Linux, macOS and Windows";
homepage = "https://marktext.app"; homepage = "https://marktext.app";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ nh2 ]; maintainers = with maintainers; [ nh2 eduarrrd ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
mainProgram = "marktext"; mainProgram = "marktext";
}; };

View file

@ -14,11 +14,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mkgmap"; pname = "mkgmap";
version = "4896"; version = "4897";
src = fetchurl { src = fetchurl {
url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz"; url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
sha256 = "1tPKZASmU0xfQgNZJYzhtvm0f7ynrWk/RWCFZ1kseKs="; sha256 = "RR8o8stOnL6nnEkCtRT9tgo8foSxd6ASTsRcGDgbQRk=";
}; };
patches = [ patches = [

View file

@ -9,13 +9,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "mob"; pname = "mob";
version = "2.5.0"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "remotemobprogramming"; owner = "remotemobprogramming";
repo = pname; repo = pname;
sha256 = "sha256-NXctu5gg0QfiTZ7osQ0yzETabGDuEeTVZBPFyLeNq8k="; sha256 = "sha256-GJ4V4GQRUoXelk0ksHPoFL4iB1W7pe2UydK2AhYjysg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,29 +1,43 @@
{ lib { lib
, buildGoModule , buildGoModule
, fetchFromGitHub , fetchFromGitHub
, pkg-config
, cairo , cairo
, gobject-introspection , gobject-introspection
, gtk3 , gtk3
, gtk-layer-shell , gtk-layer-shell
}: , pkg-config
, wrapGAppsHook
, xdg-utils }:
buildGoModule rec { buildGoModule rec {
pname = "nwg-drawer"; pname = "nwg-drawer";
version = "0.1.11"; version = "0.2.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nwg-piotr"; owner = "nwg-piotr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-aUn9zvlNUuvm7Uo0wyzbkSLXfUDcKn1uxAu3pVwq0FA="; sha256 = "sha256-YhCMOktfsSb7GrKA8reZb+QHcNS/Lpd0hCaPqnWvL7w=";
}; };
vendorSha256 = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk="; vendorSha256 = "sha256-Twipdrt3XZVrzJvElEGbKaJRMnop8fIFMFnriPTSS14=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo gobject-introspection gtk3 gtk-layer-shell ]; buildInputs = [ cairo gobject-introspection gtk3 gtk-layer-shell ];
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
doCheck = false;
preInstall = ''
mkdir -p $out/share/nwg-drawer
cp -r desktop-directories drawer.css $out/share/nwg-drawer
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : ${xdg-utils}/bin
--prefix XDG_DATA_DIRS : $out/share
)
'';
meta = with lib; { meta = with lib; {
description = "Application drawer for sway Wayland compositor"; description = "Application drawer for sway Wayland compositor";

View file

@ -1,8 +1,8 @@
{ stdenv, fetchurl, lib, makeWrapper, electron_13, makeDesktopItem, graphicsmagick { stdenv, fetchurl, lib, makeWrapper, electron_16, makeDesktopItem, graphicsmagick
, writeScript }: , writeScript }:
let let
electron = electron_13; electron = electron_16;
icon = fetchurl { icon = fetchurl {
url = url =
"https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png"; "https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png";
@ -31,11 +31,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "obsidian"; pname = "obsidian";
version = "0.13.23"; version = "0.13.30";
src = fetchurl { src = fetchurl {
url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz"; url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
sha256 = "1chxf6vrybjvc64k66a3l5xvv6iv6w8b03pdcrc0pr0nnlwkcf8c"; sha256 = "ymdqdDD7WWfol/jLBsz8tEzcN7Ed1HSIrkuA51cvKKw=";
}; };
nativeBuildInputs = [ makeWrapper graphicsmagick ]; nativeBuildInputs = [ makeWrapper graphicsmagick ];
@ -68,6 +68,7 @@ in stdenv.mkDerivation rec {
description = description =
"A powerful knowledge base that works on top of a local folder of plain text Markdown files"; "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
homepage = "https://obsidian.md"; homepage = "https://obsidian.md";
downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases";
license = licenses.obsidian; license = licenses.obsidian;
maintainers = with maintainers; [ conradmearns zaninime ]; maintainers = with maintainers; [ conradmearns zaninime ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];

View file

@ -15,12 +15,6 @@ stdenvNoCC.mkDerivation rec {
substituteInPlace src/oil --replace \ substituteInPlace src/oil --replace \
"LIBDIR=/usr/local/lib/oil" "LIBDIR=${placeholder "out"}/lib" "LIBDIR=/usr/local/lib/oil" "LIBDIR=${placeholder "out"}/lib"
substituteInPlace Makefile --replace \
"LIBDIR ?= /usr/local/lib/oil" "LIBDIR ?= ${placeholder "out"}/lib" \
substituteInPlace Makefile --replace \
"BINDIR ?= /usr/local/bin" "BINDIR ?= ${placeholder "out"}/bin"
substituteInPlace src/json-to-line.jq --replace \ substituteInPlace src/json-to-line.jq --replace \
"/usr/bin/env -S jq" "${jq}/bin/jq" "/usr/bin/env -S jq" "${jq}/bin/jq"
@ -28,6 +22,11 @@ stdenvNoCC.mkDerivation rec {
"/usr/bin/env -S awk" "${gawk}/bin/awk" "/usr/bin/env -S awk" "${gawk}/bin/awk"
''; '';
makeFlags = [
"BINDIR=${placeholder "out"}/bin"
"LIBDIR=${placeholder "out"}/lib"
];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
postFixup = '' postFixup = ''

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "p2pool"; pname = "p2pool";
version = "1.7"; version = "1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SChernykh"; owner = "SChernykh";
repo = "p2pool"; repo = "p2pool";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ohfC10U7srs5IrFWPF5AKPwXPHaRxlYRK4ZZ0pE8tEs="; sha256 = "sha256-cQd3dtih7C+pEmkvlrsYTJtQWBVVMiFbtNQUM0Ck3tg=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -2,25 +2,30 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "sigi"; pname = "sigi";
version = "3.0.0"; version = "3.0.2";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-1xZMj6NjwA9pVOEL4CDv4XHC3usu3WdjsLJuW3vgxc8="; sha256 = "sha256-N+8DdokiYW5mHIQJisdTja8xMVGip37X6c/xBYnQaRU=";
}; };
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
# As part of its tests, sigi hard-codes a location to BATS based on git
# submodules. The tests are recommeded to skip for Linux packaging. They'll
# move to Rust after this issue: https://github.com/hiljusti/sigi/issues/19
checkFlags = [ "SKIP_BATS_TESTS=1" ];
postInstall = '' postInstall = ''
installManPage sigi.1 installManPage sigi.1
''; '';
cargoSha256 = "sha256-NUWm2GkK7bASo6bAOgQgHate45iDG5l3G/KhtLrjzQ8="; cargoSha256 = "sha256-vO9ocTDcGt/T/sLCP+tCHXihV1H2liFDjI7OhhmPd3I=";
passthru.tests.version = testVersion { package = sigi; }; passthru.tests.version = testVersion { package = sigi; };
meta = with lib; { meta = with lib; {
description = "CLI tool for organization and planning"; description = "Organizing CLI for people who don't love organizing.";
homepage = "https://github.com/hiljusti/sigi"; homepage = "https://github.com/hiljusti/sigi";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ hiljusti ]; maintainers = with maintainers; [ hiljusti ];

View file

@ -1,4 +1,5 @@
{ lib, stdenv { lib
, stdenv
, fetchurl , fetchurl
, rpmextract , rpmextract
, patchelf , patchelf
@ -9,11 +10,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "snowsql"; pname = "snowsql";
majorVersion = "1.2"; majorVersion = "1.2";
version = "${majorVersion}.9"; version = "${majorVersion}.21";
src = fetchurl { src = fetchurl {
url = "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/${majorVersion}/linux_x86_64/snowflake-snowsql-${version}-1.x86_64.rpm"; url = "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/${majorVersion}/linux_x86_64/snowflake-snowsql-${version}-1.x86_64.rpm";
sha256 = "1k9dyr4vyqivpg054kbvs0jdwhbqbmlp9lsyxgazdsviw8ch70c8"; sha256 = "10pzxqk71amvaz951jl666ia6v0z22bgpvr108l3q62950hhhwmn";
}; };
nativeBuildInputs = [ rpmextract makeWrapper ]; nativeBuildInputs = [ rpmextract makeWrapper ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "spicetify-cli"; pname = "spicetify-cli";
version = "2.9.1"; version = "2.9.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "khanhas"; owner = "khanhas";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Rs70LmJ/+pbISQpPuEYV2URFv7uf+jdTVQopUSKExSY="; sha256 = "sha256-r6xm0Gq2QXWQEcYEu1n0y6S4r4odzYP8Srr0U+jZr6U=";
}; };
vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs="; vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";

View file

@ -0,0 +1,42 @@
{ stdenv, lib, pkgs, fzf, gawk, fetchFromGitHub, makeWrapper }:
stdenv.mkDerivation rec {
pname = "sway-launcher-desktop";
version = "1.5.4";
src = fetchFromGitHub {
owner = "Biont";
repo = "sway-launcher-desktop";
rev = "v${version}";
sha256 = "0i19igj30jyszqb63ibq0b0zxzvjw3z1zikn9pbk44ig1c0v61aa";
};
postPatch = ''
patchShebangs ${pname}.sh
'';
buildInputs = [ fzf gawk ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
install -d $out/bin
install ${pname}.sh $out/bin/${pname}
wrapProgram $out/bin/${pname} \
--prefix PATH : ${lib.makeBinPath [ gawk fzf ]}
'';
meta = with lib; {
description = "TUI Application launcher with Desktop Entry support.";
longDescription = ''
This is a TUI-based launcher menu made with bash and the amazing fzf.
Despite its name, it does not (read: no longer) depend on the Sway window manager
in any way and can be used with just about any WM.
'';
homepage = "https://github.com/Biont/sway-launcher-desktop";
changelog = "https://github.com/Biont/sway-launcher-desktop/releases/tag/v${version}";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.mrhedgehog ];
mainProgram = "${pname}";
};
}

View file

@ -5,19 +5,19 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "taskwarrior-tui"; pname = "taskwarrior-tui";
version = "0.18.5"; version = "0.20.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kdheepak"; owner = "kdheepak";
repo = "taskwarrior-tui"; repo = "taskwarrior-tui";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Rztz/qye+VsZ0czPt6xk4PwK0e6Aq1GC404+843W55Y="; sha256 = "sha256-NE0GKQ3ROD+AF5FCuaKJ+8g+wiYobVK8swK0F9jo2Lk=";
}; };
# Because there's a test that requires terminal access # Because there's a test that requires terminal access
doCheck = false; doCheck = false;
cargoSha256 = "sha256-H2A78ACz4TxHxCCtcOuzrfAk4awU6/HC/TlHLNtb/bk="; cargoSha256 = "sha256-hO5rff3bm8g3JYh5vFhj2L3f/hOgP0ZA0EhO3YF5DFw=";
meta = with lib; { meta = with lib; {
description = "A terminal user interface for taskwarrior "; description = "A terminal user interface for taskwarrior ";

View file

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ticker"; pname = "ticker";
version = "4.5.0"; version = "4.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "achannarasappa"; owner = "achannarasappa";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-THVzurv1LB2lxGsCw0ZPUF5QLgtUfN4ZNp8ak05I2Es="; sha256 = "sha256-LY9js3ckkSTsE5td3VV4DPXeoxhw9MjOa35SdxMlUqk=";
}; };
vendorSha256 = "sha256-6bosJ2AlbLZ551tCNPmvNyyReFJG+iS3SYUFti2/CAw="; vendorSha256 = "sha256-6bosJ2AlbLZ551tCNPmvNyyReFJG+iS3SYUFti2/CAw=";

View file

@ -30,13 +30,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "waybar"; pname = "waybar";
version = "0.9.9"; version = "0.9.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Alexays"; owner = "Alexays";
repo = "Waybar"; repo = "Waybar";
rev = version; rev = version;
sha256 = "sha256-yXvT9NMXtUxr9VVLADoL6PUOMko5yFFc51zNsfHz6S4="; sha256 = "sha256-KiRtU32h3AvThDWnCw55LnqbWVAZLXY/7fU1HxLMjLo=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,12 +2,12 @@
buildGoModule rec { buildGoModule rec {
pname = "bombadillo"; pname = "bombadillo";
version = "2.3.3"; version = "2.4.0";
src = fetchgit { src = fetchgit {
url = "https://tildegit.org/sloum/bombadillo.git"; url = "https://tildegit.org/sloum/bombadillo.git";
rev = version; rev = version;
sha256 = "02w6h44sxzmk3bkdidl8xla0i9rwwpdqljnvcbydx5kyixycmg0q"; sha256 = "sha256-FjU9AyRAdGFr1bVpkmj5STkbzCXvpxOaOj7WNQJq7A0=";
}; };
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -91,11 +91,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "brave"; pname = "brave";
version = "1.36.109"; version = "1.36.111";
src = fetchurl { src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "KKoMpMagq5lVoRFyWNs92LdPwNIlmAjfwqxfOArIFeo="; sha256 = "bXZsUqLaP43wJV3Cehgblw1G179HgGhToSL36v5QseA=";
}; };
dontConfigure = true; dontConfigure = true;

View file

@ -266,7 +266,7 @@ let
google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
# Optional features: # Optional features:
use_gio = gnomeSupport || chromiumVersionAtLeast "99"; use_gio = true;
use_gnome_keyring = gnomeKeyringSupport; use_gnome_keyring = gnomeKeyringSupport;
use_cups = cupsSupport; use_cups = cupsSupport;
@ -287,24 +287,8 @@ let
} // optionalAttrs pulseSupport { } // optionalAttrs pulseSupport {
use_pulseaudio = true; use_pulseaudio = true;
link_pulseaudio = true; link_pulseaudio = true;
} // optionalAttrs ungoogled { } // optionalAttrs ungoogled (importTOML ./ungoogled-flags.toml)
chrome_pgo_phase = 0; // (extraAttrs.gnFlags or {}));
enable_hangout_services_extension = false;
enable_js_type_check = false;
enable_mdns = false;
enable_one_click_signin = false;
enable_reading_list = false;
enable_remoting = false;
enable_reporting = false;
enable_service_discovery = false;
exclude_unwind_tables = true;
google_api_key = "";
google_default_client_id = "";
google_default_client_secret = "";
safe_browsing_mode = 0;
use_official_google_api_keys = false;
use_unofficial_version_number = false;
} // (extraAttrs.gnFlags or {}));
configurePhase = '' configurePhase = ''
runHook preConfigure runHook preConfigure

View file

@ -1,5 +1,5 @@
{ newScope, config, stdenv, fetchurl, makeWrapper { newScope, config, stdenv, fetchurl, makeWrapper
, llvmPackages_13, llvmPackages_14, ed, gnugrep, coreutils, xdg-utils , llvmPackages_14, ed, gnugrep, coreutils, xdg-utils
, glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit , glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit
, libva, pipewire, wayland , libva, pipewire, wayland
, gcc, nspr, nss, runCommand , gcc, nspr, nss, runCommand
@ -19,7 +19,7 @@
}: }:
let let
llvmPackages = llvmPackages_13; llvmPackages = llvmPackages_14;
stdenv = llvmPackages.stdenv; stdenv = llvmPackages.stdenv;
upstream-info = (lib.importJSON ./upstream-info.json).${channel}; upstream-info = (lib.importJSON ./upstream-info.json).${channel};
@ -54,9 +54,6 @@ let
inherit (upstream-info.deps.gn) url rev sha256; inherit (upstream-info.deps.gn) url rev sha256;
}; };
}); });
} // lib.optionalAttrs (chromiumVersionAtLeast "99") rec {
llvmPackages = llvmPackages_14;
stdenv = llvmPackages_14.stdenv;
}); });
browser = callPackage ./browser.nix { browser = callPackage ./browser.nix {

View file

@ -0,0 +1,23 @@
build_with_tflite_lib=false
chrome_pgo_phase=0
clang_use_chrome_plugins=false
disable_fieldtrial_testing_config=true
enable_hangout_services_extension=false
enable_js_type_check=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true
enable_nacl=false
enable_one_click_signin=false
enable_reading_list=false
enable_remoting=false
enable_reporting=false
enable_service_discovery=false
enable_widevine=true
exclude_unwind_tables=true
google_api_key=""
google_default_client_id=""
google_default_client_secret=""
safe_browsing_mode=0
treat_warnings_as_errors=false
use_official_google_api_keys=false
use_unofficial_version_number=false

View file

@ -24,6 +24,7 @@ DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official' BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official'
JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json' JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json'
UNGOOGLED_FLAGS_PATH = dirname(abspath(__file__)) + '/ungoogled-flags.toml'
COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py' COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py'
@ -108,6 +109,12 @@ def get_latest_ungoogled_chromium_build():
} }
def get_ungoogled_chromium_gn_flags(revision):
"""Returns ungoogled-chromium's GN build flags for the given revision."""
gn_flags_url = f'https://raw.githubusercontent.com/Eloston/ungoogled-chromium/{revision}/flags.gn'
return urlopen(gn_flags_url).read().decode()
def channel_name_to_attr_name(channel_name): def channel_name_to_attr_name(channel_name):
"""Maps a channel name to the corresponding main Nixpkgs attribute name.""" """Maps a channel name to the corresponding main Nixpkgs attribute name."""
if channel_name == 'stable': if channel_name == 'stable':
@ -208,6 +215,8 @@ with urlopen(HISTORY_URL) as resp:
'rev': build['ungoogled_tag'], 'rev': build['ungoogled_tag'],
'sha256': nix_prefetch_git(ungoogled_repo_url, build['ungoogled_tag'])['sha256'] 'sha256': nix_prefetch_git(ungoogled_repo_url, build['ungoogled_tag'])['sha256']
} }
with open(UNGOOGLED_FLAGS_PATH, 'w') as out:
out.write(get_ungoogled_chromium_gn_flags(build['ungoogled_tag']))
channels[channel_name] = channel channels[channel_name] = channel
@ -227,6 +236,8 @@ if len(sys.argv) == 2 and sys.argv[1] == '--commit':
if channel_name == 'stable': if channel_name == 'stable':
body = subprocess.check_output([COMMIT_MESSAGE_SCRIPT, version_new]).decode('utf-8') body = subprocess.check_output([COMMIT_MESSAGE_SCRIPT, version_new]).decode('utf-8')
commit_message += '\n\n' + body commit_message += '\n\n' + body
elif channel_name == 'ungoogled-chromium':
subprocess.run(['git', 'add', UNGOOGLED_FLAGS_PATH], check=True)
subprocess.run(['git', 'add', JSON_PATH], check=True) subprocess.run(['git', 'add', JSON_PATH], check=True)
subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True) subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
else: else:

View file

@ -45,19 +45,19 @@
} }
}, },
"ungoogled-chromium": { "ungoogled-chromium": {
"version": "98.0.4758.102", "version": "99.0.4844.51",
"sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1", "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
"sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6", "sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-12-07", "version": "2022-01-10",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f", "rev": "80a40b07305373617eba2d5878d353532af77da3",
"sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh" "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
}, },
"ungoogled-patches": { "ungoogled-patches": {
"rev": "98.0.4758.102-1", "rev": "99.0.4844.51-1",
"sha256": "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0" "sha256": "0rs10jrng63lk4xgnqpgc8zxaj6lp70csbx6r0ihpv4z3rdn37va"
} }
} }
} }

View file

@ -1,11 +1,11 @@
{ {
"packageVersion": "97.0.1-1", "packageVersion": "97.0.2-1",
"source": { "source": {
"rev": "97.0.1-1", "rev": "97.0.2-1",
"sha256": "10gbnkmyivawwqn3gf5c98l49b03j70gbniaar8bfl80j8av0v5j" "sha256": "0pk9ci0wvz61879w3fvy8p1w4w8anv5s7rfiimz21m351gcf3d7m"
}, },
"firefox": { "firefox": {
"version": "97.0.1", "version": "97.0.2",
"sha512": "8620aace77167593aab5acd230860eb3e67eeddc49c0aad0491b5dc20bd0ddb6089dbb8975aed241426f57b2ad772238b04d03b95390175f580cbd80bb6d5f6c" "sha512": "efbf33723f5979025454b6cc183927afb4bc72a51c00b5d45940122da596b8ac99080f3a6a59f5dd85a725e356349ec57e7eba1c36cdab7d55a28b04895d274c"
} }
} }

View file

@ -16,7 +16,7 @@ rec {
meta = { meta = {
description = "A web browser built from Firefox source tree"; description = "A web browser built from Firefox source tree";
homepage = "http://www.mozilla.com/en-US/firefox/"; homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ eelco lovesegfault hexa ]; maintainers = with lib.maintainers; [ lovesegfault hexa ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin; badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
@ -32,10 +32,10 @@ rec {
firefox-esr-91 = common rec { firefox-esr-91 = common rec {
pname = "firefox-esr"; pname = "firefox-esr";
version = "91.6.1esr"; version = "91.7.0esr";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e72ff7114e251ec3558f47bb45e4017fe4c665a95e0a108d5818c628b3de44c92f57cfb3dd9f5a25b7abad889be228f89dda838bc20fc9617c90655694184ed5"; sha512 = "925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301";
}; };
meta = { meta = {

View file

@ -105,7 +105,7 @@ let
enterprisePolicies = enterprisePolicies =
{ {
policies = lib.optionalAttrs usesNixExtensions { policies = {
DisableAppUpdate = true; DisableAppUpdate = true;
} // } //
lib.optionalAttrs usesNixExtensions { lib.optionalAttrs usesNixExtensions {

Some files were not shown because too many files have changed in this diff Show more