Merge branch 'master' into staging-next
This commit is contained in:
commit
6c8aed6391
@ -2282,7 +2282,7 @@
|
||||
name = "Frede Emil";
|
||||
};
|
||||
freepotion = {
|
||||
email = "free.potion@yandex.ru";
|
||||
email = "42352817+freepotion@users.noreply.github.com";
|
||||
github = "freepotion";
|
||||
githubId = 42352817;
|
||||
name = "Free Potion";
|
||||
@ -6522,6 +6522,12 @@
|
||||
githubId = 224674;
|
||||
name = "Thomas Pham";
|
||||
};
|
||||
Thra11 = {
|
||||
email = "tahall256@protonmail.ch";
|
||||
github = "Thra11";
|
||||
githubId = 1391883;
|
||||
name = "Tom Hall";
|
||||
};
|
||||
tilpner = {
|
||||
email = "till@hoeppner.ws";
|
||||
github = "tilpner";
|
||||
@ -7065,6 +7071,12 @@
|
||||
githubId = 36407913;
|
||||
name = "Uli Baum";
|
||||
};
|
||||
xfix = {
|
||||
email = "konrad@borowski.pw";
|
||||
github = "xfix";
|
||||
githubId = 1297598;
|
||||
name = "Konrad Borowski";
|
||||
};
|
||||
xnaveira = {
|
||||
email = "xnaveira@gmail.com";
|
||||
github = "xnaveira";
|
||||
|
@ -68,7 +68,7 @@
|
||||
If you would like to continue the installation from a different machine you
|
||||
need to activate the SSH daemon via <command>systemctl start
|
||||
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>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -3,7 +3,7 @@
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
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"
|
||||
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.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
PHP now defaults to PHP 7.3, updated from 7.2.
|
||||
|
@ -24,7 +24,7 @@ in {
|
||||
Specifies Unix ODBC drivers to be registered in
|
||||
<filename>/etc/odbcinst.ini</filename>. You may also want to
|
||||
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";
|
||||
i686-linux = "/nix/store/ln1ndqvfpc9cdl03vqxi6kvlxm9wfv9g-nix-2.3";
|
||||
aarch64-linux = "/nix/store/n8a1rwzrp20qcr2c4hvyn6c5q9zx8csw-nix-2.3";
|
||||
x86_64-darwin = "/nix/store/jq6npmpld02sz4rgniz0qrsdfnm6j17a-nix-2.3";
|
||||
x86_64-linux = "/nix/store/6chjfy4j6hjwj5f8zcbbdg02i21x1qsi-nix-2.3.1";
|
||||
i686-linux = "/nix/store/xa8z7fwszjjm4kiwrxfc8xv9c1pzzm7a-nix-2.3.1";
|
||||
aarch64-linux = "/nix/store/8cac1ivcnchlpzmdjby2f71l1fwpnymr-nix-2.3.1";
|
||||
x86_64-darwin = "/nix/store/6639l9815ggdnb4aka22qcjy7p8w4hb9-nix-2.3.1";
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ buildHostCmd() {
|
||||
if [ -z "$buildHost" ]; then
|
||||
"$@"
|
||||
elif [ -n "$remoteNix" ]; then
|
||||
ssh $SSHOPTS "$buildHost" PATH="$remoteNix:$PATH" "$@"
|
||||
ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "$@"
|
||||
else
|
||||
ssh $SSHOPTS "$buildHost" "$@"
|
||||
fi
|
||||
|
@ -128,7 +128,10 @@ in {
|
||||
|
||||
# directory creation needs to be separated from main service
|
||||
# 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 =
|
||||
{ description = "Update Locate Database";
|
||||
|
@ -142,7 +142,6 @@
|
||||
./programs/seahorse.nix
|
||||
./programs/slock.nix
|
||||
./programs/shadow.nix
|
||||
./programs/shell.nix
|
||||
./programs/spacefm.nix
|
||||
./programs/singularity.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 {
|
||||
type = types.nullOr types.str;
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = "Config file used for the whole dovecot configuration.";
|
||||
apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
|
||||
|
@ -7,6 +7,11 @@ let
|
||||
|
||||
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";
|
||||
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||
@ -22,6 +27,9 @@ let
|
||||
} // 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" ''
|
||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||
bin_dir = "${cfg.packages.gitaly}/bin"
|
||||
@ -138,7 +146,7 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
||||
${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' \
|
||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||
'';
|
||||
@ -153,7 +161,7 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
||||
${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'
|
||||
'';
|
||||
};
|
||||
@ -266,8 +274,8 @@ in {
|
||||
description = ''
|
||||
Whether a database should be automatically created on the
|
||||
local host. Set this to <literal>false</literal> if you plan
|
||||
on provisioning a local database yourself or use an external
|
||||
one.
|
||||
on provisioning a local database yourself. This has no effect
|
||||
if <option>services.gitlab.databaseHost</option> is customized.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -557,8 +565,8 @@ in {
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||
message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
|
||||
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||
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);
|
||||
@ -592,14 +600,14 @@ in {
|
||||
services.redis.enable = mkDefault true;
|
||||
|
||||
# We use postgres as the main data store.
|
||||
services.postgresql = optionalAttrs cfg.databaseCreateLocally {
|
||||
services.postgresql = optionalAttrs databaseActuallyCreateLocally {
|
||||
enable = true;
|
||||
ensureUsers = singleton { name = cfg.databaseUsername; };
|
||||
};
|
||||
# The postgresql module doesn't currently support concepts like
|
||||
# objects owners and extensions; for now we tack on what's needed
|
||||
# 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}"'
|
||||
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
|
||||
@ -675,7 +683,7 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = gitlabEnv;
|
||||
path = with pkgs; [
|
||||
config.services.postgresql.package
|
||||
postgresqlPackage
|
||||
gitAndTools.git
|
||||
ruby
|
||||
openssh
|
||||
@ -756,81 +764,13 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = gitlabEnv;
|
||||
path = with pkgs; [
|
||||
config.services.postgresql.package
|
||||
postgresqlPackage
|
||||
gitAndTools.git
|
||||
openssh
|
||||
nodejs
|
||||
procps
|
||||
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 = {
|
||||
Type = "simple";
|
||||
@ -839,6 +779,89 @@ in {
|
||||
TimeoutSec = "infinity";
|
||||
Restart = "on-failure";
|
||||
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";
|
||||
};
|
||||
|
||||
|
@ -10,7 +10,6 @@ let
|
||||
|
||||
nixVersion = getVersion nix;
|
||||
|
||||
isNix20 = versionAtLeast nixVersion "2.0pre";
|
||||
isNix23 = versionAtLeast nixVersion "2.3pre";
|
||||
|
||||
makeNixBuildUser = nr:
|
||||
@ -28,39 +27,26 @@ let
|
||||
nixbldUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
|
||||
|
||||
nixConf =
|
||||
let
|
||||
# In Nix < 2.0, If we're using sandbox for builds, then provide
|
||||
# /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)
|
||||
''}
|
||||
assert versionAtLeast nixVersion "2.2";
|
||||
pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (
|
||||
''
|
||||
cat > $out <<END
|
||||
# WARNING: this file is generated from the nix.* options in
|
||||
# your NixOS configuration, typically
|
||||
# /etc/nixos/configuration.nix. Do not edit it!
|
||||
build-users-group = nixbld
|
||||
${if isNix20 then "max-jobs" else "build-max-jobs"} = ${toString (cfg.maxJobs)}
|
||||
${if isNix20 then "cores" else "build-cores"} = ${toString (cfg.buildCores)}
|
||||
${if isNix20 then "sandbox" else "build-use-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)"}
|
||||
${if isNix20 then "substituters" else "binary-caches"} = ${toString cfg.binaryCaches}
|
||||
${if isNix20 then "trusted-substituters" else "trusted-binary-caches"} = ${toString cfg.trustedBinaryCaches}
|
||||
${if isNix20 then "trusted-public-keys" else "binary-cache-public-keys"} = ${toString cfg.binaryCachePublicKeys}
|
||||
max-jobs = ${toString (cfg.maxJobs)}
|
||||
cores = ${toString (cfg.buildCores)}
|
||||
sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
|
||||
extra-sandbox-paths = ${toString cfg.sandboxPaths}
|
||||
substituters = ${toString cfg.binaryCaches}
|
||||
trusted-substituters = ${toString cfg.trustedBinaryCaches}
|
||||
trusted-public-keys = ${toString cfg.binaryCachePublicKeys}
|
||||
auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
|
||||
${if isNix20 then ''
|
||||
require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
|
||||
'' else ''
|
||||
signed-binary-caches = ${if cfg.requireSignedBinaryCaches then "*" else ""}
|
||||
''}
|
||||
require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
|
||||
trusted-users = ${toString cfg.trustedUsers}
|
||||
allowed-users = ${toString cfg.allowedUsers}
|
||||
${optionalString (isNix20 && !cfg.distributedBuilds) ''
|
||||
${optionalString (!cfg.distributedBuilds) ''
|
||||
builders =
|
||||
''}
|
||||
system-features = ${toString cfg.systemFeatures}
|
||||
@ -422,8 +408,7 @@ in
|
||||
|
||||
systemd.services.nix-daemon =
|
||||
{ path = [ nix pkgs.utillinux config.programs.ssh.package ]
|
||||
++ optionals cfg.distributedBuilds [ pkgs.gzip ]
|
||||
++ optionals (!isNix20) [ pkgs.openssl.bin ];
|
||||
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
|
||||
|
||||
environment = cfg.envVars
|
||||
// { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
|
||||
@ -440,34 +425,13 @@ in
|
||||
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.
|
||||
environment.sessionVariables = cfg.envVars //
|
||||
{ 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
|
||||
export NIX_PATH="$HOME/.nix-defexpr/channels''${NIX_PATH:+:$NIX_PATH}"
|
||||
fi
|
||||
@ -479,21 +443,15 @@ in
|
||||
|
||||
services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
|
||||
|
||||
# FIXME: use systemd-tmpfiles to create Nix directories.
|
||||
system.activationScripts.nix = stringAfter [ "etc" "users" ]
|
||||
''
|
||||
# Nix initialisation.
|
||||
install -m 0755 -d \
|
||||
/nix/var/nix/gcroots \
|
||||
/nix/var/nix/temproots \
|
||||
/nix/var/nix/userpool \
|
||||
/nix/var/nix/profiles \
|
||||
/nix/var/nix/db \
|
||||
/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
|
||||
# Create directories in /nix.
|
||||
${nix}/bin/nix ping-store --no-net
|
||||
|
||||
# Subscribe the root user to the NixOS channel by default.
|
||||
if [ ! -e "/root/.nix-channels" ]; then
|
||||
echo "${config.system.defaultChannel} nixos" > "/root/.nix-channels"
|
||||
fi
|
||||
'';
|
||||
|
||||
nix.systemFeatures = mkDefault (
|
||||
|
@ -3,6 +3,15 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
isMa1sd =
|
||||
package:
|
||||
lib.hasPrefix "ma1sd" package.name;
|
||||
|
||||
isMxisd =
|
||||
package:
|
||||
lib.hasPrefix "mxisd" package.name;
|
||||
|
||||
cfg = config.services.mxisd;
|
||||
|
||||
server = optionalAttrs (cfg.server.name != null) { inherit (cfg.server) name; }
|
||||
@ -12,37 +21,41 @@ let
|
||||
matrix.domain = cfg.matrix.domain;
|
||||
key.path = "${cfg.dataDir}/signing.key";
|
||||
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; };
|
||||
|
||||
# merges baseConfig and extraConfig into a single file
|
||||
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 {
|
||||
options = {
|
||||
services.mxisd = {
|
||||
enable = mkEnableOption "mxisd matrix federated identity server";
|
||||
enable = mkEnableOption "matrix federated identity server";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.mxisd;
|
||||
defaultText = "pkgs.mxisd";
|
||||
description = "The mxisd package to use";
|
||||
description = "The mxisd/ma1sd package to use";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/mxisd";
|
||||
description = "Where data mxisd uses resides";
|
||||
description = "Where data mxisd/ma1sd uses resides";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
description = "Extra options merged into the mxisd configuration";
|
||||
description = "Extra options merged into the mxisd/ma1sd configuration";
|
||||
};
|
||||
|
||||
matrix = {
|
||||
@ -62,7 +75,7 @@ in {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
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" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
serviceConfig = let
|
||||
executable = if isMa1sd cfg.package then "ma1sd" else "mxisd";
|
||||
in {
|
||||
Type = "simple";
|
||||
User = "mxisd";
|
||||
Group = "mxisd";
|
||||
ExecStart = "${cfg.package}/bin/mxisd -c ${configFile}";
|
||||
ExecStart = "${cfg.package}/bin/${executable} -c ${configFile}";
|
||||
WorkingDirectory = cfg.dataDir;
|
||||
Restart = "on-failure";
|
||||
};
|
||||
|
@ -61,7 +61,10 @@ let
|
||||
|
||||
${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
|
||||
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/uwsgi_params;
|
||||
|
||||
@ -119,6 +122,14 @@ let
|
||||
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
|
||||
map $http_upgrade $connection_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 {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
|
@ -183,7 +183,8 @@ in
|
||||
++ lib.optional config.hardware.pulseaudio.enable plasma-pa
|
||||
++ lib.optional config.powerManagement.enable powerdevil
|
||||
++ 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 = [
|
||||
# FIXME: modules should link subdirs of `/share` rather than relying on this
|
||||
|
@ -165,12 +165,12 @@ in
|
||||
"rc-local.service"
|
||||
"systemd-machined.service"
|
||||
"systemd-user-sessions.service"
|
||||
"getty@tty1.service"
|
||||
"getty@tty${gdm.initialVT}.service"
|
||||
"plymouth-quit.service"
|
||||
"plymouth-start.service"
|
||||
];
|
||||
systemd.services.display-manager.conflicts = [
|
||||
"getty@tty1.service"
|
||||
"getty@tty${gdm.initialVT}.service"
|
||||
"plymouth-quit.service"
|
||||
];
|
||||
systemd.services.display-manager.onFailure = [
|
||||
|
@ -220,6 +220,42 @@ in
|
||||
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/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
|
||||
./afterstep.nix
|
||||
./bspwm.nix
|
||||
./cwm.nix
|
||||
./dwm.nix
|
||||
./evilwm.nix
|
||||
./exwm.nix
|
||||
|
@ -5,17 +5,20 @@ with lib;
|
||||
let
|
||||
|
||||
inherit (pkgs) plymouth;
|
||||
inherit (pkgs) nixos-icons;
|
||||
|
||||
cfg = config.boot.plymouth;
|
||||
|
||||
breezePlymouth = pkgs.breeze-plymouth.override {
|
||||
nixosBranding = true;
|
||||
nixosVersion = config.system.nixos.release;
|
||||
nixosBreezePlymouth = pkgs.breeze-plymouth.override {
|
||||
logoFile = cfg.logo;
|
||||
logoName = "nixos";
|
||||
osName = "NixOS";
|
||||
osVersion = config.system.nixos.release;
|
||||
};
|
||||
|
||||
themesEnv = pkgs.buildEnv {
|
||||
name = "plymouth-themes";
|
||||
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
|
||||
paths = [ plymouth ] ++ cfg.themePackages;
|
||||
};
|
||||
|
||||
configFile = pkgs.writeText "plymouthd.conf" ''
|
||||
@ -35,7 +38,7 @@ in
|
||||
enable = mkEnableOption "Plymouth boot splash screen";
|
||||
|
||||
themePackages = mkOption {
|
||||
default = [];
|
||||
default = [ nixosBreezePlymouth ];
|
||||
type = types.listOf types.package;
|
||||
description = ''
|
||||
Extra theme packages for plymouth.
|
||||
@ -52,10 +55,7 @@ in
|
||||
|
||||
logo = mkOption {
|
||||
type = types.path;
|
||||
default = pkgs.fetchurl {
|
||||
url = "https://nixos.org/logo/nixos-hires.png";
|
||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
||||
};
|
||||
default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
||||
defaultText = ''pkgs.fetchurl {
|
||||
url = "https://nixos.org/logo/nixos-hires.png";
|
||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
||||
|
@ -142,7 +142,7 @@ fi
|
||||
# Record the boot configuration.
|
||||
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,
|
||||
# and garbage collected all, we could not load kernel modules anymore.
|
||||
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/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-nspawn.conf".source = "${systemd}/example/tmpfiles.d/system-nspawn.conf";
|
||||
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/system-tmp.conf";
|
||||
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.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/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
||||
|
||||
|
@ -35,6 +35,7 @@ in
|
||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||
borgbackup = handleTest ./borgbackup.nix {};
|
||||
buildbot = handleTest ./buildbot.nix {};
|
||||
caddy = handleTest ./caddy.nix {};
|
||||
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
||||
cassandra = handleTest ./cassandra.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 = {
|
||||
dhcpcd.enable = false;
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
||||
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.matrix.domain = "example.org";
|
||||
};
|
||||
|
||||
server_ma1sd = args : {
|
||||
services.mxisd.enable = true;
|
||||
services.mxisd.matrix.domain = "example.org";
|
||||
services.mxisd.package = pkgs.ma1sd;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
$server_mxisd->waitForUnit("mxisd.service");
|
||||
$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";
|
||||
machine = {
|
||||
networking.useNetworkd = networkd;
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.tap0 = {
|
||||
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
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";
|
||||
version = "0.5.7";
|
||||
|
||||
@ -11,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ autoconf pkgconfig ];
|
||||
|
||||
buildInputs = [ alsaLib fluidsynth libjack2 qt5.qtbase qt5.qttools qt5.qtx11extras ];
|
||||
buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -65,5 +65,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
maintainers = with maintainers; [ coroa sauyon ];
|
||||
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "samplv1";
|
||||
version = "0.9.9";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
|
||||
sha256 = "1y61wb0bzm1cz7y8xxv6hp8mrkfb9zm9irg6zs4g6aanw539r6l8";
|
||||
sha256 = "04p5jkighmc8rf7fzzy8ch6knqbxv03vhjzdfh9dva2mlzw9rvjj";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||
|
@ -100,5 +100,6 @@ mkDerivation rec {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
||||
platforms = lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "spotifyd";
|
||||
version = "0.2.18";
|
||||
version = "0.2.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Spotifyd";
|
||||
repo = "spotifyd";
|
||||
rev = "v${version}";
|
||||
sha256 = "12826b0wf31m9vw1s7bcd1hb4ygb1xn4sdknn1y9kzc68brsq94v";
|
||||
sha256 = "063b28ysj224m6ngns9i574i7vnp1x4g07cqjw908ch04yngcg1c";
|
||||
};
|
||||
|
||||
cargoSha256 = "0ar4bfwn3qxa6wsz2hd7nv1wr824h74jy3xqba2qsy0rsfwy1bmm";
|
||||
cargoSha256 = "0pqxqd5dyw9mjclrqkxzfnzsz74xl4bg0b86v5q6kc0a91zd49b9";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--no-default-features"
|
||||
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
|
||||
description = "An open source Spotify client running as a UNIX daemon";
|
||||
homepage = "https://github.com/Spotifyd/spotifyd";
|
||||
license = with licenses; [ gpl3 ];
|
||||
maintainers = [ maintainers.anderslundstedt ];
|
||||
maintainers = [ maintainers.anderslundstedt maintainers.marsam ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "synthv1";
|
||||
version = "0.9.9";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
|
||||
sha256 = "0cvamqzg74qfr7kzk3skimskmv0j3d1rmmpbpsmfcrg8srvyx9r2";
|
||||
sha256 = "1ssdm7aiaz908ydqwdx9khxnnd0yfacjgvbxg5p9s9xhkbqqc2f2";
|
||||
};
|
||||
|
||||
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, ninja
|
||||
, vala
|
||||
, pkgconfig
|
||||
, pantheon
|
||||
, gtk3
|
||||
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
cmake
|
||||
libxml2
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
@ -3,12 +3,12 @@
|
||||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20190714";
|
||||
version = "20190820";
|
||||
pname = "x42-plugins";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
||||
sha256 = "1mifmdy9pi1lg0h4nsvyjjnnni41vhgg34lks94mrx46wq90bgx4";
|
||||
sha256 = "0dqsa5yxm3nx50j9k28iillj4sx2mjndzyspymxx0ghir1qmi4vh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "jormungandr";
|
||||
version = "0.5.5";
|
||||
version = "0.5.6";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/input-output-hk/${pname}";
|
||||
rev = "v${version}";
|
||||
sha256 = "1fzhmkx60b5fnx4x81g5ls93iixd3126m4q1smrpq8ksidw5xifa";
|
||||
rev = "v${version}+lock";
|
||||
sha256 = "0l6rxr1xjp5hfkf0qfx8qsa1slxn0ly28akci1rwgdhlzjn43zqr";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "1hkbzxp6ic1655cq45zv6dcyrk9rbmvscdl8wm8fbidabz4x8vqd";
|
||||
cargoSha256 = "0590gsghr25bzfmxfyrpg58a0l77y88jwnrkgjxf06x3d66kkn3l";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig protobuf ];
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||
|
@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.akru ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
{ channel, pname, version, build, sha256Hash }:
|
||||
|
||||
{ bash
|
||||
{ alsaLib
|
||||
, bash
|
||||
, buildFHSUserEnv
|
||||
, coreutils
|
||||
, dbus
|
||||
, expat
|
||||
, fetchurl
|
||||
, findutils
|
||||
, file
|
||||
@ -19,16 +22,24 @@
|
||||
, libpulseaudio
|
||||
, libGL
|
||||
, libX11
|
||||
, libxcb
|
||||
, libXcomposite
|
||||
, libXcursor
|
||||
, libXdamage
|
||||
, libXext
|
||||
, libXfixes
|
||||
, libXi
|
||||
, libXrandr
|
||||
, libXrender
|
||||
, libXtst
|
||||
, makeWrapper
|
||||
, nspr
|
||||
, nss
|
||||
, pciutils
|
||||
, pkgsi686Linux
|
||||
, setxkbmap
|
||||
, stdenv
|
||||
, systemd
|
||||
, unzip
|
||||
, which
|
||||
, runCommand
|
||||
@ -99,9 +110,20 @@ let
|
||||
libXrandr
|
||||
|
||||
# For Android emulator
|
||||
alsaLib
|
||||
dbus
|
||||
expat
|
||||
libpulseaudio
|
||||
libX11
|
||||
libxcb
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXfixes
|
||||
libGL
|
||||
nspr
|
||||
nss
|
||||
systemd
|
||||
|
||||
# For GTKLookAndFeel
|
||||
gtk2
|
||||
|
@ -12,11 +12,11 @@ let
|
||||
build = "191.5900203";
|
||||
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
|
||||
};
|
||||
betaVersion = stableVersion;
|
||||
betaVersion = latestVersion;
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.6.0.12"; # "Android Studio 3.6 Canary 12"
|
||||
build = "192.5871855";
|
||||
sha256Hash = "0pxvpxqdxv37sl72p7gml70k6kl717k6avw9p0l00cys0zbvb3zq";
|
||||
version = "3.6.0.13"; # "Android Studio 3.6 Beta 1"
|
||||
build = "192.5916306";
|
||||
sha256Hash = "0kvz3mgpfb3wqr1pw9847d5syswlzls3b4nilzgk6w127k2zmkfy";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
@ -38,11 +38,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "3.34.0";
|
||||
version = "3.34.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "19i2ipgw48fpd50wacwyhj35hajlg7qcyxpj8rsqk4g21ijfykrg";
|
||||
sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
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;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
|
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.gpl2;
|
||||
description = "A hex editor";
|
||||
maintainers = with maintainers; [ peterhoeg bkchr ];
|
||||
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
|
||||
, libgee, discount, wrapGAppsHook }:
|
||||
|
||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -136,6 +136,15 @@ stdenv.mkDerivation {
|
||||
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; {
|
||||
description = "Vim - the text editor - for macOS";
|
||||
homepage = https://github.com/macvim-dev/macvim;
|
||||
|
@ -11,13 +11,13 @@ let
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1wxaxz2q4qizh6f23ipz8ihay6bpjdq0545vijqd84fqazcji6sq";
|
||||
x86_64-darwin = "1gb9w3hvw3avn852an5v8m1ia64fkavnvaawjfc3455b248iiqvk";
|
||||
x86_64-linux = "06yrcn7857fw1dvwj0fhj6b2pb224i0r1m2diqg49a0jaj15mnak";
|
||||
x86_64-darwin = "0gq2lazjlzf7wmmdlpg5zg60lmwlmq5rm65lb815r0dpqqj0dizn";
|
||||
}.${system};
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
|
||||
version = "1.38.1";
|
||||
version = "1.39.1";
|
||||
pname = "vscode";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pantheon
|
||||
, vala
|
||||
, pkgconfig
|
||||
, meson
|
||||
, ninja
|
||||
@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, vala
|
||||
, pkgconfig
|
||||
, python3
|
||||
, glib
|
||||
@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openimageio";
|
||||
version = "2.0.10";
|
||||
version = "2.0.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenImageIO";
|
||||
repo = "oiio";
|
||||
rev = "Release-${version}";
|
||||
sha256 = "0k60kgfahsqcgmydsf1kh1qzshn8mksaw772z48a40qnx28pfjys";
|
||||
sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "out" "dev" "doc" ];
|
||||
|
@ -51,6 +51,6 @@ stdenv.mkDerivation {
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.MtP ];
|
||||
platforms = platforms.linux;
|
||||
broken = stdenv.isAarch64;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, vala
|
||||
, meson
|
||||
, ninja
|
||||
, pkgconfig
|
||||
@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "barrier";
|
||||
version = "2.3.1";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "debauchee";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1dakpgs4jcwg06f45xg6adc83jd2qnpywmjm1z7g0hzd2vd0qg4k";
|
||||
sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, pkgconfig
|
||||
, pantheon
|
||||
, python3
|
||||
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -138,5 +138,6 @@ in stdenv.mkDerivation rec {
|
||||
vidbina
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, pkgconfig
|
||||
, pantheon
|
||||
, python3
|
||||
@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -2,14 +2,14 @@
|
||||
gettext, glib, portaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opencpn";
|
||||
version = "5.0.0";
|
||||
pname = "opencpn-unstable";
|
||||
version = "2019-05-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenCPN";
|
||||
repo = "OpenCPN";
|
||||
rev = "v${version}";
|
||||
sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja";
|
||||
rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
|
||||
sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -58,6 +58,7 @@ in stdenv.mkDerivation {
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -45,5 +45,6 @@ llvmPackages.stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tmplt ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, vala
|
||||
, gettext
|
||||
, libxml2
|
||||
, pkgconfig
|
||||
@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pantheon.vala
|
||||
vala
|
||||
gettext
|
||||
gobject-introspection
|
||||
libxml2
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sakura";
|
||||
version = "3.6.0";
|
||||
version = "3.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
|
||||
url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.gz";
|
||||
sha256 = "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl pkgconfig ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ 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 }:
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
|
||||
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 ];
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
||||
let
|
||||
pname = "sidequest";
|
||||
version = "0.3.1";
|
||||
|
||||
version = "0.7.2";
|
||||
|
||||
desktopItem = makeDesktopItem rec {
|
||||
name = "SideQuest";
|
||||
exec = "SideQuest";
|
||||
@ -15,17 +15,17 @@
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/the-expanse/SideQuest/releases/download/${version}/SideQuest-linux-x64.tar.gz";
|
||||
sha256 = "1hj398zzp1x74zhp9rlhqzm9a0ck6zh9bj39g6fpvc38zab5dj1p";
|
||||
url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
|
||||
sha256 = "035grhzqm3qdfcq5vn4a85lgb188rg60wlgc02r44cnj4sbsyyzj";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = ''
|
||||
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
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \
|
||||
"$out/lib/SideQuest/SideQuest"
|
||||
"$out/lib/SideQuest/sidequest"
|
||||
'';
|
||||
};
|
||||
in buildFHSUserEnv {
|
||||
@ -49,11 +49,11 @@
|
||||
homepage = "https://github.com/the-expanse/SideQuest";
|
||||
downloadPage = "https://github.com/the-expanse/SideQuest/releases";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.joepie91 ];
|
||||
maintainers = with maintainers; [ joepie91 rvolosatovs ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
sidequest
|
||||
# Needed in the environment on runtime, to make QuestSaberPatch work
|
||||
@ -62,8 +62,8 @@
|
||||
|
||||
extraInstallCommands = ''
|
||||
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;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.krav ];
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -64,6 +64,8 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "terminfo" ];
|
||||
|
||||
passthru = { inherit vte-ng; };
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $terminfo/share
|
||||
mv $out/share/terminfo $terminfo/share/terminfo
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tmatrix";
|
||||
version = "1.0";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "M4444";
|
||||
repo = "TMatrix";
|
||||
rev = "v${version}";
|
||||
sha256 = "1g0gn4p02vjc6l8lc78wlx4xkd74ha7ybx9fvvdr6mizk0cyjili";
|
||||
sha256 = "1x9drk3wdsd6vzcypk3x068sqcbgis488s9fhcpsv8xgb496rd6y";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas
|
||||
, vala, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas
|
||||
, gnome3, pantheon, gobject-introspection, wrapGAppsHook
|
||||
, gtk3, json-glib, glib, glib-networking
|
||||
}:
|
||||
@ -23,7 +23,7 @@ in stdenv.mkDerivation {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
pantheon.vala
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wmc-mpris";
|
||||
version = "unstable-2019-07-24";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f1u77y";
|
||||
repo = pname;
|
||||
rev = "3b92847c576662732984ad791d6c7899a39f7787";
|
||||
sha256 = "0q19z0zx53pd237x529rif21kliklwzjrdddx8jfr9hgghjv9giq";
|
||||
rev = "v${version}";
|
||||
sha256 = "1zcnaf9g55cbj9d2zlsr0i15qh0w9gp5jmxkm6dcp1j6yd7j3ymc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
@ -17,5 +17,7 @@ buildGoPackage rec {
|
||||
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.isc;
|
||||
homepage = "https://github.com/schachmat/wego";
|
||||
description = "Weather app for the terminal";
|
||||
};
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "wtf";
|
||||
version = "0.22.0";
|
||||
version = "0.23.0";
|
||||
|
||||
overrideModAttrs = _oldAttrs : _oldAttrs // {
|
||||
preBuild = ''export GOPROXY="https://gocenter.io"'';
|
||||
@ -17,10 +17,10 @@ buildGoModule rec {
|
||||
owner = "wtfutil";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1d8lp94cw8rh9r9y64awxafhw9fmp33v3m761gzy500hrxal2rzb";
|
||||
sha256 = "0bhk81jmv6rq8h898lmvrh9v356310fbi82lvakmgay7nvzk9a1c";
|
||||
};
|
||||
|
||||
modSha256 = "0m180571j4564py5mzdcbyypk71fdlp2vkfdwi6q85nd2q94sx6h";
|
||||
modSha256 = "1ndb7zbhaq0cnd8fd05fvb62qi0mxilgydz42qqz2z4fkbx9gp3m";
|
||||
|
||||
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
|
||||
|
||||
|
@ -107,7 +107,7 @@ let
|
||||
|
||||
base = rec {
|
||||
name = "${packageName}-unwrapped-${version}";
|
||||
inherit (upstream-info) version;
|
||||
inherit (upstream-info) channel version;
|
||||
inherit packageName buildType buildPath;
|
||||
|
||||
src = upstream-info.main;
|
||||
@ -125,19 +125,22 @@ let
|
||||
glib gtk3 dbus-glib
|
||||
libXScrnSaver libXcursor libXtst libGLU_combined
|
||||
pciutils protobuf speechd libXdamage at-spi2-core
|
||||
jdk.jre
|
||||
] ++ optional gnomeKeyringSupport libgnome-keyring3
|
||||
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
|
||||
++ optionals cupsSupport [ libgcrypt cups ]
|
||||
++ optional useVaapi libva
|
||||
++ optional pulseSupport libpulseaudio
|
||||
++ optional (versionAtLeast version "72") jdk.jre;
|
||||
++ optional pulseSupport libpulseaudio;
|
||||
|
||||
patches = [
|
||||
./patches/nix_plugin_paths_68.patch
|
||||
./patches/remove-webp-include-69.patch
|
||||
./patches/jumbo-sorted.patch
|
||||
./patches/no-build-timestamps.patch
|
||||
] ++ optionals (channel == "stable" || channel == "beta") [
|
||||
./patches/widevine.patch
|
||||
] ++ optionals (channel == "dev") [
|
||||
./patches/widevine-79.patch
|
||||
] ++ optionals (channel == "stable") [
|
||||
# Revert "Implement GetFallbackFont on Linux" to fix a performance regression
|
||||
# Remove after https://bugs.chromium.org/p/chromium/issues/detail?id=1003997 is fixed
|
||||
(fetchpatch {
|
||||
@ -153,6 +156,7 @@ let
|
||||
# - 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
|
||||
#
|
||||
# ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
|
||||
# ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
|
||||
] ++ optionals (useVaapi) [
|
||||
# source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi
|
||||
@ -234,9 +238,6 @@ let
|
||||
use_gold = true;
|
||||
gold_path = "${stdenv.cc}/bin";
|
||||
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;
|
||||
use_sysroot = false;
|
||||
|
@ -62,7 +62,7 @@ in let
|
||||
if upstream-info.channel == "stable" then
|
||||
"./opt/google/chrome/libwidevinecdm.so"
|
||||
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
|
||||
"./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||
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.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
|
||||
sha256bin64 = "0p3275ii8800swlfmljbdrvyqjd5nlw0vgv2my4r8ccszgbhidbd";
|
||||
version = "77.0.3865.90";
|
||||
sha256 = "0al26nfcxa00gvgn02iasjm53wq089r3c6b3rqqanljffng565y7";
|
||||
sha256bin64 = "0qfj08adqn19sxsgd98fy5l23cikvfkpzkz9mqq90mlabmhhrp0z";
|
||||
version = "78.0.3904.50";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "0zka01ml3hbximswzkkqbqq8wpiz8f4fq4wx5fys002hi69l296l";
|
||||
sha256bin64 = "0nrip45s0ylri34vlpf16xlwv3ybmy2jg7dz8l9rvgbdwwdzdb75";
|
||||
version = "78.0.3904.17";
|
||||
sha256 = "0ck52j5acdns7vqqvb665xpc68yl6qz0ca8lwjfhriw5hn8g1pjy";
|
||||
sha256bin64 = "073gxyfayrb1dqsq8ngmnrs8ajwwrr2qbs311ns64davn1z3sscf";
|
||||
version = "79.0.3928.4";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
|
||||
sha256bin64 = "1npx867j39mdyivf8nlkcfwgq7j34hl7s948vf6h2kqni0y50hzl";
|
||||
version = "77.0.3865.90";
|
||||
sha256 = "1y3ay0ppwakbw2hqrmxbv4ykil8dahf62ypld17ddkqxkfqgk4np";
|
||||
sha256bin64 = "0j1sk36nfmhx6nk8lmsdi93vcrmn58pidhb5hzkapx8mgk6xraq7";
|
||||
version = "77.0.3865.120";
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, desktop-file-utils
|
||||
, vala
|
||||
, gettext
|
||||
, glib
|
||||
, gtk3
|
||||
@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -3,14 +3,14 @@
|
||||
, glib-networking, python3, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
pname = "cawbird";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IBBoard";
|
||||
repo = "cawbird";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:0bk33fh32nnv6ya6j0ij34abw6a3g6m8fq13303slhhja8xhvmb1";
|
||||
sha256 = "sha256:0b79ngwilicqkgacva93cir4rmk15yzgsih56yb3a4n6bqjispay";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -22,14 +22,6 @@ stdenv.mkDerivation rec {
|
||||
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 ]);
|
||||
|
||||
patches = [
|
||||
# Fix build with vala 0.46
|
||||
(fetchpatch {
|
||||
url = "https://github.com/IBBoard/cawbird/commit/7b88f8856d108b9555ba7b855c7daed7b9e745ca.patch";
|
||||
sha256 = "10kfdy91yas4xyz0hd057q6nsqfrkljcj7pql81xgm43qaff31y0";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x data/meson_post_install.py # patchShebangs requires executable file
|
||||
patchShebangs data/meson_post_install.py
|
||||
|
@ -97,8 +97,8 @@ in rec {
|
||||
terraform_0_11-full = terraform_0_11.full;
|
||||
|
||||
terraform_0_12 = pluggable (generic {
|
||||
version = "0.12.9";
|
||||
sha256 = "14js4n08rg30y0jrm0na79syglpb64cb7cxys0x3w47pcbgymrka";
|
||||
version = "0.12.10";
|
||||
sha256 = "0bmqcmzjsrpvvnd9pn40f774c8jy6j810qz0njxqh60yh27f5rhx";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
|
||||
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
||||
license = licenses.mit;
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pantheon.vala
|
||||
vala
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
|
@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
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.
|
||||
# When releases "expire" the application becomes unusable until an update is
|
||||
# applied. The expiration date for the current release can be extracted with:
|
||||
@ -68,7 +68,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "1c9arwnwa0lirvkwm0rfknabqn5gkznihxl1p2m6j7cs7hwhhsn2";
|
||||
sha256 = "1aza1s70xzx9qkv7b5mpfi4zgdn5dq3rl03lx3jixij3x3pxg5sj";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
||||
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
||||
, 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;
|
||||
|
||||
mkDerivation rec {
|
||||
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
|
||||
# to also wait for the Arch update (especially if the patches don't apply).
|
||||
|
||||
@ -17,7 +17,7 @@ mkDerivation rec {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "19p4cjzk7jyhrd4sd8dq1r1zksff23zyg5rh5vlr3kqd372bffzz";
|
||||
sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -59,7 +59,7 @@ mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
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;
|
||||
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Link-local XMPP connection manager for Telepathy";
|
||||
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
||||
maintainers = [ maintainers.lethalman ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -25,5 +25,6 @@ stdenv.mkDerivation {
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -71,14 +71,10 @@ stdenv.mkDerivation rec {
|
||||
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/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/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
|
||||
'';
|
||||
|
||||
@ -88,6 +84,7 @@ stdenv.mkDerivation rec {
|
||||
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = [ maintainers.xfix ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, mkDerivation
|
||||
, qtbase, qttools, qtsvg, qmake, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
|
||||
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||
, alsaLib, python
|
||||
, jackSupport ? false, libjack2 ? null
|
||||
, speechdSupport ? false, speechd ? null
|
||||
@ -14,12 +14,12 @@ assert iceSupport -> zeroc-ice != null;
|
||||
|
||||
with stdenv.lib;
|
||||
let
|
||||
generic = overrides: source: mkDerivation (source // overrides // {
|
||||
generic = overrides: source: qt5.mkDerivation (source // overrides // {
|
||||
name = "${overrides.type}-${source.version}";
|
||||
|
||||
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig python qmake ]
|
||||
nativeBuildInputs = [ pkgconfig python qt5.qmake ]
|
||||
++ (overrides.nativeBuildInputs or [ ]);
|
||||
|
||||
buildInputs = [ boost protobuf avahi ]
|
||||
@ -72,8 +72,8 @@ let
|
||||
client = source: generic {
|
||||
type = "mumble";
|
||||
|
||||
nativeBuildInputs = [ qttools ];
|
||||
buildInputs = [ libopus libsndfile speex qtsvg ]
|
||||
nativeBuildInputs = [ qt5.qttools ];
|
||||
buildInputs = [ libopus libsndfile speex qt5.qtsvg ]
|
||||
++ optional stdenv.isLinux alsaLib
|
||||
++ optional jackSupport libjack2
|
||||
++ optional speechdSupport speechd
|
||||
|
@ -10,13 +10,13 @@ with lib;
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qbittorrent";
|
||||
version = "4.1.7";
|
||||
version = "4.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qbittorrent";
|
||||
rev = "release-${version}";
|
||||
sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv";
|
||||
sha256 = "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w";
|
||||
};
|
||||
|
||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkgconfig
|
||||
, vala
|
||||
, pantheon
|
||||
, curl
|
||||
, glib
|
||||
@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, pkgconfig
|
||||
, pantheon
|
||||
, python3
|
||||
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
|
@ -23,7 +23,7 @@
|
||||
, gtk_engines
|
||||
, alsaLib
|
||||
, zlib
|
||||
, version ? "19.8.0"
|
||||
, version ? "19.10.0"
|
||||
}:
|
||||
|
||||
let
|
||||
@ -48,7 +48,7 @@ let
|
||||
x86hash = "16v3kgavrh62z6vxcbw6mn7h0bfishpl7m92k7g1p2882r1f8vaf";
|
||||
x64suffix = "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" = {
|
||||
@ -59,7 +59,18 @@ let
|
||||
x86hash = "0afcqirb4q349r3izy88vqkszg6y2wg14iwypk6nrmvwgvcl6jdn";
|
||||
x64suffix = "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
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, pkgconfig
|
||||
, gtk3
|
||||
, python3
|
||||
@ -31,7 +32,7 @@ in stdenv.mkDerivation {
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
pantheon.vala
|
||||
vala
|
||||
gettext
|
||||
gobject-introspection # For setup hook
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
pantheon.vala
|
||||
vala
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
pantheon.vala
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
|
@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://kmymoney.org/;
|
||||
platforms = lib.platforms.linux;
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -15,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pantheon.vala
|
||||
vala
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
@ -37,5 +37,6 @@ mkDerivation rec {
|
||||
license = with licenses; [ gpl3 ];
|
||||
maintainers = with maintainers; [ joko ];
|
||||
homepage = https://skrooge.org/;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
, cmake
|
||||
, gdk-pixbuf
|
||||
, gtk3
|
||||
, vala
|
||||
, gettext
|
||||
, ninja
|
||||
, pantheon
|
||||
@ -12,7 +13,8 @@
|
||||
, libevdev
|
||||
, libgee
|
||||
, libsoup
|
||||
, wrapGAppsHook }:
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spice-up";
|
||||
@ -32,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
ninja
|
||||
pkgconfig
|
||||
pantheon.vala
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
|
@ -2,6 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, gtk3
|
||||
, vala
|
||||
, json-glib
|
||||
, libgee
|
||||
, meson
|
||||
@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
pantheon.vala
|
||||
vala
|
||||
python3
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "stellarium";
|
||||
version = "0.19.1";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r";
|
||||
sha256 = "1ki3s4smazr6xfkr0grrmjp2s8yjprismiaq7l54d0il7rkvhibd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
||||
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec { pname = "EZminc";
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = platforms.unix;
|
||||
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