Merge branch 'staging-next' into staging

This commit is contained in:
Vladimír Čunát 2021-08-06 09:14:57 +02:00
commit 8ab6ba6b1c
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
317 changed files with 6249 additions and 3712 deletions

View file

@ -13,6 +13,7 @@ In the following is an example expression using `buildGoModule`, the following a
- `vendorSha256`: is the hash of the output of the intermediate fetcher derivation. `vendorSha256` can also take `null` as an input. When `null` is used as a value, rather than fetching the dependencies and vendoring them, we use the vendoring included within the source repo. If you'd like to not have to update this field on dependency changes, run `go mod vendor` in your source repo and set `vendorSha256 = null;`
- `runVend`: runs the vend command to generate the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build.
- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if any dependency has case-insensitive conflicts which will produce platform dependant `vendorSha256` checksums.
```nix
pet = buildGoModule rec {
@ -112,16 +113,6 @@ done
Both `buildGoModule` and `buildGoPackage` can be tweaked to behave slightly differently, if the following attributes are used:
### `buildFlagsArray` and `buildFlags`: {#ex-goBuildFlags-noarray}
These attributes set build flags supported by `go build`. We recommend using `buildFlagsArray`.
```nix
buildFlagsArray = [
"-tags=release"
];
```
### `ldflags` {#var-go-ldflags}
Arguments to pass to the Go linker tool via the `-ldflags` argument of `go build`. The most common use case for this argument is to make the resulting executable aware of its own version. For example:
@ -134,6 +125,21 @@ Arguments to pass to the Go linker tool via the `-ldflags` argument of `go build
];
```
### `tags` {#var-go-tags}
Arguments to pass to the Go via the `-tags` argument of `go build`. For example:
```nix
tags = [
"production"
"sqlite"
];
```
```nix
tags = [ "production" ] ++ lib.optionals withSqlite [ "sqlite" ];
```
### `deleteVendor` {#var-go-deleteVendor}
Removes the pre-existing vendor directory. This should only be used if the dependencies included in the vendor folder are broken or incomplete.

View file

@ -39,7 +39,7 @@ To add a package from NPM to nixpkgs:
1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
or remove package entries to have it included in `nodePackages` and
`nodePackages_latest`.
2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`.
3. Build your new package to test your changes:
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
To build against the latest stable Current Node.js version (e.g. 14.x):

View file

@ -4007,6 +4007,16 @@
fingerprint = "5214 2D39 A7CE F8FA 872B CA7F DE62 E1E2 A614 5556";
}];
};
gpanders = {
name = "Gregory Anders";
email = "greg@gpanders.com";
github = "gpanders";
githubId = 8965202;
keys = [{
longkeyid = "rsa2048/0x56E93C2FB6B08BDB";
fingerprint = "B9D5 0EDF E95E ECD0 C135 00A9 56E9 3C2F B6B0 8BDB";
}];
};
gpyh = {
email = "yacine.hmito@gmail.com";
github = "yacinehmito";
@ -7856,6 +7866,12 @@
githubId = 1839979;
name = "Niklas Thörne";
};
nukaduka = {
email = "ksgokte@gmail.com";
github = "NukaDuka";
githubId = 22592293;
name = "Kartik Gokte";
};
nullx76 = {
email = "nix@xirion.net";
github = "NULLx76";

View file

@ -149,6 +149,13 @@
<link linkend="opt-services.meshcentral.enable">services.meshcentral.enable</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/Arksine/moonraker">moonraker</link>,
an API web server for Klipper. Available as
<link linkend="opt-services.moonraker.enable">moonraker</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-incompatibilities">
@ -799,6 +806,15 @@
this up.
</para>
</listitem>
<listitem>
<para>
Zfs: <literal>latestCompatibleLinuxPackages</literal> is now
exported on the zfs package. One can use
<literal>boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;</literal>
to always track the latest compatible kernel with a given
version of zfs.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -45,6 +45,9 @@ pt-services.clipcat.enable).
- [MeshCentral](https://www.meshcommander.com/meshcentral2/overview), a remote administration service ("TeamViewer but self-hosted and with more features") is now available with a package and a module: [services.meshcentral.enable](#opt-services.meshcentral.enable)
- [moonraker](https://github.com/Arksine/moonraker), an API web server for Klipper.
Available as [moonraker](#opt-services.moonraker.enable).
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
- The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
@ -204,3 +207,5 @@ pt-services.clipcat.enable).
- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
- The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
- Zfs: `latestCompatibleLinuxPackages` is now exported on the zfs package. One can use `boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;` to always track the latest compatible kernel with a given version of zfs.

View file

@ -258,8 +258,7 @@ in
environment.systemPackages = []
++ optional cfg.man.enable manual.manpages
++ optionals cfg.doc.enable ([ manual.manualHTML nixos-help ]
++ optionals config.services.xserver.enable [ pkgs.nixos-icons ]);
++ optionals cfg.doc.enable [ manual.manualHTML nixos-help ];
services.getty.helpLine = mkIf cfg.doc.enable (
"\nRun 'nixos-help' for the NixOS manual."

View file

@ -349,6 +349,7 @@ in
zigbee2mqtt = 317;
# shadow = 318; # unused
hqplayer = 319;
moonraker = 320;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -652,6 +653,7 @@ in
zigbee2mqtt = 317;
shadow = 318;
hqplayer = 319;
moonraker = 320;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -533,9 +533,11 @@
./services/misc/mbpfan.nix
./services/misc/mediatomb.nix
./services/misc/metabase.nix
./services/misc/moonraker.nix
./services/misc/mwlib.nix
./services/misc/mx-puppet-discord.nix
./services/misc/n8n.nix
./services/misc/nitter.nix
./services/misc/nix-daemon.nix
./services/misc/nix-gc.nix
./services/misc/nix-optimise.nix

View file

@ -278,7 +278,10 @@ in
fi
'';
environment.etc.zinputrc.source = ./zinputrc;
# Bug in nix flakes:
# If we use `.source` here the path is garbage collected also we point to it with a symlink
# see https://github.com/NixOS/nixpkgs/issues/132732
environment.etc.zinputrc.text = builtins.readFile ./zinputrc;
environment.systemPackages =
let

View file

@ -406,7 +406,7 @@ let
${let oath = config.security.pam.oath; in optionalString cfg.oathAuth
"auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
${let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth
"auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}"}
"auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}"}
${optionalString cfg.fprintAuth
"auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
'' +
@ -822,6 +822,16 @@ in
Challenge-Response configurations. See the man-page ykpamcfg(1) for further
details on how to configure offline Challenge-Response validation.
More information can be found <link
xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
'';
};
challengeResponsePath = mkOption {
default = null;
type = types.path;
description = ''
If not null, set the path used by yubico pam module where the challenge expected response is stored.
More information can be found <link
xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
'';

View file

@ -56,22 +56,6 @@ in
Open TCP port 8088 in the firewall for the server.
'';
};
user = mkOption {
type = types.str;
default = "hqplayer";
description = ''
User account under which hqplayerd runs.
'';
};
group = mkOption {
type = types.str;
default = "hqplayer";
description = ''
Group account under which hqplayerd runs.
'';
};
};
};
@ -100,68 +84,44 @@ in
systemd = {
tmpfiles.rules = [
"d ${configDir} 0755 ${cfg.user} ${cfg.group} - -"
"d ${stateDir} 0755 ${cfg.user} ${cfg.group} - -"
"d ${stateDir}/home 0755 ${cfg.user} ${cfg.group} - -"
"d ${configDir} 0755 hqplayer hqplayer - -"
"d ${stateDir} 0755 hqplayer hqplayer - -"
"d ${stateDir}/home 0755 hqplayer hqplayer - -"
];
packages = [ pkg ];
services.hqplayerd = {
description = "HQPlayer daemon";
wantedBy = [ "multi-user.target" ];
requires = [ "network-online.target" "sound.target" "systemd-udev-settle.service" ];
after = [ "network-online.target" "sound.target" "systemd-udev-settle.service" "local-fs.target" "remote-fs.target" "systemd-tmpfiles-setup.service" ];
after = [ "systemd-tmpfiles-setup.service" ];
environment.HOME = "${stateDir}/home";
unitConfig.ConditionPathExists = [ configDir stateDir ];
preStart =
let
blankCfg = pkgs.writeText "hqplayerd.xml" ''
<?xml version="1.0" encoding="utf-8"?>
<xml>
</xml>
'';
in
''
cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
chmod -R u+wX "${stateDir}/web"
preStart = ''
cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
chmod -R u+wX "${stateDir}/web"
if [ ! -f "${configDir}/hqplayerd.xml" ]; then
echo "creating blank config file"
install -m 0644 "${blankCfg}" "${configDir}/hqplayerd.xml"
fi
'' + optionalString (cfg.auth.username != null && cfg.auth.password != null) ''
${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password}
'';
serviceConfig = {
ExecStart = "${pkg}/bin/hqplayerd";
User = cfg.user;
Group = cfg.group;
Restart = "on-failure";
RestartSec = 5;
Nice = -10;
IOSchedulingClass = "realtime";
LimitMEMLOCK = "1G";
LimitNICE = -10;
LimitRTPRIO = 98;
};
if [ ! -f "${configDir}/hqplayerd.xml" ]; then
echo "creating initial config file"
install -m 0644 "${pkg}/etc/hqplayer/hqplayerd.xml" "${configDir}/hqplayerd.xml"
fi
'' + optionalString (cfg.auth.username != null && cfg.auth.password != null) ''
${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password}
'';
};
};
users.groups = mkIf (cfg.group == "hqplayer") {
users.groups = {
hqplayer.gid = config.ids.gids.hqplayer;
};
users.users = mkIf (cfg.user == "hqplayer") {
users.users = {
hqplayer = {
description = "hqplayer daemon user";
extraGroups = [ "audio" ];
group = cfg.group;
group = "hqplayer";
uid = config.ids.uids.hqplayer;
};
};

View file

@ -7,28 +7,49 @@ let
cfg = config.services.postgresqlBackup;
postgresqlBackupService = db: dumpCmd:
{
let
compressSuffixes = {
"none" = "";
"gzip" = ".gz";
"zstd" = ".zstd";
};
compressSuffix = getAttr cfg.compression compressSuffixes;
compressCmd = getAttr cfg.compression {
"none" = "cat";
"gzip" = "${pkgs.gzip}/bin/gzip -c";
"zstd" = "${pkgs.zstd}/bin/zstd -c";
};
mkSqlPath = prefix: suffix: "${cfg.location}/${db}${prefix}.sql${suffix}";
curFile = mkSqlPath "" compressSuffix;
prevFile = mkSqlPath ".prev" compressSuffix;
prevFiles = map (mkSqlPath ".prev") (attrValues compressSuffixes);
inProgressFile = mkSqlPath ".in-progress" compressSuffix;
in {
enable = true;
description = "Backup of ${db} database(s)";
requires = [ "postgresql.service" ];
path = [ pkgs.coreutils pkgs.gzip config.services.postgresql.package ];
path = [ pkgs.coreutils config.services.postgresql.package ];
script = ''
set -e -o pipefail
umask 0077 # ensure backup is only readable by postgres user
if [ -e ${cfg.location}/${db}.sql.gz ]; then
mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
if [ -e ${curFile} ]; then
rm -f ${toString prevFiles}
mv ${curFile} ${prevFile}
fi
${dumpCmd} | \
gzip -c > ${cfg.location}/${db}.in-progress.sql.gz
${dumpCmd} \
| ${compressCmd} \
> ${inProgressFile}
mv ${cfg.location}/${db}.in-progress.sql.gz ${cfg.location}/${db}.sql.gz
mv ${inProgressFile} ${curFile}
'';
serviceConfig = {
@ -87,7 +108,7 @@ in {
default = "/var/backup/postgresql";
type = types.path;
description = ''
Location to put the gzipped PostgreSQL database dumps.
Path of directory where the PostgreSQL database dumps will be placed.
'';
};
@ -101,6 +122,14 @@ in {
when no databases where specified.
'';
};
compression = mkOption {
type = types.enum ["none" "gzip" "zstd"];
default = "gzip";
description = ''
The type of compression to use on the generated database dump.
'';
};
};
};

View file

@ -30,8 +30,7 @@ in
apiSocket = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/klipper/api";
default = "/run/klipper/api";
description = "Path of the API socket to create.";
};

View file

@ -0,0 +1,135 @@
{ config, lib, pkgs, ... }:
with lib;
let
pkg = pkgs.moonraker;
cfg = config.services.moonraker;
format = pkgs.formats.ini {
# https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996
listToValue = l:
if builtins.length l == 1 then generators.mkValueStringDefault {} (head l)
else lib.concatMapStrings (s: "\n ${generators.mkValueStringDefault {} s}") l;
mkKeyValue = generators.mkKeyValueDefault {} ":";
};
in {
options = {
services.moonraker = {
enable = mkEnableOption "Moonraker, an API web server for Klipper";
klipperSocket = mkOption {
type = types.path;
default = config.services.klipper.apiSocket;
description = "Path to Klipper's API socket.";
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/moonraker";
description = "The directory containing the Moonraker databases.";
};
configDir = mkOption {
type = types.path;
default = cfg.stateDir + "/config";
description = ''
The directory containing client-writable configuration files.
Clients will be able to edit files in this directory via the API. This directory must be writable.
'';
};
user = mkOption {
type = types.str;
default = "moonraker";
description = "User account under which Moonraker runs.";
};
group = mkOption {
type = types.str;
default = "moonraker";
description = "Group account under which Moonraker runs.";
};
address = mkOption {
type = types.str;
default = "127.0.0.1";
example = "0.0.0.0";
description = "The IP or host to listen on.";
};
port = mkOption {
type = types.ints.unsigned;
default = 7125;
description = "The port to listen on.";
};
settings = mkOption {
type = format.type;
default = { };
example = {
authorization = {
trusted_clients = [ "10.0.0.0/24" ];
cors_domains = [ "https://app.fluidd.xyz" ];
};
};
description = ''
Configuration for Moonraker. See the <link xlink:href="https://moonraker.readthedocs.io/en/latest/configuration/">documentation</link>
for supported values.
'';
};
};
};
config = mkIf cfg.enable {
warnings = optional (cfg.settings ? update_manager)
''Enabling update_manager is not supported on NixOS and will lead to non-removable warnings in some clients.'';
users.users = optionalAttrs (cfg.user == "moonraker") {
moonraker = {
group = cfg.group;
uid = config.ids.uids.moonraker;
};
};
users.groups = optionalAttrs (cfg.group == "moonraker") {
moonraker.gid = config.ids.gids.moonraker;
};
environment.etc."moonraker.cfg".source = let
forcedConfig = {
server = {
host = cfg.address;
port = cfg.port;
klippy_uds_address = cfg.klipperSocket;
config_path = cfg.configDir;
database_path = "${cfg.stateDir}/database";
};
};
fullConfig = recursiveUpdate cfg.settings forcedConfig;
in format.generate "moonraker.cfg" fullConfig;
systemd.tmpfiles.rules = [
"d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -"
"d '${cfg.configDir}' - ${cfg.user} ${cfg.group} - -"
];
systemd.services.moonraker = {
description = "Moonraker, an API web server for Klipper";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]
++ optional config.services.klipper.enable "klipper.service";
# Moonraker really wants its own config to be writable...
script = ''
cp /etc/moonraker.cfg ${cfg.configDir}/moonraker-temp.cfg
chmod u+w ${cfg.configDir}/moonraker-temp.cfg
exec ${pkg}/bin/moonraker -c ${cfg.configDir}/moonraker-temp.cfg
'';
serviceConfig = {
WorkingDirectory = cfg.stateDir;
Group = cfg.group;
User = cfg.user;
};
};
};
}

View file

@ -0,0 +1,326 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.nitter;
configFile = pkgs.writeText "nitter.conf" ''
${generators.toINI {
# String values need to be quoted
mkKeyValue = generators.mkKeyValueDefault {
mkValueString = v:
if isString v then "\"" + (strings.escape ["\""] (toString v)) + "\""
else generators.mkValueStringDefault {} v;
} " = ";
} (lib.recursiveUpdate {
Server = cfg.server;
Cache = cfg.cache;
Config = cfg.config // { hmacKey = "@hmac@"; };
Preferences = cfg.preferences;
} cfg.settings)}
'';
# `hmac` is a secret used for cryptographic signing of video URLs.
# Generate it on first launch, then copy configuration and replace
# `@hmac@` with this value.
# We are not using sed as it would leak the value in the command line.
preStart = pkgs.writers.writePython3 "nitter-prestart" {} ''
import os
import secrets
state_dir = os.environ.get("STATE_DIRECTORY")
if not os.path.isfile(f"{state_dir}/hmac"):
# Generate hmac on first launch
hmac = secrets.token_hex(32)
with open(f"{state_dir}/hmac", "w") as f:
f.write(hmac)
else:
# Load previously generated hmac
with open(f"{state_dir}/hmac", "r") as f:
hmac = f.read()
configFile = "${configFile}"
with open(configFile, "r") as f_in:
with open(f"{state_dir}/nitter.conf", "w") as f_out:
f_out.write(f_in.read().replace("@hmac@", hmac))
'';
in
{
options = {
services.nitter = {
enable = mkEnableOption "If enabled, start Nitter.";
server = {
address = mkOption {
type = types.str;
default = "0.0.0.0";
example = "127.0.0.1";
description = "The address to listen on.";
};
port = mkOption {
type = types.port;
default = 8080;
example = 8000;
description = "The port to listen on.";
};
https = mkOption {
type = types.bool;
default = false;
description = "Set secure attribute on cookies. Keep it disabled to enable cookies when not using HTTPS.";
};
httpMaxConnections = mkOption {
type = types.int;
default = 100;
description = "Maximum number of HTTP connections.";
};
staticDir = mkOption {
type = types.path;
default = "${pkgs.nitter}/share/nitter/public";
defaultText = "\${pkgs.nitter}/share/nitter/public";
description = "Path to the static files directory.";
};
title = mkOption {
type = types.str;
default = "nitter";
description = "Title of the instance.";
};
hostname = mkOption {
type = types.str;
default = "localhost";
example = "nitter.net";
description = "Hostname of the instance.";
};
};
cache = {
listMinutes = mkOption {
type = types.int;
default = 240;
description = "How long to cache list info (not the tweets, so keep it high).";
};
rssMinutes = mkOption {
type = types.int;
default = 10;
description = "How long to cache RSS queries.";
};
redisHost = mkOption {
type = types.str;
default = "localhost";
description = "Redis host.";
};
redisPort = mkOption {
type = types.port;
default = 6379;
description = "Redis port.";
};
redisConnections = mkOption {
type = types.int;
default = 20;
description = "Redis connection pool size.";
};
redisMaxConnections = mkOption {
type = types.int;
default = 30;
description = ''
Maximum number of connections to Redis.
New connections are opened when none are available, but if the
pool size goes above this, they are closed when released, do not
worry about this unless you receive tons of requests per second.
'';
};
};
config = {
base64Media = mkOption {
type = types.bool;
default = false;
description = "Use base64 encoding for proxied media URLs.";
};
tokenCount = mkOption {
type = types.int;
default = 10;
description = ''
Minimum amount of usable tokens.
Tokens are used to authorize API requests, but they expire after
~1 hour, and have a limit of 187 requests. The limit gets reset
every 15 minutes, and the pool is filled up so there is always at
least tokenCount usable tokens. Only increase this if you receive
major bursts all the time.
'';
};
};
preferences = {
replaceTwitter = mkOption {
type = types.str;
default = "";
example = "nitter.net";
description = "Replace Twitter links with links to this instance (blank to disable).";
};
replaceYouTube = mkOption {
type = types.str;
default = "";
example = "piped.kavin.rocks";
description = "Replace YouTube links with links to this instance (blank to disable).";
};
replaceInstagram = mkOption {
type = types.str;
default = "";
description = "Replace Instagram links with links to this instance (blank to disable).";
};
mp4Playback = mkOption {
type = types.bool;
default = true;
description = "Enable MP4 video playback.";
};
hlsPlayback = mkOption {
type = types.bool;
default = false;
description = "Enable HLS video streaming (requires JavaScript).";
};
proxyVideos = mkOption {
type = types.bool;
default = true;
description = "Proxy video streaming through the server (might be slow).";
};
muteVideos = mkOption {
type = types.bool;
default = false;
description = "Mute videos by default.";
};
autoplayGifs = mkOption {
type = types.bool;
default = true;
description = "Autoplay GIFs.";
};
theme = mkOption {
type = types.str;
default = "Nitter";
description = "Instance theme.";
};
infiniteScroll = mkOption {
type = types.bool;
default = false;
description = "Infinite scrolling (requires JavaScript, experimental!).";
};
stickyProfile = mkOption {
type = types.bool;
default = true;
description = "Make profile sidebar stick to top.";
};
bidiSupport = mkOption {
type = types.bool;
default = false;
description = "Support bidirectional text (makes clicking on tweets harder).";
};
hideTweetStats = mkOption {
type = types.bool;
default = false;
description = "Hide tweet stats (replies, retweets, likes).";
};
hideBanner = mkOption {
type = types.bool;
default = false;
description = "Hide profile banner.";
};
hidePins = mkOption {
type = types.bool;
default = false;
description = "Hide pinned tweets.";
};
hideReplies = mkOption {
type = types.bool;
default = false;
description = "Hide tweet replies.";
};
};
settings = mkOption {
type = types.attrs;
default = {};
description = ''
Add settings here to override NixOS module generated settings.
Check the official repository for the available settings:
https://github.com/zedeus/nitter/blob/master/nitter.conf
'';
};
redisCreateLocally = mkOption {
type = types.bool;
default = true;
description = "Configure local Redis server for Nitter.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = "Open ports in the firewall for Nitter web interface.";
};
};
};
config = mkIf cfg.enable {
assertions = [
{
assertion = !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379);
message = "When services.nitter.redisCreateLocally is enabled, you need to use localhost:6379 as a cache server.";
}
];
systemd.services.nitter = {
description = "Nitter (An alternative Twitter front-end)";
wantedBy = [ "multi-user.target" ];
after = [ "syslog.target" "network.target" ];
serviceConfig = {
DynamicUser = true;
StateDirectory = "nitter";
Environment = [ "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" ];
# Some parts of Nitter expect `public` folder in working directory,
# see https://github.com/zedeus/nitter/issues/414
WorkingDirectory = "${pkgs.nitter}/share/nitter";
ExecStart = "${pkgs.nitter}/bin/nitter";
ExecStartPre = "${preStart}";
AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
Restart = "on-failure";
RestartSec = "5s";
};
};
services.redis = lib.mkIf (cfg.redisCreateLocally) {
enable = true;
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.server.port ];
};
};
}

View file

@ -271,13 +271,14 @@ in
kmenuedit
kscreen
kscreenlocker
ksysguard
ksystemstats
kwayland
kwin
kwrited
libkscreen
libksysguard
milou
plasma-systemmonitor
plasma-browser-integration
plasma-integration
polkit-kde-agent

View file

@ -26,6 +26,7 @@ in
./leftwm.nix
./lwm.nix
./metacity.nix
./mlvwm.nix
./mwm.nix
./openbox.nix
./pekwm.nix

View file

@ -0,0 +1,41 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.services.xserver.windowManager.mlvwm;
in
{
options.services.xserver.windowManager.mlvwm = {
enable = mkEnableOption "Macintosh-like Virtual Window Manager";
configFile = mkOption {
default = null;
type = with types; nullOr path;
description = ''
Path to the mlvwm configuration file.
If left at the default value, $HOME/.mlvwmrc will be used.
'';
};
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = [{
name = "mlvwm";
start = ''
${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null)
"-f /etc/mlvwm/mlvwmrc"
} &
waitPID=$!
'';
}];
environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) {
source = cfg.configFile;
};
environment.systemPackages = [ pkgs.mlvwm ];
};
}

View file

@ -657,6 +657,7 @@ in
pkgs.xterm
pkgs.xdg-utils
xorg.xf86inputevdev.out # get evdev.4 man page
pkgs.nixos-icons # needed for gnome and pantheon about dialog, nixos-manual and maybe more
]
++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;

View file

@ -301,6 +301,7 @@ in
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
nginx-sso = handleTest ./nginx-sso.nix {};
nginx-variants = handleTest ./nginx-variants.nix {};
nitter = handleTest ./nitter.nix {};
nix-serve = handleTest ./nix-ssh-serve.nix {};
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
nixos-generate-config = handleTest ./nixos-generate-config.nix {};

View file

@ -75,7 +75,6 @@ let
}) { inherit system; });
in with pkgs; {
kafka_2_4 = makeKafkaTest "kafka_2_4" apacheKafka_2_4;
kafka_2_5 = makeKafkaTest "kafka_2_5" apacheKafka_2_5;
kafka_2_6 = makeKafkaTest "kafka_2_6" apacheKafka_2_6;
kafka_2_7 = makeKafkaTest "kafka_2_7" apacheKafka_2_7;
kafka_2_8 = makeKafkaTest "kafka_2_8" apacheKafka_2_8;
}

16
nixos/tests/nitter.nix Normal file
View file

@ -0,0 +1,16 @@
import ./make-test-python.nix ({ pkgs, ... }:
{
name = "nitter";
meta.maintainers = with pkgs.lib.maintainers; [ erdnaxe ];
nodes.machine = {
services.nitter.enable = true;
};
testScript = ''
machine.wait_for_unit("nitter.service")
machine.wait_for_open_port("8080")
machine.succeed("curl --fail http://localhost:8080/")
'';
})

View file

@ -43,6 +43,7 @@ let
testScript = let
backupName = if backup-all then "all" else "postgres";
backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres";
backupFileBase = "/var/backup/postgresql/${backupName}";
in ''
def check_count(statement, lines):
return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
@ -72,9 +73,32 @@ let
with subtest("Backup service works"):
machine.succeed(
"systemctl start ${backupService}.service",
"zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'",
"zcat ${backupFileBase}.sql.gz | grep '<test>ok</test>'",
"ls -hal /var/backup/postgresql/ >/dev/console",
"stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600",
"stat -c '%a' ${backupFileBase}.sql.gz | grep 600",
)
with subtest("Backup service removes prev files"):
machine.succeed(
# Create dummy prev files.
"touch ${backupFileBase}.prev.sql{,.gz,.zstd}",
"chown postgres:postgres ${backupFileBase}.prev.sql{,.gz,.zstd}",
# Run backup.
"systemctl start ${backupService}.service",
"ls -hal /var/backup/postgresql/ >/dev/console",
# Since nothing has changed in the database, the cur and prev files
# should match.
"zcat ${backupFileBase}.sql.gz | grep '<test>ok</test>'",
"cmp ${backupFileBase}.sql.gz ${backupFileBase}.prev.sql.gz",
# The prev files with unused suffix should be removed.
"[ ! -f '${backupFileBase}.prev.sql' ]",
"[ ! -f '${backupFileBase}.prev.sql.zstd' ]",
# Both cur and prev file should only be accessible by the postgres user.
"stat -c '%a' ${backupFileBase}.sql.gz | grep 600",
"stat -c '%a' '${backupFileBase}.prev.sql.gz' | grep 600",
)
with subtest("Backup service fails gracefully"):
# Sabotage the backup process
@ -84,8 +108,8 @@ let
)
machine.succeed(
"ls -hal /var/backup/postgresql/ >/dev/console",
"zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'",
"stat /var/backup/postgresql/${backupName}.in-progress.sql.gz",
"zcat ${backupFileBase}.prev.sql.gz | grep '<test>ok</test>'",
"stat ${backupFileBase}.in-progress.sql.gz",
)
# In a previous version, the second run would overwrite prev.sql.gz,
# so we test a second run as well.
@ -93,8 +117,8 @@ let
"systemctl start ${backupService}.service",
)
machine.succeed(
"stat /var/backup/postgresql/${backupName}.in-progress.sql.gz",
"zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'",
"stat ${backupFileBase}.in-progress.sql.gz",
"zcat ${backupFileBase}.prev.sql.gz | grep '<test>ok</test>'",
)

View file

@ -1,6 +1,16 @@
import ./make-test-python.nix ({ pkgs, ...} :
{
let
sqlcipher-signal = pkgs.writeShellScriptBin "sqlcipher" ''
set -eu
readonly CFG=~/.config/Signal/config.json
readonly KEY="$(${pkgs.jq}/bin/jq --raw-output '.key' $CFG)"
readonly DB="$1"
readonly SQL="SELECT * FROM sqlite_master where type='table'"
${pkgs.sqlcipher}/bin/sqlcipher "$DB" "PRAGMA key = \"x'$KEY'\"; $SQL"
'';
in {
name = "signal-desktop";
meta = with pkgs.lib.maintainers; {
maintainers = [ flokli primeos ];
@ -16,7 +26,9 @@ import ./make-test-python.nix ({ pkgs, ...} :
services.xserver.enable = true;
test-support.displayManager.auto.user = "alice";
environment.systemPackages = with pkgs; [ signal-desktop file ];
environment.systemPackages = with pkgs; [
signal-desktop file sqlite sqlcipher-signal
];
virtualisation.memorySize = 1024;
};
@ -44,11 +56,15 @@ import ./make-test-python.nix ({ pkgs, ...} :
# - https://github.com/NixOS/nixpkgs/issues/108772
# - https://github.com/NixOS/nixpkgs/pull/117555
print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'"))
machine.succeed(
"su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep 'db.sqlite: data'"
)
machine.fail(
"su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database"
)
# Only SQLCipher should be able to read the encrypted DB:
machine.fail(
"su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .databases'"
)
print(machine.succeed(
"su - alice -c 'sqlcipher ~/.config/Signal/sql/db.sqlite'"
))
'';
})

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "kdev-php";
version = "5.6.1";
version = "5.6.2";
src = fetchurl {
url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
sha256 = "0xjijkmp3drnfrx4gb4bwf8n1dgwk310c0mssm6drffwix7ljpbz";
sha256 = "sha256-P7u/KIf/1YkJ2uWsuVThILP87vaYSbHpx5CtnSR3YbU=";
};
nativeBuildInputs = [ cmake extra-cmake-modules ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "kdev-python";
version = "5.6.1";
version = "5.6.2";
src = fetchurl {
url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
sha256 = "1jma7j70imzxlyz8580m79jycif7zphga3zzfmqimn8syzz917hv";
sha256 = "sha256-Iw3puQ3ZS0eNfBvaZ4cxsP49IRqIMX3R+r3OPG771RI=";
};
cmakeFlags = [

View file

@ -13,23 +13,24 @@
, wrapGAppsHook
, cairo
, glib
, goocanvas2
, goocanvas3
, gtk3
, gtksourceview3
, json-glib
, libarchive
, libgee
, libxml2 }:
, libxml2
}:
stdenv.mkDerivation rec {
pname = "akira";
version = "0.0.13";
version = "0.0.14";
src = fetchFromGitHub {
owner = "akiraux";
repo = "Akira";
rev = "v${version}";
sha256 = "1i20q78jagy8xky68nmd0n7mqvh88r98kp626rnlgyzvlc3c22cm";
sha256 = "1zbb2bsc6v2rwrbigbkgrzfjmlj96s3ri73zbdcyqg4p08v1w4l6";
};
nativeBuildInputs = [
@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo
glib
goocanvas2
goocanvas3
pantheon.granite
gtk3
gtksourceview3
@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Native Linux Design application built in Vala and GTK";
homepage = "https://github.com/akiraux/Akira";
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ pantheon.maintainers;
platforms = platforms.linux;
};

View file

@ -51,6 +51,7 @@
, makeWrapper
, autoreconfHook
, gtk-doc
, graphviz
}:
let
python = python2.withPackages (pp: [ pp.pygtk ]);
@ -154,7 +155,8 @@ stdenv.mkDerivation rec {
postFixup = ''
wrapProgram $out/bin/glimpse-${lib.versions.majorMinor version} \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix PATH ":" ${ lib.makeBinPath [ graphviz ] }
'';
passthru = rec {

View file

@ -26,13 +26,13 @@ let
in
stdenv.mkDerivation rec {
pname = "megapixels";
version = "1.1.0";
version = "1.2.0";
src = fetchFromSourcehut {
owner = "~martijnbraam";
repo = "megapixels";
rev = version;
sha256 = "0y56c6vchlzidfmp3a3bdc228vbhy7zaxvmhkyxchfb752yzr0n3";
sha256 = "0jnfzwvq58p4ksyifma10i158r2fb7fv72ymibgcxbnx596xpjb2";
};
nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
description = "GTK3 camera application using raw v4l2 and media-requests";
description = "GTK4 camera application that knows how to deal with the media request api";
homepage = "https://sr.ht/~martijnbraam/Megapixels";
changelog = "https://git.sr.ht/~martijnbraam/megapixels/refs/${version}";
license = licenses.gpl3Only;

View file

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, runtimeShell
, gettext, pkg-config, python3
, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
, curl, systemd, libxml2, poppler
, curl, systemd, libxml2, poppler, gawk
, sane-drivers
# List of { src name backend } attibute sets - see installFirmware below:
@ -51,6 +51,7 @@ stdenv.mkDerivation {
systemd
libxml2
poppler
gawk
];
enableParallelBuilding = true;

View file

@ -3,14 +3,11 @@
, docbook_xsl_ns }:
mkDerivation rec {
pname = "bibletime";
version = "3.0.1";
pname = "bibletime";
src = fetchurl {
url =
"https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
url = "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-ay4o8mfgj/m3BBoBMXVgw0NTlaFgJQvLlNYvEZRXSiA=";
};
@ -37,11 +34,11 @@ mkDerivation rec {
"-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl"
];
meta = {
meta = with lib; {
description = "A Qt4 Bible study tool";
homepage = "http://www.bibletime.info/";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.piotr ];
platforms = platforms.linux;
license = licenses.gpl2Plus;
maintainers = [ maintainers.piotr ];
};
}

View file

@ -0,0 +1,34 @@
{ lib, stdenvNoCC, fetchurl, unzip }:
stdenvNoCC.mkDerivation rec {
pname = "fluidd";
version = "1.16.2";
src = fetchurl {
name = "fluidd-v${version}.zip";
url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
sha256 = "1qwj25xvvxvm1fxx216nn2gp7js4d682mm3l4s7ns90fc5ygvc8i";
};
nativeBuildInputs = [ unzip ];
dontConfigure = true;
dontBuild = true;
unpackPhase = ''
mkdir fluidd
unzip $src -d fluidd
'';
installPhase = ''
mkdir -p $out/share/fluidd
cp -r fluidd $out/share/fluidd/htdocs
'';
meta = with lib; {
description = "Klipper web interface";
homepage = "https://docs.fluidd.xyz";
license = licenses.gpl3Only;
maintainers = with maintainers; [ zhaofengli ];
};
}

View file

@ -1,2 +1,8 @@
source 'https://rubygems.org'
gem 'gollum'
gem 'asciidoctor'
gem 'creole'
gem 'wikicloth'
gem 'org-ruby'
gem 'RedCloth'

View file

@ -1,9 +1,14 @@
GEM
remote: https://rubygems.org/
specs:
RedCloth (4.3.2)
asciidoctor (2.0.15)
builder (3.2.4)
concurrent-ruby (1.1.8)
crass (1.0.6)
creole (0.5.0)
execjs (2.7.0)
expression_parser (0.9.0)
ffi (1.14.2)
gemojione (4.3.3)
json
@ -36,6 +41,7 @@ GEM
gollum-rugged_adapter (1.0)
mime-types (>= 1.15)
rugged (~> 0.99)
htmlentities (4.3.4)
json (2.5.1)
kramdown (2.3.0)
rexml
@ -59,6 +65,8 @@ GEM
racc (~> 1.4)
octicons (12.1.0)
nokogiri (>= 1.6.3.1)
org-ruby (0.9.12)
rubypants (~> 0.2)
racc (1.5.2)
rack (2.2.3)
rack-protection (2.1.0)
@ -71,6 +79,7 @@ GEM
rss (0.2.9)
rexml
ruby2_keywords (0.0.4)
rubypants (0.7.1)
rugged (0.99.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
@ -105,12 +114,23 @@ GEM
unf_ext
unf_ext (0.0.7.7)
useragent (0.16.10)
wikicloth (0.8.3)
builder
expression_parser
htmlentities
nokogiri
twitter-text
PLATFORMS
ruby
DEPENDENCIES
RedCloth
asciidoctor
creole
gollum
org-ruby
wikicloth
BUNDLED WITH
2.1.4
2.2.20

View file

@ -1,5 +1,5 @@
{ lib, stdenv, bundlerEnv, ruby, makeWrapper, bundlerUpdateScript
, git }:
, git, docutils, perl }:
stdenv.mkDerivation rec {
pname = "gollum";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
in ''
mkdir -p $out/bin
makeWrapper ${env}/bin/gollum $out/bin/gollum \
--prefix PATH ":" ${lib.makeBinPath [ git ]}
--prefix PATH ":" ${lib.makeBinPath [ git docutils perl]}
makeWrapper ${env}/bin/gollum-migrate-tags $out/bin/gollum-migrate-tags \
--prefix PATH ":" ${lib.makeBinPath [ git ]}
'';

View file

@ -1,4 +1,24 @@
{
asciidoctor = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k3lijm4dmiz977bfmpclk5glj5jwv7bidamwwwywm60ywb0n4n4";
type = "gem";
};
version = "2.0.15";
};
builder = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
type = "gem";
};
version = "3.2.4";
};
concurrent-ruby = {
groups = ["default"];
platforms = [];
@ -19,6 +39,16 @@
};
version = "1.0.6";
};
creole = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
type = "gem";
};
version = "0.5.0";
};
execjs = {
groups = ["default"];
platforms = [];
@ -29,6 +59,16 @@
};
version = "2.7.0";
};
expression_parser = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
type = "gem";
};
version = "0.9.0";
};
ffi = {
groups = ["default"];
platforms = [];
@ -93,6 +133,16 @@
};
version = "1.0";
};
htmlentities = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
type = "gem";
};
version = "4.3.4";
};
json = {
groups = ["default"];
platforms = [];
@ -231,6 +281,17 @@
};
version = "12.1.0";
};
org-ruby = {
dependencies = ["rubypants"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
type = "gem";
};
version = "0.9.12";
};
racc = {
groups = ["default"];
platforms = [];
@ -283,6 +344,16 @@
};
version = "0.10.1";
};
RedCloth = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
type = "gem";
};
version = "4.3.2";
};
rexml = {
groups = ["default"];
platforms = [];
@ -324,6 +395,16 @@
};
version = "0.0.4";
};
rubypants = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kv2way45d2dz3h5b7wxyw36clvlwrz7ydf6699d0za5vm56gsrh";
type = "gem";
};
version = "0.7.1";
};
rugged = {
groups = ["default"];
platforms = [];
@ -484,4 +565,15 @@
};
version = "0.16.10";
};
wikicloth = {
dependencies = ["builder" "expression_parser" "htmlentities" "nokogiri" "twitter-text"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c78r1rg93mb5rcrfxl01b162ma9sh46dhjksc4c9dngg62nhbjh";
type = "gem";
};
version = "0.8.3";
};
}

View file

@ -9,7 +9,7 @@
let
inherit (pythonPackages) python buildPythonApplication;
in buildPythonApplication rec {
version = "5.1.3";
version = "5.1.4";
pname = "gramps";
nativeBuildInputs = [ wrapGAppsHook intltool gettext ];
@ -26,7 +26,7 @@ in buildPythonApplication rec {
owner = "gramps-project";
repo = "gramps";
rev = "v${version}";
sha256 = "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93";
sha256 = "00358nzyw686ypqv45imc5k9frcqnhla0hpx9ynna3iy6iz5006x";
};
pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];

View file

@ -2,22 +2,22 @@
buildGoModule rec {
pname = "hugo";
version = "0.86.1";
version = "0.87.0";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-2tCR4iabTLD9SynXjUM7+zNsFCCAa/n88brPnZ1DQ0Q=";
sha256 = "sha256-2I1PDxbqtaOOlVbr7zhuawaFrFWM/PYt5QJm3N74Noc=";
};
vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";
vendorSha256 = "sha256-0pkQ+VcmK2XLaQ2XJHh5/QftSdud6Eo1nlBK+L92xKU=";
doCheck = false;
runVend = true;
buildFlags = [ "-tags" "extended" ];
tags = [ "extended" ];
subPackages = [ "." ];

View file

@ -3,20 +3,20 @@
}:
let
pname = "josm";
version = "18004";
version = "18118";
srcs = {
jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "sha256-Cd+/sE6A0MddHeAxy3gx7ev+9UR3ZNcR0tCTmdX2FtY=";
sha256 = "01wcbf1mh1gqxnqkc3j6h64h9sz0yd5wiwpyx4ic4d5fwkh65qym";
};
macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
sha256 = "sha256-QSVh8043K/f7gPEjosGo/DNj1d75LUFwf6EMeHk68fM=";
sha256 = "0i1vglqg49fd3w2bny01l92wj4hvr3y35rrmd1mdff0lc1zhi397";
};
pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
rev = version;
sha256 = "sha256-Ic6RtQPqpQIci1IbKgTcFmLfMdPxSVybrEAk+ttM0j8=";
sha256 = "0gyj9kdzl920mjdmqjgiscqxyqhnvh22l6sjicf059ga0fsr3ki1";
};
};
in

View file

@ -15,7 +15,7 @@ buildGoModule rec {
subPackages = [ "." ];
buildFlags = [ "-tags sqlite" ];
tags = [ "sqlite" ];
doCheck = false;

View file

@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a";
sha256 = "18g9jsj90jnqibaff8pqi70a7x8ygc3sh4jl4xnvlv8vr7fxxbh6";
})
(fetchpatch {
name = "CVE-2021-37220.patch";
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=f5712c9949d026e4b891b25837edd2edc166151f";
sha256 = "1zyw6w6zr7k2akpzkyycj2zzw3y5qc7afsn1ysklfj2rvb6cnsx3";
})
];
postPatch = ''

View file

@ -8,17 +8,18 @@
, pkg-config
, swaylock
, makeWrapper
, gtk-layer-shell
}:
stdenv.mkDerivation rec {
pname = "nwg-launchers";
version = "0.4.4";
version = "0.5.0";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-krhFtFQZSwfKPHmVxPGNySPL2Y9+kA0fxjZ/D+mNks4=";
sha256 = "sha256-ZtlAs7McVQKH626h2iOhjpVaiEHeaqs9ncZ6/KnGibg=";
};
nativeBuildInputs = [
@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gtkmm3
nlohmann_json
gtk-layer-shell
];
postInstall = ''

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "nwg-menu";
version = "unstable-2021-06-12";
version = "0.1.1";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-menu";
rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
rev = "v${version}";
sha256 = "sha256-M948RGU9/PwUtFRmf1Po7KlrGxqRPiOZKfS1Vv3vqW8=";
};
vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
vendorSha256 = "sha256-AnYtqSe8mq10FQ071GEVh65MaWek5gYlR+9d8yL0RAc=";
runVend = true;

View file

@ -13,13 +13,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
version = "0.3.2";
version = "0.4.2";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
rev = "v${version}";
hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY=";
sha256 = "sha256-+zJNTFYNIJKa5jK/215MoxjMKScCdWAAh4cQjEise/Q=";
};
# No tests

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper";
version = "0.0.1";
version = "0.0.2";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8";
sha256 = "sha256-LkAB0MrwQxP3X7glfSnI0GZMv8tjaeSOz7WSOW33wuo=";
};
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];

View file

@ -1,69 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, fetchpatch
, vala
, meson
, ninja
, pkg-config
, python3
, libgee
, gsettings-desktop-schemas
, gnome
, pantheon
, wrapGAppsHook
, gtk3
, json-glib
, glib
, glib-networking
}:
stdenv.mkDerivation rec {
pname = "olifant";
version = "0.2.1-beta6";
src = fetchFromGitHub {
owner = "cleac";
repo = pname;
rev = version;
sha256 = "sha256-3hnEa4Q1dH0R8Jp+Ew0+dH1PEm3F+56jYwqhJ+vll4M=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
glib
glib-networking
gnome.libsoup
gsettings-desktop-schemas
gtk3
json-glib
libgee
pantheon.granite
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "A simple Mastodon client designed for elementary OS, originally developed by @bleakgrey";
homepage = "https://github.com/cleac/olifant";
license = licenses.gpl3;
maintainers = with maintainers; [ ] ++ teams.pantheon.members;
};
}

View file

@ -21,8 +21,7 @@ buildGoModule rec {
buildInputs = [ unixODBC icu ];
# These tags and flags are copied from build-release.sh
buildFlags = [ "-tags" ];
buildFlagsArray = [
tags = [
"most"
"sqlite_app_armor"
"sqlite_fts5"

View file

@ -136,11 +136,9 @@ let
nativeBuildInputs = [
ninja pkg-config
python2WithPackages perl nodejs
python2WithPackages python3WithPackages perl nodejs
gnutar which
llvmPackages.bintools
] ++ lib.optionals (chromiumVersionAtLeast "92") [
python3WithPackages
];
buildInputs = defaultDependencies ++ [

View file

@ -18,9 +18,9 @@
}
},
"beta": {
"version": "93.0.4577.18",
"sha256": "1h1ppyizj5vbnrv11iy9vlcpcv8mgb9r8m2zmz6vp7q1ch6w0w4x",
"sha256bin64": "1s5qj0pd79qbchq3awhxc86l9vmi6304z7sd9ls9f8q138789cha",
"version": "93.0.4577.25",
"sha256": "09v7wyy9xwrpzmsa030j8jjww30jps3lbvlq4bzppdg04fk6rbsn",
"sha256bin64": "1l86aqym4dxsrp81ppv5cwyki4wnh7cpqy4dw88kdxgqbiwwii27",
"deps": {
"gn": {
"version": "2021-07-08",
@ -44,19 +44,19 @@
}
},
"ungoogled-chromium": {
"version": "91.0.4472.164",
"sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
"sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
"version": "92.0.4515.131",
"sha256": "0fnfyh61w6dmavvfbf2x1zzrby0xpx4jd4ifjsgyc39rsl789b5n",
"sha256bin64": "04ykc7vgq47m595j0g0gl28n5rkki6aic7ck8xr08r5cia46gk3g",
"deps": {
"gn": {
"version": "2021-04-06",
"version": "2021-05-07",
"url": "https://gn.googlesource.com/gn",
"rev": "dba01723a441c358d843a575cb7720d54ddcdf92",
"sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x"
"rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
"sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
},
"ungoogled-patches": {
"rev": "91.0.4472.164-1",
"sha256": "1vlirqrsliyl1dvm511p5axzvhvqil1m1jlk5zngvl9zfbdjw910"
"rev": "92.0.4515.131-1",
"sha256": "1nbgknj5ba116y47sxbp7pbma1bp0lmkyi3vk915x837ysaf6mrd"
}
}
}

View file

@ -89,8 +89,6 @@ stdenv.mkDerivation {
src = fetchurl { inherit (source) url sha256; };
phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
libPath = lib.makeLibraryPath
[ stdenv.cc.cc
alsa-lib

View file

@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "telescope";
version = "0.3.1";
version = "0.4.1";
src = fetchurl {
url = "https://github.com/omar-polo/telescope/releases/download/${version}/telescope-${version}.tar.gz";
sha256 = "11xrsh064ph1idhygh52y4mqapgwn1cqr0l3naj5n2a2p7lcsvvw";
sha256 = "086zps4nslv5isfw1b5gvms7vp3fglm7x1a6ks0h0wxarzj350bl";
};
nativeBuildInputs = [

View file

@ -15,8 +15,8 @@ buildGoModule rec {
doCheck = false;
buildFlagsArray = [
"-ldflags=-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
ldflags = [
"-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
];
subPackages = [

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "fluxctl";
version = "1.23.1";
version = "1.23.2";
src = fetchFromGitHub {
owner = "weaveworks";
repo = "flux";
rev = version;
sha256 = "sha256-PcDipeW+ebGm6w/htjyx1/PXaanh2gp3EyHkcLY9peo=";
sha256 = "sha256-Ypy462QYmRiQrnOYjBA4BrtPKMT7sNpWb4St3KMVqbI=";
};
vendorSha256 = "sha256-CxGa95x742vS+8WxK/I2ZbEn2mJPwpXa5zm3xBNbX4U=";
vendorSha256 = "sha256-GUeLbngahbjEXetCfFbwWhn7jtyqKu7I2dyfjKalUM0=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "helmfile";
version = "0.139.9";
version = "0.140.0";
src = fetchFromGitHub {
owner = "roboll";
repo = "helmfile";
rev = "v${version}";
sha256 = "sha256-MHvfDeN4r9jwnXANHTpMEQUIoAZ+uXAmDtl8wdcpjHI=";
sha256 = "sha256-Y1BlvUudxEZ1G893dwYU+R6k2QAYohx4+0yysYaUM0E=";
};
vendorSha256 = "sha256-QYI5HxEUNrZKSjk0LlbhjvxXlWCbbLup51Ht3HJDNC8=";

View file

@ -22,8 +22,8 @@ let generic = { channel, version, sha256, vendorSha256 }:
env GOFLAGS="" go generate ./viz/static
'';
buildFlagsArray = [
"-tags=prod"
tags = [
"prod"
];
ldflags = [

View file

@ -6,6 +6,6 @@
callPackage ./generic.nix {
inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
version = "1.0.8";
sha256 = "1kjwa9lnxh5zfzijqgkp94wslkzn6kspwi42kf46vrn0qkiz39f2";
version = "1.0.9";
sha256 = "0ml6l5xq1310ib5zqfdwlxmsmhpc5ybd05z7pc6zgxbma1brxdv4";
}

View file

@ -6,6 +6,7 @@
, nvidiaGpuSupport
, patchelf
, nvidia_x11
, nixosTests
}:
buildGoPackage rec {
@ -29,16 +30,7 @@ buildGoPackage rec {
# ui:
# Nomad release commits include the compiled version of the UI, but the file
# is only included if we build with the ui tag.
preBuild =
let
tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
tagsString = lib.concatStringsSep " " tags;
in
''
export buildFlagsArray=(
-tags="${tagsString}"
)
'';
tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
# The dependency on NVML isn't explicit. We have to make it so otherwise the
# binary will not know where to look for the relevant symbols.
@ -48,6 +40,8 @@ buildGoPackage rec {
done
'';
passthru.tests.nomad = nixosTests.nomad;
meta = with lib; {
homepage = "https://www.nomadproject.io/";
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "octant";
version = "0.22.0";
version = "0.23.0";
src =
let
@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
};
in
fetchsrc version {
x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA=";
aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ=";
x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU=";
aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk=";
x86_64-linux = "sha256-wnm4Zprlao+zbWVJNY4BsAT1fFMft7luyDaW2HfNotg=";
aarch64-linux = "sha256-eYvfLUelSrmdY9dbgAlPm7en88hsdCnejJGq2Gz4DN0=";
x86_64-darwin = "sha256-NXMQ4mbYfIK+arGWZVhQk5iAw6AZM9PAGJ9CEC/rmgA=";
aarch64-darwin = "sha256-WqlbiDV2CuBYr6IXQ8vaESxKNZGp9vBj683igazcmwM=";
};
dontConfigure = true;

View file

@ -2,7 +2,7 @@
let
pname = "octant-desktop";
version = "0.22.0";
version = "0.23.0";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
@ -15,8 +15,8 @@ let
src = fetchurl {
url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
sha256 = {
x86_64-linux = "sha256-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0=";
x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0=";
x86_64-linux = "sha256-K4z6SVCiuqy3xkWMWpm8KM7iYVXyKcnERljMG3NEFMw=";
x86_64-darwin = "sha256-WYra0yw/aPW/wUGrlIn5ud3kjFTkekYEi2LWZcYO5Nw=";
}.${system};
};

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "starboard";
version = "0.10.3";
version = "0.11.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "sha256-SJogepww3IJt+NAkJ0G/lLgZ3rMWDTC+jHIrzzkzJGA=";
sha256 = "sha256-NV37K5JUfGPK8TwCi/4XY7MQUvp76vzdxsHUNPlYpYk=";
};
vendorSha256 = "sha256-vNsYGlcVIj/cDijCFz8fG5Ht/s7koM62GV8zkOyA/fA=";
vendorSha256 = "sha256-4CmAf1s+tK7cKxwetgv0YewLLROsZ5g1Zd30FCep5k8=";
# Don't build and check the integration tests
excludedPackages = "itest";

View file

@ -45,18 +45,12 @@ let
# These are the providers that don't fall in line with the default model
special-providers = {
acme = automated-providers.acme.overrideAttrs (attrs: {
prePatch = attrs.prePatch or "" + ''
substituteInPlace go.mod --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
substituteInPlace main.go --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
'';
});
# Packages that don't fit the default model
ansible = callPackage ./ansible {};
cloudfoundry = callPackage ./cloudfoundry {};
gandi = callPackage ./gandi {};
hcloud = callPackage ./hcloud {};
kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
libvirt = callPackage ./libvirt {};
linuxbox = callPackage ./linuxbox {};
lxd = callPackage ./lxd {};

View file

@ -7,12 +7,13 @@
"version": "0.2.3"
},
"acme": {
"owner": "getstackhead",
"provider-source-address": "registry.terraform.io/getstackhead/acme",
"owner": "vancluever",
"provider-source-address": "registry.terraform.io/vancluever/acme",
"repo": "terraform-provider-acme",
"rev": "v1.5.0-patched",
"sha256": "1wdrjpd3l0xadsa3lqhsc9c57g8x2qkwb76q824sk8za1a7lapii",
"version": "1.5.0-patched"
"rev": "v2.5.2",
"sha256": "0yk5yxx8vdfymxggydpzsb2a0iw4n8010wlprz23qg37gb2p26yf",
"vendorSha256": "04zrrn67w30ib0n5s4f31x3nl3h3xz2r522ldkbbx20jy5iabrkk",
"version": "2.5.2"
},
"aiven": {
"owner": "aiven",
@ -244,11 +245,13 @@
"version": "0.8.0"
},
"datadog": {
"owner": "terraform-providers",
"owner": "DataDog",
"provider-source-address": "registry.terraform.io/DataDog/datadog",
"repo": "terraform-provider-datadog",
"rev": "v2.7.0",
"sha256": "0cq11cjcm2nlszqhsrj425mk8dp0h5ljrrn7jplrbffp8g6wvadd",
"version": "2.7.0"
"rev": "v3.2.0",
"sha256": "1qrk40w81qzcmm52gr3ysrh077417cxyh4xy7igwdjfzl85z22mx",
"vendorSha256": "0iphsz6y9gajwmw5rj4yq65azx02ki093agqbqw49rnzdhc6jahr",
"version": "3.2.0"
},
"digitalocean": {
"owner": "digitalocean",
@ -558,19 +561,10 @@
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
"repo": "terraform-provider-kubernetes",
"rev": "v2.1.0",
"sha256": "02ygydgi3fa8z6qd04hgcilbbwns8f21agaqxly2pf9j23fzi37g",
"rev": "v2.4.1",
"sha256": "0mk0f12yy58gjkki7xpf9bjfw9h9zdgby2b4bddqp5csq11payhd",
"vendorSha256": null,
"version": "2.1.0"
},
"kubernetes-alpha": {
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha",
"repo": "terraform-provider-kubernetes-alpha",
"rev": "v0.5.0",
"sha256": "0yqm3wlya69w9g9kzgvm28mbbwp6wik51syjnbnj8dis5kspx8gd",
"vendorSha256": null,
"version": "0.5.0"
"version": "2.4.1"
},
"launchdarkly": {
"owner": "terraform-providers",
@ -798,11 +792,13 @@
"version": "1.5.3"
},
"ovh": {
"owner": "terraform-providers",
"owner": "ovh",
"provider-source-address": "registry.terraform.io/ovh/ovh",
"repo": "terraform-provider-ovh",
"rev": "v0.8.0",
"sha256": "1ww4ng8w5hm50rbxd83xzbkq8qsn04dqwpdjhs587v9d0x2vwrf1",
"version": "0.8.0"
"rev": "v0.15.0",
"sha256": "1cmcfg9vq8cl98d5xambm5hr516b9pblm06y1py9v7msmfh3g09i",
"vendorSha256": null,
"version": "0.15.0"
},
"packet": {
"owner": "packethost",

View file

@ -195,8 +195,8 @@ rec {
};
terraform_1_0 = mkTerraform {
version = "1.0.3";
sha256 = "0m7r66nw0nppra90sjhbq5d0f4q525c73q6ncmy6w37j2nixz35z";
version = "1.0.4";
sha256 = "09g0ln247scv8mj40gxhkij0li62v0rjm2bsgmvl953aj7g3dlh1";
vendorSha256 = "07pzqvf9lwgc1fadmyam5hn7arlvzrjsplls445738jpn61854gg";
patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; };

View file

@ -1,10 +1,17 @@
{ lib, stdenv, fetchFromGitHub
, makeWrapper, makeDesktopItem, mkYarnPackage
, electron, element-web
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, makeDesktopItem
, mkYarnPackage
, electron
, element-web
, callPackage
, Security
, AppKit
, CoreServices
, useWayland ? false
}:
# Notes for maintainers:
# * versions of `element-web` and `element-desktop` should be kept in sync.
@ -20,7 +27,8 @@ let
sha256 = "sha256-4d2IOngiRcKd4k0jnilAR3Sojkfru3dlqtoBYi3zeLY=";
};
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
in mkYarnPackage rec {
in
mkYarnPackage rec {
name = "element-desktop-${version}";
inherit version src;
@ -55,6 +63,7 @@ in mkYarnPackage rec {
rm "$out/share/element/electron/node_modules"
cp -r './node_modules' "$out/share/element/electron"
cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
# icons
for icon in $out/share/element/electron/build/icons/*.png; do
@ -68,7 +77,7 @@ in mkYarnPackage rec {
# executable wrapper
makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
--add-flags "$out/share/element/electron"
--add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
'';
# Do not attempt generating a tarball for element-web again.

View file

@ -28,7 +28,7 @@ let
else "");
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.12.0"; # Please backport all updates to the stable channel.
version = "5.12.2"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "0cvh70ijx61rq7qjzrmn85lhkm8vkcbxvgjvkpls21v3yl5anrjb";
sha256 = "0z8nphlm3q9gqri6bqh1iaayx5yy0bhrmjb7l7facdkm1aahmaa7";
};
nativeBuildInputs = [

View file

@ -2,7 +2,7 @@
, lib
, fetchurl
, makeWrapper
# Dynamic libraries
# Dynamic libraries
, alsa-lib
, atk
, cairo
@ -18,22 +18,21 @@
, xorg
, libxkbcommon
, zlib
# Runtime
# Runtime
, coreutils
, pciutils
, procps
, util-linux
, pulseaudioSupport ? true, libpulseaudio ? null
, pulseaudioSupport ? true
, libpulseaudio
}:
assert pulseaudioSupport -> libpulseaudio != null;
let
version = "5.7.28852.0718";
version = "5.7.28991.0726";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
sha256 = "NoB9qxsuGsiwsZ3Y+F3WZpszujPBX/nehtFFI+KPV5E=";
sha256 = "w1oeMKADG5+7EV1OXyuEbotrwcVywob82KOXKoRUifA=";
};
};
@ -65,9 +64,11 @@ let
xorg.libXtst
] ++ lib.optional (pulseaudioSupport) libpulseaudio);
in stdenv.mkDerivation rec {
in
stdenv.mkDerivation rec {
pname = "zoom";
inherit version;
src = srcs.${stdenv.hostPlatform.system};
dontUnpack = true;
@ -118,11 +119,11 @@ in stdenv.mkDerivation rec {
passthru.updateScript = ./update.sh;
meta = {
meta = with lib; {
homepage = "https://zoom.us/";
description = "zoom.us video conferencing application";
license = lib.licenses.unfree;
license = licenses.unfree;
platforms = builtins.attrNames srcs;
maintainers = with lib.maintainers; [ danbst tadfisher doronbehar ];
maintainers = with maintainers; [ danbst tadfisher doronbehar ];
};
}

View file

@ -75,8 +75,6 @@ stdenv.mkDerivation {
inherit (source) sha256;
};
phases = "unpackPhase installPhase";
libPath = lib.makeLibraryPath
[ stdenv.cc.cc
alsa-lib

View file

@ -21,13 +21,13 @@
mkDerivation rec {
pname = "nextcloud-client";
version = "3.2.4";
version = "3.3.0";
src = fetchFromGitHub {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
sha256 = "sha256-+APRR3Qj8jdDG2wc4hXFF40aTeoLGAXlsCsB4zKDI3Q=";
sha256 = "sha256-KMFFRxNQUNcu7Q5515lNbEMyCWIvzXXC//s3WAWxw4g=";
};
patches = [
@ -70,7 +70,7 @@ mkDerivation rec {
description = "Nextcloud themed desktop client";
homepage = "https://nextcloud.com";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ caugner ];
maintainers = with maintainers; [ caugner kranzes ];
platforms = platforms.linux;
};
}

View file

@ -61,7 +61,7 @@ in stdenv.mkDerivation {
jars = freenet-jars;
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin

View file

@ -32,7 +32,8 @@ python3Packages.buildPythonApplication rec {
] ++
lib.optional useGeoIP GeoIP;
phases = [ "unpackPhase" "installPhase" ];
dontBuild = true;
doCheck = false;
makeWrapperArgs = ["--prefix PATH : ${wrapperPath}"];

View file

@ -4,13 +4,13 @@ let
common = { stname, target, postInstall ? "" }:
buildGoModule rec {
pname = stname;
version = "1.18.0";
version = "1.18.1";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "0hrdlc1dxbxvqxylk0i2f110c6bfp9azsnzqzmjj2b29xxbrmwca";
sha256 = "1sm4d0pjgk0spz9pddqb3i8hli10pibd5xs18mhcwrhnxj2xky1y";
};
vendorSha256 = "1qqpxm4s1s2yp1zmi4m25y1a6r7kxc5rmvfsg50jmqsfnwligpz6";

View file

@ -1,6 +1,6 @@
{ atomEnv
, autoPatchelfHook
, dpkg
, squashfsTools
, fetchurl
, makeDesktopItem
, makeWrapper
@ -12,13 +12,15 @@
stdenv.mkDerivation rec {
pname = "termius";
version = "7.16.0";
version = "7.17.1";
src = fetchurl {
# find the latest version by
# curl https://deb.termius.com/dists/squeeze/main/binary-amd64/Packages
url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb";
sha256 = "013nli61bk4x4hkhr6gcpzm1y8ycmqk3vr7q0w2dn2bfdwjg559v";
# find the latest version with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.version'
# and the url with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_81.snap";
sha256 = "sha256-jNwWQTjUy8nJ8gHlbP9WgDlARWOhTQAA7KAcQNXKhNg=";
};
desktopItem = makeDesktopItem {
@ -36,22 +38,33 @@ stdenv.mkDerivation rec {
dontPatchELF = true;
dontWrapGApps = true;
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ];
nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ];
buildInputs = atomEnv.packages;
unpackPhase = "dpkg-deb -x $src .";
unpackPhase = ''
runHook preUnpack
unsquashfs "$src"
runHook postUnpack
'';
installPhase = ''
runHook preInstall
cd squashfs-root
mkdir -p $out/opt/termius
cp -r \
icudtl.dat \
libffmpeg.so \
locales \
resources \
resources.pak \
termius-app \
v8_context_snapshot.bin \
$out/opt/termius
mkdir -p "$out/bin"
cp -R "opt" "$out"
cp -R "usr/share" "$out/share"
chmod -R g-w "$out"
# Desktop file
mkdir -p "$out/share/applications"
mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
cp "${desktopItem}/share/applications/"* "$out/share/applications"
cp meta/gui/icon.png $out/share/pixmaps/termius-app.png
runHook postInstall
'';
@ -59,7 +72,7 @@ stdenv.mkDerivation rec {
runtimeDependencies = [ (lib.getLib udev) ];
postFixup = ''
makeWrapper $out/opt/Termius/termius-app $out/bin/termius-app \
makeWrapper $out/opt/termius/termius-app $out/bin/termius-app \
"''${gappsWrapperArgs[@]}"
'';

View file

@ -1,53 +0,0 @@
{ lib, stdenv, vala, fetchFromGitHub, nix-update-script, pantheon, pkg-config, meson, ninja, python3, gtk3
, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
stdenv.mkDerivation rec {
pname = "aesop";
version = "1.2.5";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "1zxyyxl959rqhyz871dyyccqga2ydybkfcpyjq4vmvdn2g9mvmb0";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
pantheon.elementary-icon-theme
libgee
pantheon.granite
gtk3
json-glib
libsoup
poppler
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "The simplest PDF viewer around";
homepage = "https://github.com/lainsce/aesop";
license = licenses.gpl2Plus;
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}

View file

@ -1,32 +1,57 @@
{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection
, gtksourceview3, libappindicator-gtk3, libnotify }:
{ lib
, python3Packages
, fetchFromGitHub
, wrapGAppsHook
, gobject-introspection
, gtksourceview3
, libappindicator-gtk3
, libnotify
}:
python3Packages.buildPythonApplication rec {
name = "autokey-${version}";
version = "0.94.1";
pname = "autokey";
version = "0.95.10";
src = fetchFromGitHub {
owner = "autokey";
repo = "autokey";
rev = "v${version}";
sha256 = "1syxyciyxzs0khbfs9wjgj03q967p948kipw27j1031q0b5z3jxr";
sha256 = "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr";
};
# Arch requires a similar work around—see
# https://aur.archlinux.org/packages/autokey-py3/?comments=all
patches = [ ./remove-requires-dbus-python.patch ];
# Tests appear to be broken with import errors within the project structure
doCheck = false;
# Note: no dependencies included for Qt GUI because Qt ui is poorly
# maintained—see https://github.com/autokey/autokey/issues/51
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs = [ wrapGAppsHook gobject-introspection gtksourceview3
libappindicator-gtk3 libnotify ];
buildInputs = [
gobject-introspection
gtksourceview3
libappindicator-gtk3
libnotify
];
propagatedBuildInputs = with python3Packages; [
dbus-python pyinotify xlib pygobject3 ];
dbus-python
pyinotify
xlib
pygobject3
];
dontWrapGapps = true;
pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
postInstall = ''
rm $out/bin/autokey-qt
buildPythonPath "$out $pythonPath"
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
# for autokey-shell ModuleNotFoundError: No module named 'autokey'
--prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
--prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
)
'';
meta = {
homepage = "https://github.com/autokey/autokey";

View file

@ -8,7 +8,7 @@
, kcontacts, akonadi, akonadi-calendar, akonadi-contacts
, eigen, git, gsl, ilmbase, kproperty, kreport, lcms2, marble, pcre, libgit2, libodfgen
, librevenge, libvisio, libwpd, libwpg, libwps, okular, openexr, openjpeg, phonon
, poppler, pstoedit, qca-qt5, vc
, poppler, pstoedit, qca-qt5, vc, fontconfig
# TODO: package Spnav, m2mml LibEtonyek, Libqgit2
}:
@ -32,6 +32,7 @@ mkDerivation rec {
kcontacts akonadi akonadi-calendar akonadi-contacts
eigen git gsl ilmbase kproperty kreport lcms2 marble pcre libgit2 libodfgen librevenge
libvisio libwpd libwpg libwps okular openexr openjpeg phonon poppler qca-qt5 vc
fontconfig
];
propagatedUserEnvPkgs = [ kproperty ];

View file

@ -1,81 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, fetchpatch
, meson
, ninja
, pkg-config
, pantheon
, python3
, vala
, appstream-glib
, desktop-file-utils
, gettext
, glib
, gtk3
, libgee
, sqlite
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "envelope";
version = "0.0.4";
src = fetchFromGitHub {
owner = "cjfloss";
repo = pname;
rev = version;
sha256 = "111lq1gijcm7qwpac09q11ymwiw2x3m12a28ki52f28fb1amvffc";
};
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gettext
meson
ninja
vala
pkg-config
python3
wrapGAppsHook
];
buildInputs = [
glib
gtk3
libgee
pantheon.granite
sqlite
];
doCheck = true;
patches = [
# Fix AppData Validation.
# https://github.com/cjfloss/envelope/pull/59
(fetchpatch {
url = "https://github.com/cjfloss/envelope/commit/b6a28eced89b8f944479fcc695aebfb9aae0c691.patch";
sha256 = "11znc8z52kl893n3gmmdpnp3y4vpzmb263m5gp0qxbl3xykq2wzr";
})
];
postPatch = ''
chmod +x data/post_install.py
patchShebangs data/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "Personal finance manager for elementary OS";
homepage = "https://github.com/cjfloss/envelope";
maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View file

@ -0,0 +1,42 @@
{ lib
, mkDerivation
, fetchFromGitLab
, cmake
, pkg-config
, qtbase
, qttools
, qpdf
, podofo
}:
mkDerivation rec {
pname = "pdfmixtool";
version = "1.0.2";
src = fetchFromGitLab {
owner = "scarpetta";
repo = pname;
rev = "v${version}";
sha256 = "066ap1w05gj8n0kvilyhlr1fzwrmlczx3lax7mbw0rfid9qh3467";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
qtbase
qttools
qpdf
podofo
];
meta = with lib; {
description = "An application to split, merge, rotate and mix PDF files";
homepage = "https://gitlab.com/scarpetta/pdfmixtool";
license = licenses.gpl3Only;
maintainers = with maintainers; [ onny ];
};
}

View file

@ -9,11 +9,11 @@
python3Packages.buildPythonApplication rec {
name = "zim-${version}";
version = "0.73.1";
version = "0.73.5";
src = fetchurl {
url = "https://zim-wiki.org/downloads/${name}.tar.gz";
sha256 = "13vhwsgv6mscgixypc0ixkgj0y7cpcm7z7wn1vmdrwp7kn8m3xgx";
sha256 = "sha256-o28V2Sw5lMDVWwf4MlOz2LgmvrNxSGXturwU8cyR1jo=";
};
buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome.adwaita-icon-theme ];

View file

@ -13,17 +13,20 @@
, gettext
, pkg-config
, alsa-lib
, udev
}:
stdenv.mkDerivation rec {
pname = "fldigi";
version = "4.1.18";
version = "4.1.19";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "sha256-PH/YSrOoS6RSWyUenVYSDa7mJqODFoSpdP2tR2+QJw0=";
sha256 = "0zvfkmvxi31ccbpxvimkcrqrkf3wzr1pgja2ny04srrakl8ff5c7";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libXinerama
gettext
@ -34,16 +37,13 @@ stdenv.mkDerivation rec {
portaudio
libsndfile
libsamplerate
libpulseaudio
pkg-config
alsa-lib
];
] ++ lib.optionals (stdenv.isLinux) [ libpulseaudio alsa-lib udev ];
meta = with lib; {
description = "Digital modem program";
homepage = "https://sourceforge.net/projects/fldigi/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ relrod ftrvxmtrx ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/libexec/picard

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/libexec/varscan

View file

@ -5,9 +5,9 @@
} :
let
version = "21.02";
version = "21.06";
# The tag keeps moving, fix a hash instead
gitLabRev = "41cee871945ac712e86ee971425a49a8fc60a936";
gitLabRev = "dd982ad4bc94dec8ac1e3e99cb6a7dd249ff71de";
python = python3.withPackages (ps : with ps; [ six pyparsing ]);
@ -19,7 +19,7 @@ in stdenv.mkDerivation {
owner = "Molcas";
repo = "OpenMolcas";
rev = gitLabRev;
sha256 = "0cap53gy1wds2qaxbijw09fqhvfxphfkr93nhp9xdq84yxh4wzv6";
sha256 = "07dm73n0s7ckif561yb3s9yqxsv39a73kb9qwny4yp39wdvv52hz";
};
patches = [

View file

@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
libX11 libXext libXi
];
phases = [ "installPhase" ];
dontUnpack = true;
# NOTES:
# Eagle for Linux comes as a self-extracting shell script with embedded

View file

@ -0,0 +1,61 @@
{ stdenv
, lib
, pkg-config
, makeWrapper
, texinfo
, fetchurl
, autoreconfHook
, guile
, flex
, gtk2
, glib
, gtkextra
, gettext
, gawk
, shared-mime-info
, groff
, libstroke
}:
stdenv.mkDerivation rec {
pname = "lepton-eda";
version = "1.9.13-20201211";
src = fetchurl {
url = "https://github.com/lepton-eda/lepton-eda/releases/download/${version}/lepton-eda-${builtins.head (lib.splitString "-" version)}.tar.gz";
sha256 = "sha256-9Be3FBWnZU2M5aNQwi3N8M81e0S7n46mwWQh1mrK4Z8=";
};
nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ];
propagatedBuildInputs = [ guile flex gtk2 glib gtkextra gettext gawk shared-mime-info groff libstroke ];
configureFlags = [
"--disable-update-xdg-database"
];
CFLAGS = [
"-DSCM_DEBUG_TYPING_STRICTNESS=2"
];
postInstall = ''
libs="${lib.makeLibraryPath propagatedBuildInputs}"
for program in $out/bin/*; do
wrapProgram "$program" \
--prefix LD_LIBRARY_PATH : "$libs" \
--prefix LTDL_LIBRARY_PATH : "$out/lib"
done
'';
meta = with lib; {
homepage = "https://github.com/lepton-eda";
description = "Lepton Electronic Design Automation";
longDescription = ''
Lepton EDA is a suite of free software tools for designing electronics.
It provides schematic capture, netlisting into over 30 netlist formats, and many other features.
'';
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ tesq0 ];
};
}

View file

@ -48,8 +48,6 @@ stdenv.mkDerivation {
done
'';
phases = "unpackPhase installPhase fixupPhase";
meta = {
description = "Tools for software verification and analysis";
homepage = "https://saw.galois.com";

View file

@ -39,8 +39,6 @@ stdenv.mkDerivation {
xorg.libXxf86vm
];
phases = [ "unpackPhase" "fixupPhase" "installPhase" ];
fixupPhase = ''
sed -i 's|\$(/bin/|$(|g' bin/scilab
sed -i 's|/usr/bin/||g' bin/scilab

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/libexec/quantomatic

View file

@ -1,36 +1,48 @@
{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gnome2, gtk3, cairo
, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr
, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver
, libxcb, nss, nspr, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk }:
, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr
, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence
, libdrm, libxkbcommon, mesa }:
let
libPath = lib.makeLibraryPath [
stdenv.cc.cc gtk3 gnome2.GConf atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio
at-spi2-atk
at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa
];
in
stdenv.mkDerivation rec {
version = "3.0.2";
pname = "hyper";
version = "3.1.2";
src = fetchurl {
url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
sha256 = "0fv4wv5f8nc739bna83qxmgrvvbyq4w9ch764q2f12wjygrz336p";
url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
sha256 = "1mixy9hlgdbbnwdgidady7q828dkf09lx1pacwxw386jj7kp4y5g";
};
buildInputs = [ dpkg ];
nativeBuildInputs = [ dpkg ];
unpackPhase = ''
mkdir pkg
dpkg-deb -x $src pkg
sourceRoot=pkg
'';
installPhase = ''
mkdir -p "$out/bin"
mv opt "$out/"
ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Hyper:\$ORIGIN" "$out/opt/Hyper/hyper"
mv usr/* "$out/"
substituteInPlace $out/share/applications/hyper.desktop \
--replace "/opt/Hyper/hyper" "hyper"
'';
dontPatchELF = true;
meta = with lib; {
description = "A terminal built on web technologies";

View file

@ -18,7 +18,7 @@ in
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
phases = "installPhase";
dontUnpack = true;
installPhase = ''
mkdir -p $out/share/java

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "1.13.1";
version = "1.14.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-6ur1ZIJRghkZk5tLMJUmKn+XfjVGFE0MRSQ/Uz+Eans=";
sha256 = "sha256-JCuJliBr1IPdwGG9T0Bx5DhtHw8tJ45mteRLxRbkyio=";
};
vendorSha256 = "sha256-JJNyzMYAQT/pS1+eGYQsUpxDiwa6DP7JWhIBuTtnOiE=";
vendorSha256 = "sha256-6H56jf4QV+DdsiCetyhpXp6NHc86Hzo+CuqF06dL26A=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
installPhase = ''
mkdir -p $out/bin
cp git-annex-remote-rclone $out/bin

View file

@ -1,13 +1,13 @@
{
"version": "14.1.1",
"repo_hash": "1cygdllhqxah7d8lmx4hcx880wijwfvbbs6dfkdzcn0cd3czpcv8",
"version": "14.1.2",
"repo_hash": "1d28minrpgp8awcnx15bm7jv0k27i46wji3pc2d6wh1m0wk74b60",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v14.1.1-ee",
"rev": "v14.1.2-ee",
"passthru": {
"GITALY_SERVER_VERSION": "14.1.1",
"GITALY_SERVER_VERSION": "14.1.2",
"GITLAB_PAGES_VERSION": "1.41.0",
"GITLAB_SHELL_VERSION": "13.19.0",
"GITLAB_WORKHORSE_VERSION": "14.1.1"
"GITLAB_SHELL_VERSION": "13.19.1",
"GITLAB_WORKHORSE_VERSION": "14.1.2"
}
}

View file

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
, ruby, tzdata, git, nettools, nixosTests, nodejs, openssl
, gitlabEnterprise ? false, callPackage, yarn
, fixup_yarn_lock, replace, file
, fixup_yarn_lock, replace, file, cacert
}:
let
@ -51,7 +51,7 @@ let
pname = "gitlab-assets";
inherit version src;
nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git ];
nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
# Since version 12.6.0, the rake tasks need the location of git,
# so we have to apply the location patches here too.

View file

@ -21,14 +21,14 @@ let
};
};
in buildGoModule rec {
version = "14.1.1";
version = "14.1.2";
pname = "gitaly";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "sha256-UCWN9TXbfysNLMOU8bDcjrwYtz7+kTCDQmRAl84ysWU=";
sha256 = "sha256-7OqTOJDQJ/ojHevj/ld8VLjm5ZRQgCGZKchPrAlOSO8=";
};
vendorSha256 = "sha256-/SZJGRUg0qV7RYCUSGDE/HL9CmzGVffhL6BmZ316tU0=";
@ -37,7 +37,7 @@ in buildGoModule rec {
inherit rubyEnv;
};
buildFlags = [ "-tags=static,system_libgit2" ];
tags = [ "static,system_libgit2" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ rubyEnv.wrappedRuby libgit2 openssl zlib pcre http-parser ];
doCheck = false;

View file

@ -2,12 +2,12 @@
buildGoModule rec {
pname = "gitlab-shell";
version = "13.19.0";
version = "13.19.1";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "sha256-CmatKArkpDS3GGbIIkKjs4FwywLiU+lRL32GKEpOqZ0=";
sha256 = "sha256-F0TW0VjO5hc/lHqZhhMJJvpHazWRyR7Q7W324Fgn7fA=";
};
buildInputs = [ ruby ];

View file

@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "14.1.1";
version = "14.1.2";
src = fetchFromGitLab {
owner = data.owner;

View file

@ -798,7 +798,7 @@ GEM
nenv (~> 0.1)
shellany (~> 0.0)
numerizer (0.2.0)
oauth (0.5.4)
oauth (0.5.6)
oauth2 (1.4.7)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)

View file

@ -3427,10 +3427,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0";
type = "gem";
};
version = "0.5.4";
version = "0.5.6";
};
oauth2 = {
dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];

View file

@ -13,14 +13,14 @@
rustPlatform.buildRustPackage rec {
pname = "pijul";
version = "1.0.0-alpha.52";
version = "1.0.0-alpha.53";
src = fetchCrate {
inherit version pname;
sha256 = "0m759zfh40kxswsv40z1l332lc8lfqppyv8188y4i6biqmgbx8f1";
sha256 = "1y5wnqscyfhd806qs6gfmssm7hvfdi7mxc9p1125jnmzca4wcsm2";
};
cargoSha256 = "0f31hw2zjvhkhsb0ykvw4c3d0qy8zirgsaz7yr89hy01rs23bh8z";
cargoSha256 = "0m9zjagq59rxf5pysklal030f4n0dqgmjsgwcnljajxc2r26665h";
cargoBuildFlags = lib.optional gitImportSupport "--features=git";

View file

@ -83,7 +83,7 @@ in stdenv.mkDerivation (rec {
inherit pname;
version = buildVersion;
phases = [ "installPhase" ];
dontUnpack = true;
${primaryBinary} = binaryPackage;

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