diff options
Diffstat (limited to 'pkgs/desktops/gnome/core/gnome-initial-setup')
3 files changed, 173 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch b/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch new file mode 100644 index 0000000000000..2323759522535 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch @@ -0,0 +1,62 @@ +From 1ae0eca39ba6af27f37e2fe81395b91a2761a408 Mon Sep 17 00:00:00 2001 +Message-Id: <1ae0eca39ba6af27f37e2fe81395b91a2761a408.1600627676.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE <worldofpeace@protonmail.ch> +Date: Sun, 20 Sep 2020 14:46:59 -0400 +Subject: [PATCH] fix paths + +--- + gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 6 +++--- + gnome-initial-setup/pages/timezone/tz.h | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +index 196abf6..613d0e5 100644 +--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c ++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +@@ -177,9 +177,9 @@ preview_cb (GtkLabel *label, + return TRUE; + + if (variant[0]) +- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); + else +- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout); ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout); + g_spawn_command_line_async (commandline, NULL); + g_free (commandline); + +@@ -831,7 +831,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass) + g_param_spec_string ("showing-extra", "", "", "", + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + +- signals[CHANGED] = ++ signals[CHANGED] = + g_signal_new ("changed", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST, +diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h +index a2376f8..5cb7bc9 100644 +--- a/gnome-initial-setup/pages/timezone/tz.h ++++ b/gnome-initial-setup/pages/timezone/tz.h +@@ -4,7 +4,7 @@ + * Copyright (C) 2000-2001 Ximian, Inc. + * + * Authors: Hans Petter Jansson <hpj@ximian.com> +- * ++ * + * Largely based on Michael Fulbright's work on Anaconda. + * + * This program is free software; you can redistribute it and/or modify +@@ -28,7 +28,7 @@ + G_BEGIN_DECLS + + #ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" ++# define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + #else + # define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" + #endif + +base-commit: 5132e206a6bf81964450561d68473ac015760455 +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix new file mode 100644 index 0000000000000..6d57e29a596df --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix @@ -0,0 +1,106 @@ +{ lib, stdenv +, fetchurl +, substituteAll +, gettext +, meson +, ninja +, pkg-config +, wrapGAppsHook +, gnome +, accountsservice +, fontconfig +, gdm +, geoclue2 +, geocode-glib +, glib +, gnome-desktop +, gnome-online-accounts +, gtk3 +, libgweather +, json-glib +, krb5 +, libpwquality +, librest +, libsecret +, networkmanager +, pango +, polkit +, webkitgtk +, systemd +, libnma +, tzdata +, libgnomekbd +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-initial-setup"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "10zf87n6c947k9rkk2rqc9cbfwcvq23axq3rf7x1an7npv3414gi"; + }; + + patches = [ + (substituteAll { + src = ./0001-fix-paths.patch; + inherit tzdata libgnomekbd; + }) + ]; + + nativeBuildInputs = [ + gettext + meson + ninja + pkg-config + systemd + wrapGAppsHook + ]; + + buildInputs = [ + accountsservice + fontconfig + gdm + geoclue2 + geocode-glib + glib + gnome-desktop + gnome-online-accounts + gsettings-desktop-schemas + gtk3 + json-glib + krb5 + libgweather + libnma + libpwquality + librest + libsecret + networkmanager + pango + polkit + webkitgtk + ]; + + mesonFlags = [ + "-Dcheese=disabled" + "-Dibus=disabled" + "-Dparental_controls=disabled" + "-Dvendor-conf-file=${./vendor.conf}" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Simple, easy, and safe way to prepare a new system"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf b/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf new file mode 100644 index 0000000000000..a06b37e100edc --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf @@ -0,0 +1,5 @@ +# Disable pages not right for NixOS +# For example user accounts should be preconfigured +# and we can't modify system time with systemd. +[pages] +skip=account;software;password;timezone; |