mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 23:22:37 +00:00
Merge branch 'master' into staging-next
This commit is contained in:
commit
6c8aed6391
@ -2282,7 +2282,7 @@
|
|||||||
name = "Frede Emil";
|
name = "Frede Emil";
|
||||||
};
|
};
|
||||||
freepotion = {
|
freepotion = {
|
||||||
email = "free.potion@yandex.ru";
|
email = "42352817+freepotion@users.noreply.github.com";
|
||||||
github = "freepotion";
|
github = "freepotion";
|
||||||
githubId = 42352817;
|
githubId = 42352817;
|
||||||
name = "Free Potion";
|
name = "Free Potion";
|
||||||
@ -6522,6 +6522,12 @@
|
|||||||
githubId = 224674;
|
githubId = 224674;
|
||||||
name = "Thomas Pham";
|
name = "Thomas Pham";
|
||||||
};
|
};
|
||||||
|
Thra11 = {
|
||||||
|
email = "tahall256@protonmail.ch";
|
||||||
|
github = "Thra11";
|
||||||
|
githubId = 1391883;
|
||||||
|
name = "Tom Hall";
|
||||||
|
};
|
||||||
tilpner = {
|
tilpner = {
|
||||||
email = "till@hoeppner.ws";
|
email = "till@hoeppner.ws";
|
||||||
github = "tilpner";
|
github = "tilpner";
|
||||||
@ -7065,6 +7071,12 @@
|
|||||||
githubId = 36407913;
|
githubId = 36407913;
|
||||||
name = "Uli Baum";
|
name = "Uli Baum";
|
||||||
};
|
};
|
||||||
|
xfix = {
|
||||||
|
email = "konrad@borowski.pw";
|
||||||
|
github = "xfix";
|
||||||
|
githubId = 1297598;
|
||||||
|
name = "Konrad Borowski";
|
||||||
|
};
|
||||||
xnaveira = {
|
xnaveira = {
|
||||||
email = "xnaveira@gmail.com";
|
email = "xnaveira@gmail.com";
|
||||||
github = "xnaveira";
|
github = "xnaveira";
|
||||||
|
@ -68,7 +68,7 @@
|
|||||||
If you would like to continue the installation from a different machine you
|
If you would like to continue the installation from a different machine you
|
||||||
need to activate the SSH daemon via <command>systemctl start
|
need to activate the SSH daemon via <command>systemctl start
|
||||||
sshd</command>. You then must set a password for either <literal>root</literal> or
|
sshd</command>. You then must set a password for either <literal>root</literal> or
|
||||||
<literal>nixos</literal> with <command>passwd></command> to be able to login.
|
<literal>nixos</literal> with <command>passwd</command> to be able to login.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="sec-release-19.09">
|
xml:id="sec-release-19.09">
|
||||||
<title>Release 19.09 (“Loris”, 2019/09/??)</title>
|
<title>Release 19.09 (“Loris”, 2019/10/09)</title>
|
||||||
|
|
||||||
<section xmlns="http://docbook.org/ns/docbook"
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
@ -23,6 +23,26 @@
|
|||||||
End of support is planned for end of April 2020, handing over to 20.03.
|
End of support is planned for end of April 2020, handing over to 20.03.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Nix has been updated to 2.3; see its
|
||||||
|
<link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.3">release
|
||||||
|
notes</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core version changes:</para>
|
||||||
|
<para>systemd: 239 -> 243</para>
|
||||||
|
<para>gcc: 7 -> 8</para>
|
||||||
|
<para>glibc: 2.27 (unchanged)</para>
|
||||||
|
<para>linux: 4.19 LTS (unchanged)</para>
|
||||||
|
<para>openssl: 1.0 -> 1.1</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Desktop version changes:</para>
|
||||||
|
<para>plasma5: 5.14 -> 5.16</para>
|
||||||
|
<para>gnome3: 3.30 -> 3.32</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
PHP now defaults to PHP 7.3, updated from 7.2.
|
PHP now defaults to PHP 7.3, updated from 7.2.
|
||||||
|
@ -24,7 +24,7 @@ in {
|
|||||||
Specifies Unix ODBC drivers to be registered in
|
Specifies Unix ODBC drivers to be registered in
|
||||||
<filename>/etc/odbcinst.ini</filename>. You may also want to
|
<filename>/etc/odbcinst.ini</filename>. You may also want to
|
||||||
add <literal>pkgs.unixODBC</literal> to the system path to get
|
add <literal>pkgs.unixODBC</literal> to the system path to get
|
||||||
a command line client to connnect to ODBC databases.
|
a command line client to connect to ODBC databases.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
x86_64-linux = "/nix/store/3ds3cgji9vjxdbgp10av6smyym1126d1-nix-2.3";
|
x86_64-linux = "/nix/store/6chjfy4j6hjwj5f8zcbbdg02i21x1qsi-nix-2.3.1";
|
||||||
i686-linux = "/nix/store/ln1ndqvfpc9cdl03vqxi6kvlxm9wfv9g-nix-2.3";
|
i686-linux = "/nix/store/xa8z7fwszjjm4kiwrxfc8xv9c1pzzm7a-nix-2.3.1";
|
||||||
aarch64-linux = "/nix/store/n8a1rwzrp20qcr2c4hvyn6c5q9zx8csw-nix-2.3";
|
aarch64-linux = "/nix/store/8cac1ivcnchlpzmdjby2f71l1fwpnymr-nix-2.3.1";
|
||||||
x86_64-darwin = "/nix/store/jq6npmpld02sz4rgniz0qrsdfnm6j17a-nix-2.3";
|
x86_64-darwin = "/nix/store/6639l9815ggdnb4aka22qcjy7p8w4hb9-nix-2.3.1";
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ buildHostCmd() {
|
|||||||
if [ -z "$buildHost" ]; then
|
if [ -z "$buildHost" ]; then
|
||||||
"$@"
|
"$@"
|
||||||
elif [ -n "$remoteNix" ]; then
|
elif [ -n "$remoteNix" ]; then
|
||||||
ssh $SSHOPTS "$buildHost" PATH="$remoteNix:$PATH" "$@"
|
ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "$@"
|
||||||
else
|
else
|
||||||
ssh $SSHOPTS "$buildHost" "$@"
|
ssh $SSHOPTS "$buildHost" "$@"
|
||||||
fi
|
fi
|
||||||
|
@ -128,7 +128,10 @@ in {
|
|||||||
|
|
||||||
# directory creation needs to be separated from main service
|
# directory creation needs to be separated from main service
|
||||||
# because ReadWritePaths fails when the directory doesn't already exist
|
# because ReadWritePaths fails when the directory doesn't already exist
|
||||||
systemd.tmpfiles.rules = [ "d ${dirOf cfg.output} 0755 root root -" ];
|
systemd.tmpfiles.rules =
|
||||||
|
let dir = dirOf cfg.output; in
|
||||||
|
mkIf (dir != "/var/cache")
|
||||||
|
[ "d ${dir} 0755 root root -" ];
|
||||||
|
|
||||||
systemd.services.update-locatedb =
|
systemd.services.update-locatedb =
|
||||||
{ description = "Update Locate Database";
|
{ description = "Update Locate Database";
|
||||||
|
@ -142,7 +142,6 @@
|
|||||||
./programs/seahorse.nix
|
./programs/seahorse.nix
|
||||||
./programs/slock.nix
|
./programs/slock.nix
|
||||||
./programs/shadow.nix
|
./programs/shadow.nix
|
||||||
./programs/shell.nix
|
|
||||||
./programs/spacefm.nix
|
./programs/spacefm.nix
|
||||||
./programs/singularity.nix
|
./programs/singularity.nix
|
||||||
./programs/ssh.nix
|
./programs/ssh.nix
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
# This module defines a standard configuration for NixOS shells.
|
|
||||||
|
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
config = {
|
|
||||||
|
|
||||||
environment.shellInit =
|
|
||||||
''
|
|
||||||
# Set up the per-user profile.
|
|
||||||
mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
|
|
||||||
if [ "$(stat -c '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then
|
|
||||||
echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -w "$HOME" ]; then
|
|
||||||
if ! [ -L "$HOME/.nix-profile" ]; then
|
|
||||||
if [ "$USER" != root ]; then
|
|
||||||
ln -s "$NIX_USER_PROFILE_DIR/profile" "$HOME/.nix-profile"
|
|
||||||
else
|
|
||||||
# Root installs in the system-wide profile by default.
|
|
||||||
ln -s /nix/var/nix/profiles/default "$HOME/.nix-profile"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Subscribe the root user to the NixOS channel by default.
|
|
||||||
if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then
|
|
||||||
echo "${config.system.defaultChannel} nixos" > "$HOME/.nix-channels"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create the per-user garbage collector roots directory.
|
|
||||||
NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
|
|
||||||
mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
|
|
||||||
if [ "$(stat -c '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then
|
|
||||||
echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set up a default Nix expression from which to install stuff.
|
|
||||||
if [ ! -e "$HOME/.nix-defexpr" -o -L "$HOME/.nix-defexpr" ]; then
|
|
||||||
rm -f "$HOME/.nix-defexpr"
|
|
||||||
mkdir -p "$HOME/.nix-defexpr"
|
|
||||||
if [ "$USER" != root ]; then
|
|
||||||
ln -s /nix/var/nix/profiles/per-user/root/channels "$HOME/.nix-defexpr/channels_root"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -181,7 +181,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
configFile = mkOption {
|
configFile = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.path;
|
||||||
default = null;
|
default = null;
|
||||||
description = "Config file used for the whole dovecot configuration.";
|
description = "Config file used for the whole dovecot configuration.";
|
||||||
apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
|
apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
|
||||||
|
@ -7,6 +7,11 @@ let
|
|||||||
|
|
||||||
ruby = cfg.packages.gitlab.ruby;
|
ruby = cfg.packages.gitlab.ruby;
|
||||||
|
|
||||||
|
postgresqlPackage = if config.services.postgresql.enable then
|
||||||
|
config.services.postgresql.package
|
||||||
|
else
|
||||||
|
pkgs.postgresql;
|
||||||
|
|
||||||
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
|
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
|
||||||
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
||||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||||
@ -22,6 +27,9 @@ let
|
|||||||
} // cfg.extraDatabaseConfig;
|
} // cfg.extraDatabaseConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# We only want to create a database if we're actually going to connect to it.
|
||||||
|
databaseActuallyCreateLocally = cfg.databaseCreateLocally && cfg.databaseHost == "";
|
||||||
|
|
||||||
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
||||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||||
bin_dir = "${cfg.packages.gitaly}/bin"
|
bin_dir = "${cfg.packages.gitaly}/bin"
|
||||||
@ -138,7 +146,7 @@ let
|
|||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
||||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
|
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
|
||||||
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
||||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||||
'';
|
'';
|
||||||
@ -153,7 +161,7 @@ let
|
|||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
||||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
|
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
|
||||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -266,8 +274,8 @@ in {
|
|||||||
description = ''
|
description = ''
|
||||||
Whether a database should be automatically created on the
|
Whether a database should be automatically created on the
|
||||||
local host. Set this to <literal>false</literal> if you plan
|
local host. Set this to <literal>false</literal> if you plan
|
||||||
on provisioning a local database yourself or use an external
|
on provisioning a local database yourself. This has no effect
|
||||||
one.
|
if <option>services.gitlab.databaseHost</option> is customized.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -557,8 +565,8 @@ in {
|
|||||||
|
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
|
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||||
message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
|
message = ''For local automatic database provisioning (services.gitlab.databaseCreateLocally == true) with peer authentication (services.gitlab.databaseHost == "") to work services.gitlab.user and services.gitlab.databaseUsername must be identical.'';
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
|
assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
|
||||||
@ -592,14 +600,14 @@ in {
|
|||||||
services.redis.enable = mkDefault true;
|
services.redis.enable = mkDefault true;
|
||||||
|
|
||||||
# We use postgres as the main data store.
|
# We use postgres as the main data store.
|
||||||
services.postgresql = optionalAttrs cfg.databaseCreateLocally {
|
services.postgresql = optionalAttrs databaseActuallyCreateLocally {
|
||||||
enable = true;
|
enable = true;
|
||||||
ensureUsers = singleton { name = cfg.databaseUsername; };
|
ensureUsers = singleton { name = cfg.databaseUsername; };
|
||||||
};
|
};
|
||||||
# The postgresql module doesn't currently support concepts like
|
# The postgresql module doesn't currently support concepts like
|
||||||
# objects owners and extensions; for now we tack on what's needed
|
# objects owners and extensions; for now we tack on what's needed
|
||||||
# here.
|
# here.
|
||||||
systemd.services.postgresql.postStart = mkAfter (optionalString cfg.databaseCreateLocally ''
|
systemd.services.postgresql.postStart = mkAfter (optionalString databaseActuallyCreateLocally ''
|
||||||
$PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
|
$PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
|
||||||
current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
|
current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
|
||||||
if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
|
if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
|
||||||
@ -675,7 +683,7 @@ in {
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = gitlabEnv;
|
environment = gitlabEnv;
|
||||||
path = with pkgs; [
|
path = with pkgs; [
|
||||||
config.services.postgresql.package
|
postgresqlPackage
|
||||||
gitAndTools.git
|
gitAndTools.git
|
||||||
ruby
|
ruby
|
||||||
openssh
|
openssh
|
||||||
@ -756,81 +764,13 @@ in {
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = gitlabEnv;
|
environment = gitlabEnv;
|
||||||
path = with pkgs; [
|
path = with pkgs; [
|
||||||
config.services.postgresql.package
|
postgresqlPackage
|
||||||
gitAndTools.git
|
gitAndTools.git
|
||||||
openssh
|
openssh
|
||||||
nodejs
|
nodejs
|
||||||
procps
|
procps
|
||||||
gnupg
|
gnupg
|
||||||
];
|
];
|
||||||
preStart = ''
|
|
||||||
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
|
||||||
rm -rf ${cfg.statePath}/db/*
|
|
||||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
|
||||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
|
||||||
|
|
||||||
${cfg.packages.gitlab-shell}/bin/install
|
|
||||||
|
|
||||||
${optionalString cfg.smtp.enable ''
|
|
||||||
install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
|
||||||
${optionalString (cfg.smtp.passwordFile != null) ''
|
|
||||||
smtp_password=$(<'${cfg.smtp.passwordFile}')
|
|
||||||
${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
|
|
||||||
''}
|
|
||||||
''}
|
|
||||||
|
|
||||||
(
|
|
||||||
umask u=rwx,g=,o=
|
|
||||||
|
|
||||||
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
|
|
||||||
|
|
||||||
${if cfg.databasePasswordFile != null then ''
|
|
||||||
export db_password="$(<'${cfg.databasePasswordFile}')"
|
|
||||||
|
|
||||||
if [[ -z "$db_password" ]]; then
|
|
||||||
>&2 echo "Database password was an empty string!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
|
||||||
'.production.password = $ENV.db_password' \
|
|
||||||
>'${cfg.statePath}/config/database.yml'
|
|
||||||
''
|
|
||||||
else ''
|
|
||||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
|
||||||
>'${cfg.statePath}/config/database.yml'
|
|
||||||
''
|
|
||||||
}
|
|
||||||
|
|
||||||
${utils.genJqSecretsReplacementSnippet
|
|
||||||
gitlabConfig
|
|
||||||
"${cfg.statePath}/config/gitlab.yml"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
|
|
||||||
rm '${cfg.statePath}/config/secrets.yml'
|
|
||||||
fi
|
|
||||||
|
|
||||||
export secret="$(<'${cfg.secrets.secretFile}')"
|
|
||||||
export db="$(<'${cfg.secrets.dbFile}')"
|
|
||||||
export otp="$(<'${cfg.secrets.otpFile}')"
|
|
||||||
export jws="$(<'${cfg.secrets.jwsFile}')"
|
|
||||||
${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
|
|
||||||
otp_key_base: $ENV.otp,
|
|
||||||
db_key_base: $ENV.db,
|
|
||||||
openid_connect_signing_key: $ENV.jws}}' \
|
|
||||||
> '${cfg.statePath}/config/secrets.yml'
|
|
||||||
)
|
|
||||||
|
|
||||||
initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
|
|
||||||
${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
|
|
||||||
GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
|
|
||||||
|
|
||||||
# We remove potentially broken links to old gitlab-shell versions
|
|
||||||
rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
|
|
||||||
|
|
||||||
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
|
||||||
'';
|
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
@ -839,6 +779,89 @@ in {
|
|||||||
TimeoutSec = "infinity";
|
TimeoutSec = "infinity";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
||||||
|
ExecStartPre = let
|
||||||
|
preStartFullPrivileges = ''
|
||||||
|
shopt -s dotglob nullglob
|
||||||
|
chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
|
||||||
|
chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/config/*
|
||||||
|
'';
|
||||||
|
preStart = ''
|
||||||
|
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||||
|
rm -rf ${cfg.statePath}/db/*
|
||||||
|
rm -rf ${cfg.statePath}/config/initializers/*
|
||||||
|
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||||
|
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
||||||
|
|
||||||
|
${cfg.packages.gitlab-shell}/bin/install
|
||||||
|
|
||||||
|
${optionalString cfg.smtp.enable ''
|
||||||
|
install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||||
|
${optionalString (cfg.smtp.passwordFile != null) ''
|
||||||
|
smtp_password=$(<'${cfg.smtp.passwordFile}')
|
||||||
|
${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
|
||||||
|
''}
|
||||||
|
''}
|
||||||
|
|
||||||
|
(
|
||||||
|
umask u=rwx,g=,o=
|
||||||
|
|
||||||
|
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
|
||||||
|
|
||||||
|
if [[ -h '${cfg.statePath}/config/database.yml' ]]; then
|
||||||
|
rm '${cfg.statePath}/config/database.yml'
|
||||||
|
fi
|
||||||
|
|
||||||
|
${if cfg.databasePasswordFile != null then ''
|
||||||
|
export db_password="$(<'${cfg.databasePasswordFile}')"
|
||||||
|
|
||||||
|
if [[ -z "$db_password" ]]; then
|
||||||
|
>&2 echo "Database password was an empty string!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||||
|
'.production.password = $ENV.db_password' \
|
||||||
|
>'${cfg.statePath}/config/database.yml'
|
||||||
|
''
|
||||||
|
else ''
|
||||||
|
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||||
|
>'${cfg.statePath}/config/database.yml'
|
||||||
|
''
|
||||||
|
}
|
||||||
|
|
||||||
|
${utils.genJqSecretsReplacementSnippet
|
||||||
|
gitlabConfig
|
||||||
|
"${cfg.statePath}/config/gitlab.yml"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
|
||||||
|
rm '${cfg.statePath}/config/secrets.yml'
|
||||||
|
fi
|
||||||
|
|
||||||
|
export secret="$(<'${cfg.secrets.secretFile}')"
|
||||||
|
export db="$(<'${cfg.secrets.dbFile}')"
|
||||||
|
export otp="$(<'${cfg.secrets.otpFile}')"
|
||||||
|
export jws="$(<'${cfg.secrets.jwsFile}')"
|
||||||
|
${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
|
||||||
|
otp_key_base: $ENV.otp,
|
||||||
|
db_key_base: $ENV.db,
|
||||||
|
openid_connect_signing_key: $ENV.jws}}' \
|
||||||
|
> '${cfg.statePath}/config/secrets.yml'
|
||||||
|
)
|
||||||
|
|
||||||
|
initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
|
||||||
|
${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
|
||||||
|
GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}' > /dev/null
|
||||||
|
|
||||||
|
# We remove potentially broken links to old gitlab-shell versions
|
||||||
|
rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
|
||||||
|
|
||||||
|
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
||||||
|
'';
|
||||||
|
in [
|
||||||
|
"+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}"
|
||||||
|
"${pkgs.writeShellScript "gitlab-pre-start" preStart}"
|
||||||
|
];
|
||||||
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
|
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ let
|
|||||||
|
|
||||||
nixVersion = getVersion nix;
|
nixVersion = getVersion nix;
|
||||||
|
|
||||||
isNix20 = versionAtLeast nixVersion "2.0pre";
|
|
||||||
isNix23 = versionAtLeast nixVersion "2.3pre";
|
isNix23 = versionAtLeast nixVersion "2.3pre";
|
||||||
|
|
||||||
makeNixBuildUser = nr:
|
makeNixBuildUser = nr:
|
||||||
@ -28,39 +27,26 @@ let
|
|||||||
nixbldUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
|
nixbldUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
|
||||||
|
|
||||||
nixConf =
|
nixConf =
|
||||||
let
|
assert versionAtLeast nixVersion "2.2";
|
||||||
# In Nix < 2.0, If we're using sandbox for builds, then provide
|
pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (
|
||||||
# /bin/sh in the sandbox as a bind-mount to bash. This means we
|
''
|
||||||
# also need to include the entire closure of bash. Nix >= 2.0
|
|
||||||
# provides a /bin/sh by default.
|
|
||||||
sh = pkgs.runtimeShell;
|
|
||||||
binshDeps = pkgs.writeReferencesToFile sh;
|
|
||||||
in
|
|
||||||
pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (''
|
|
||||||
${optionalString (!isNix20) ''
|
|
||||||
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
|
|
||||||
''}
|
|
||||||
cat > $out <<END
|
cat > $out <<END
|
||||||
# WARNING: this file is generated from the nix.* options in
|
# WARNING: this file is generated from the nix.* options in
|
||||||
# your NixOS configuration, typically
|
# your NixOS configuration, typically
|
||||||
# /etc/nixos/configuration.nix. Do not edit it!
|
# /etc/nixos/configuration.nix. Do not edit it!
|
||||||
build-users-group = nixbld
|
build-users-group = nixbld
|
||||||
${if isNix20 then "max-jobs" else "build-max-jobs"} = ${toString (cfg.maxJobs)}
|
max-jobs = ${toString (cfg.maxJobs)}
|
||||||
${if isNix20 then "cores" else "build-cores"} = ${toString (cfg.buildCores)}
|
cores = ${toString (cfg.buildCores)}
|
||||||
${if isNix20 then "sandbox" else "build-use-sandbox"} = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
|
sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
|
||||||
${if isNix20 then "extra-sandbox-paths" else "build-sandbox-paths"} = ${toString cfg.sandboxPaths} ${optionalString (!isNix20) "/bin/sh=${sh} $(echo $extraPaths)"}
|
extra-sandbox-paths = ${toString cfg.sandboxPaths}
|
||||||
${if isNix20 then "substituters" else "binary-caches"} = ${toString cfg.binaryCaches}
|
substituters = ${toString cfg.binaryCaches}
|
||||||
${if isNix20 then "trusted-substituters" else "trusted-binary-caches"} = ${toString cfg.trustedBinaryCaches}
|
trusted-substituters = ${toString cfg.trustedBinaryCaches}
|
||||||
${if isNix20 then "trusted-public-keys" else "binary-cache-public-keys"} = ${toString cfg.binaryCachePublicKeys}
|
trusted-public-keys = ${toString cfg.binaryCachePublicKeys}
|
||||||
auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
|
auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
|
||||||
${if isNix20 then ''
|
require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
|
||||||
require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
|
|
||||||
'' else ''
|
|
||||||
signed-binary-caches = ${if cfg.requireSignedBinaryCaches then "*" else ""}
|
|
||||||
''}
|
|
||||||
trusted-users = ${toString cfg.trustedUsers}
|
trusted-users = ${toString cfg.trustedUsers}
|
||||||
allowed-users = ${toString cfg.allowedUsers}
|
allowed-users = ${toString cfg.allowedUsers}
|
||||||
${optionalString (isNix20 && !cfg.distributedBuilds) ''
|
${optionalString (!cfg.distributedBuilds) ''
|
||||||
builders =
|
builders =
|
||||||
''}
|
''}
|
||||||
system-features = ${toString cfg.systemFeatures}
|
system-features = ${toString cfg.systemFeatures}
|
||||||
@ -422,8 +408,7 @@ in
|
|||||||
|
|
||||||
systemd.services.nix-daemon =
|
systemd.services.nix-daemon =
|
||||||
{ path = [ nix pkgs.utillinux config.programs.ssh.package ]
|
{ path = [ nix pkgs.utillinux config.programs.ssh.package ]
|
||||||
++ optionals cfg.distributedBuilds [ pkgs.gzip ]
|
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
|
||||||
++ optionals (!isNix20) [ pkgs.openssl.bin ];
|
|
||||||
|
|
||||||
environment = cfg.envVars
|
environment = cfg.envVars
|
||||||
// { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
|
// { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
|
||||||
@ -440,34 +425,13 @@ in
|
|||||||
restartTriggers = [ nixConf ];
|
restartTriggers = [ nixConf ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.envVars =
|
|
||||||
optionalAttrs (!isNix20) {
|
|
||||||
NIX_CONF_DIR = "/etc/nix";
|
|
||||||
|
|
||||||
# Enable the copy-from-other-stores substituter, which allows
|
|
||||||
# builds to be sped up by copying build results from remote
|
|
||||||
# Nix stores. To do this, mount the remote file system on a
|
|
||||||
# subdirectory of /run/nix/remote-stores.
|
|
||||||
NIX_OTHER_STORES = "/run/nix/remote-stores/*/nix";
|
|
||||||
}
|
|
||||||
|
|
||||||
// optionalAttrs (cfg.distributedBuilds && !isNix20) {
|
|
||||||
NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set up the environment variables for running Nix.
|
# Set up the environment variables for running Nix.
|
||||||
environment.sessionVariables = cfg.envVars //
|
environment.sessionVariables = cfg.envVars //
|
||||||
{ NIX_PATH = cfg.nixPath;
|
{ NIX_PATH = cfg.nixPath;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.extraInit = optionalString (!isNix20)
|
environment.extraInit =
|
||||||
''
|
''
|
||||||
# Set up secure multi-user builds: non-root users build through the
|
|
||||||
# Nix daemon.
|
|
||||||
if [ "$USER" != root -o ! -w /nix/var/nix/db ]; then
|
|
||||||
export NIX_REMOTE=daemon
|
|
||||||
fi
|
|
||||||
'' + ''
|
|
||||||
if [ -e "$HOME/.nix-defexpr/channels" ]; then
|
if [ -e "$HOME/.nix-defexpr/channels" ]; then
|
||||||
export NIX_PATH="$HOME/.nix-defexpr/channels''${NIX_PATH:+:$NIX_PATH}"
|
export NIX_PATH="$HOME/.nix-defexpr/channels''${NIX_PATH:+:$NIX_PATH}"
|
||||||
fi
|
fi
|
||||||
@ -479,21 +443,15 @@ in
|
|||||||
|
|
||||||
services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
|
services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
|
||||||
|
|
||||||
# FIXME: use systemd-tmpfiles to create Nix directories.
|
|
||||||
system.activationScripts.nix = stringAfter [ "etc" "users" ]
|
system.activationScripts.nix = stringAfter [ "etc" "users" ]
|
||||||
''
|
''
|
||||||
# Nix initialisation.
|
# Create directories in /nix.
|
||||||
install -m 0755 -d \
|
${nix}/bin/nix ping-store --no-net
|
||||||
/nix/var/nix/gcroots \
|
|
||||||
/nix/var/nix/temproots \
|
# Subscribe the root user to the NixOS channel by default.
|
||||||
/nix/var/nix/userpool \
|
if [ ! -e "/root/.nix-channels" ]; then
|
||||||
/nix/var/nix/profiles \
|
echo "${config.system.defaultChannel} nixos" > "/root/.nix-channels"
|
||||||
/nix/var/nix/db \
|
fi
|
||||||
/nix/var/log/nix/drvs
|
|
||||||
install -m 1777 -d \
|
|
||||||
/nix/var/nix/gcroots/per-user \
|
|
||||||
/nix/var/nix/profiles/per-user \
|
|
||||||
/nix/var/nix/gcroots/tmp
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nix.systemFeatures = mkDefault (
|
nix.systemFeatures = mkDefault (
|
||||||
|
@ -3,6 +3,15 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
isMa1sd =
|
||||||
|
package:
|
||||||
|
lib.hasPrefix "ma1sd" package.name;
|
||||||
|
|
||||||
|
isMxisd =
|
||||||
|
package:
|
||||||
|
lib.hasPrefix "mxisd" package.name;
|
||||||
|
|
||||||
cfg = config.services.mxisd;
|
cfg = config.services.mxisd;
|
||||||
|
|
||||||
server = optionalAttrs (cfg.server.name != null) { inherit (cfg.server) name; }
|
server = optionalAttrs (cfg.server.name != null) { inherit (cfg.server) name; }
|
||||||
@ -12,37 +21,41 @@ let
|
|||||||
matrix.domain = cfg.matrix.domain;
|
matrix.domain = cfg.matrix.domain;
|
||||||
key.path = "${cfg.dataDir}/signing.key";
|
key.path = "${cfg.dataDir}/signing.key";
|
||||||
storage = {
|
storage = {
|
||||||
provider.sqlite.database = "${cfg.dataDir}/mxisd.db";
|
provider.sqlite.database = if isMa1sd cfg.package
|
||||||
|
then "${cfg.dataDir}/ma1sd.db"
|
||||||
|
else "${cfg.dataDir}/mxisd.db";
|
||||||
};
|
};
|
||||||
} // optionalAttrs (server != {}) { inherit server; };
|
} // optionalAttrs (server != {}) { inherit server; };
|
||||||
|
|
||||||
# merges baseConfig and extraConfig into a single file
|
# merges baseConfig and extraConfig into a single file
|
||||||
fullConfig = recursiveUpdate baseConfig cfg.extraConfig;
|
fullConfig = recursiveUpdate baseConfig cfg.extraConfig;
|
||||||
|
|
||||||
configFile = pkgs.writeText "mxisd-config.yaml" (builtins.toJSON fullConfig);
|
configFile = if isMa1sd cfg.package
|
||||||
|
then pkgs.writeText "ma1sd-config.yaml" (builtins.toJSON fullConfig)
|
||||||
|
else pkgs.writeText "mxisd-config.yaml" (builtins.toJSON fullConfig);
|
||||||
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
services.mxisd = {
|
services.mxisd = {
|
||||||
enable = mkEnableOption "mxisd matrix federated identity server";
|
enable = mkEnableOption "matrix federated identity server";
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.mxisd;
|
default = pkgs.mxisd;
|
||||||
defaultText = "pkgs.mxisd";
|
defaultText = "pkgs.mxisd";
|
||||||
description = "The mxisd package to use";
|
description = "The mxisd/ma1sd package to use";
|
||||||
};
|
};
|
||||||
|
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "/var/lib/mxisd";
|
default = "/var/lib/mxisd";
|
||||||
description = "Where data mxisd uses resides";
|
description = "Where data mxisd/ma1sd uses resides";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
default = {};
|
default = {};
|
||||||
description = "Extra options merged into the mxisd configuration";
|
description = "Extra options merged into the mxisd/ma1sd configuration";
|
||||||
};
|
};
|
||||||
|
|
||||||
matrix = {
|
matrix = {
|
||||||
@ -62,7 +75,7 @@ in {
|
|||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Public hostname of mxisd, if different from the Matrix domain.
|
Public hostname of mxisd/ma1sd, if different from the Matrix domain.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -103,11 +116,13 @@ in {
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = let
|
||||||
|
executable = if isMa1sd cfg.package then "ma1sd" else "mxisd";
|
||||||
|
in {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = "mxisd";
|
User = "mxisd";
|
||||||
Group = "mxisd";
|
Group = "mxisd";
|
||||||
ExecStart = "${cfg.package}/bin/mxisd -c ${configFile}";
|
ExecStart = "${cfg.package}/bin/${executable} -c ${configFile}";
|
||||||
WorkingDirectory = cfg.dataDir;
|
WorkingDirectory = cfg.dataDir;
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
|
@ -61,7 +61,10 @@ let
|
|||||||
|
|
||||||
${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
|
${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
|
||||||
http {
|
http {
|
||||||
include ${cfg.package}/conf/mime.types;
|
# The mime type definitions included with nginx are very incomplete, so
|
||||||
|
# we use a list of mime types from the mailcap package, which is also
|
||||||
|
# used by most other Linux distributions by default.
|
||||||
|
include ${pkgs.mailcap}/etc/nginx/mime.types;
|
||||||
include ${cfg.package}/conf/fastcgi.conf;
|
include ${cfg.package}/conf/fastcgi.conf;
|
||||||
include ${cfg.package}/conf/uwsgi_params;
|
include ${cfg.package}/conf/uwsgi_params;
|
||||||
|
|
||||||
@ -119,6 +122,14 @@ let
|
|||||||
include ${recommendedProxyConfig};
|
include ${recommendedProxyConfig};
|
||||||
''}
|
''}
|
||||||
|
|
||||||
|
${optionalString (cfg.mapHashBucketSize != null) ''
|
||||||
|
map_hash_bucket_size ${toString cfg.mapHashBucketSize};
|
||||||
|
''}
|
||||||
|
|
||||||
|
${optionalString (cfg.mapHashMaxSize != null) ''
|
||||||
|
map_hash_max_size ${toString cfg.mapHashMaxSize};
|
||||||
|
''}
|
||||||
|
|
||||||
# $connection_upgrade is used for websocket proxying
|
# $connection_upgrade is used for websocket proxying
|
||||||
map $http_upgrade $connection_upgrade {
|
map $http_upgrade $connection_upgrade {
|
||||||
default upgrade;
|
default upgrade;
|
||||||
@ -507,6 +518,23 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mapHashBucketSize = mkOption {
|
||||||
|
type = types.nullOr (types.enum [ 32 64 128 ]);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Sets the bucket size for the map variables hash tables. Default
|
||||||
|
value depends on the processor’s cache line size.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
mapHashMaxSize = mkOption {
|
||||||
|
type = types.nullOr types.ints.positive;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Sets the maximum size of the map variables hash tables.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
resolver = mkOption {
|
resolver = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
@ -183,7 +183,8 @@ in
|
|||||||
++ lib.optional config.hardware.pulseaudio.enable plasma-pa
|
++ lib.optional config.hardware.pulseaudio.enable plasma-pa
|
||||||
++ lib.optional config.powerManagement.enable powerdevil
|
++ lib.optional config.powerManagement.enable powerdevil
|
||||||
++ lib.optional config.services.colord.enable colord-kde
|
++ lib.optional config.services.colord.enable colord-kde
|
||||||
++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ];
|
++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]
|
||||||
|
++ lib.optional config.services.xserver.wacom.enable wacomtablet;
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
# FIXME: modules should link subdirs of `/share` rather than relying on this
|
# FIXME: modules should link subdirs of `/share` rather than relying on this
|
||||||
|
@ -165,12 +165,12 @@ in
|
|||||||
"rc-local.service"
|
"rc-local.service"
|
||||||
"systemd-machined.service"
|
"systemd-machined.service"
|
||||||
"systemd-user-sessions.service"
|
"systemd-user-sessions.service"
|
||||||
"getty@tty1.service"
|
"getty@tty${gdm.initialVT}.service"
|
||||||
"plymouth-quit.service"
|
"plymouth-quit.service"
|
||||||
"plymouth-start.service"
|
"plymouth-start.service"
|
||||||
];
|
];
|
||||||
systemd.services.display-manager.conflicts = [
|
systemd.services.display-manager.conflicts = [
|
||||||
"getty@tty1.service"
|
"getty@tty${gdm.initialVT}.service"
|
||||||
"plymouth-quit.service"
|
"plymouth-quit.service"
|
||||||
];
|
];
|
||||||
systemd.services.display-manager.onFailure = [
|
systemd.services.display-manager.onFailure = [
|
||||||
|
@ -220,6 +220,42 @@ in
|
|||||||
exec ${lightdm}/sbin/lightdm
|
exec ${lightdm}/sbin/lightdm
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Replaces getty and plymouth quit since it quits plymouth on it's own.
|
||||||
|
systemd.services.display-manager.conflicts = [
|
||||||
|
"getty@tty7.service"
|
||||||
|
"plymouth-quit.service"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Pull in dependencies of services we replace.
|
||||||
|
systemd.services.display-manager.after = [
|
||||||
|
"rc-local.service"
|
||||||
|
"systemd-machined.service"
|
||||||
|
"systemd-user-sessions.service"
|
||||||
|
"getty@tty7.service"
|
||||||
|
"user.slice"
|
||||||
|
];
|
||||||
|
|
||||||
|
# user.slice needs to be present
|
||||||
|
systemd.services.display-manager.requires = [
|
||||||
|
"user.slice"
|
||||||
|
];
|
||||||
|
|
||||||
|
# lightdm stops plymouth so when it fails make sure plymouth stops.
|
||||||
|
systemd.services.display-manager.onFailure = [
|
||||||
|
"plymouth-quit.service"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.display-manager.serviceConfig = {
|
||||||
|
BusName = "org.freedesktop.DisplayManager";
|
||||||
|
IgnoreSIGPIPE = "no";
|
||||||
|
# This allows lightdm to pass the LUKS password through to PAM.
|
||||||
|
# login keyring is unlocked automatic when autologin is used.
|
||||||
|
KeyringMode = "shared";
|
||||||
|
KillMode = "mixed";
|
||||||
|
StandardError = "inherit";
|
||||||
|
StandardOutput = "syslog";
|
||||||
|
};
|
||||||
|
|
||||||
environment.etc."lightdm/lightdm.conf".source = lightdmConf;
|
environment.etc."lightdm/lightdm.conf".source = lightdmConf;
|
||||||
environment.etc."lightdm/users.conf".source = usersConf;
|
environment.etc."lightdm/users.conf".source = usersConf;
|
||||||
|
|
||||||
|
23
nixos/modules/services/x11/window-managers/cwm.nix
Normal file
23
nixos/modules/services/x11/window-managers/cwm.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.cwm;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.cwm.enable = mkEnableOption "cwm";
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton
|
||||||
|
{ name = "cwm";
|
||||||
|
start =
|
||||||
|
''
|
||||||
|
cwm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.cwm ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,6 +11,7 @@ in
|
|||||||
./2bwm.nix
|
./2bwm.nix
|
||||||
./afterstep.nix
|
./afterstep.nix
|
||||||
./bspwm.nix
|
./bspwm.nix
|
||||||
|
./cwm.nix
|
||||||
./dwm.nix
|
./dwm.nix
|
||||||
./evilwm.nix
|
./evilwm.nix
|
||||||
./exwm.nix
|
./exwm.nix
|
||||||
|
@ -5,17 +5,20 @@ with lib;
|
|||||||
let
|
let
|
||||||
|
|
||||||
inherit (pkgs) plymouth;
|
inherit (pkgs) plymouth;
|
||||||
|
inherit (pkgs) nixos-icons;
|
||||||
|
|
||||||
cfg = config.boot.plymouth;
|
cfg = config.boot.plymouth;
|
||||||
|
|
||||||
breezePlymouth = pkgs.breeze-plymouth.override {
|
nixosBreezePlymouth = pkgs.breeze-plymouth.override {
|
||||||
nixosBranding = true;
|
logoFile = cfg.logo;
|
||||||
nixosVersion = config.system.nixos.release;
|
logoName = "nixos";
|
||||||
|
osName = "NixOS";
|
||||||
|
osVersion = config.system.nixos.release;
|
||||||
};
|
};
|
||||||
|
|
||||||
themesEnv = pkgs.buildEnv {
|
themesEnv = pkgs.buildEnv {
|
||||||
name = "plymouth-themes";
|
name = "plymouth-themes";
|
||||||
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
|
paths = [ plymouth ] ++ cfg.themePackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = pkgs.writeText "plymouthd.conf" ''
|
configFile = pkgs.writeText "plymouthd.conf" ''
|
||||||
@ -35,7 +38,7 @@ in
|
|||||||
enable = mkEnableOption "Plymouth boot splash screen";
|
enable = mkEnableOption "Plymouth boot splash screen";
|
||||||
|
|
||||||
themePackages = mkOption {
|
themePackages = mkOption {
|
||||||
default = [];
|
default = [ nixosBreezePlymouth ];
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.package;
|
||||||
description = ''
|
description = ''
|
||||||
Extra theme packages for plymouth.
|
Extra theme packages for plymouth.
|
||||||
@ -52,10 +55,7 @@ in
|
|||||||
|
|
||||||
logo = mkOption {
|
logo = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = pkgs.fetchurl {
|
default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
||||||
url = "https://nixos.org/logo/nixos-hires.png";
|
|
||||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
|
||||||
};
|
|
||||||
defaultText = ''pkgs.fetchurl {
|
defaultText = ''pkgs.fetchurl {
|
||||||
url = "https://nixos.org/logo/nixos-hires.png";
|
url = "https://nixos.org/logo/nixos-hires.png";
|
||||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
||||||
|
@ -142,7 +142,7 @@ fi
|
|||||||
# Record the boot configuration.
|
# Record the boot configuration.
|
||||||
ln -sfn "$systemConfig" /run/booted-system
|
ln -sfn "$systemConfig" /run/booted-system
|
||||||
|
|
||||||
# Prevent the booted system form being garbage-collected If it weren't
|
# Prevent the booted system from being garbage-collected. If it weren't
|
||||||
# a gcroot, if we were running a different kernel, switched system,
|
# a gcroot, if we were running a different kernel, switched system,
|
||||||
# and garbage collected all, we could not load kernel modules anymore.
|
# and garbage collected all, we could not load kernel modules anymore.
|
||||||
ln -sfn /run/booted-system /nix/var/nix/gcroots/booted-system
|
ln -sfn /run/booted-system /nix/var/nix/gcroots/booted-system
|
||||||
|
@ -871,8 +871,8 @@ in
|
|||||||
"tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
|
"tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
|
||||||
"tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
|
"tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
|
||||||
"tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
|
"tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
|
||||||
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/system-nspawn.conf";
|
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.conf";
|
||||||
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/system-tmp.conf";
|
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/systemd-tmp.conf";
|
||||||
"tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
|
"tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
|
||||||
"tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
"tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ in
|
|||||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||||
borgbackup = handleTest ./borgbackup.nix {};
|
borgbackup = handleTest ./borgbackup.nix {};
|
||||||
buildbot = handleTest ./buildbot.nix {};
|
buildbot = handleTest ./buildbot.nix {};
|
||||||
|
caddy = handleTest ./caddy.nix {};
|
||||||
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
||||||
cassandra = handleTest ./cassandra.nix {};
|
cassandra = handleTest ./cassandra.nix {};
|
||||||
ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
|
ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
|
||||||
|
82
nixos/tests/caddy.nix
Normal file
82
nixos/tests/caddy.nix
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "caddy";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ xfix ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
webserver = { pkgs, lib, ... }: {
|
||||||
|
services.caddy.enable = true;
|
||||||
|
services.caddy.config = ''
|
||||||
|
http://localhost {
|
||||||
|
gzip
|
||||||
|
|
||||||
|
root ${
|
||||||
|
pkgs.runCommand "testdir" {} ''
|
||||||
|
mkdir "$out"
|
||||||
|
echo hello world > "$out/example.html"
|
||||||
|
''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
nesting.clone = [
|
||||||
|
{
|
||||||
|
services.caddy.config = lib.mkForce ''
|
||||||
|
http://localhost {
|
||||||
|
gzip
|
||||||
|
|
||||||
|
root ${
|
||||||
|
pkgs.runCommand "testdir2" {} ''
|
||||||
|
mkdir "$out"
|
||||||
|
echo changed > "$out/example.html"
|
||||||
|
''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
services.caddy.config = ''
|
||||||
|
http://localhost:8080 {
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = { nodes, ... }: let
|
||||||
|
etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
|
||||||
|
justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
|
||||||
|
in ''
|
||||||
|
my $url = 'http://localhost/example.html';
|
||||||
|
$webserver->waitForUnit("caddy");
|
||||||
|
$webserver->waitForOpenPort("80");
|
||||||
|
|
||||||
|
sub checkEtag {
|
||||||
|
my $etag = $webserver->succeed(
|
||||||
|
'curl -v '.$url.' 2>&1 | sed -n -e "s/^< [Ee][Tt][Aa][Gg]: *//p"'
|
||||||
|
);
|
||||||
|
$etag =~ s/\r?\n$//;
|
||||||
|
my $httpCode = $webserver->succeed(
|
||||||
|
'curl -w "%{http_code}" -X HEAD -H \'If-None-Match: '.$etag.'\' '.$url
|
||||||
|
);
|
||||||
|
die "HTTP code is not 304" unless $httpCode == 304;
|
||||||
|
return $etag;
|
||||||
|
}
|
||||||
|
|
||||||
|
subtest "check ETag if serving Nix store paths", sub {
|
||||||
|
my $oldEtag = checkEtag;
|
||||||
|
$webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2");
|
||||||
|
$webserver->sleep(1); # race condition
|
||||||
|
my $newEtag = checkEtag;
|
||||||
|
die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag;
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "config is reloaded on nixos-rebuild switch", sub {
|
||||||
|
$webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2");
|
||||||
|
$webserver->waitForOpenPort("8080");
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
})
|
@ -23,6 +23,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
networking = {
|
networking = {
|
||||||
dhcpcd.enable = false;
|
dhcpcd.enable = false;
|
||||||
useNetworkd = true;
|
useNetworkd = true;
|
||||||
|
useDHCP = false;
|
||||||
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
||||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||||
};
|
};
|
||||||
|
@ -10,12 +10,22 @@ import ./make-test.nix ({ pkgs, ... } : {
|
|||||||
services.mxisd.enable = true;
|
services.mxisd.enable = true;
|
||||||
services.mxisd.matrix.domain = "example.org";
|
services.mxisd.matrix.domain = "example.org";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
server_ma1sd = args : {
|
||||||
|
services.mxisd.enable = true;
|
||||||
|
services.mxisd.matrix.domain = "example.org";
|
||||||
|
services.mxisd.package = pkgs.ma1sd;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
startAll;
|
startAll;
|
||||||
$server_mxisd->waitForUnit("mxisd.service");
|
$server_mxisd->waitForUnit("mxisd.service");
|
||||||
$server_mxisd->waitForOpenPort(8090);
|
$server_mxisd->waitForOpenPort(8090);
|
||||||
$server_mxisd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"")
|
$server_mxisd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"");
|
||||||
|
$server_ma1sd->waitForUnit("mxisd.service");
|
||||||
|
$server_ma1sd->waitForOpenPort(8090);
|
||||||
|
$server_ma1sd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"")
|
||||||
|
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -450,6 +450,7 @@ let
|
|||||||
name = "Virtual";
|
name = "Virtual";
|
||||||
machine = {
|
machine = {
|
||||||
networking.useNetworkd = networkd;
|
networking.useNetworkd = networkd;
|
||||||
|
networking.useDHCP = false;
|
||||||
networking.interfaces.tap0 = {
|
networking.interfaces.tap0 = {
|
||||||
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||||
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qt5, autoconf, pkgconfig }:
|
{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, autoconf, pkgconfig
|
||||||
|
, mkDerivation, qtbase, qttools, qtx11extras
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qsynth";
|
pname = "qsynth";
|
||||||
version = "0.5.7";
|
version = "0.5.7";
|
||||||
|
|
||||||
@ -11,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ autoconf pkgconfig ];
|
nativeBuildInputs = [ autoconf pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ alsaLib fluidsynth libjack2 qt5.qtbase qt5.qttools qt5.qtx11extras ];
|
buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -65,5 +65,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
|
|
||||||
maintainers = with maintainers; [ coroa sauyon ];
|
maintainers = with maintainers; [ coroa sauyon ];
|
||||||
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "samplv1";
|
pname = "samplv1";
|
||||||
version = "0.9.9";
|
version = "0.9.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1y61wb0bzm1cz7y8xxv6hp8mrkfb9zm9irg6zs4g6aanw539r6l8";
|
sha256 = "04p5jkighmc8rf7fzzy8ch6knqbxv03vhjzdfh9dva2mlzw9rvjj";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||||
|
@ -100,5 +100,6 @@ mkDerivation rec {
|
|||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,16 +6,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "spotifyd";
|
pname = "spotifyd";
|
||||||
version = "0.2.18";
|
version = "0.2.19";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Spotifyd";
|
owner = "Spotifyd";
|
||||||
repo = "spotifyd";
|
repo = "spotifyd";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "12826b0wf31m9vw1s7bcd1hb4ygb1xn4sdknn1y9kzc68brsq94v";
|
sha256 = "063b28ysj224m6ngns9i574i7vnp1x4g07cqjw908ch04yngcg1c";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0ar4bfwn3qxa6wsz2hd7nv1wr824h74jy3xqba2qsy0rsfwy1bmm";
|
cargoSha256 = "0pqxqd5dyw9mjclrqkxzfnzsz74xl4bg0b86v5q6kc0a91zd49b9";
|
||||||
|
|
||||||
cargoBuildFlags = [
|
cargoBuildFlags = [
|
||||||
"--no-default-features"
|
"--no-default-features"
|
||||||
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
description = "An open source Spotify client running as a UNIX daemon";
|
description = "An open source Spotify client running as a UNIX daemon";
|
||||||
homepage = "https://github.com/Spotifyd/spotifyd";
|
homepage = "https://github.com/Spotifyd/spotifyd";
|
||||||
license = with licenses; [ gpl3 ];
|
license = with licenses; [ gpl3 ];
|
||||||
maintainers = [ maintainers.anderslundstedt ];
|
maintainers = [ maintainers.anderslundstedt maintainers.marsam ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "synthv1";
|
pname = "synthv1";
|
||||||
version = "0.9.9";
|
version = "0.9.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0cvamqzg74qfr7kzk3skimskmv0j3d1rmmpbpsmfcrg8srvyx9r2";
|
sha256 = "1ssdm7aiaz908ydqwdx9khxnnd0yfacjgvbxg5p9s9xhkbqqc2f2";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, ninja
|
, ninja
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, pantheon
|
, pantheon
|
||||||
, gtk3
|
, gtk3
|
||||||
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
cmake
|
cmake
|
||||||
libxml2
|
libxml2
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20190714";
|
version = "20190820";
|
||||||
pname = "x42-plugins";
|
pname = "x42-plugins";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1mifmdy9pi1lg0h4nsvyjjnnni41vhgg34lks94mrx46wq90bgx4";
|
sha256 = "0dqsa5yxm3nx50j9k28iillj4sx2mjndzyspymxx0ghir1qmi4vh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -10,16 +10,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "jormungandr";
|
pname = "jormungandr";
|
||||||
version = "0.5.5";
|
version = "0.5.6";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/input-output-hk/${pname}";
|
url = "https://github.com/input-output-hk/${pname}";
|
||||||
rev = "v${version}";
|
rev = "v${version}+lock";
|
||||||
sha256 = "1fzhmkx60b5fnx4x81g5ls93iixd3126m4q1smrpq8ksidw5xifa";
|
sha256 = "0l6rxr1xjp5hfkf0qfx8qsa1slxn0ly28akci1rwgdhlzjn43zqr";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1hkbzxp6ic1655cq45zv6dcyrk9rbmvscdl8wm8fbidabz4x8vqd";
|
cargoSha256 = "0590gsghr25bzfmxfyrpg58a0l77y88jwnrkgjxf06x3d66kkn3l";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig protobuf ];
|
nativeBuildInputs = [ pkgconfig protobuf ];
|
||||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||||
|
@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
|
|||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = [ maintainers.akru ];
|
maintainers = [ maintainers.akru ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
{ channel, pname, version, build, sha256Hash }:
|
{ channel, pname, version, build, sha256Hash }:
|
||||||
|
|
||||||
{ bash
|
{ alsaLib
|
||||||
|
, bash
|
||||||
, buildFHSUserEnv
|
, buildFHSUserEnv
|
||||||
, coreutils
|
, coreutils
|
||||||
|
, dbus
|
||||||
|
, expat
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, findutils
|
, findutils
|
||||||
, file
|
, file
|
||||||
@ -19,16 +22,24 @@
|
|||||||
, libpulseaudio
|
, libpulseaudio
|
||||||
, libGL
|
, libGL
|
||||||
, libX11
|
, libX11
|
||||||
|
, libxcb
|
||||||
|
, libXcomposite
|
||||||
|
, libXcursor
|
||||||
|
, libXdamage
|
||||||
, libXext
|
, libXext
|
||||||
|
, libXfixes
|
||||||
, libXi
|
, libXi
|
||||||
, libXrandr
|
, libXrandr
|
||||||
, libXrender
|
, libXrender
|
||||||
, libXtst
|
, libXtst
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
, nspr
|
||||||
|
, nss
|
||||||
, pciutils
|
, pciutils
|
||||||
, pkgsi686Linux
|
, pkgsi686Linux
|
||||||
, setxkbmap
|
, setxkbmap
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, systemd
|
||||||
, unzip
|
, unzip
|
||||||
, which
|
, which
|
||||||
, runCommand
|
, runCommand
|
||||||
@ -99,9 +110,20 @@ let
|
|||||||
libXrandr
|
libXrandr
|
||||||
|
|
||||||
# For Android emulator
|
# For Android emulator
|
||||||
|
alsaLib
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
libpulseaudio
|
libpulseaudio
|
||||||
libX11
|
libX11
|
||||||
|
libxcb
|
||||||
|
libXcomposite
|
||||||
|
libXcursor
|
||||||
|
libXdamage
|
||||||
|
libXfixes
|
||||||
libGL
|
libGL
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
systemd
|
||||||
|
|
||||||
# For GTKLookAndFeel
|
# For GTKLookAndFeel
|
||||||
gtk2
|
gtk2
|
||||||
|
@ -12,11 +12,11 @@ let
|
|||||||
build = "191.5900203";
|
build = "191.5900203";
|
||||||
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
|
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
|
||||||
};
|
};
|
||||||
betaVersion = stableVersion;
|
betaVersion = latestVersion;
|
||||||
latestVersion = { # canary & dev
|
latestVersion = { # canary & dev
|
||||||
version = "3.6.0.12"; # "Android Studio 3.6 Canary 12"
|
version = "3.6.0.13"; # "Android Studio 3.6 Beta 1"
|
||||||
build = "192.5871855";
|
build = "192.5916306";
|
||||||
sha256Hash = "0pxvpxqdxv37sl72p7gml70k6kl717k6avw9p0l00cys0zbvb3zq";
|
sha256Hash = "0kvz3mgpfb3wqr1pw9847d5syswlzls3b4nilzgk6w127k2zmkfy";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
# Attributes are named by their corresponding release channels
|
# Attributes are named by their corresponding release channels
|
||||||
|
@ -38,11 +38,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-builder";
|
pname = "gnome-builder";
|
||||||
version = "3.34.0";
|
version = "3.34.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "19i2ipgw48fpd50wacwyhj35hajlg7qcyxpj8rsqk4g21ijfykrg";
|
sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://sourceforge.net/projects/nedit;
|
homepage = "https://sourceforge.net/projects/nedit";
|
||||||
|
description = "A fast, compact Motif/X11 plain text editor";
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
};
|
};
|
||||||
|
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
description = "A hex editor";
|
||||||
maintainers = with maintainers; [ peterhoeg bkchr ];
|
maintainers = with maintainers; [ peterhoeg bkchr ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3
|
{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, vala
|
||||||
, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
|
, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
|
||||||
, libgee, discount, wrapGAppsHook }:
|
, libgee, discount, wrapGAppsHook }:
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -136,6 +136,15 @@ stdenv.mkDerivation {
|
|||||||
find $out/share/man \( -name eVim.1 -or -name xxd.1 \) -delete
|
find $out/share/man \( -name eVim.1 -or -name xxd.1 \) -delete
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# We rely on the user's Xcode install to build. It may be located in an arbitrary place, and
|
||||||
|
# it's not clear what system-level components it may require, so for now we'll just allow full
|
||||||
|
# filesystem access. This way the package still can't access the network.
|
||||||
|
sandboxProfile = ''
|
||||||
|
(allow file-read* file-write* process-exec mach-lookup)
|
||||||
|
; block homebrew dependencies
|
||||||
|
(deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Vim - the text editor - for macOS";
|
description = "Vim - the text editor - for macOS";
|
||||||
homepage = https://github.com/macvim-dev/macvim;
|
homepage = https://github.com/macvim-dev/macvim;
|
||||||
|
@ -11,13 +11,13 @@ 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 = "1wxaxz2q4qizh6f23ipz8ihay6bpjdq0545vijqd84fqazcji6sq";
|
x86_64-linux = "06yrcn7857fw1dvwj0fhj6b2pb224i0r1m2diqg49a0jaj15mnak";
|
||||||
x86_64-darwin = "1gb9w3hvw3avn852an5v8m1ia64fkavnvaawjfc3455b248iiqvk";
|
x86_64-darwin = "0gq2lazjlzf7wmmdlpg5zg60lmwlmq5rm65lb815r0dpqqj0dizn";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
|
|
||||||
version = "1.38.1";
|
version = "1.39.1";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, pantheon
|
, pantheon
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, python3
|
, python3
|
||||||
, glib
|
, glib
|
||||||
@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -14,13 +14,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "openimageio";
|
pname = "openimageio";
|
||||||
version = "2.0.10";
|
version = "2.0.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OpenImageIO";
|
owner = "OpenImageIO";
|
||||||
repo = "oiio";
|
repo = "oiio";
|
||||||
rev = "Release-${version}";
|
rev = "Release-${version}";
|
||||||
sha256 = "0k60kgfahsqcgmydsf1kh1qzshn8mksaw772z48a40qnx28pfjys";
|
sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" "doc" ];
|
outputs = [ "bin" "out" "dev" "doc" ];
|
||||||
|
@ -51,6 +51,6 @@ stdenv.mkDerivation {
|
|||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainers.MtP ];
|
maintainers = [ maintainers.MtP ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
broken = stdenv.isAarch64;
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, vala
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
gettext
|
gettext
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "barrier";
|
pname = "barrier";
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "debauchee";
|
owner = "debauchee";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1dakpgs4jcwg06f45xg6adc83jd2qnpywmjm1z7g0hzd2vd0qg4k";
|
sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
|
buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, pantheon
|
, pantheon
|
||||||
, python3
|
, python3
|
||||||
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
gettext
|
gettext
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -138,5 +138,6 @@ in stdenv.mkDerivation rec {
|
|||||||
vidbina
|
vidbina
|
||||||
];
|
];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, pantheon
|
, pantheon
|
||||||
, python3
|
, python3
|
||||||
@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon
|
{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, pantheon
|
||||||
, gtk3, gtksourceview, json-glib, libgee, wrapGAppsHook }:
|
, gtk3, gtksourceview, json-glib, libgee, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
gettext, glib, portaudio }:
|
gettext, glib, portaudio }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "opencpn";
|
pname = "opencpn-unstable";
|
||||||
version = "5.0.0";
|
version = "2019-05-15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OpenCPN";
|
owner = "OpenCPN";
|
||||||
repo = "OpenCPN";
|
repo = "OpenCPN";
|
||||||
rev = "v${version}";
|
rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
|
||||||
sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja";
|
sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -58,6 +58,7 @@ in stdenv.mkDerivation {
|
|||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2;
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ elitak ];
|
maintainers = with maintainers; [ elitak ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -45,5 +45,6 @@ llvmPackages.stdenv.mkDerivation rec {
|
|||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ tmplt ];
|
maintainers = with maintainers; [ tmplt ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, vala
|
||||||
, gettext
|
, gettext
|
||||||
, libxml2
|
, libxml2
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pantheon.vala
|
vala
|
||||||
gettext
|
gettext
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
libxml2
|
libxml2
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sakura";
|
pname = "sakura";
|
||||||
version = "3.6.0";
|
version = "3.7.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.bz2";
|
url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
|
sha256 = "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl pkgconfig ];
|
nativeBuildInputs = [ cmake perl pkgconfig ];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils
|
, vala, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils
|
||||||
, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }:
|
, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }:
|
||||||
|
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "16vc3v9qls9fxg9h8fsi67z68s4acl5hj14gbcrnqm7mf3kmk3aw";
|
sha256 = "16vc3v9qls9fxg9h8fsi67z68s4acl5hj14gbcrnqm7mf3kmk3aw";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gettext wrapGAppsHook python3 desktop-file-utils ];
|
nativeBuildInputs = [ meson ninja pkgconfig vala gettext wrapGAppsHook python3 desktop-file-utils ];
|
||||||
|
|
||||||
buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ];
|
buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ];
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
||||||
let
|
let
|
||||||
pname = "sidequest";
|
pname = "sidequest";
|
||||||
version = "0.3.1";
|
version = "0.7.2";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem rec {
|
desktopItem = makeDesktopItem rec {
|
||||||
name = "SideQuest";
|
name = "SideQuest";
|
||||||
exec = "SideQuest";
|
exec = "SideQuest";
|
||||||
@ -15,17 +15,17 @@
|
|||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/the-expanse/SideQuest/releases/download/${version}/SideQuest-linux-x64.tar.gz";
|
url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
|
||||||
sha256 = "1hj398zzp1x74zhp9rlhqzm9a0ck6zh9bj39g6fpvc38zab5dj1p";
|
sha256 = "035grhzqm3qdfcq5vn4a85lgb188rg60wlgc02r44cnj4sbsyyzj";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
mkdir -p "$out/lib/SideQuest" "$out/bin"
|
mkdir -p "$out/lib/SideQuest" "$out/bin"
|
||||||
tar -xzf "$src" -C "$out/lib/SideQuest" --strip-components 1
|
tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1
|
||||||
|
|
||||||
ln -s "$out/lib/SideQuest/SideQuest" "$out/bin"
|
ln -s "$out/lib/SideQuest/sidequest" "$out/bin"
|
||||||
|
|
||||||
fixupPhase
|
fixupPhase
|
||||||
|
|
||||||
@ -35,7 +35,7 @@
|
|||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \
|
--set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \
|
||||||
"$out/lib/SideQuest/SideQuest"
|
"$out/lib/SideQuest/sidequest"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in buildFHSUserEnv {
|
in buildFHSUserEnv {
|
||||||
@ -49,11 +49,11 @@
|
|||||||
homepage = "https://github.com/the-expanse/SideQuest";
|
homepage = "https://github.com/the-expanse/SideQuest";
|
||||||
downloadPage = "https://github.com/the-expanse/SideQuest/releases";
|
downloadPage = "https://github.com/the-expanse/SideQuest/releases";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.joepie91 ];
|
maintainers = with maintainers; [ joepie91 rvolosatovs ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
targetPkgs = pkgs: [
|
targetPkgs = pkgs: [
|
||||||
sidequest
|
sidequest
|
||||||
# Needed in the environment on runtime, to make QuestSaberPatch work
|
# Needed in the environment on runtime, to make QuestSaberPatch work
|
||||||
@ -62,8 +62,8 @@
|
|||||||
|
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
mkdir -p "$out/share/applications"
|
mkdir -p "$out/share/applications"
|
||||||
ln -s "${desktopItem}/share/applications/*" "$out/share/applications"
|
ln -s ${desktopItem}/share/applications/* "$out/share/applications"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
runScript = "SideQuest";
|
runScript = "sidequest";
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,7 @@ in stdenv.mkDerivation {
|
|||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.krav ];
|
maintainers = [ maintainers.krav ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,8 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputs = [ "out" "terminfo" ];
|
outputs = [ "out" "terminfo" ];
|
||||||
|
|
||||||
|
passthru = { inherit vte-ng; };
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $terminfo/share
|
mkdir -p $terminfo/share
|
||||||
mv $out/share/terminfo $terminfo/share/terminfo
|
mv $out/share/terminfo $terminfo/share/terminfo
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tmatrix";
|
pname = "tmatrix";
|
||||||
version = "1.0";
|
version = "1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "M4444";
|
owner = "M4444";
|
||||||
repo = "TMatrix";
|
repo = "TMatrix";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1g0gn4p02vjc6l8lc78wlx4xkd74ha7ybx9fvvdr6mizk0cyjili";
|
sha256 = "1x9drk3wdsd6vzcypk3x068sqcbgis488s9fhcpsv8xgb496rd6y";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas
|
, vala, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas
|
||||||
, gnome3, pantheon, gobject-introspection, wrapGAppsHook
|
, gnome3, pantheon, gobject-introspection, wrapGAppsHook
|
||||||
, gtk3, json-glib, glib, glib-networking
|
, gtk3, json-glib, glib, glib-networking
|
||||||
}:
|
}:
|
||||||
@ -23,7 +23,7 @@ in stdenv.mkDerivation {
|
|||||||
ninja
|
ninja
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
pantheon.vala
|
vala
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wmc-mpris";
|
pname = "wmc-mpris";
|
||||||
version = "unstable-2019-07-24";
|
version = "0.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "f1u77y";
|
owner = "f1u77y";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "3b92847c576662732984ad791d6c7899a39f7787";
|
rev = "v${version}";
|
||||||
sha256 = "0q19z0zx53pd237x529rif21kliklwzjrdddx8jfr9hgghjv9giq";
|
sha256 = "1zcnaf9g55cbj9d2zlsr0i15qh0w9gp5jmxkm6dcp1j6yd7j3ymc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
@ -17,5 +17,7 @@ buildGoPackage rec {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
license = stdenv.lib.licenses.isc;
|
license = stdenv.lib.licenses.isc;
|
||||||
|
homepage = "https://github.com/schachmat/wego";
|
||||||
|
description = "Weather app for the terminal";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "wtf";
|
pname = "wtf";
|
||||||
version = "0.22.0";
|
version = "0.23.0";
|
||||||
|
|
||||||
overrideModAttrs = _oldAttrs : _oldAttrs // {
|
overrideModAttrs = _oldAttrs : _oldAttrs // {
|
||||||
preBuild = ''export GOPROXY="https://gocenter.io"'';
|
preBuild = ''export GOPROXY="https://gocenter.io"'';
|
||||||
@ -17,10 +17,10 @@ buildGoModule rec {
|
|||||||
owner = "wtfutil";
|
owner = "wtfutil";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1d8lp94cw8rh9r9y64awxafhw9fmp33v3m761gzy500hrxal2rzb";
|
sha256 = "0bhk81jmv6rq8h898lmvrh9v356310fbi82lvakmgay7nvzk9a1c";
|
||||||
};
|
};
|
||||||
|
|
||||||
modSha256 = "0m180571j4564py5mzdcbyypk71fdlp2vkfdwi6q85nd2q94sx6h";
|
modSha256 = "1ndb7zbhaq0cnd8fd05fvb62qi0mxilgydz42qqz2z4fkbx9gp3m";
|
||||||
|
|
||||||
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
|
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ let
|
|||||||
|
|
||||||
base = rec {
|
base = rec {
|
||||||
name = "${packageName}-unwrapped-${version}";
|
name = "${packageName}-unwrapped-${version}";
|
||||||
inherit (upstream-info) version;
|
inherit (upstream-info) channel version;
|
||||||
inherit packageName buildType buildPath;
|
inherit packageName buildType buildPath;
|
||||||
|
|
||||||
src = upstream-info.main;
|
src = upstream-info.main;
|
||||||
@ -125,19 +125,22 @@ let
|
|||||||
glib gtk3 dbus-glib
|
glib gtk3 dbus-glib
|
||||||
libXScrnSaver libXcursor libXtst libGLU_combined
|
libXScrnSaver libXcursor libXtst libGLU_combined
|
||||||
pciutils protobuf speechd libXdamage at-spi2-core
|
pciutils protobuf speechd libXdamage at-spi2-core
|
||||||
|
jdk.jre
|
||||||
] ++ optional gnomeKeyringSupport libgnome-keyring3
|
] ++ optional gnomeKeyringSupport libgnome-keyring3
|
||||||
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
|
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
|
||||||
++ optionals cupsSupport [ libgcrypt cups ]
|
++ optionals cupsSupport [ libgcrypt cups ]
|
||||||
++ optional useVaapi libva
|
++ optional useVaapi libva
|
||||||
++ optional pulseSupport libpulseaudio
|
++ optional pulseSupport libpulseaudio;
|
||||||
++ optional (versionAtLeast version "72") jdk.jre;
|
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./patches/nix_plugin_paths_68.patch
|
./patches/nix_plugin_paths_68.patch
|
||||||
./patches/remove-webp-include-69.patch
|
./patches/remove-webp-include-69.patch
|
||||||
./patches/jumbo-sorted.patch
|
|
||||||
./patches/no-build-timestamps.patch
|
./patches/no-build-timestamps.patch
|
||||||
|
] ++ optionals (channel == "stable" || channel == "beta") [
|
||||||
./patches/widevine.patch
|
./patches/widevine.patch
|
||||||
|
] ++ optionals (channel == "dev") [
|
||||||
|
./patches/widevine-79.patch
|
||||||
|
] ++ optionals (channel == "stable") [
|
||||||
# Revert "Implement GetFallbackFont on Linux" to fix a performance regression
|
# Revert "Implement GetFallbackFont on Linux" to fix a performance regression
|
||||||
# Remove after https://bugs.chromium.org/p/chromium/issues/detail?id=1003997 is fixed
|
# Remove after https://bugs.chromium.org/p/chromium/issues/detail?id=1003997 is fixed
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
@ -153,6 +156,7 @@ let
|
|||||||
# - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
|
# - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
|
||||||
# - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits
|
# - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits
|
||||||
#
|
#
|
||||||
|
# ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
|
||||||
# ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
|
# ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
|
||||||
] ++ optionals (useVaapi) [
|
] ++ optionals (useVaapi) [
|
||||||
# source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi
|
# source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi
|
||||||
@ -234,9 +238,6 @@ let
|
|||||||
use_gold = true;
|
use_gold = true;
|
||||||
gold_path = "${stdenv.cc}/bin";
|
gold_path = "${stdenv.cc}/bin";
|
||||||
is_debug = false;
|
is_debug = false;
|
||||||
# Use jumbo for a 2x (at least) compilation speedup, except where it is currently broken:
|
|
||||||
# https://gist.github.com/ivan/6fe7014c1b1cc35dec133fa6de0549d9
|
|
||||||
use_jumbo_build = (version != "78.0.3904.17");
|
|
||||||
|
|
||||||
proprietary_codecs = false;
|
proprietary_codecs = false;
|
||||||
use_sysroot = false;
|
use_sysroot = false;
|
||||||
|
@ -62,7 +62,7 @@ in let
|
|||||||
if upstream-info.channel == "stable" then
|
if upstream-info.channel == "stable" then
|
||||||
"./opt/google/chrome/libwidevinecdm.so"
|
"./opt/google/chrome/libwidevinecdm.so"
|
||||||
else if upstream-info.channel == "beta" then
|
else if upstream-info.channel == "beta" then
|
||||||
"./opt/google/chrome-beta/libwidevinecdm.so"
|
"./opt/google/chrome-beta/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||||
else if upstream-info.channel == "dev" then
|
else if upstream-info.channel == "dev" then
|
||||||
"./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
"./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||||
else
|
else
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- chromium-70.0.3538.67/build/config/merge_for_jumbo.py.old 2018-10-25 19:15:54.578222230 +0300
|
|
||||||
+++ chromium-70.0.3538.67/build/config/merge_for_jumbo.py 2018-10-25 19:20:44.397613032 +0300
|
|
||||||
@@ -132,6 +132,8 @@
|
|
||||||
assert not inputs
|
|
||||||
continue
|
|
||||||
|
|
||||||
+ inputs.sort()
|
|
||||||
+ outputs.sort()
|
|
||||||
write_jumbo_files(inputs, outputs, written_input_set, written_output_set)
|
|
||||||
|
|
||||||
assert set(args.outputs) == written_output_set, "Did not fill all outputs"
|
|
@ -0,0 +1,11 @@
|
|||||||
|
diff --git a/third_party/widevine/cdm/widevine_cdm_version.h b/third_party/widevine/cdm/widevine_cdm_version.h
|
||||||
|
index dd6efed02646..4d8b2b7d85f7 100644
|
||||||
|
--- a/third_party/widevine/cdm/widevine_cdm_version.h
|
||||||
|
+++ b/third_party/widevine/cdm/widevine_cdm_version.h
|
||||||
|
@@ -11,5 +11,6 @@
|
||||||
|
// If the Widevine CDM is available define the following:
|
||||||
|
// - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
|
||||||
|
// as a string, e.g., "1.0.123.456").
|
||||||
|
+#define WIDEVINE_CDM_VERSION_STRING "undefined"
|
||||||
|
|
||||||
|
#endif // WIDEVINE_CDM_VERSION_H_
|
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
|
sha256 = "0al26nfcxa00gvgn02iasjm53wq089r3c6b3rqqanljffng565y7";
|
||||||
sha256bin64 = "0p3275ii8800swlfmljbdrvyqjd5nlw0vgv2my4r8ccszgbhidbd";
|
sha256bin64 = "0qfj08adqn19sxsgd98fy5l23cikvfkpzkz9mqq90mlabmhhrp0z";
|
||||||
version = "77.0.3865.90";
|
version = "78.0.3904.50";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "0zka01ml3hbximswzkkqbqq8wpiz8f4fq4wx5fys002hi69l296l";
|
sha256 = "0ck52j5acdns7vqqvb665xpc68yl6qz0ca8lwjfhriw5hn8g1pjy";
|
||||||
sha256bin64 = "0nrip45s0ylri34vlpf16xlwv3ybmy2jg7dz8l9rvgbdwwdzdb75";
|
sha256bin64 = "073gxyfayrb1dqsq8ngmnrs8ajwwrr2qbs311ns64davn1z3sscf";
|
||||||
version = "78.0.3904.17";
|
version = "79.0.3928.4";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
|
sha256 = "1y3ay0ppwakbw2hqrmxbv4ykil8dahf62ypld17ddkqxkfqgk4np";
|
||||||
sha256bin64 = "1npx867j39mdyivf8nlkcfwgq7j34hl7s948vf6h2kqni0y50hzl";
|
sha256bin64 = "0j1sk36nfmhx6nk8lmsdi93vcrmn58pidhb5hzkapx8mgk6xraq7";
|
||||||
version = "77.0.3865.90";
|
version = "77.0.3865.120";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, desktop-file-utils
|
, desktop-file-utils
|
||||||
|
, vala
|
||||||
, gettext
|
, gettext
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
|
|||||||
gettext
|
gettext
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
, glib-networking, python3, fetchpatch }:
|
, glib-networking, python3, fetchpatch }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
pname = "cawbird";
|
pname = "cawbird";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IBBoard";
|
owner = "IBBoard";
|
||||||
repo = "cawbird";
|
repo = "cawbird";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256:0bk33fh32nnv6ya6j0ij34abw6a3g6m8fq13303slhhja8xhvmb1";
|
sha256 = "sha256:0b79ngwilicqkgacva93cir4rmk15yzgsih56yb3a4n6bqjispay";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -22,14 +22,6 @@ stdenv.mkDerivation rec {
|
|||||||
glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
|
glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
|
||||||
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
|
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fix build with vala 0.46
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/IBBoard/cawbird/commit/7b88f8856d108b9555ba7b855c7daed7b9e745ca.patch";
|
|
||||||
sha256 = "10kfdy91yas4xyz0hd057q6nsqfrkljcj7pql81xgm43qaff31y0";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
chmod +x data/meson_post_install.py # patchShebangs requires executable file
|
chmod +x data/meson_post_install.py # patchShebangs requires executable file
|
||||||
patchShebangs data/meson_post_install.py
|
patchShebangs data/meson_post_install.py
|
||||||
|
@ -97,8 +97,8 @@ in rec {
|
|||||||
terraform_0_11-full = terraform_0_11.full;
|
terraform_0_11-full = terraform_0_11.full;
|
||||||
|
|
||||||
terraform_0_12 = pluggable (generic {
|
terraform_0_12 = pluggable (generic {
|
||||||
version = "0.12.9";
|
version = "0.12.10";
|
||||||
sha256 = "14js4n08rg30y0jrm0na79syglpb64cb7cxys0x3w47pcbgymrka";
|
sha256 = "0bmqcmzjsrpvvnd9pn40f774c8jy6j810qz0njxqh60yh27f5rhx";
|
||||||
patches = [ ./provider-path.patch ];
|
patches = [ ./provider-path.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
});
|
});
|
||||||
|
@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
|
|||||||
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3
|
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, vala
|
||||||
, gtk3, libgee, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
|
, gtk3, libgee, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pantheon.vala
|
vala
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
|
@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "1.27.3"; # Please backport all updates to the stable channel.
|
version = "1.27.4"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
@ -68,7 +68,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "1c9arwnwa0lirvkwm0rfknabqn5gkznihxl1p2m6j7cs7hwhhsn2";
|
sha256 = "1aza1s70xzx9qkv7b5mpfi4zgdn5dq3rl03lx3jixij3x3pxg5sj";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
phases = [ "unpackPhase" "installPhase" ];
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
||||||
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
||||||
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
|
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
|
||||||
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
, dee, ffmpeg_4, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "telegram-desktop";
|
pname = "telegram-desktop";
|
||||||
version = "1.8.13";
|
version = "1.8.15";
|
||||||
# Note: Due to our strong dependency on the Arch patches it's probably best
|
# Note: Due to our strong dependency on the Arch patches it's probably best
|
||||||
# to also wait for the Arch update (especially if the patches don't apply).
|
# to also wait for the Arch update (especially if the patches don't apply).
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ mkDerivation rec {
|
|||||||
owner = "telegramdesktop";
|
owner = "telegramdesktop";
|
||||||
repo = "tdesktop";
|
repo = "tdesktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "19p4cjzk7jyhrd4sd8dq1r1zksff23zyg5rh5vlr3kqd372bffzz";
|
sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtimageformats gtk3 libappindicator-gtk3
|
qtbase qtimageformats gtk3 libappindicator-gtk3
|
||||||
dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
dee ffmpeg_4 openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Link-local XMPP connection manager for Telepathy";
|
description = "Link-local XMPP connection manager for Telepathy";
|
||||||
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
||||||
maintainers = [ maintainers.lethalman ];
|
maintainers = [ maintainers.lethalman ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -25,5 +25,6 @@ stdenv.mkDerivation {
|
|||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ mog ];
|
maintainers = with maintainers; [ mog ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -71,14 +71,10 @@ stdenv.mkDerivation rec {
|
|||||||
mv opt/Mullvad\ VPN/* $out/share/mullvad
|
mv opt/Mullvad\ VPN/* $out/share/mullvad
|
||||||
|
|
||||||
sed -i 's|\/opt\/Mullvad.*VPN|'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop
|
sed -i 's|\/opt\/Mullvad.*VPN|'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop
|
||||||
sed -i 's|\/opt\/Mullvad.*VPN/resources|'$out'/bin|g' $out/share/mullvad/resources/mullvad-daemon.service
|
|
||||||
|
|
||||||
ln -s $out/share/mullvad/mullvad-vpn $out/bin/mullvad-vpn
|
ln -s $out/share/mullvad/mullvad-vpn $out/bin/mullvad-vpn
|
||||||
ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon
|
ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon
|
||||||
|
|
||||||
mkdir -p $out/etc/systemd/system
|
|
||||||
ln -s $out/share/mullvad/resources/mullvad-daemon.service $out/etc/systemd/system/mullvad-daemon.service
|
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -88,6 +84,7 @@ stdenv.mkDerivation rec {
|
|||||||
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
|
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = [ maintainers.xfix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, mkDerivation
|
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
|
||||||
, qtbase, qttools, qtsvg, qmake, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||||
, alsaLib, python
|
, alsaLib, python
|
||||||
, jackSupport ? false, libjack2 ? null
|
, jackSupport ? false, libjack2 ? null
|
||||||
, speechdSupport ? false, speechd ? null
|
, speechdSupport ? false, speechd ? null
|
||||||
@ -14,12 +14,12 @@ assert iceSupport -> zeroc-ice != null;
|
|||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
let
|
let
|
||||||
generic = overrides: source: mkDerivation (source // overrides // {
|
generic = overrides: source: qt5.mkDerivation (source // overrides // {
|
||||||
name = "${overrides.type}-${source.version}";
|
name = "${overrides.type}-${source.version}";
|
||||||
|
|
||||||
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig python qmake ]
|
nativeBuildInputs = [ pkgconfig python qt5.qmake ]
|
||||||
++ (overrides.nativeBuildInputs or [ ]);
|
++ (overrides.nativeBuildInputs or [ ]);
|
||||||
|
|
||||||
buildInputs = [ boost protobuf avahi ]
|
buildInputs = [ boost protobuf avahi ]
|
||||||
@ -72,8 +72,8 @@ let
|
|||||||
client = source: generic {
|
client = source: generic {
|
||||||
type = "mumble";
|
type = "mumble";
|
||||||
|
|
||||||
nativeBuildInputs = [ qttools ];
|
nativeBuildInputs = [ qt5.qttools ];
|
||||||
buildInputs = [ libopus libsndfile speex qtsvg ]
|
buildInputs = [ libopus libsndfile speex qt5.qtsvg ]
|
||||||
++ optional stdenv.isLinux alsaLib
|
++ optional stdenv.isLinux alsaLib
|
||||||
++ optional jackSupport libjack2
|
++ optional jackSupport libjack2
|
||||||
++ optional speechdSupport speechd
|
++ optional speechdSupport speechd
|
||||||
|
@ -10,13 +10,13 @@ with lib;
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qbittorrent";
|
pname = "qbittorrent";
|
||||||
version = "4.1.7";
|
version = "4.1.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qbittorrent";
|
owner = "qbittorrent";
|
||||||
repo = "qbittorrent";
|
repo = "qbittorrent";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv";
|
sha256 = "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w";
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
|
, vala
|
||||||
, pantheon
|
, pantheon
|
||||||
, curl
|
, curl
|
||||||
, glib
|
, glib
|
||||||
@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, pantheon
|
, pantheon
|
||||||
, python3
|
, python3
|
||||||
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
, gtk_engines
|
, gtk_engines
|
||||||
, alsaLib
|
, alsaLib
|
||||||
, zlib
|
, zlib
|
||||||
, version ? "19.8.0"
|
, version ? "19.10.0"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -48,7 +48,7 @@ let
|
|||||||
x86hash = "16v3kgavrh62z6vxcbw6mn7h0bfishpl7m92k7g1p2882r1f8vaf";
|
x86hash = "16v3kgavrh62z6vxcbw6mn7h0bfishpl7m92k7g1p2882r1f8vaf";
|
||||||
x64suffix = "60";
|
x64suffix = "60";
|
||||||
x86suffix = "60";
|
x86suffix = "60";
|
||||||
homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
|
homepage = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest.html;
|
||||||
};
|
};
|
||||||
|
|
||||||
"19.8.0" = {
|
"19.8.0" = {
|
||||||
@ -59,7 +59,18 @@ let
|
|||||||
x86hash = "0afcqirb4q349r3izy88vqkszg6y2wg14iwypk6nrmvwgvcl6jdn";
|
x86hash = "0afcqirb4q349r3izy88vqkszg6y2wg14iwypk6nrmvwgvcl6jdn";
|
||||||
x64suffix = "20";
|
x64suffix = "20";
|
||||||
x86suffix = "20";
|
x86suffix = "20";
|
||||||
homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
|
homepage = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest1.html;
|
||||||
|
};
|
||||||
|
|
||||||
|
"19.10.0" = {
|
||||||
|
major = "19";
|
||||||
|
minor = "10";
|
||||||
|
patch = "0";
|
||||||
|
x64hash = "1l4q4pmfiw9gmml6j5b3hls2101xf5m8p6855nhfhvqlisrj9h14";
|
||||||
|
x86hash = "000zjik8wf8b6fadnsai0p77b4n2l95544zx503iyrb9pv53bj3y";
|
||||||
|
x64suffix = "15";
|
||||||
|
x86suffix = "15";
|
||||||
|
homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest1.html;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
|
, vala
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, gtk3
|
, gtk3
|
||||||
, python3
|
, python3
|
||||||
@ -31,7 +32,7 @@ in stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
appstream-glib
|
appstream-glib
|
||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
pantheon.vala
|
vala
|
||||||
gettext
|
gettext
|
||||||
gobject-introspection # For setup hook
|
gobject-introspection # For setup hook
|
||||||
libxml2
|
libxml2
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
|
{ stdenv, vala, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
|
||||||
, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }:
|
, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
ninja
|
ninja
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
pantheon.vala
|
vala
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
|
{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
|
||||||
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
|
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
ninja
|
ninja
|
||||||
pkgconfig
|
pkgconfig
|
||||||
python3
|
python3
|
||||||
pantheon.vala
|
vala
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://kmymoney.org/;
|
homepage = https://kmymoney.org/;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,19 @@
|
|||||||
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, cmake, ninja, gtk3, gtksourceview3, webkitgtk, gtkspell3, glib, libgee, sqlite, discount, wrapGAppsHook
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pantheon
|
||||||
|
, pkgconfig
|
||||||
|
, vala
|
||||||
|
, cmake
|
||||||
|
, ninja
|
||||||
|
, gtk3
|
||||||
|
, gtksourceview3
|
||||||
|
, webkitgtk
|
||||||
|
, gtkspell3
|
||||||
|
, glib
|
||||||
|
, libgee
|
||||||
|
, sqlite
|
||||||
|
, discount
|
||||||
|
, wrapGAppsHook
|
||||||
, withPantheon ? false }:
|
, withPantheon ? false }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -15,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
ninja
|
ninja
|
||||||
pantheon.vala
|
vala
|
||||||
pkgconfig
|
pkgconfig
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
@ -37,5 +37,6 @@ mkDerivation rec {
|
|||||||
license = with licenses; [ gpl3 ];
|
license = with licenses; [ gpl3 ];
|
||||||
maintainers = with maintainers; [ joko ];
|
maintainers = with maintainers; [ joko ];
|
||||||
homepage = https://skrooge.org/;
|
homepage = https://skrooge.org/;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
, cmake
|
, cmake
|
||||||
, gdk-pixbuf
|
, gdk-pixbuf
|
||||||
, gtk3
|
, gtk3
|
||||||
|
, vala
|
||||||
, gettext
|
, gettext
|
||||||
, ninja
|
, ninja
|
||||||
, pantheon
|
, pantheon
|
||||||
@ -12,7 +13,8 @@
|
|||||||
, libevdev
|
, libevdev
|
||||||
, libgee
|
, libgee
|
||||||
, libsoup
|
, libsoup
|
||||||
, wrapGAppsHook }:
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spice-up";
|
pname = "spice-up";
|
||||||
@ -32,7 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
gettext
|
gettext
|
||||||
ninja
|
ninja
|
||||||
pkgconfig
|
pkgconfig
|
||||||
pantheon.vala
|
vala
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
|
, vala
|
||||||
, json-glib
|
, json-glib
|
||||||
, libgee
|
, libgee
|
||||||
, meson
|
, meson
|
||||||
@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pkgconfig
|
pkgconfig
|
||||||
pantheon.vala
|
vala
|
||||||
python3
|
python3
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "stellarium";
|
pname = "stellarium";
|
||||||
version = "0.19.1";
|
version = "0.19.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Stellarium";
|
owner = "Stellarium";
|
||||||
repo = "stellarium";
|
repo = "stellarium";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r";
|
sha256 = "1ki3s4smazr6xfkr0grrmjp2s8yjprismiaq7l54d0il7rkvhibd";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
||||||
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec { pname = "EZminc";
|
|||||||
maintainers = with maintainers; [ bcdarwin ];
|
maintainers = with maintainers; [ bcdarwin ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user