Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-04-09 18:00:58 +00:00 committed by GitHub
commit 03ea14ffda
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
165 changed files with 2254 additions and 2036 deletions

View File

@ -14796,6 +14796,12 @@
githubId = 7249506; githubId = 7249506;
name = "oida"; name = "oida";
}; };
ok-nick = {
email = "nick.libraries@gmail.com";
github = "ok-nick";
githubId = 25470747;
name = "Nick";
};
olcai = { olcai = {
email = "dev@timan.info"; email = "dev@timan.info";
github = "olcai"; github = "olcai";

View File

@ -27,7 +27,7 @@ Here, we include two modules from the same directory, `vpn.nix` and
{ config, pkgs, ... }: { config, pkgs, ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
environment.systemPackages = [ pkgs.vim ]; environment.systemPackages = [ pkgs.vim ];
} }

View File

@ -1,4 +1,4 @@
# Demo {#sec-profile-demo} # Demo {#sec-profile-demo}
This profile just enables a `demo` user, with password `demo`, uid `1000`, `wheel` group and This profile just enables a `demo` user, with password `demo`, uid `1000`, `wheel` group and
[autologin in the SDDM display manager](#opt-services.xserver.displayManager.autoLogin). [autologin in the SDDM display manager](#opt-services.displayManager.autoLogin).

View File

@ -4,7 +4,7 @@ Defines a NixOS configuration with the Plasma 5 desktop. It's used by the
graphical installation CD. graphical installation CD.
It sets [](#opt-services.xserver.enable), It sets [](#opt-services.xserver.enable),
[](#opt-services.xserver.displayManager.sddm.enable), [](#opt-services.displayManager.sddm.enable),
[](#opt-services.xserver.desktopManager.plasma5.enable), [](#opt-services.xserver.desktopManager.plasma5.enable),
and [](#opt-services.xserver.libinput.enable) to true. It also and [](#opt-services.xserver.libinput.enable) to true. It also
includes glxinfo and firefox in the system packages list. includes glxinfo and firefox in the system packages list.

View File

@ -45,7 +45,7 @@ alternative one by picking one of the following lines:
```nix ```nix
{ {
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
} }
``` ```
@ -99,7 +99,7 @@ your window manager, you'd define:
```nix ```nix
{ {
services.xserver.displayManager.defaultSession = "none+i3"; services.displayManager.defaultSession = "none+i3";
} }
``` ```
@ -109,8 +109,8 @@ using lightdm for a user `alice`:
```nix ```nix
{ {
services.xserver.displayManager.lightdm.enable = true; services.xserver.displayManager.lightdm.enable = true;
services.xserver.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.xserver.displayManager.autoLogin.user = "alice"; services.displayManager.autoLogin.user = "alice";
} }
``` ```

View File

@ -5,7 +5,7 @@ To enable the Xfce Desktop Environment, set
```nix ```nix
{ {
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;
services.xserver.displayManager.defaultSession = "xfce"; services.displayManager.defaultSession = "xfce";
} }
``` ```

View File

@ -35,20 +35,19 @@
QT_QPA_PLATFORM = "$([[ $XDG_SESSION_TYPE = \"wayland\" ]] && echo \"wayland\")"; QT_QPA_PLATFORM = "$([[ $XDG_SESSION_TYPE = \"wayland\" ]] && echo \"wayland\")";
}; };
services.xserver.displayManager = { services.xserver.displayManager.gdm = {
gdm = { enable = true;
enable = true; # autoSuspend makes the machine automatically suspend after inactivity.
# autoSuspend makes the machine automatically suspend after inactivity. # It's possible someone could/try to ssh'd into the machine and obviously
# It's possible someone could/try to ssh'd into the machine and obviously # have issues because it's inactive.
# have issues because it's inactive. # See:
# See: # * https://github.com/NixOS/nixpkgs/pull/63790
# * https://github.com/NixOS/nixpkgs/pull/63790 # * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22
# * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22 autoSuspend = false;
autoSuspend = false; };
};
autoLogin = { services.displayManager.autoLogin = {
enable = true; enable = true;
user = "nixos"; user = "nixos";
};
}; };
} }

View File

@ -8,18 +8,16 @@
isoImage.edition = "plasma5"; isoImage.edition = "plasma5";
services.xserver = { services.xserver.desktopManager.plasma5 = {
desktopManager.plasma5 = { enable = true;
enable = true; };
};
# Automatically login as nixos. # Automatically login as nixos.
displayManager = { services.displayManager = {
sddm.enable = true; sddm.enable = true;
autoLogin = { autoLogin = {
enable = true; enable = true;
user = "nixos"; user = "nixos";
};
}; };
}; };

View File

@ -7,16 +7,14 @@
isoImage.edition = "plasma6"; isoImage.edition = "plasma6";
services.xserver = { services.desktopManager.plasma6.enable = true;
desktopManager.plasma6.enable = true;
# Automatically login as nixos. # Automatically login as nixos.
displayManager = { services.displayManager = {
sddm.enable = true; sddm.enable = true;
autoLogin = { autoLogin = {
enable = true; enable = true;
user = "nixos"; user = "nixos";
};
}; };
}; };

View File

@ -16,21 +16,19 @@
enable = true; enable = true;
}; };
services.xserver.displayManager = { services.xserver.displayManager.gdm = {
gdm = { enable = true;
enable = true; # autoSuspend makes the machine automatically suspend after inactivity.
# autoSuspend makes the machine automatically suspend after inactivity. # It's possible someone could/try to ssh'd into the machine and obviously
# It's possible someone could/try to ssh'd into the machine and obviously # have issues because it's inactive.
# have issues because it's inactive. # See:
# See: # * https://github.com/NixOS/nixpkgs/pull/63790
# * https://github.com/NixOS/nixpkgs/pull/63790 # * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22
# * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22 autoSuspend = false;
autoSuspend = false;
};
autoLogin = {
enable = true;
user = "nixos";
};
}; };
services.displayManager.autoLogin = {
enable = true;
user = "nixos";
};
} }

View File

@ -8,18 +8,16 @@
isoImage.edition = "plasma5"; isoImage.edition = "plasma5";
services.xserver = { services.xserver.desktopManager.plasma5 = {
desktopManager.plasma5 = { enable = true;
enable = true; };
};
# Automatically login as nixos. # Automatically login as nixos.
displayManager = { services.displayManager = {
sddm.enable = true; sddm.enable = true;
autoLogin = { autoLogin = {
enable = true; enable = true;
user = "nixos"; user = "nixos";
};
}; };
}; };

View File

@ -40,7 +40,7 @@ with lib;
# If you prefer another desktop manager or display manager, you may want # If you prefer another desktop manager or display manager, you may want
# to disable the default. # to disable the default.
# services.xserver.desktopManager.plasma5.enable = lib.mkForce false; # services.xserver.desktopManager.plasma5.enable = lib.mkForce false;
# services.xserver.displayManager.sddm.enable = lib.mkForce false; # services.displayManager.sddm.enable = lib.mkForce false;
# Enable GDM/GNOME by uncommenting above two lines and two lines below. # Enable GDM/GNOME by uncommenting above two lines and two lines below.
# services.xserver.displayManager.gdm.enable = true; # services.xserver.displayManager.gdm.enable = true;

View File

@ -508,7 +508,9 @@
./services/development/nixseparatedebuginfod.nix ./services/development/nixseparatedebuginfod.nix
./services/development/rstudio-server/default.nix ./services/development/rstudio-server/default.nix
./services/development/zammad.nix ./services/development/zammad.nix
./services/display-managers/default.nix
./services/display-managers/greetd.nix ./services/display-managers/greetd.nix
./services/display-managers/sddm.nix
./services/editors/emacs.nix ./services/editors/emacs.nix
./services/editors/haste.nix ./services/editors/haste.nix
./services/editors/infinoted.nix ./services/editors/infinoted.nix
@ -708,6 +710,7 @@
./services/misc/gogs.nix ./services/misc/gogs.nix
./services/misc/gollum.nix ./services/misc/gollum.nix
./services/misc/gpsd.nix ./services/misc/gpsd.nix
./services/misc/graphical-desktop.nix
./services/misc/greenclip.nix ./services/misc/greenclip.nix
./services/misc/guix ./services/misc/guix
./services/misc/headphones.nix ./services/misc/headphones.nix
@ -1444,7 +1447,6 @@
./services/x11/display-managers/default.nix ./services/x11/display-managers/default.nix
./services/x11/display-managers/gdm.nix ./services/x11/display-managers/gdm.nix
./services/x11/display-managers/lightdm.nix ./services/x11/display-managers/lightdm.nix
./services/x11/display-managers/sddm.nix
./services/x11/display-managers/slim.nix ./services/x11/display-managers/slim.nix
./services/x11/display-managers/startx.nix ./services/x11/display-managers/startx.nix
./services/x11/display-managers/sx.nix ./services/x11/display-managers/sx.nix

View File

@ -71,7 +71,7 @@ in {
programs.xwayland.enable = lib.mkDefault true; programs.xwayland.enable = lib.mkDefault true;
# To make the Miriway session available if a display manager like SDDM is enabled: # To make the Miriway session available if a display manager like SDDM is enabled:
services.xserver.displayManager.sessionPackages = [ pkgs.miriway ]; services.displayManager.sessionPackages = [ pkgs.miriway ];
}; };
meta.maintainers = with lib.maintainers; [ OPNA2608 ]; meta.maintainers = with lib.maintainers; [ OPNA2608 ];

View File

@ -161,7 +161,7 @@ in {
}; };
programs.gamescope.enable = mkDefault cfg.gamescopeSession.enable; programs.gamescope.enable = mkDefault cfg.gamescopeSession.enable;
services.xserver.displayManager.sessionPackages = mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ]; services.displayManager.sessionPackages = mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ];
# optionally enable 32bit pulseaudio support if pulseaudio is enabled # optionally enable 32bit pulseaudio support if pulseaudio is enabled
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable; hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;

View File

@ -17,7 +17,7 @@ in
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
# To make a cardboard session available for certain DMs like SDDM # To make a cardboard session available for certain DMs like SDDM
services.xserver.displayManager.sessionPackages = [ cfg.package ]; services.displayManager.sessionPackages = [ cfg.package ];
} }
(import ./wayland-session.nix { inherit lib pkgs; }) (import ./wayland-session.nix { inherit lib pkgs; })
]); ]);

View File

@ -66,7 +66,7 @@ in
security.polkit.enable = true; security.polkit.enable = true;
services.xserver.displayManager.sessionPackages = [ cfg.finalPackage ]; services.displayManager.sessionPackages = [ cfg.finalPackage ];
xdg.portal = { xdg.portal = {
enable = mkDefault true; enable = mkDefault true;

View File

@ -18,7 +18,7 @@ in
xdg.portal.config.wlroots.default = lib.mkDefault [ "wlr" "gtk" ]; xdg.portal.config.wlroots.default = lib.mkDefault [ "wlr" "gtk" ];
# To make a labwc session available for certain DMs like SDDM # To make a labwc session available for certain DMs like SDDM
services.xserver.displayManager.sessionPackages = [ cfg.package ]; services.displayManager.sessionPackages = [ cfg.package ];
} }
(import ./wayland-session.nix { inherit lib pkgs; }) (import ./wayland-session.nix { inherit lib pkgs; })
]); ]);

View File

@ -47,7 +47,7 @@ in {
environment.systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages; environment.systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
# To make a river session available if a display manager like SDDM is enabled: # To make a river session available if a display manager like SDDM is enabled:
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; services.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ];
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
xdg.portal.config.river.default = mkDefault [ "wlr" "gtk" ]; xdg.portal.config.river.default = mkDefault [ "wlr" "gtk" ];

View File

@ -174,7 +174,7 @@ in {
xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ]; xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ];
# To make a Sway session available if a display manager like SDDM is enabled: # To make a Sway session available if a display manager like SDDM is enabled:
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; } services.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
(import ./wayland-session.nix { inherit lib pkgs; }) (import ./wayland-session.nix { inherit lib pkgs; })
]); ]);

View File

@ -38,7 +38,7 @@ in
finalPackage finalPackage
]; ];
services.xserver.displayManager.sessionPackages = [ finalPackage ]; services.displayManager.sessionPackages = [ finalPackage ];
xdg.portal = { xdg.portal = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View File

@ -93,7 +93,7 @@ in
The services.xserver.displayManager.auto module has been removed The services.xserver.displayManager.auto module has been removed
because it was only intended for use in internal NixOS tests, and gave the because it was only intended for use in internal NixOS tests, and gave the
false impression of it being a special display manager when it's actually false impression of it being a special display manager when it's actually
LightDM. Please use the services.xserver.displayManager.autoLogin options LightDM. Please use the services.displayManager.autoLogin options
instead, or any other display manager in NixOS as they all support auto-login. instead, or any other display manager in NixOS as they all support auto-login.
'') '')
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] '' (mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''

View File

@ -123,6 +123,7 @@ let
}; };
# if remote-backup wait for network # if remote-backup wait for network
after = optional (cfg.persistentTimer && !isLocalPath cfg.repo) "network-online.target"; after = optional (cfg.persistentTimer && !isLocalPath cfg.repo) "network-online.target";
wants = optional (cfg.persistentTimer && !isLocalPath cfg.repo) "network-online.target";
}; };
# utility function around makeWrapper # utility function around makeWrapper

View File

@ -170,7 +170,17 @@ in {
breeze.qt5 breeze.qt5
plasma-integration.qt5 plasma-integration.qt5
pkgs.plasma5Packages.kwayland-integration pkgs.plasma5Packages.kwayland-integration
(pkgs.plasma5Packages.kio.override { withKcms = false; }) (
# Only symlink the KIO plugins, so we don't accidentally pull any services
# like KCMs or kcookiejar
let
kioPluginPath = "${pkgs.plasma5Packages.qtbase.qtPluginPrefix}/kf5/kio";
inherit (pkgs.plasma5Packages) kio;
in pkgs.runCommand "kio5-plugins-only" {} ''
mkdir -p $out/${kioPluginPath}
ln -s ${kio}/${kioPluginPath}/* $out/${kioPluginPath}
''
)
kio-extras-kf5 kio-extras-kf5
] ]
# Optional hardware support features # Optional hardware support features
@ -246,11 +256,11 @@ in {
xdg.portal.configPackages = mkDefault [kdePackages.xdg-desktop-portal-kde]; xdg.portal.configPackages = mkDefault [kdePackages.xdg-desktop-portal-kde];
services.pipewire.enable = mkDefault true; services.pipewire.enable = mkDefault true;
services.xserver.displayManager = { services.displayManager = {
sessionPackages = [kdePackages.plasma-workspace]; sessionPackages = [kdePackages.plasma-workspace];
defaultSession = mkDefault "plasma"; defaultSession = mkDefault "plasma";
}; };
services.xserver.displayManager.sddm = { services.displayManager.sddm = {
package = kdePackages.sddm; package = kdePackages.sddm;
theme = mkDefault "breeze"; theme = mkDefault "breeze";
wayland.compositor = "kwin"; wayland.compositor = "kwin";

View File

@ -0,0 +1,257 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.displayManager;
installedSessions = pkgs.runCommand "desktops"
{ # trivial derivation
preferLocalBuild = true;
allowSubstitutes = false;
}
''
mkdir -p "$out/share/"{xsessions,wayland-sessions}
${lib.concatMapStrings (pkg: ''
for n in ${lib.concatStringsSep " " pkg.providedSessions}; do
if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \
-f ${pkg}/share/xsessions/$n.desktop; then
echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:"
echo " ${pkg}"
return 1
fi
done
if test -d ${pkg}/share/xsessions; then
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
fi
if test -d ${pkg}/share/wayland-sessions; then
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
fi
'') cfg.sessionPackages}
'';
dmDefault = config.services.xserver.desktopManager.default;
# fallback default for cases when only default wm is set
dmFallbackDefault = if dmDefault != null then dmDefault else "none";
wmDefault = config.services.xserver.windowManager.default;
defaultSessionFromLegacyOptions = dmFallbackDefault + lib.optionalString (wmDefault != null && wmDefault != "none") "+${wmDefault}";
in
{
options = {
services.displayManager = {
enable = lib.mkEnableOption "systemd's display-manager service";
preStart = lib.mkOption {
type = lib.types.lines;
default = "";
example = "rm -f /var/log/my-display-manager.log";
description = lib.mdDoc "Script executed before the display manager is started.";
};
execCmd = lib.mkOption {
type = lib.types.str;
example = lib.literalExpression ''"''${pkgs.lightdm}/bin/lightdm"'';
description = lib.mdDoc "Command to start the display manager.";
};
environment = lib.mkOption {
type = with lib.types; attrsOf unspecified;
default = {};
description = lib.mdDoc "Additional environment variables needed by the display manager.";
};
hiddenUsers = lib.mkOption {
type = with lib.types; listOf str;
default = [ "nobody" ];
description = lib.mdDoc ''
A list of users which will not be shown in the display manager.
'';
};
logToFile = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Whether the display manager redirects the output of the
session script to {file}`~/.xsession-errors`.
'';
};
logToJournal = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Whether the display manager redirects the output of the
session script to the systemd journal.
'';
};
# Configuration for automatic login. Common for all DM.
autoLogin = lib.mkOption {
type = lib.types.submodule ({ config, options, ... }: {
options = {
enable = lib.mkOption {
type = lib.types.bool;
default = config.user != null;
defaultText = lib.literalExpression "config.${options.user} != null";
description = lib.mdDoc ''
Automatically log in as {option}`autoLogin.user`.
'';
};
user = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = lib.mdDoc ''
User to be used for the automatic login.
'';
};
};
});
default = {};
description = lib.mdDoc ''
Auto login configuration attrset.
'';
};
defaultSession = lib.mkOption {
type = lib.types.nullOr lib.types.str // {
description = "session name";
check = d:
lib.assertMsg (d != null -> (lib.types.str.check d && lib.elem d config.services.displayManager.sessionData.sessionNames)) ''
Default graphical session, '${d}', not found.
Valid names for 'services.displayManager.defaultSession' are:
${lib.concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames}
'';
};
default =
if dmDefault != null || wmDefault != null then
defaultSessionFromLegacyOptions
else
null;
defaultText = lib.literalMD ''
Taken from display manager settings or window manager settings, if either is set.
'';
example = "gnome";
description = lib.mdDoc ''
Graphical session to pre-select in the session chooser (only effective for GDM, LightDM and SDDM).
On GDM, LightDM and SDDM, it will also be used as a session for auto-login.
'';
};
sessionData = lib.mkOption {
description = lib.mdDoc "Data exported for display managers convenience";
internal = true;
default = {};
};
sessionPackages = lib.mkOption {
type = lib.types.listOf (lib.types.package // {
description = "package with provided sessions";
check = p: lib.assertMsg
(lib.types.package.check p && p ? providedSessions
&& p.providedSessions != [] && lib.all lib.isString p.providedSessions)
''
Package, '${p.name}', did not specify any session names, as strings, in
'passthru.providedSessions'. This is required when used as a session package.
The session names can be looked up in:
${p}/share/xsessions
${p}/share/wayland-sessions
'';
});
default = [];
description = lib.mdDoc ''
A list of packages containing x11 or wayland session files to be passed to the display manager.
'';
};
};
};
imports = [
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "autoLogin" ] [ "services" "displayManager" "autoLogin" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "defaultSession" ] [ "services" "displayManager" "defaultSession" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "environment" ] [ "services" "displayManager" "environment" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "execCmd" ] [ "services" "displayManager" "execCmd" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logToFile" ] [ "services" "displayManager" "logToFile" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logToJournal" ] [ "services" "displayManager" "logToJournal" ])
(lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "preStart" ] [ "services" "displayManager" "preStart" ])
];
config = lib.mkIf cfg.enable {
assertions = [
{ assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null;
message = ''
services.displayManager.autoLogin.enable requires services.displayManager.autoLogin.user to be set
'';
}
];
warnings =
lib.mkIf (dmDefault != null || wmDefault != null) [
''
The following options are deprecated:
${lib.concatStringsSep "\n " (map ({c, t}: t) (lib.filter ({c, t}: c != null) [
{ c = dmDefault; t = "- services.xserver.desktopManager.default"; }
{ c = wmDefault; t = "- services.xserver.windowManager.default"; }
]))}
Please use
services.displayManager.defaultSession = "${defaultSessionFromLegacyOptions}";
instead.
''
];
# Make xsessions and wayland sessions available in XDG_DATA_DIRS
# as some programs have behavior that depends on them being present
environment.sessionVariables.XDG_DATA_DIRS = lib.mkIf (cfg.sessionPackages != [ ]) [
"${cfg.sessionData.desktops}/share"
];
services.displayManager.sessionData = {
desktops = installedSessions;
sessionNames = lib.concatMap (p: p.providedSessions) config.services.displayManager.sessionPackages;
# We do not want to force users to set defaultSession when they have only single DE.
autologinSession =
if cfg.defaultSession != null then
cfg.defaultSession
else if cfg.sessionData.sessionNames != [] then
lib.head cfg.sessionData.sessionNames
else
null;
};
# so that the service won't be enabled when only startx is used
systemd.services.display-manager.enable =
let dmConf = config.services.xserver.displayManager;
noDmUsed = !(dmConf.gdm.enable
|| cfg.sddm.enable
|| dmConf.xpra.enable
|| dmConf.lightdm.enable);
in lib.mkIf noDmUsed (lib.mkDefault false);
systemd.services.display-manager = {
description = "Display Manager";
after = [ "acpid.service" "systemd-logind.service" "systemd-user-sessions.service" ];
restartIfChanged = false;
environment = lib.optionalAttrs config.hardware.opengl.setLdLibraryPath {
LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.addOpenGLRunpath.driverLink ];
} // cfg.environment;
preStart = cfg.preStart;
script = lib.mkIf (config.systemd.services.display-manager.enable == true) cfg.execCmd;
# Stop restarting if the display manager stops (crashes) 2 times
# in one minute. Starting X typically takes 3-4s.
startLimitIntervalSec = 30;
startLimitBurst = 3;
serviceConfig = {
Restart = "always";
RestartSec = "200ms";
SyslogIdentifier = "display-manager";
};
};
};
}

View File

@ -2,8 +2,8 @@
let let
xcfg = config.services.xserver; xcfg = config.services.xserver;
dmcfg = xcfg.displayManager; dmcfg = config.services.displayManager;
cfg = dmcfg.sddm; cfg = config.services.displayManager.sddm;
xEnv = config.systemd.services.display-manager.environment; xEnv = config.systemd.services.display-manager.environment;
sddm = cfg.package.override (old: { sddm = cfg.package.override (old: {
@ -21,12 +21,12 @@ let
xserverWrapper = pkgs.writeShellScript "xserver-wrapper" '' xserverWrapper = pkgs.writeShellScript "xserver-wrapper" ''
${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@" exec systemd-cat -t xserver-wrapper ${xcfg.displayManager.xserverBin} ${toString xcfg.displayManager.xserverArgs} "$@"
''; '';
Xsetup = pkgs.writeShellScript "Xsetup" '' Xsetup = pkgs.writeShellScript "Xsetup" ''
${cfg.setupScript} ${cfg.setupScript}
${dmcfg.setupCommands} ${xcfg.displayManager.setupCommands}
''; '';
Xstop = pkgs.writeShellScript "Xstop" '' Xstop = pkgs.writeShellScript "Xstop" ''
@ -40,7 +40,7 @@ let
Numlock = if cfg.autoNumlock then "on" else "none"; # on, off none Numlock = if cfg.autoNumlock then "on" else "none"; # on, off none
# Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch
DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop"; DefaultSession = optionalString (config.services.displayManager.defaultSession != null) "${config.services.displayManager.defaultSession}.desktop";
DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; DisplayServer = if cfg.wayland.enable then "wayland" else "x11";
} // optionalAttrs (cfg.wayland.compositor == "kwin") { } // optionalAttrs (cfg.wayland.compositor == "kwin") {
@ -128,23 +128,36 @@ let
in in
{ {
imports = [ imports = [
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "minimumUid" ] [ "services" "displayManager" "sddm" "autoLogin" "minimumUid" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "relogin" ] [ "services" "displayManager" "sddm" "autoLogin" "relogin" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoNumlock" ] [ "services" "displayManager" "sddm" "autoNumlock" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "enable" ] [ "services" "displayManager" "sddm" "enable" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "enableHidpi" ] [ "services" "displayManager" "sddm" "enableHidpi" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "extraPackages" ] [ "services" "displayManager" "sddm" "extraPackages" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "package" ] [ "services" "displayManager" "sddm" "package" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "settings" ] [ "services" "displayManager" "sddm" "settings" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "setupScript" ] [ "services" "displayManager" "sddm" "setupScript" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "stopScript" ] [ "services" "displayManager" "sddm" "stopScript" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "theme" ] [ "services" "displayManager" "sddm" "theme" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "wayland" "enable" ] [ "services" "displayManager" "sddm" "wayland" "enable" ])
(mkRemovedOptionModule (mkRemovedOptionModule
[ "services" "xserver" "displayManager" "sddm" "themes" ] [ "services" "displayManager" "sddm" "themes" ]
"Set the option `services.xserver.displayManager.sddm.package' instead.") "Set the option `services.displayManager.sddm.package' instead.")
(mkRenamedOptionModule (mkRenamedOptionModule
[ "services" "xserver" "displayManager" "sddm" "autoLogin" "enable" ] [ "services" "displayManager" "sddm" "autoLogin" "enable" ]
[ "services" "xserver" "displayManager" "autoLogin" "enable" ]) [ "services" "displayManager" "autoLogin" "enable" ])
(mkRenamedOptionModule (mkRenamedOptionModule
[ "services" "xserver" "displayManager" "sddm" "autoLogin" "user" ] [ "services" "displayManager" "sddm" "autoLogin" "user" ]
[ "services" "xserver" "displayManager" "autoLogin" "user" ]) [ "services" "displayManager" "autoLogin" "user" ])
(mkRemovedOptionModule (mkRemovedOptionModule
[ "services" "xserver" "displayManager" "sddm" "extraConfig" ] [ "services" "displayManager" "sddm" "extraConfig" ]
"Set the option `services.xserver.displayManager.sddm.settings' instead.") "Set the option `services.displayManager.sddm.settings' instead.")
]; ];
options = { options = {
services.xserver.displayManager.sddm = { services.displayManager.sddm = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -268,19 +281,24 @@ in
assertions = [ assertions = [
{ {
assertion = xcfg.enable; assertion = xcfg.enable || cfg.wayland.enable;
message = '' message = ''
SDDM requires services.xserver.enable to be true SDDM requires either services.xserver.enable or services.displayManager.sddm.wayland.enable to be true
''; '';
} }
{ {
assertion = dmcfg.autoLogin.enable -> autoLoginSessionName != null; assertion = config.services.displayManager.autoLogin.enable -> autoLoginSessionName != null;
message = '' message = ''
SDDM auto-login requires that services.xserver.displayManager.defaultSession is set. SDDM auto-login requires that services.displayManager.defaultSession is set.
''; '';
} }
]; ];
services.displayManager = {
enable = true;
execCmd = "exec /run/current-system/sw/bin/sddm";
};
security.pam.services = { security.pam.services = {
sddm.text = '' sddm.text = ''
auth substack login auth substack login
@ -338,7 +356,6 @@ in
services = { services = {
dbus.packages = [ sddm ]; dbus.packages = [ sddm ];
xserver = { xserver = {
displayManager.job.execCmd = "exec /run/current-system/sw/bin/sddm";
# To enable user switching, allow sddm to allocate TTYs/displays dynamically. # To enable user switching, allow sddm to allocate TTYs/displays dynamically.
tty = null; tty = null;
display = null; display = null;

View File

@ -0,0 +1,54 @@
{
config,
lib,
pkgs,
...
}:
let
xcfg = config.services.xserver;
dmcfg = config.services.displayManager;
in
{
config = lib.mkIf (xcfg.enable || dmcfg.enable) {
# The default max inotify watches is 8192.
# Nowadays most apps require a good number of inotify watches,
# the value below is used by default on several other distros.
boot.kernel.sysctl = {
"fs.inotify.max_user_instances" = lib.mkDefault 524288;
"fs.inotify.max_user_watches" = lib.mkDefault 524288;
};
environment = {
# localectl looks into 00-keyboard.conf
etc."X11/xorg.conf.d/00-keyboard.conf".text = ''
Section "InputClass"
Identifier "Keyboard catchall"
MatchIsKeyboard "on"
Option "XkbModel" "${xcfg.xkb.model}"
Option "XkbLayout" "${xcfg.xkb.layout}"
Option "XkbOptions" "${xcfg.xkb.options}"
Option "XkbVariant" "${xcfg.xkb.variant}"
EndSection
'';
systemPackages = with pkgs; [
nixos-icons # needed for gnome and pantheon about dialog, nixos-manual and maybe more
xdg-utils
];
};
fonts.enableDefaultPackages = lib.mkDefault true;
hardware.opengl.enable = lib.mkDefault true;
programs.gnupg.agent.pinentryPackage = lib.mkOverride 1100 pkgs.pinentry-gnome3;
systemd.defaultUnit = lib.mkIf (xcfg.autorun || dmcfg.enable) "graphical.target";
xdg = {
autostart.enable = true;
menus.enable = true;
mime.enable = true;
icons.enable = true;
};
};
}

View File

@ -348,7 +348,7 @@ in
(flip mapAttrsToList cfg.networks (network: data: (flip mapAttrsToList cfg.networks (network: data:
flip mapAttrs' data.hosts (host: text: nameValuePair flip mapAttrs' data.hosts (host: text: nameValuePair
("tinc/${network}/hosts/${host}") ("tinc/${network}/hosts/${host}")
({ mode = "0644"; user = "tinc.${network}"; inherit text; }) ({ mode = "0644"; user = "tinc-${network}"; inherit text; })
) // { ) // {
"tinc/${network}/tinc.conf" = { "tinc/${network}/tinc.conf" = {
mode = "0444"; mode = "0444";
@ -375,13 +375,13 @@ in
Restart = "always"; Restart = "always";
RestartSec = "3"; RestartSec = "3";
ExecReload = mkIf (versionAtLeast version "1.1pre") "${data.package}/bin/tinc -n ${network} reload"; ExecReload = mkIf (versionAtLeast version "1.1pre") "${data.package}/bin/tinc -n ${network} reload";
ExecStart = "${data.package}/bin/tincd -D -U tinc.${network} -n ${network} ${optionalString (data.chroot) "-R"} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel}"; ExecStart = "${data.package}/bin/tincd -D -U tinc-${network} -n ${network} ${optionalString (data.chroot) "-R"} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel}";
}; };
preStart = '' preStart = ''
mkdir -p /etc/tinc/${network}/hosts mkdir -p /etc/tinc/${network}/hosts
chown tinc.${network} /etc/tinc/${network}/hosts chown tinc-${network} /etc/tinc/${network}/hosts
mkdir -p /etc/tinc/${network}/invitations mkdir -p /etc/tinc/${network}/invitations
chown tinc.${network} /etc/tinc/${network}/invitations chown tinc-${network} /etc/tinc/${network}/invitations
# Determine how we should generate our keys # Determine how we should generate our keys
if type tinc >/dev/null 2>&1; then if type tinc >/dev/null 2>&1; then
@ -420,14 +420,14 @@ in
in [ cli-wrappers ]; in [ cli-wrappers ];
users.users = flip mapAttrs' cfg.networks (network: _: users.users = flip mapAttrs' cfg.networks (network: _:
nameValuePair ("tinc.${network}") ({ nameValuePair ("tinc-${network}") ({
description = "Tinc daemon user for ${network}"; description = "Tinc daemon user for ${network}";
isSystemUser = true; isSystemUser = true;
group = "tinc.${network}"; group = "tinc-${network}";
}) })
); );
users.groups = flip mapAttrs' cfg.networks (network: _: users.groups = flip mapAttrs' cfg.networks (network: _:
nameValuePair "tinc.${network}" {} nameValuePair "tinc-${network}" {}
); );
}); });

View File

@ -17,6 +17,7 @@ let
++ optional cfg.ext4.enable e2fsprogs ++ optional cfg.ext4.enable e2fsprogs
++ optional cfg.xfs.enable xfsprogs ++ optional cfg.xfs.enable xfsprogs
; ;
hasFs = fsName: lib.any (fs: fs.fsType == fsName) (lib.attrValues config.fileSystems);
settingsFormat = pkgs.formats.yaml { }; settingsFormat = pkgs.formats.yaml { };
cfgfile = settingsFormat.generate "cloud.cfg" cfg.settings; cfgfile = settingsFormat.generate "cloud.cfg" cfg.settings;
in in
@ -44,7 +45,8 @@ in
btrfs.enable = mkOption { btrfs.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = hasFs "btrfs";
defaultText = literalExpression ''hasFs "btrfs"'';
description = mdDoc '' description = mdDoc ''
Allow the cloud-init service to operate `btrfs` filesystem. Allow the cloud-init service to operate `btrfs` filesystem.
''; '';
@ -52,7 +54,8 @@ in
ext4.enable = mkOption { ext4.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = hasFs "ext4";
defaultText = literalExpression ''hasFs "ext4"'';
description = mdDoc '' description = mdDoc ''
Allow the cloud-init service to operate `ext4` filesystem. Allow the cloud-init service to operate `ext4` filesystem.
''; '';
@ -60,7 +63,8 @@ in
xfs.enable = mkOption { xfs.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = hasFs "xfs";
defaultText = literalExpression ''hasFs "xfs"'';
description = mdDoc '' description = mdDoc ''
Allow the cloud-init service to operate `xfs` filesystem. Allow the cloud-init service to operate `xfs` filesystem.
''; '';

View File

@ -247,7 +247,7 @@ in
users.users = nixbldUsers; users.users = nixbldUsers;
services.xserver.displayManager.hiddenUsers = attrNames nixbldUsers; services.displayManager.hiddenUsers = attrNames nixbldUsers;
# Legacy configuration conversion. # Legacy configuration conversion.
nix.settings = mkMerge [ nix.settings = mkMerge [

View File

@ -91,7 +91,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = with pkgs; [ services.displayManager.sessionPackages = with pkgs; [
budgie.budgie-desktop budgie.budgie-desktop
]; ];

View File

@ -60,7 +60,7 @@ in
config = mkMerge [ config = mkMerge [
(mkIf cfg.enable { (mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = [ pkgs.cinnamon.cinnamon-common ]; services.displayManager.sessionPackages = [ pkgs.cinnamon.cinnamon-common ];
services.xserver.displayManager.lightdm.greeters.slick = { services.xserver.displayManager.lightdm.greeters.slick = {
enable = mkDefault true; enable = mkDefault true;

View File

@ -38,8 +38,8 @@ in
config = mkIf cfg.enable config = mkIf cfg.enable
{ {
services.xserver.displayManager.sessionPackages = [ pkgs.deepin.dde-session ]; services.displayManager.sessionPackages = [ pkgs.deepin.dde-session ];
services.xserver.displayManager.defaultSession = mkDefault "dde-x11"; services.displayManager.defaultSession = mkDefault "dde-x11";
# Update the DBus activation environment after launching the desktop manager. # Update the DBus activation environment after launching the desktop manager.
services.xserver.displayManager.sessionCommands = '' services.xserver.displayManager.sessionCommands = ''

View File

@ -87,7 +87,7 @@ in
default = null; default = null;
example = "none"; example = "none";
description = lib.mdDoc '' description = lib.mdDoc ''
**Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead. **Deprecated**, please use [](#opt-services.displayManager.defaultSession) instead.
Default desktop manager loaded if none have been chosen. Default desktop manager loaded if none have been chosen.
''; '';

View File

@ -54,7 +54,7 @@ in
"/share/locale" "/share/locale"
]; ];
services.xserver.displayManager.sessionPackages = [ pkgs.enlightenment.enlightenment ]; services.displayManager.sessionPackages = [ pkgs.enlightenment.enlightenment ];
services.xserver.displayManager.sessionCommands = '' services.xserver.displayManager.sessionCommands = ''
if test "$XDG_CURRENT_DESKTOP" = "Enlightenment"; then if test "$XDG_CURRENT_DESKTOP" = "Enlightenment"; then

View File

@ -261,7 +261,7 @@ in
services.gnome.core-shell.enable = true; services.gnome.core-shell.enable = true;
services.gnome.core-utilities.enable = mkDefault true; services.gnome.core-utilities.enable = mkDefault true;
services.xserver.displayManager.sessionPackages = [ pkgs.gnome.gnome-session.sessions ]; services.displayManager.sessionPackages = [ pkgs.gnome.gnome-session.sessions ];
environment.extraInit = '' environment.extraInit = ''
${concatMapStrings (p: '' ${concatMapStrings (p: ''
@ -285,7 +285,7 @@ in
}) })
(mkIf flashbackEnabled { (mkIf flashbackEnabled {
services.xserver.displayManager.sessionPackages = services.displayManager.sessionPackages =
let let
wmNames = map (wm: wm.wmName) flashbackWms; wmNames = map (wm: wm.wmName) flashbackWms;
namesAreUnique = lib.unique wmNames == wmNames; namesAreUnique = lib.unique wmNames == wmNames;

View File

@ -27,7 +27,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = [ services.displayManager.sessionPackages = [
pkgs.lumina.lumina pkgs.lumina.lumina
]; ];

View File

@ -49,7 +49,7 @@ in
config = mkMerge [ config = mkMerge [
(mkIf (cfg.enable || cfg.enableWaylandSession) { (mkIf (cfg.enable || cfg.enableWaylandSession) {
services.xserver.displayManager.sessionPackages = [ services.displayManager.sessionPackages = [
pkgs.mate.mate-session-manager pkgs.mate.mate-session-manager
]; ];
@ -103,7 +103,7 @@ in
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
environment.systemPackages = [ pkgs.mate.mate-wayland-session ]; environment.systemPackages = [ pkgs.mate.mate-wayland-session ];
services.xserver.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ]; services.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ];
}) })
]; ];
} }

View File

@ -96,7 +96,7 @@ in
pkgs.pantheon.pantheon-agent-geoclue2 pkgs.pantheon.pantheon-agent-geoclue2
] config.environment.pantheon.excludePackages; ] config.environment.pantheon.excludePackages;
services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ]; services.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ];
# Ensure lightdm is used when Pantheon is enabled # Ensure lightdm is used when Pantheon is enabled
# Without it screen locking will be nonfunctional because of the use of lightlocker # Without it screen locking will be nonfunctional because of the use of lightlocker
@ -109,7 +109,7 @@ in
# Without this, elementary LightDM greeter will pre-select non-existent `default` session # Without this, elementary LightDM greeter will pre-select non-existent `default` session
# https://github.com/elementary/greeter/issues/368 # https://github.com/elementary/greeter/issues/368
services.xserver.displayManager.defaultSession = mkDefault "pantheon"; services.displayManager.defaultSession = mkDefault "pantheon";
services.xserver.displayManager.sessionCommands = '' services.xserver.displayManager.sessionCommands = ''
if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then

View File

@ -220,7 +220,7 @@ in
services.gnome.core-shell.enable = true; services.gnome.core-shell.enable = true;
services.gnome.core-os-services.enable = true; services.gnome.core-os-services.enable = true;
services.xserver.displayManager.sessionPackages = [ cfg.package ]; services.displayManager.sessionPackages = [ cfg.package ];
environment.etc."phosh/phoc.ini".source = environment.etc."phosh/phoc.ini".source =
if builtins.isPath cfg.phocConfig then cfg.phocConfig if builtins.isPath cfg.phocConfig then cfg.phocConfig

View File

@ -357,7 +357,7 @@ in
pkgs.media-player-info pkgs.media-player-info
]; ];
services.xserver.displayManager.sddm = { services.displayManager.sddm = {
theme = mkDefault "breeze"; theme = mkDefault "breeze";
}; };
@ -403,16 +403,16 @@ in
system.nixos-generate-config.desktopConfiguration = [ system.nixos-generate-config.desktopConfiguration = [
'' ''
# Enable the Plasma 5 Desktop Environment. # Enable the Plasma 5 Desktop Environment.
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
'' ''
]; ];
services.xserver.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-workspace ]; services.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-workspace ];
# Default to be `plasma` (X11) instead of `plasmawayland`, since plasma wayland currently has # Default to be `plasma` (X11) instead of `plasmawayland`, since plasma wayland currently has
# many tiny bugs. # many tiny bugs.
# See: https://github.com/NixOS/nixpkgs/issues/143272 # See: https://github.com/NixOS/nixpkgs/issues/143272
services.xserver.displayManager.defaultSession = mkDefault "plasma"; services.displayManager.defaultSession = mkDefault "plasma";
environment.systemPackages = environment.systemPackages =
with pkgs.plasma5Packages; with pkgs.plasma5Packages;
@ -538,7 +538,7 @@ in
}; };
}; };
services.xserver.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-mobile ]; services.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-mobile ];
}) })
# Plasma Bigscreen # Plasma Bigscreen
@ -559,7 +559,7 @@ in
kdeconnect-kde kdeconnect-kde
]; ];
services.xserver.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-bigscreen ]; services.displayManager.sessionPackages = [ pkgs.plasma5Packages.plasma-bigscreen ];
# required for plasma-remotecontrollers to work correctly # required for plasma-remotecontrollers to work correctly
hardware.uinput.enable = true; hardware.uinput.enable = true;

View File

@ -119,7 +119,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = [ services.displayManager.sessionPackages = [
pkgs.surf-display pkgs.surf-display
]; ];

View File

@ -14,7 +14,6 @@ with lib;
let let
cfg = config.services.xserver; cfg = config.services.xserver;
opt = options.services.xserver;
xorg = pkgs.xorg; xorg = pkgs.xorg;
fontconfig = config.fonts.fontconfig; fontconfig = config.fonts.fontconfig;
@ -70,14 +69,14 @@ let
source ~/.xprofile source ~/.xprofile
fi fi
${optionalString cfg.displayManager.job.logToJournal '' ${optionalString config.services.displayManager.logToJournal ''
if [ -z "$_DID_SYSTEMD_CAT" ]; then if [ -z "$_DID_SYSTEMD_CAT" ]; then
export _DID_SYSTEMD_CAT=1 export _DID_SYSTEMD_CAT=1
exec ${config.systemd.package}/bin/systemd-cat -t xsession "$0" "$@" exec ${config.systemd.package}/bin/systemd-cat -t xsession "$0" "$@"
fi fi
''} ''}
${optionalString cfg.displayManager.job.logToFile '' ${optionalString config.services.displayManager.logToFile ''
exec &> >(tee ~/.xsession-errors) exec &> >(tee ~/.xsession-errors)
''} ''}
@ -130,41 +129,6 @@ let
exit 1 exit 1
fi fi
''; '';
installedSessions = pkgs.runCommand "desktops"
{ # trivial derivation
preferLocalBuild = true;
allowSubstitutes = false;
}
''
mkdir -p "$out/share/"{xsessions,wayland-sessions}
${concatMapStrings (pkg: ''
for n in ${concatStringsSep " " pkg.providedSessions}; do
if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \
-f ${pkg}/share/xsessions/$n.desktop; then
echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:"
echo " ${pkg}"
return 1
fi
done
if test -d ${pkg}/share/xsessions; then
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
fi
if test -d ${pkg}/share/wayland-sessions; then
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
fi
'') cfg.displayManager.sessionPackages}
'';
dmDefault = cfg.desktopManager.default;
# fallback default for cases when only default wm is set
dmFallbackDefault = if dmDefault != null then dmDefault else "none";
wmDefault = cfg.windowManager.default;
defaultSessionFromLegacyOptions = dmFallbackDefault + optionalString (wmDefault != null && wmDefault != "none") "+${wmDefault}";
in in
{ {
@ -215,35 +179,6 @@ in
''; '';
}; };
hiddenUsers = mkOption {
type = types.listOf types.str;
default = [ "nobody" ];
description = lib.mdDoc ''
A list of users which will not be shown in the display manager.
'';
};
sessionPackages = mkOption {
type = with types; listOf (package // {
description = "package with provided sessions";
check = p: assertMsg
(package.check p && p ? providedSessions
&& p.providedSessions != [] && all isString p.providedSessions)
''
Package, '${p.name}', did not specify any session names, as strings, in
'passthru.providedSessions'. This is required when used as a session package.
The session names can be looked up in:
${p}/share/xsessions
${p}/share/wayland-sessions
'';
});
default = [];
description = lib.mdDoc ''
A list of packages containing x11 or wayland session files to be passed to the display manager.
'';
};
session = mkOption { session = mkOption {
default = []; default = [];
type = types.listOf types.attrs; type = types.listOf types.attrs;
@ -274,51 +209,6 @@ in
''; '';
}; };
sessionData = mkOption {
description = lib.mdDoc "Data exported for display managers convenience";
internal = true;
default = {};
apply = val: {
wrapper = xsessionWrapper;
desktops = installedSessions;
sessionNames = concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages;
# We do not want to force users to set defaultSession when they have only single DE.
autologinSession =
if cfg.displayManager.defaultSession != null then
cfg.displayManager.defaultSession
else if cfg.displayManager.sessionData.sessionNames != [] then
head cfg.displayManager.sessionData.sessionNames
else
null;
};
};
defaultSession = mkOption {
type = with types; nullOr str // {
description = "session name";
check = d:
assertMsg (d != null -> (str.check d && elem d cfg.displayManager.sessionData.sessionNames)) ''
Default graphical session, '${d}', not found.
Valid names for 'services.xserver.displayManager.defaultSession' are:
${concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames}
'';
};
default =
if dmDefault != null || wmDefault != null then
defaultSessionFromLegacyOptions
else
null;
defaultText = literalMD ''
Taken from display manager settings or window manager settings, if either is set.
'';
example = "gnome";
description = lib.mdDoc ''
Graphical session to pre-select in the session chooser (only effective for GDM, LightDM and SDDM).
On GDM, LightDM and SDDM, it will also be used as a session for auto-login.
'';
};
importedVariables = mkOption { importedVariables = mkOption {
type = types.listOf (types.strMatching "[a-zA-Z_][a-zA-Z0-9_]*"); type = types.listOf (types.strMatching "[a-zA-Z_][a-zA-Z0-9_]*");
visible = false; visible = false;
@ -327,106 +217,19 @@ in
''; '';
}; };
job = {
preStart = mkOption {
type = types.lines;
default = "";
example = "rm -f /var/log/my-display-manager.log";
description = lib.mdDoc "Script executed before the display manager is started.";
};
execCmd = mkOption {
type = types.str;
example = literalExpression ''"''${pkgs.lightdm}/bin/lightdm"'';
description = lib.mdDoc "Command to start the display manager.";
};
environment = mkOption {
type = types.attrsOf types.unspecified;
default = {};
description = lib.mdDoc "Additional environment variables needed by the display manager.";
};
logToFile = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether the display manager redirects the output of the
session script to {file}`~/.xsession-errors`.
'';
};
logToJournal = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether the display manager redirects the output of the
session script to the systemd journal.
'';
};
};
# Configuration for automatic login. Common for all DM.
autoLogin = mkOption {
type = types.submodule ({ config, options, ... }: {
options = {
enable = mkOption {
type = types.bool;
default = config.user != null;
defaultText = literalExpression "config.${options.user} != null";
description = lib.mdDoc ''
Automatically log in as {option}`autoLogin.user`.
'';
};
user = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
User to be used for the automatic login.
'';
};
};
});
default = {};
description = lib.mdDoc ''
Auto login configuration attrset.
'';
};
}; };
}; };
config = { config = {
assertions = [ assertions = [
{ assertion = cfg.displayManager.autoLogin.enable -> cfg.displayManager.autoLogin.user != null;
message = ''
services.xserver.displayManager.autoLogin.enable requires services.xserver.displayManager.autoLogin.user to be set
'';
}
{ {
assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions; assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions;
message = "You cannot use both services.xserver.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default)."; message = "You cannot use both services.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default).";
} }
]; ];
warnings = services.displayManager.sessionData.wrapper = xsessionWrapper;
mkIf (dmDefault != null || wmDefault != null) [
''
The following options are deprecated:
${concatStringsSep "\n " (map ({c, t}: t) (filter ({c, t}: c != null) [
{ c = dmDefault; t = "- services.xserver.desktopManager.default"; }
{ c = wmDefault; t = "- services.xserver.windowManager.default"; }
]))}
Please use
services.xserver.displayManager.defaultSession = "${defaultSessionFromLegacyOptions}";
instead.
''
];
services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
@ -449,7 +252,7 @@ in
# Create desktop files and scripts for starting sessions for WMs/DMs # Create desktop files and scripts for starting sessions for WMs/DMs
# that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options). # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options).
services.xserver.displayManager.sessionPackages = services.displayManager.sessionPackages =
let let
dms = filter (s: s.manage == "desktop") cfg.displayManager.session; dms = filter (s: s.manage == "desktop") cfg.displayManager.session;
wms = filter (s: s.manage == "window") cfg.displayManager.session; wms = filter (s: s.manage == "window") cfg.displayManager.session;
@ -511,20 +314,14 @@ in
) )
(cartesianProductOfSets { dm = dms; wm = wms; }) (cartesianProductOfSets { dm = dms; wm = wms; })
); );
# Make xsessions and wayland sessions available in XDG_DATA_DIRS
# as some programs have behavior that depends on them being present
environment.sessionVariables.XDG_DATA_DIRS = lib.mkIf (cfg.displayManager.sessionPackages != [ ]) [
"${cfg.displayManager.sessionData.desktops}/share"
];
}; };
imports = [ imports = [
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ] (mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
"The option is no longer necessary because all display managers have already delegated lid management to systemd.") "The option is no longer necessary because all display managers have already delegated lid management to systemd.")
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ]) (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "displayManager" "logToFile" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ]) (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "displayManager" "logToJournal" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "xserver" "displayManager" "sessionPackages" ]) (mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "displayManager" "sessionPackages" ])
]; ];
} }

View File

@ -32,7 +32,7 @@ let
load-module module-position-event-sounds load-module module-position-event-sounds
''; '';
defaultSessionName = config.services.xserver.displayManager.defaultSession; defaultSessionName = config.services.displayManager.defaultSession;
setSessionScript = pkgs.callPackage ./account-service-util.nix { }; setSessionScript = pkgs.callPackage ./account-service-util.nix { };
in in
@ -41,14 +41,12 @@ in
imports = [ imports = [
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "enable" ] [ (mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "enable" ] [
"services" "services"
"xserver"
"displayManager" "displayManager"
"autoLogin" "autoLogin"
"enable" "enable"
]) ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "user" ] [ (mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "user" ] [
"services" "services"
"xserver"
"displayManager" "displayManager"
"autoLogin" "autoLogin"
"user" "user"
@ -148,14 +146,14 @@ in
services.xserver.display = null; services.xserver.display = null;
services.xserver.verbose = null; services.xserver.verbose = null;
services.xserver.displayManager.job = services.displayManager =
{ {
environment = { environment = {
GDM_X_SERVER_EXTRA_ARGS = toString GDM_X_SERVER_EXTRA_ARGS = toString
(filter (arg: arg != "-terminate") cfg.xserverArgs); (filter (arg: arg != "-terminate") cfg.xserverArgs);
XDG_DATA_DIRS = lib.makeSearchPath "share" [ XDG_DATA_DIRS = lib.makeSearchPath "share" [
gdm # for gnome-login.session gdm # for gnome-login.session
cfg.sessionData.desktops config.services.displayManager.sessionData.desktops
pkgs.gnome.gnome-control-center # for accessibility icon pkgs.gnome.gnome-control-center # for accessibility icon
pkgs.gnome.adwaita-icon-theme pkgs.gnome.adwaita-icon-theme
pkgs.hicolor-icon-theme # empty icon theme as a base pkgs.hicolor-icon-theme # empty icon theme as a base
@ -169,7 +167,7 @@ in
execCmd = "exec ${gdm}/bin/gdm"; execCmd = "exec ${gdm}/bin/gdm";
preStart = optionalString (defaultSessionName != null) '' preStart = optionalString (defaultSessionName != null) ''
# Set default session in session chooser to a specified values basically ignore session history. # Set default session in session chooser to a specified values basically ignore session history.
${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession} ${setSessionScript}/bin/set-session ${config.services.displayManager.sessionData.autologinSession}
''; '';
}; };
@ -265,14 +263,14 @@ in
daemon = mkMerge [ daemon = mkMerge [
{ WaylandEnable = cfg.gdm.wayland; } { WaylandEnable = cfg.gdm.wayland; }
# nested if else didn't work # nested if else didn't work
(mkIf (cfg.autoLogin.enable && cfg.gdm.autoLogin.delay != 0 ) { (mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay != 0 ) {
TimedLoginEnable = true; TimedLoginEnable = true;
TimedLogin = cfg.autoLogin.user; TimedLogin = config.services.displayManager.autoLogin.user;
TimedLoginDelay = cfg.gdm.autoLogin.delay; TimedLoginDelay = cfg.gdm.autoLogin.delay;
}) })
(mkIf (cfg.autoLogin.enable && cfg.gdm.autoLogin.delay == 0 ) { (mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay == 0 ) {
AutomaticLoginEnable = true; AutomaticLoginEnable = true;
AutomaticLogin = cfg.autoLogin.user; AutomaticLogin = config.services.displayManager.autoLogin.user;
}) })
]; ];
debug = mkIf cfg.gdm.debug { debug = mkIf cfg.gdm.debug {
@ -282,7 +280,7 @@ in
environment.etc."gdm/custom.conf".source = configFile; environment.etc."gdm/custom.conf".source = configFile;
environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.sessionData.wrapper; environment.etc."gdm/Xsession".source = config.services.displayManager.sessionData.wrapper;
# GDM LFS PAM modules, adapted somehow to NixOS # GDM LFS PAM modules, adapted somehow to NixOS
security.pam.services = { security.pam.services = {

View File

@ -60,7 +60,7 @@ in
Note that this greeter starts only the default X session. Note that this greeter starts only the default X session.
You can configure the default X session using You can configure the default X session using
[](#opt-services.xserver.displayManager.defaultSession). [](#opt-services.displayManager.defaultSession).
''; '';
}; };

View File

@ -22,7 +22,7 @@ in
Note that this greeter starts only the default X session. Note that this greeter starts only the default X session.
You can configure the default X session using You can configure the default X session using
[](#opt-services.xserver.displayManager.defaultSession). [](#opt-services.displayManager.defaultSession).
''; '';
}; };
@ -81,7 +81,7 @@ in
{ {
assertion = dmcfg.defaultSession != null; assertion = dmcfg.defaultSession != null;
message = '' message = ''
Please set: services.xserver.displayManager.defaultSession Please set: services.displayManager.defaultSession
''; '';
} }
]; ];

View File

@ -5,9 +5,9 @@ with lib;
let let
xcfg = config.services.xserver; xcfg = config.services.xserver;
dmcfg = xcfg.displayManager; dmcfg = config.services.displayManager;
xEnv = config.systemd.services.display-manager.environment; xEnv = config.systemd.services.display-manager.environment;
cfg = dmcfg.lightdm; cfg = xcfg.displayManager.lightdm;
sessionData = dmcfg.sessionData; sessionData = dmcfg.sessionData;
setSessionScript = pkgs.callPackage ./account-service-util.nix { }; setSessionScript = pkgs.callPackage ./account-service-util.nix { };
@ -26,7 +26,7 @@ let
else additionalArgs="-logfile /var/log/X.$display.log" else additionalArgs="-logfile /var/log/X.$display.log"
fi fi
exec ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} $additionalArgs "$@" exec ${xcfg.displayManager.xserverBin} ${toString xcfg.displayManager.xserverArgs} $additionalArgs "$@"
''; '';
usersConf = writeText "users.conf" usersConf = writeText "users.conf"
@ -58,10 +58,10 @@ let
autologin-user-timeout = ${toString cfg.autoLogin.timeout} autologin-user-timeout = ${toString cfg.autoLogin.timeout}
autologin-session = ${sessionData.autologinSession} autologin-session = ${sessionData.autologinSession}
''} ''}
${optionalString (dmcfg.setupCommands != "") '' ${optionalString (xcfg.displayManager.setupCommands != "") ''
display-setup-script=${pkgs.writeScript "lightdm-display-setup" '' display-setup-script=${pkgs.writeScript "lightdm-display-setup" ''
#!${pkgs.bash}/bin/bash #!${pkgs.bash}/bin/bash
${dmcfg.setupCommands} ${xcfg.displayManager.setupCommands}
''} ''}
''} ''}
${cfg.extraSeatDefaults} ${cfg.extraSeatDefaults}
@ -86,14 +86,12 @@ in
./lightdm-greeters/mobile.nix ./lightdm-greeters/mobile.nix
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [ (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [
"services" "services"
"xserver"
"displayManager" "displayManager"
"autoLogin" "autoLogin"
"enable" "enable"
]) ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "user" ] [ (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "user" ] [
"services" "services"
"xserver"
"displayManager" "displayManager"
"autoLogin" "autoLogin"
"user" "user"
@ -187,7 +185,7 @@ in
} }
{ assertion = dmcfg.autoLogin.enable -> sessionData.autologinSession != null; { assertion = dmcfg.autoLogin.enable -> sessionData.autologinSession != null;
message = '' message = ''
LightDM auto-login requires that services.xserver.displayManager.defaultSession is set. LightDM auto-login requires that services.displayManager.defaultSession is set.
''; '';
} }
{ assertion = !cfg.greeter.enable -> (dmcfg.autoLogin.enable && cfg.autoLogin.timeout == 0); { assertion = !cfg.greeter.enable -> (dmcfg.autoLogin.enable && cfg.autoLogin.timeout == 0);
@ -203,12 +201,12 @@ in
# Set default session in session chooser to a specified values basically ignore session history. # Set default session in session chooser to a specified values basically ignore session history.
# Auto-login is already covered by a config value. # Auto-login is already covered by a config value.
services.xserver.displayManager.job.preStart = optionalString (!dmcfg.autoLogin.enable && dmcfg.defaultSession != null) '' services.displayManager.preStart = optionalString (!dmcfg.autoLogin.enable && dmcfg.defaultSession != null) ''
${setSessionScript}/bin/set-session ${dmcfg.defaultSession} ${setSessionScript}/bin/set-session ${dmcfg.defaultSession}
''; '';
# setSessionScript needs session-files in XDG_DATA_DIRS # setSessionScript needs session-files in XDG_DATA_DIRS
services.xserver.displayManager.job.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/"; services.displayManager.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/";
# setSessionScript wants AccountsService # setSessionScript wants AccountsService
systemd.services.display-manager.wants = [ systemd.services.display-manager.wants = [
@ -216,7 +214,7 @@ in
]; ];
# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
services.xserver.displayManager.job.execCmd = '' services.displayManager.execCmd = ''
export PATH=${lightdm}/sbin:$PATH export PATH=${lightdm}/sbin:$PATH
exec ${lightdm}/sbin/lightdm exec ${lightdm}/sbin/lightdm
''; '';

View File

@ -226,7 +226,7 @@ in
VideoRam 192000 VideoRam 192000
''; '';
services.xserver.displayManager.job.execCmd = '' services.displayManager.execCmd = ''
${optionalString (cfg.pulseaudio) ${optionalString (cfg.pulseaudio)
"export PULSE_COOKIE=/run/pulse/.config/pulse/cookie"} "export PULSE_COOKIE=/run/pulse/.config/pulse/cookie"}
exec ${pkgs.xpra}/bin/xpra ${if cfg.desktop == null then "start" else "start-desktop --start=${cfg.desktop}"} \ exec ${pkgs.xpra}/bin/xpra ${if cfg.desktop == null then "start" else "start-desktop --start=${cfg.desktop}"} \

View File

@ -77,7 +77,7 @@ in
default = null; default = null;
example = "wmii"; example = "wmii";
description = lib.mdDoc '' description = lib.mdDoc ''
**Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead. **Deprecated**, please use [](#opt-services.displayManager.defaultSession) instead.
Default window manager loaded if none have been chosen. Default window manager loaded if none have been chosen.
''; '';

View File

@ -18,7 +18,7 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = [ cfg.package ]; services.displayManager.sessionPackages = [ cfg.package ];
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
}; };

View File

@ -639,28 +639,18 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.displayManager.enable = true;
services.xserver.displayManager.lightdm.enable = services.xserver.displayManager.lightdm.enable =
let dmConf = cfg.displayManager; let dmConf = cfg.displayManager;
default = !(dmConf.gdm.enable default = !(dmConf.gdm.enable
|| dmConf.sddm.enable || config.services.displayManager.sddm.enable
|| dmConf.xpra.enable || dmConf.xpra.enable
|| dmConf.sx.enable || dmConf.sx.enable
|| dmConf.startx.enable || dmConf.startx.enable
|| config.services.greetd.enable); || config.services.greetd.enable);
in mkIf (default) (mkDefault true); in mkIf (default) (mkDefault true);
# so that the service won't be enabled when only startx is used
systemd.services.display-manager.enable =
let dmConf = cfg.displayManager;
noDmUsed = !(dmConf.gdm.enable
|| dmConf.sddm.enable
|| dmConf.xpra.enable
|| dmConf.lightdm.enable);
in mkIf (noDmUsed) (mkDefault false);
hardware.opengl.enable = mkDefault true;
services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ];
# FIXME: somehow check for unknown driver names. # FIXME: somehow check for unknown driver names.
@ -694,19 +684,6 @@ in
# -xkbdir command line option does not seems to be passed to xkbcomp. # -xkbdir command line option does not seems to be passed to xkbcomp.
"X11/xkb".source = "${cfg.xkb.dir}"; "X11/xkb".source = "${cfg.xkb.dir}";
}) })
# localectl looks into 00-keyboard.conf
//{
"X11/xorg.conf.d/00-keyboard.conf".text = ''
Section "InputClass"
Identifier "Keyboard catchall"
MatchIsKeyboard "on"
Option "XkbModel" "${cfg.xkb.model}"
Option "XkbLayout" "${cfg.xkb.layout}"
Option "XkbOptions" "${cfg.xkb.options}"
Option "XkbVariant" "${cfg.xkb.variant}"
EndSection
'';
}
# Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5 # Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5
// (let cfgPath = "X11/xorg.conf.d/10-evdev.conf"; in // (let cfgPath = "X11/xorg.conf.d/10-evdev.conf"; in
{ {
@ -726,31 +703,12 @@ in
xorg.xprop xorg.xprop
xorg.xauth xorg.xauth
pkgs.xterm pkgs.xterm
pkgs.xdg-utils
xorg.xf86inputevdev.out # get evdev.4 man page xorg.xf86inputevdev.out # get evdev.4 man page
pkgs.nixos-icons # needed for gnome and pantheon about dialog, nixos-manual and maybe more
] config.services.xserver.excludePackages ] config.services.xserver.excludePackages
++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh; ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
environment.pathsToLink = [ "/share/X11" ]; environment.pathsToLink = [ "/share/X11" ];
xdg = {
autostart.enable = true;
menus.enable = true;
mime.enable = true;
icons.enable = true;
};
# The default max inotify watches is 8192.
# Nowadays most apps require a good number of inotify watches,
# the value below is used by default on several other distros.
boot.kernel.sysctl."fs.inotify.max_user_instances" = mkDefault 524288;
boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288;
programs.gnupg.agent.pinentryPackage = lib.mkOverride 1100 pkgs.pinentry-gnome3;
systemd.defaultUnit = mkIf cfg.autorun "graphical.target";
systemd.services.display-manager = systemd.services.display-manager =
{ description = "Display Manager"; { description = "Display Manager";
@ -761,17 +719,17 @@ in
environment = environment =
optionalAttrs config.hardware.opengl.setLdLibraryPath optionalAttrs config.hardware.opengl.setLdLibraryPath
{ LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.addOpenGLRunpath.driverLink ]; } { LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.addOpenGLRunpath.driverLink ]; }
// cfg.displayManager.job.environment; // config.services.displayManager.environment;
preStart = preStart =
'' ''
${cfg.displayManager.job.preStart} ${config.services.displayManager.preStart}
rm -f /tmp/.X0-lock rm -f /tmp/.X0-lock
''; '';
# TODO: move declaring the systemd service to its own mkIf # TODO: move declaring the systemd service to its own mkIf
script = mkIf (config.systemd.services.display-manager.enable == true) "${cfg.displayManager.job.execCmd}"; script = mkIf (config.systemd.services.display-manager.enable == true) "${config.services.displayManager.execCmd}";
# Stop restarting if the display manager stops (crashes) 2 times # Stop restarting if the display manager stops (crashes) 2 times
# in one minute. Starting X typically takes 3-4s. # in one minute. Starting X typically takes 3-4s.
@ -910,7 +868,6 @@ in
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
fonts.enableDefaultPackages = mkDefault true;
fonts.packages = [ fonts.packages = [
(if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc) (if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
pkgs.xorg.fontmiscmisc pkgs.xorg.fontmiscmisc

View File

@ -141,7 +141,13 @@ if [ "$numGenerations" -gt 0 ]; then
| sort -n -r \ | sort -n -r \
| head -n $numGenerations); do | head -n $numGenerations); do
link=/nix/var/nix/profiles/system-$generation-link link=/nix/var/nix/profiles/system-$generation-link
addEntry $link $generation addEntry $link "${generation}-default"
for specialisation in $(
ls /nix/var/nix/profiles/system-$generation-link/specialisation \
| sort -n -r); do
link=/nix/var/nix/profiles/system-$generation-link/specialisation/$specialisation
addEntry $link "${generation}-${specialisation}"
done
done >> $tmpFile done >> $tmpFile
fi fi

View File

@ -216,7 +216,7 @@ in
# uses credentials to set passwords on users. # uses credentials to set passwords on users.
users.users.root.hashedPasswordFile = mkOverride 150 "${pkgs.writeText "hashed-password.root" ""}"; users.users.root.hashedPasswordFile = mkOverride 150 "${pkgs.writeText "hashed-password.root" ""}";
services.xserver.displayManager.job.logToJournal = true; services.displayManager.logToJournal = true;
# Make sure we use the Guest Agent from the QEMU package for testing # Make sure we use the Guest Agent from the QEMU package for testing
# to reduce the closure size required for the tests. # to reduce the closure size required for the tests.

View File

@ -441,7 +441,7 @@ in rec {
kde = makeClosure ({ ... }: kde = makeClosure ({ ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
}); });

View File

@ -21,8 +21,8 @@ in {
services.xserver = { services.xserver = {
enable = true; enable = true;
desktopManager.mate.enable = true; desktopManager.mate.enable = true;
displayManager.defaultSession = lib.mkForce "mate";
}; };
services.displayManager.defaultSession = lib.mkForce "mate";
services.ayatana-indicators = { services.ayatana-indicators = {
enable = true; enable = true;

View File

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.desktopManager.cinnamon.enable = true; services.xserver.desktopManager.cinnamon.enable = true;
services.xserver.displayManager = { services.displayManager = {
autoLogin.enable = true; autoLogin.enable = true;
autoLogin.user = nodes.machine.users.users.alice.name; autoLogin.user = nodes.machine.users.users.alice.name;
defaultSession = "cinnamon-wayland"; defaultSession = "cinnamon-wayland";

View File

@ -30,12 +30,10 @@ in
###### implementation ###### implementation
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.xserver.displayManager = { services.xserver.displayManager.lightdm.enable = true;
lightdm.enable = true; services.displayManager.autoLogin = {
autoLogin = { enable = true;
enable = true; user = cfg.user;
user = cfg.user;
};
}; };
# lightdm by default doesn't allow auto login for root, which is # lightdm by default doesn't allow auto login for root, which is

View File

@ -12,6 +12,6 @@
# Use IceWM as the window manager. # Use IceWM as the window manager.
# Don't use a desktop manager. # Don't use a desktop manager.
services.xserver.displayManager.defaultSession = lib.mkDefault "none+icewm"; services.displayManager.defaultSession = lib.mkDefault "none+icewm";
services.xserver.windowManager.icewm.enable = true; services.xserver.windowManager.icewm.enable = true;
} }

View File

@ -14,16 +14,17 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.xserver.displayManager = { services.xserver.displayManager = {
gdm.enable = true; gdm.enable = true;
gdm.debug = true; gdm.debug = true;
autoLogin = { };
enable = true;
user = user.name; services.displayManager.autoLogin = {
}; enable = true;
user = user.name;
}; };
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.gnome.debug = true; services.xserver.desktopManager.gnome.debug = true;
services.xserver.desktopManager.gnome.flashback.enableMetacity = true; services.xserver.desktopManager.gnome.flashback.enableMetacity = true;
services.xserver.displayManager.defaultSession = "gnome-flashback-metacity"; services.displayManager.defaultSession = "gnome-flashback-metacity";
}; };
testScript = { nodes, ... }: let testScript = { nodes, ... }: let

View File

@ -15,15 +15,16 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.xserver.displayManager = { services.xserver.displayManager = {
gdm.enable = true; gdm.enable = true;
gdm.debug = true; gdm.debug = true;
autoLogin = { };
enable = true;
user = user.name; services.displayManager.autoLogin = {
}; enable = true;
user = user.name;
}; };
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.gnome.debug = true; services.xserver.desktopManager.gnome.debug = true;
services.xserver.displayManager.defaultSession = "gnome-xorg"; services.displayManager.defaultSession = "gnome-xorg";
systemd.user.services = { systemd.user.services = {
"org.gnome.Shell@x11" = { "org.gnome.Shell@x11" = {

View File

@ -12,10 +12,11 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.xserver.displayManager = { services.xserver.displayManager = {
gdm.enable = true; gdm.enable = true;
gdm.debug = true; gdm.debug = true;
autoLogin = { };
enable = true;
user = "alice"; services.displayManager.autoLogin = {
}; enable = true;
user = "alice";
}; };
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;

View File

@ -8,7 +8,7 @@ import ./make-test-python.nix ({ lib, ...} : {
nodes.machine = { pkgs, lib, ... }: { nodes.machine = { pkgs, lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; services.displayManager.defaultSession = lib.mkForce "none+herbstluftwm";
services.xserver.windowManager.herbstluftwm.enable = true; services.xserver.windowManager.herbstluftwm.enable = true;
environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel
}; };

View File

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
nodes.machine = { lib, ... }: { nodes.machine = { lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "none+i3"; services.displayManager.defaultSession = lib.mkForce "none+i3";
services.xserver.windowManager.i3.enable = true; services.xserver.windowManager.i3.enable = true;
}; };

View File

@ -8,7 +8,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true; services.xserver.displayManager.lightdm.enable = true;
services.xserver.displayManager.defaultSession = "none+icewm"; services.displayManager.defaultSession = "none+icewm";
services.xserver.windowManager.icewm.enable = true; services.xserver.windowManager.icewm.enable = true;
}; };

View File

@ -29,11 +29,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
gui = { ... }: common { gui = { ... }: common {
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.sddm.enable = true;
displayManager.defaultSession = "plasma";
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
desktopManager.plasma5.runUsingSystemd = true; desktopManager.plasma5.runUsingSystemd = true;
displayManager.autoLogin = { };
services.displayManager = {
sddm.enable = true;
defaultSession = "plasma";
autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };

View File

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
]; ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager = { services.displayManager = {
sddm.enable = true; # https://github.com/canonical/lightdm/issues/63 sddm.enable = true; # https://github.com/canonical/lightdm/issues/63
sddm.wayland.enable = true; sddm.wayland.enable = true;
defaultSession = "MATE"; defaultSession = "MATE";

View File

@ -19,10 +19,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
user = "alice"; user = "alice";
}; };
services.xserver = { services.xserver.enable = true;
enable = true; services.displayManager.defaultSession = lib.mkForce "miriway";
displayManager.defaultSession = lib.mkForce "miriway";
};
programs.miriway = { programs.miriway = {
enable = true; enable = true;

View File

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
nodes.machine = { lib, ... }: { nodes.machine = { lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "none+nimdow"; services.displayManager.defaultSession = lib.mkForce "none+nimdow";
services.xserver.windowManager.nimdow.enable = true; services.xserver.windowManager.nimdow.enable = true;
}; };

View File

@ -11,10 +11,10 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.displayManager.defaultSession = "plasma-bigscreen-x11"; services.displayManager.defaultSession = "plasma-bigscreen-x11";
services.xserver.desktopManager.plasma5.bigscreen.enable = true; services.xserver.desktopManager.plasma5.bigscreen.enable = true;
services.xserver.displayManager.autoLogin = { services.displayManager.autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };

View File

@ -12,11 +12,14 @@ import ./make-test-python.nix ({ pkgs, ...} :
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.sddm.enable = true;
displayManager.defaultSession = "plasma";
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
desktopManager.plasma5.runUsingSystemd = true; desktopManager.plasma5.runUsingSystemd = true;
displayManager.autoLogin = { };
services.displayManager = {
sddm.enable = true;
defaultSession = "plasma";
autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };

View File

@ -11,11 +11,11 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.displayManager.defaultSession = "plasma"; services.displayManager.defaultSession = "plasma";
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
environment.plasma5.excludePackages = [ pkgs.plasma5Packages.elisa ]; environment.plasma5.excludePackages = [ pkgs.plasma5Packages.elisa ];
services.xserver.displayManager.autoLogin = { services.displayManager.autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };

View File

@ -11,12 +11,12 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
# FIXME: this should be testing Wayland # FIXME: this should be testing Wayland
services.xserver.displayManager.defaultSession = "plasmax11"; services.displayManager.defaultSession = "plasmax11";
services.xserver.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = [ pkgs.kdePackages.elisa ]; environment.plasma6.excludePackages = [ pkgs.kdePackages.elisa ];
services.xserver.displayManager.autoLogin = { services.displayManager.autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };

View File

@ -8,7 +8,7 @@ import ./make-test-python.nix ({ lib, ...} : {
nodes.machine = { pkgs, lib, ... }: { nodes.machine = { pkgs, lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "ragnar"; services.displayManager.defaultSession = lib.mkForce "ragnar";
services.xserver.windowManager.ragnarwm.enable = true; services.xserver.windowManager.ragnarwm.enable = true;
# Setup the default terminal of Ragnar # Setup the default terminal of Ragnar

View File

@ -15,8 +15,8 @@ let
nodes.machine = { ... }: { nodes.machine = { ... }: {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.xserver.displayManager.defaultSession = "none+icewm"; services.displayManager.defaultSession = "none+icewm";
services.xserver.windowManager.icewm.enable = true; services.xserver.windowManager.icewm.enable = true;
}; };
@ -44,14 +44,14 @@ let
nodes.machine = { ... }: { nodes.machine = { ... }: {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager = { services.displayManager = {
sddm.enable = true; sddm.enable = true;
autoLogin = { autoLogin = {
enable = true; enable = true;
user = "alice"; user = "alice";
}; };
}; };
services.xserver.displayManager.defaultSession = "none+icewm"; services.displayManager.defaultSession = "none+icewm";
services.xserver.windowManager.icewm.enable = true; services.xserver.windowManager.icewm.enable = true;
}; };

View File

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
nodes.machine = { lib, ... }: { nodes.machine = { lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "none+wmderland"; services.displayManager.defaultSession = lib.mkForce "none+wmderland";
services.xserver.windowManager.wmderland.enable = true; services.xserver.windowManager.wmderland.enable = true;
systemd.services.setupWmderlandConfig = { systemd.services.setupWmderlandConfig = {

View File

@ -10,13 +10,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
]; ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.displayManager = { services.displayManager.autoLogin = {
lightdm.enable = true; enable = true;
autoLogin = { user = "alice";
enable = true;
user = "alice";
};
}; };
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;

View File

@ -5,7 +5,7 @@ import ./make-test-python.nix ({ lib, ... }: {
nodes.machine = { pkgs, config, ... }: { nodes.machine = { pkgs, config, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = "none+xmonad"; services.displayManager.defaultSession = "none+xmonad";
services.xserver.windowManager.xmonad.enable = true; services.xserver.windowManager.xmonad.enable = true;
services.xserver.desktopManager.runXdgAutostartIfNone = true; services.xserver.desktopManager.runXdgAutostartIfNone = true;

View File

@ -61,7 +61,7 @@ in {
nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ]; imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = "none+xmonad"; services.displayManager.defaultSession = "none+xmonad";
services.xserver.windowManager.xmonad = { services.xserver.windowManager.xmonad = {
enable = true; enable = true;
enableConfiguredRecompile = true; enableConfiguredRecompile = true;

View File

@ -1,52 +1,41 @@
{ lib, fetchFromGitHub { lib
, ninja , python3Packages
, fetchFromGitHub
, meson , meson
, ninja
, pkg-config , pkg-config
, wrapGAppsHook , wrapGAppsHook4
, appstream-glib , appstream-glib
, desktop-file-utils , desktop-file-utils
, gtk3
, gst_all_1
, gobject-introspection , gobject-introspection
, libadwaita , libadwaita
, libdazzle , gst_all_1
, python3Packages
, cairo
, gettext
, gnome
, pantheon
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
format = "other"; # no setup.py
pname = "cozy"; pname = "cozy";
version = "1.3.0"; version = "1.3.0";
pyproject = false; # built with meson
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "geigi"; owner = "geigi";
repo = pname; repo = "cozy";
rev = version; rev = version;
hash = "sha256-oMgdz2dny0u1XV13aHu5s8/pcAz8z/SAOf4hbCDsdjw"; hash = "sha256-oMgdz2dny0u1XV13aHu5s8/pcAz8z/SAOf4hbCDsdjw";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkg-config meson
wrapGAppsHook ninja
pkg-config
wrapGAppsHook4
appstream-glib appstream-glib
desktop-file-utils desktop-file-utils
gobject-introspection gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gtk3
cairo
gettext
gnome.adwaita-icon-theme
libadwaita libadwaita
libdazzle
pantheon.granite
] ++ (with gst_all_1; [ ] ++ (with gst_all_1; [
gstreamer gstreamer
gst-plugins-good gst-plugins-good
@ -56,32 +45,30 @@ python3Packages.buildPythonApplication rec {
]); ]);
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
apsw
cairo
dbus-python
distro distro
gst-python
magic
mutagen mutagen
packaging
peewee peewee
pygobject3 pygobject3
pytz pytz
requests requests
]; ];
postPatch = '' dontWrapGApps = true;
patchShebangs meson/*.py
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
''; '';
postInstall = '' postFixup = ''
ln -s $out/bin/com.github.geigi.cozy $out/bin/cozy ln -s $out/bin/com.github.geigi.cozy $out/bin/cozy
''; '';
meta = with lib; { meta = with lib; {
description = "A modern audio book player for Linux using GTK 3"; description = "A modern audio book player for Linux";
homepage = "https://cozy.geigi.de/"; homepage = "https://cozy.geigi.de/";
maintainers = [ maintainers.makefu ]; maintainers = with maintainers; [ makefu aleksana ];
license = licenses.gpl3; license = licenses.gpl3Plus;
mainProgram = "com.github.geigi.cozy";
platforms = platforms.linux;
}; };
} }

View File

@ -12,13 +12,13 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "open-stage-control"; pname = "open-stage-control";
version = "1.26.1"; version = "1.26.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jean-emmanuel"; owner = "jean-emmanuel";
repo = "open-stage-control"; repo = "open-stage-control";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-uw9vj12vs2N4nap6z1L6sGoCuPpRCmvfGoK/b+zHwHA="; hash = "sha256-hBQyz6VAtiC1XOADZml1MwGKtmdyiJNlRAmHRjt6QsA=";
}; };
# Remove some Electron stuff from package.json # Remove some Electron stuff from package.json

File diff suppressed because it is too large Load Diff

View File

@ -11,13 +11,13 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "polkadot"; pname = "polkadot";
version = "1.9.0"; version = "1.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paritytech"; owner = "paritytech";
repo = "polkadot-sdk"; repo = "polkadot-sdk";
rev = "polkadot-v${version}"; rev = "polkadot-v${version}";
hash = "sha256-YLd1XKluL8QBbZPTb1FCvBDVD0YWjZfZTvl4p9jx28Y="; hash = "sha256-xRuV/1+OZeoth/lb5OXwVzHl2IWK1G0GgIN0E8EZlYg=";
# the build process of polkadot requires a .git folder in order to determine # the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string. # the git commit hash that is being built and add it to the version string.

View File

@ -1,4 +1,4 @@
{ fetchzip, lib, rustPlatform, git, installShellFiles, makeWrapper }: { fetchzip, lib, rustPlatform, git, installShellFiles }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "helix"; pname = "helix";
@ -14,7 +14,9 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-THzPUVcmboVJHu3rJ6rev3GrkNilZRMlitCx7M1+HBE="; cargoHash = "sha256-THzPUVcmboVJHu3rJ6rev3GrkNilZRMlitCx7M1+HBE=";
nativeBuildInputs = [ git installShellFiles makeWrapper ]; nativeBuildInputs = [ git installShellFiles ];
env.HELIX_DEFAULT_RUNTIME = "${placeholder "out"}/lib/runtime";
postInstall = '' postInstall = ''
# not needed at runtime # not needed at runtime
@ -27,9 +29,6 @@ rustPlatform.buildRustPackage rec {
cp contrib/Helix.desktop $out/share/applications cp contrib/Helix.desktop $out/share/applications
cp contrib/helix.png $out/share/icons/hicolor/256x256/apps cp contrib/helix.png $out/share/icons/hicolor/256x256/apps
''; '';
postFixup = ''
wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime
'';
meta = with lib; { meta = with lib; {
description = "A post-modern modal text editor"; description = "A post-modern modal text editor";

View File

@ -11,50 +11,50 @@
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
"version": "2023.3.4", "version": "2024.1",
"sha256": "7b653e07c6d2008fbc85955041490b77551e277ef20f8518f6e6a8cbd326339c", "sha256": "cc77892adcbf28b1a2205908466cca9c80217162cdac020d25d258a84cbb88d3",
"url": "https://download.jetbrains.com/datagrip/datagrip-2023.3.4.tar.gz", "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.tar.gz",
"build_number": "233.14015.137" "build_number": "241.14494.251"
}, },
"dataspell": { "dataspell": {
"update-channel": "DataSpell RELEASE", "update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz", "url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "ae964f1cc71072629baae84fb32e0d822c6cb9405fe4f724078b0decefe88e41", "sha256": "4f73d514dcbf5dce769e7ee4e0a81a1d8dc970f6553c246e3016963b9f077dca",
"url": "https://download.jetbrains.com/python/dataspell-2023.3.5.tar.gz", "url": "https://download.jetbrains.com/python/dataspell-2024.1.tar.gz",
"build_number": "233.15026.16" "build_number": "241.14494.247"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
"version": "2023.3.4", "version": "2024.1",
"sha256": "a6235d4706d594c95c34fed6f32d5ded97eae6af5b8803c47ebd0ec6ccf77a06", "sha256": "d777e88a3098790e19a93cb14fe4a21c740553958514e2b55fa2ba588f5c2c78",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4.tar.gz", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.tar.gz",
"build_number": "233.14475.30" "build_number": "241.14494.255"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz", "url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "96fb4117d4aedd32ace976f48b6618fe30480b3fbfa81adfef963eb720a442e1", "sha256": "783539f254e4d62f4fae153a9e737f1d69db1e44676c4d1513775571a68950e4",
"url": "https://download.jetbrains.com/go/goland-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/go/goland-2024.1.tar.gz",
"build_number": "233.15026.17" "build_number": "241.14494.238"
}, },
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "5e376677d4b9810f4171700ce9d9d3ece58f245ce8d9f2011b05966df5dd7ddd", "sha256": "01d1b224c5e88592f954b17796a76fa8391cdcafef27264e703c7ffe47bb4065",
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.tar.gz",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "2bf74ab0eeb8d8d998e7b59581b576786f72c6b70821eb50a2c96dcc0aa44954", "sha256": "b9083da939eacbcdf24b84cb9c45a1291bb33715f05fc7e10f2cff065d7c3fea",
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -67,27 +67,27 @@
"phpstorm": { "phpstorm": {
"update-channel": "PhpStorm RELEASE", "update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "abf03a945460a92cfed41cc1f5cbaab0eb80799cdfbadaac15594a8ddeec1b7e", "sha256": "11c6862954f87b89d081cc0382e54b105d8b0c933dae78fd952cd2a3604889b2",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.tar.gz",
"build_number": "233.15026.12", "build_number": "241.14494.237",
"version-major-minor": "2022.3" "version-major-minor": "2022.3"
}, },
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "d8ffc4a20b692d506b0e4c4439b77fabca7f3a0fdb7eaddeb6c9edd7cb3febaf", "sha256": "96048ea55ef45f1af0ebe12ad0e38e2763c9e5d654b9e174b33aaa12665d836b",
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.5.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.tar.gz",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "7e77390d7bba42843e950b1544da718913e6bae8543ce499c01484550df39004", "sha256": "2451d3ef7642151306354418c5237b326271e2653a09b869e5883a262a2916ad",
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.5.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.tar.gz",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
@ -100,26 +100,26 @@
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "d431626f1207d872e708e144056bebd001e25da198e785904b0cc08112daebe8", "sha256": "4fd9dcf83a1d1f6b7513c18383938bd65b2479fdb39c0421e2237a1e340c3912",
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.tar.gz",
"build_number": "233.15026.14" "build_number": "241.14494.234"
}, },
"rust-rover": { "rust-rover": {
"update-channel": "RustRover EAP", "update-channel": "RustRover EAP",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
"version": "2023.3 EAP", "version": "2023.3 EAP",
"sha256": "489ea17a55e39ddb11e2ba5d98d69dd8353e228ff4ba618a969f0fd2ff55d730", "sha256": "a7176fb06c18ce50f8f901ecde9fa75e968ddf27e3366e70bffd7ad1208fdde9",
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14475.74.tar.gz", "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.tar.gz",
"build_number": "233.14475.74" "build_number": "233.15026.24"
}, },
"webstorm": { "webstorm": {
"update-channel": "WebStorm RELEASE", "update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "deb38fe0f83a616cd07a2ec1243945ec15539c3d3a2e2f27294c5922737f0b5f", "sha256": "d4c7cb7f1462c2b2bd9042b4714ab9de66c455ab9752c87698dc3902f0d49a2a",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.6.tar.gz", "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.tar.gz",
"build_number": "233.15026.13" "build_number": "241.14494.235"
} }
}, },
"aarch64-linux": { "aarch64-linux": {
@ -134,50 +134,50 @@
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
"version": "2023.3.4", "version": "2024.1",
"sha256": "aaa39f525d680dc8a8b874cd66bd071da86e85c5c903e6cc8fa3d9952fd7c209", "sha256": "b293ed99d29510422090736c4e30a0ccd3974fc01ecce7a9f5f497c34b8ea077",
"url": "https://download.jetbrains.com/datagrip/datagrip-2023.3.4-aarch64.tar.gz", "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1-aarch64.tar.gz",
"build_number": "233.14015.137" "build_number": "241.14494.251"
}, },
"dataspell": { "dataspell": {
"update-channel": "DataSpell RELEASE", "update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "966b2a9f8b7fc69738388a44b8ebd59b1cd1a5cf8f76b516bfce830500723732", "sha256": "f1adfe94bd6482a4f15db02611afc7487d59c47f8ee120e925feeb23c980cd9f",
"url": "https://download.jetbrains.com/python/dataspell-2023.3.5-aarch64.tar.gz", "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.tar.gz",
"build_number": "233.15026.16" "build_number": "241.14494.247"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
"version": "2023.3.4", "version": "2024.1",
"sha256": "e429fe93c87687555eeb618d0cc11bcbf6809a1cfaf3763a260543ea5b639235", "sha256": "3b6ffb21148d3327e9a5558c5657c22f7076c6208e8a10836f155d8f0200fb36",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4-aarch64.tar.gz", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.tar.gz",
"build_number": "233.14475.30" "build_number": "241.14494.255"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "b4d9159d61aafe431f83f42a7ab5d9e2748e3f3efa1ce915ff2bcf5674d02c80", "sha256": "f3cae5c83ca99d3b0e0ef20282f2434879ef89a59ca2c770c31b855e45b8f6f3",
"url": "https://download.jetbrains.com/go/goland-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/go/goland-2024.1-aarch64.tar.gz",
"build_number": "233.15026.17" "build_number": "241.14494.238"
}, },
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "cfc98c4a09f6740ef47a3dbc8f2e71a66a8aab2eae3fb1b901c2db5dcce5f060", "sha256": "a13e7a53b5c8a512fbcb72957f24e5515618a5533f17d72914da5445b736dac1",
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIC-2024.1-aarch64.tar.gz",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "4427884e3c9f63bad3c8b71c73f268dfc0df5963f87de915b632d14a415a6b9c", "sha256": "e73756a96a2e958441facb2b9be7ba30b463a63235f37a757866800162f293bd",
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIU-2024.1-aarch64.tar.gz",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -190,27 +190,27 @@
"phpstorm": { "phpstorm": {
"update-channel": "PhpStorm RELEASE", "update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "697ffef0d76788fa35d4911a7d96f76261feec42df3a537773d29c4714b32635", "sha256": "0c5debd888359b37c9c95176c09a16e94f2412fb88f98b928e64ed2466f88ec1",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.tar.gz",
"build_number": "233.15026.12", "build_number": "241.14494.237",
"version-major-minor": "2022.3" "version-major-minor": "2022.3"
}, },
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "99522aa803eb6fc1570f99286e5d710d5000378e0c116d9a62caea5c7a5ff95e", "sha256": "de8259a4cea264a2263bf771d74949ca25a2b9a8ffc5bbbc7c42d2faace6bd09",
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.5-aarch64.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-community-2024.1-aarch64.tar.gz",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz",
"version": "2023.3.5", "version": "2024.1",
"sha256": "4a5aef97f10d19b3b4f9e34f244a84592bde730171e0596abcfde1baffb65be4", "sha256": "a1f43b2392b7fc6b0c062524593c19fb0721b4ec1a1a59a06e39a61da2dce258",
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.5-aarch64.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1-aarch64.tar.gz",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
@ -223,26 +223,26 @@
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "038023de9fe12771043998cada293db8d1f869374cc48d276ac19c440cb25233", "sha256": "690f90bd8a974585414e499aa2cb46d68dbc8145906e98d7f3b4ad1f3bf49040",
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.tar.gz",
"build_number": "233.15026.14" "build_number": "241.14494.234"
}, },
"rust-rover": { "rust-rover": {
"update-channel": "RustRover EAP", "update-channel": "RustRover EAP",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
"version": "2023.3 EAP", "version": "2023.3 EAP",
"sha256": "e58fc90e714dd98483f10ed48588e2ce95bad049f4967193a8b0c294259ae2ab", "sha256": "4e03720aae12b32f91d4ddf4e01cfb454311b8a0b901dcee733d62579aa4cc0c",
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14475.74-aarch64.tar.gz", "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.tar.gz",
"build_number": "233.14475.74" "build_number": "233.15026.24"
}, },
"webstorm": { "webstorm": {
"update-channel": "WebStorm RELEASE", "update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
"version": "2023.3.6", "version": "2024.1",
"sha256": "826ff930268394c1ffc649586c115f35a1630246ea23b3df4ba446a10b791cec", "sha256": "6691e4855fd4ecf3da9b63b78a11afc3441fb2139cdc7e7aaa5d78aa92a88c12",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.6-aarch64.tar.gz", "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.tar.gz",
"build_number": "233.15026.13" "build_number": "241.14494.235"
} }
}, },
"x86_64-darwin": { "x86_64-darwin": {
@ -257,50 +257,50 @@
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
"version": "2023.3.4", "version": "2024.1",
"sha256": "730a1f17882432ad01b936a6d621c4c3acbfce0bd693b3ca4ee488182ab04d99", "sha256": "8a76d76466b62da1a68d08a066a56319b81e3cab09b57ab11822bf4373def6ce",
"url": "https://download.jetbrains.com/datagrip/datagrip-2023.3.4.dmg", "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.dmg",
"build_number": "233.14015.137" "build_number": "241.14494.251"
}, },
"dataspell": { "dataspell": {
"update-channel": "DataSpell RELEASE", "update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg", "url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "596ffeebc9620f5fe94ed104f601157810cc36fa20887a5a12fecb385402c304", "sha256": "a48036f55ef8301d6f77f726c68d7415c0056ddb4143ca3eed2698306f2c021f",
"url": "https://download.jetbrains.com/python/dataspell-2023.3.5.dmg", "url": "https://download.jetbrains.com/python/dataspell-2024.1.dmg",
"build_number": "233.15026.16" "build_number": "241.14494.247"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
"version": "2023.3.4", "version": "2024.1",
"sha256": "5cf8720e0259c2bfd2474a5fd1db329cb48c10a8823ba0c29b0f3bde3ddbdf8a", "sha256": "fb37fe7ba94f151f9613134b232b79f44524c126152f70eeb31421cee89b514d",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4.dmg", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.dmg",
"build_number": "233.14475.30" "build_number": "241.14494.255"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg", "url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "f83484fc068791733d1411a1ec74a6cbaf5b2ecb4ca2cce462eff6b16b7718a4", "sha256": "4684665fa5d33e3b97a445ffdb29238b995408537be0f706ce05ef1505ffb632",
"url": "https://download.jetbrains.com/go/goland-2023.3.6.dmg", "url": "https://download.jetbrains.com/go/goland-2024.1.dmg",
"build_number": "233.15026.17" "build_number": "241.14494.238"
}, },
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "c26c884842e8a315430dcf1351255aac4385ab1abd16ccb8a8b1c407a1851355", "sha256": "a0ed1fbb4f7c69a046869b3e1cd61faee193518374ac5d4dde4256f846c3b4e2",
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.6.dmg", "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.dmg",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "d54bf2088981678bf4026da4927d39ad686ee25e20dcf374785306076ec98f74", "sha256": "aaecd61f3258d555cb5b2993d04a56955f6dd4cb7a393b58928e4548817750e1",
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.6.dmg", "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.dmg",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -313,27 +313,27 @@
"phpstorm": { "phpstorm": {
"update-channel": "PhpStorm RELEASE", "update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "1972219f45224fd3769fd78ba313ef6379c75d8b4980e049b438a2b2ebb5a977", "sha256": "75699ce909f07de35a6e89745c652f08afba5096b7930fdc51683989967fcc62",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.6.dmg", "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.dmg",
"build_number": "233.15026.12", "build_number": "241.14494.237",
"version-major-minor": "2022.3" "version-major-minor": "2022.3"
}, },
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "413b5d5975aef0cc4e8aef3a93719b2c2c3150082944841538c284f525d015e3", "sha256": "86162e01cba91d7fac7f06442ba4f2b969191cef3bba7c11fced30ac4aa87b34",
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.5.dmg", "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.dmg",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "315081d461086495ab07483c5ac3858f6354b1f7bc684114c0d3c511e7ab6932", "sha256": "32882869eb3dbe44ed74ff5c916222cf7f60af23775c58430e2967b0cbe90846",
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.5.dmg", "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.dmg",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
@ -346,26 +346,26 @@
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "50b9988942ead060eaf01b54aa8aebedf132df3a92b98018f1b78e922bff08f8", "sha256": "47ff2d04362beb2acb3421780f9c5f3dd5ef02aa2cdd9cef2c64a10c6ce2c062",
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.6.dmg", "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.dmg",
"build_number": "233.15026.14" "build_number": "241.14494.234"
}, },
"rust-rover": { "rust-rover": {
"update-channel": "RustRover EAP", "update-channel": "RustRover EAP",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
"version": "2023.3 EAP", "version": "2023.3 EAP",
"sha256": "7d32ac16748977a70830eafeae983138d2f18724ed8255aa6967ce7a329206ec", "sha256": "b59ff55e4ba22df41acc9870f88b7f957f31af179e482ccaa4320b1f1ffff346",
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14475.74.dmg", "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.dmg",
"build_number": "233.14475.74" "build_number": "233.15026.24"
}, },
"webstorm": { "webstorm": {
"update-channel": "WebStorm RELEASE", "update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "03220e45e5308664d2c413eb1b928daf6f5b3600305526d0dd230b084bdfbb9c", "sha256": "b3b41e5e8559e36e0bd4121dee61d39a8ba5b5ce8193e7b026c5bc261e973df5",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.6.dmg", "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.dmg",
"build_number": "233.15026.13" "build_number": "241.14494.235"
} }
}, },
"aarch64-darwin": { "aarch64-darwin": {
@ -380,50 +380,50 @@
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
"version": "2023.3.4", "version": "2024.1",
"sha256": "2dc136c60d6c4c2cc13dc2d426c564dd34e56625dfbfb84d1900b175ea5d6273", "sha256": "a5e92addc3f098670814c4d5660f275f997eaa958e9eb24007f862cfb74b8118",
"url": "https://download.jetbrains.com/datagrip/datagrip-2023.3.4-aarch64.dmg", "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1-aarch64.dmg",
"build_number": "233.14015.137" "build_number": "241.14494.251"
}, },
"dataspell": { "dataspell": {
"update-channel": "DataSpell RELEASE", "update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "b7a73513f9d463025ccd48c0c04a1621f1cda6f21eea4f9aa96a36d03032d957", "sha256": "4a8abf8cf816f98502cf58cd3de07c28d496d4fe20d338cee0ac714196b8a612",
"url": "https://download.jetbrains.com/python/dataspell-2023.3.5-aarch64.dmg", "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.dmg",
"build_number": "233.15026.16" "build_number": "241.14494.247"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
"version": "2023.3.4", "version": "2024.1",
"sha256": "2e769fd9c28b33d34845d1b92cb12a13578f2d4c2f255c88a42fcb79a7cf848f", "sha256": "c82392faec283b2a6ab25dd0cbd8c3733ea046799d9d95ba4b5d6086767f7715",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4-aarch64.dmg", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.dmg",
"build_number": "233.14475.30" "build_number": "241.14494.255"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "dbf0131ac203ad5bf69a3fb50ded3a5088d207ba6b994d6c5b26b462708f980e", "sha256": "92b8567751ceb8aaa95535cbe76d495035be9602fa84cccb18e6e25bbd2bcff5",
"url": "https://download.jetbrains.com/go/goland-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/go/goland-2024.1-aarch64.dmg",
"build_number": "233.15026.17" "build_number": "241.14494.238"
}, },
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "501dc51bc9ac39722f3885bc6116cc426d17cd1ab9afc97e4f3f295049e2e0b3", "sha256": "e49f9a3dc01bd28aa4065642352f358d8b17680ff7207145c918d1f52b046447",
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/idea/ideaIC-2024.1-aarch64.dmg",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "e3a606e04c86d7cfeacde69d00b974a8ad6b175a30d3ea6039afd226a740db25", "sha256": "fd09f791834713e02c7cd28e4bf35b89e6f55e09970db3a720a4c59044874973",
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/idea/ideaIU-2024.1-aarch64.dmg",
"build_number": "233.15026.9" "build_number": "241.14494.240"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -436,27 +436,27 @@
"phpstorm": { "phpstorm": {
"update-channel": "PhpStorm RELEASE", "update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "892404f4e835b3248094ebf64a7de2c1311b3446e0334ddf90033dc0f226d54b", "sha256": "02bcb551de99cf070e90b2131b41f0b3e93aa776615bcfba1508e4c4d1bb9378",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.dmg",
"build_number": "233.15026.12", "build_number": "241.14494.237",
"version-major-minor": "2022.3" "version-major-minor": "2022.3"
}, },
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "a70dfac39bcd9a049094e1f168d35bb24d37a2b44135178996c50e460ab996fe", "sha256": "0cd62c5640d455e576a502fb23d5e6f3b71a2507e838bdec1a1be6a3fd6804e8",
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.5-aarch64.dmg", "url": "https://download.jetbrains.com/python/pycharm-community-2024.1-aarch64.dmg",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
"version": "2023.3.5", "version": "2024.1",
"sha256": "6fe15528a5b0badead7f807384ffd138d648fe76f5c684c905a584e204a51138", "sha256": "9c1d71668eb5de90f1f498477630a5d474a10ec90ee6ca61a8039f42505f5ca7",
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.5-aarch64.dmg", "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1-aarch64.dmg",
"build_number": "233.15026.15" "build_number": "241.14494.241"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
@ -469,26 +469,26 @@
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "3baa33194fe9f826c88f868d76ff0eea3b2fbb7d73a65a910e83daa18ccff78e", "sha256": "7e085580ebc8aadb9342e7362e3078b988e38fe8b5bfe8c4825a1744ad53c33f",
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.dmg",
"build_number": "233.15026.14" "build_number": "241.14494.234"
}, },
"rust-rover": { "rust-rover": {
"update-channel": "RustRover EAP", "update-channel": "RustRover EAP",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
"version": "2023.3 EAP", "version": "2023.3 EAP",
"sha256": "f1a11b0d241671b5afe811a76a7e43777d04a4819a3e83432508d53f319deb8f", "sha256": "03e7c1e3c029cd72ddc9422cc1dc54ed581356b278127dc8d2b2f9e53d357054",
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14475.74-aarch64.dmg", "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.dmg",
"build_number": "233.14475.74" "build_number": "233.15026.24"
}, },
"webstorm": { "webstorm": {
"update-channel": "WebStorm RELEASE", "update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
"version": "2023.3.6", "version": "2024.1",
"sha256": "ea8262e07318b894f0019003b2df1038d647db0335904d8996827ddaf633c39a", "sha256": "95dd3a397fe063583c5e3ba4fefafdfcad740c18447c1a70c0f03cb004436496",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.6-aarch64.dmg", "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.dmg",
"build_number": "233.15026.13" "build_number": "241.14494.235"
} }
} }
} }

View File

@ -141,7 +141,10 @@ rec {
extraBuildInputs = [ libgcc libr stdenv.cc.cc ]; extraBuildInputs = [ libgcc libr stdenv.cc.cc ];
}; };
gateway = mkJetBrainsProduct { pname = "gateway"; }; gateway = mkJetBrainsProduct {
pname = "gateway";
extraBuildInputs = [ libgcc ];
};
goland = (mkJetBrainsProduct { goland = (mkJetBrainsProduct {
pname = "goland"; pname = "goland";

View File

@ -17,17 +17,17 @@
"webstorm" "webstorm"
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "233.14475.31": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "233.14475.66": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "233.15026.24": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.234": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.235": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.237": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.238": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.240": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip", "241.14494.241": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip" "241.14494.251": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
}, },
"name": "ideavim" "name": "ideavim"
}, },
@ -36,7 +36,7 @@
"idea-ultimate" "idea-ultimate"
], ],
"builds": { "builds": {
"233.15026.9": "https://plugins.jetbrains.com/files/631/509008/python-233.15026.9.zip" "241.14494.240": "https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip"
}, },
"name": "python" "name": "python"
}, },
@ -48,7 +48,7 @@
], ],
"builds": { "builds": {
"233.13135.979": null, "233.13135.979": null,
"233.15026.9": null "241.14494.240": null
}, },
"name": "kotlin" "name": "kotlin"
}, },
@ -70,16 +70,16 @@
], ],
"builds": { "builds": {
"233.13135.979": null, "233.13135.979": null,
"233.14015.137": null,
"233.14475.31": null, "233.14475.31": null,
"233.14475.66": null, "233.14475.66": null,
"233.14475.74": null, "233.15026.24": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip", "241.14494.234": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip", "241.14494.235": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip", "241.14494.237": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip", "241.14494.238": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip", "241.14494.240": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip" "241.14494.241": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip"
}, },
"name": "ini" "name": "ini"
}, },
@ -89,8 +89,8 @@
"phpstorm" "phpstorm"
], ],
"builds": { "builds": {
"233.15026.12": "https://plugins.jetbrains.com/files/7219/509039/Symfony_Plugin-2023.1.266.zip", "241.14494.237": "https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/7219/509039/Symfony_Plugin-2023.1.266.zip" "241.14494.240": "https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip"
}, },
"name": "symfony-support" "name": "symfony-support"
}, },
@ -100,8 +100,8 @@
"phpstorm" "phpstorm"
], ],
"builds": { "builds": {
"233.15026.12": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip", "241.14494.237": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip" "241.14494.240": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
}, },
"name": "php-annotations" "name": "php-annotations"
}, },
@ -114,11 +114,11 @@
"rust-rover" "rust-rover"
], ],
"builds": { "builds": {
"233.14015.137": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip", "233.14475.66": "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip", "233.15026.24": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip", "241.14494.238": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip" "241.14494.240": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip"
}, },
"name": "python-community-edition" "name": "python-community-edition"
}, },
@ -139,15 +139,15 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "233.14475.31": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "233.14475.66": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "241.14494.234": null,
"233.15026.13": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "241.14494.235": null,
"233.15026.14": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "241.14494.237": null,
"233.15026.15": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "241.14494.238": null,
"233.15026.17": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip", "241.14494.240": null,
"233.15026.9": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip" "241.14494.241": null,
"241.14494.251": null
}, },
"name": "-deprecated-rust" "name": "-deprecated-rust"
}, },
@ -168,15 +168,15 @@
], ],
"builds": { "builds": {
"233.13135.979": null, "233.13135.979": null,
"233.14015.137": null,
"233.14475.31": null, "233.14475.31": null,
"233.14475.66": null, "233.14475.66": null,
"233.15026.12": null, "241.14494.234": null,
"233.15026.13": null, "241.14494.235": null,
"233.15026.14": null, "241.14494.237": null,
"233.15026.15": null, "241.14494.238": null,
"233.15026.17": null, "241.14494.240": null,
"233.15026.9": null "241.14494.241": null,
"241.14494.251": null
}, },
"name": "-deprecated-rust-beta" "name": "-deprecated-rust-beta"
}, },
@ -190,10 +190,10 @@
"ruby-mine" "ruby-mine"
], ],
"builds": { "builds": {
"233.15026.14": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip", "241.14494.234": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip", "241.14494.238": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip", "241.14494.240": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip" "241.14494.241": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip"
}, },
"name": "ide-features-trainer" "name": "ide-features-trainer"
}, },
@ -215,16 +215,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "233.13135.979": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "233.14475.31": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "233.14475.66": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "233.15026.24": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "241.14494.234": null,
"233.15026.13": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "241.14494.235": null,
"233.15026.14": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "241.14494.237": null,
"233.15026.15": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "241.14494.238": null,
"233.15026.17": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip", "241.14494.240": null,
"233.15026.9": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip" "241.14494.241": null,
"241.14494.251": null
}, },
"name": "nixidea" "name": "nixidea"
}, },
@ -234,8 +234,8 @@
"idea-ultimate" "idea-ultimate"
], ],
"builds": { "builds": {
"233.15026.17": "https://plugins.jetbrains.com/files/9568/508998/go-plugin-233.15026.9.zip", "241.14494.238": "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/9568/508998/go-plugin-233.15026.9.zip" "241.14494.240": "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip"
}, },
"name": "go" "name": "go"
}, },
@ -257,16 +257,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "233.14475.31": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "233.14475.66": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "233.15026.24": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "241.14494.234": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "241.14494.235": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "241.14494.237": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "241.14494.238": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip", "241.14494.240": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip" "241.14494.241": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
}, },
"name": "csv-editor" "name": "csv-editor"
}, },
@ -288,16 +288,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "233.14475.31": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "233.14475.66": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "233.15026.24": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "241.14494.234": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "241.14494.235": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "241.14494.237": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "241.14494.238": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip", "241.14494.240": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip" "241.14494.241": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
}, },
"name": "vscode-keymap" "name": "vscode-keymap"
}, },
@ -319,16 +319,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "233.14475.31": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "233.14475.66": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "233.15026.24": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "241.14494.234": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "241.14494.235": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "241.14494.237": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "241.14494.238": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip", "241.14494.240": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip" "241.14494.241": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
}, },
"name": "eclipse-keymap" "name": "eclipse-keymap"
}, },
@ -350,16 +350,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "233.14475.31": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "233.14475.66": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "233.15026.24": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "241.14494.234": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "241.14494.235": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "241.14494.237": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "241.14494.238": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip", "241.14494.240": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip" "241.14494.241": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
}, },
"name": "visual-studio-keymap" "name": "visual-studio-keymap"
}, },
@ -381,16 +381,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.14015.137": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.14475.31": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "233.14475.31": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.14475.66": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "233.14475.66": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.14475.74": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "233.15026.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.12": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "241.14494.234": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.13": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "241.14494.235": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.14": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "241.14494.237": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.15": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "241.14494.238": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.17": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "241.14494.240": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"233.15026.9": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar" "241.14494.241": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"241.14494.251": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
}, },
"name": "darcula-pitch-black" "name": "darcula-pitch-black"
}, },
@ -412,16 +412,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "233.13135.979": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "233.14475.31": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "233.14475.66": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "233.15026.24": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "241.14494.234": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "241.14494.235": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "241.14494.237": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "241.14494.238": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip", "241.14494.240": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip" "241.14494.241": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip"
}, },
"name": "github-copilot" "name": "github-copilot"
}, },
@ -443,16 +443,16 @@
], ],
"builds": { "builds": {
"233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.14015.137": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.14475.31": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "233.14475.31": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.14475.66": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "233.14475.66": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "233.15026.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.12": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "241.14494.234": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.13": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "241.14494.235": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.14": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "241.14494.237": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.15": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "241.14494.238": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.17": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "241.14494.240": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip" "241.14494.241": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"241.14494.251": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
}, },
"name": "netbeans-6-5-keymap" "name": "netbeans-6-5-keymap"
}, },
@ -463,33 +463,39 @@
"rust-rover" "rust-rover"
], ],
"builds": { "builds": {
"233.14475.31": "https://plugins.jetbrains.com/files/22407/507547/intellij-rust-233.24475.74.zip", "233.14475.31": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
"233.14475.74": "https://plugins.jetbrains.com/files/22407/507547/intellij-rust-233.24475.74.zip", "233.15026.24": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
"233.15026.9": "https://plugins.jetbrains.com/files/22407/507547/intellij-rust-233.24475.74.zip" "241.14494.240": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip"
}, },
"name": "rust" "name": "rust"
} }
}, },
"files": { "files": {
"https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip": "sha256-P8AFMVp/rFi7zTh9f/i45q/QalvI37itnK57Dz/W/z4=",
"https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=", "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=",
"https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=", "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=",
"https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip": "sha256-LeQ5vi9PCJYmWNmT/sutWjSlwZaAYYuEljVJBYG2VpY=",
"https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=", "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=",
"https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip": "sha256-/hEx0gIFvUXD799tRmMHAt9Z5ziFgaQs1RX0zQwTJIA=",
"https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip": "sha256-Nb2tSxL+mAY1qJ3waipgV8ep+0R/BaYnzz7zfwtLHmk=", "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip": "sha256-Nb2tSxL+mAY1qJ3waipgV8ep+0R/BaYnzz7zfwtLHmk=",
"https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip": "sha256-tNgt0vIkdCB/LcaSj58mT6cNlw4lytRo0cZSt7sIERU=",
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=", "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
"https://plugins.jetbrains.com/files/164/507552/IdeaVim-2.10.1-signed.zip": "sha256-mztZWmQhGIuebUzj+FUOgYMMYMNRaiOi5TooNMInSdA=", "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip": "sha256-FP6th8J3ymfTrwvJ3Ms7fsNPh3f9ab5ZVg5yPpKV/rY=",
"https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip": "sha256-lep8ZUOjbV0tsfO/yEWJiHWtwm639zxpc/7L9rCKSsU=", "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip": "sha256-lep8ZUOjbV0tsfO/yEWJiHWtwm639zxpc/7L9rCKSsU=",
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=", "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
"https://plugins.jetbrains.com/files/22407/507547/intellij-rust-233.24475.74.zip": "sha256-Ftyamb+ToQNrBxWrxC68e4nyCrX9cQ8ozcauJkmenmE=", "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip": "sha256-tBPoO2EkPaWFZ/Gu3UAkZPy4opssWJQEVlz9GZUkNtQ=",
"https://plugins.jetbrains.com/files/631/509008/python-233.15026.9.zip": "sha256-Lb0TzM7vr8IZmahGMzdS9GXaxzrCKwG3NFspInRlOG0=", "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip": "sha256-j4b4To8jY4orP87GpphHPtLKeAPDNXcLNSUlIXDDy2Q=",
"https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip": "sha256-pQP1LF/6uImQpBOpxUGE8KmmFh26kiC4YaYLAHnEc3o=",
"https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=", "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=",
"https://plugins.jetbrains.com/files/7219/509039/Symfony_Plugin-2023.1.266.zip": "sha256-p0ixoyTuZ2N5LCkraLpG2JDRQsKc1JcJaj6CElkZvOY=", "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
"https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip": "sha256-zhnoxJgJJDgSnLdaNRrqS767YuvAzm8sXzhz9e2G0+8=",
"https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=", "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
"https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip": "sha256-yd70cSA/Icn5YlH4Q79cIWGFJ6huYUBDKk6vCIYa3DU=",
"https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip": "sha256-YMB/ewCKE1F/JXI8iau9pKkv9D5D9a8OiTVukkzTocA=", "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip": "sha256-YMB/ewCKE1F/JXI8iau9pKkv9D5D9a8OiTVukkzTocA=",
"https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=", "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
"https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip": "sha256-6YC/aoiTRLAh87C2v3k24BLBH/tsdTWuDK/CBv8y1QI=",
"https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=", "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
"https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip": "sha256-Hj/CsaQb1U3FN1x2+00Rq2NjC6AWrfuTJL1NiEssfJ4=", "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip": "sha256-D2gF9bLAEFd1+6vZskiM2Eyl5e8hmyh/VHrmW2NociE=",
"https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip": "sha256-Dwitpu5yLPWx+IUilpN5iqnN8FkKgaxUNjroBEx5lkM=", "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip": "sha256-Dwitpu5yLPWx+IUilpN5iqnN8FkKgaxUNjroBEx5lkM=",
"https://plugins.jetbrains.com/files/9568/508998/go-plugin-233.15026.9.zip": "sha256-K/qqFSrUIf0n4Wh2JGNRuT7SuGlPlQD/pjUI/EVTtxQ=" "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip": "sha256-66Gx4XFn5DEZ/wCkN7IFQKtp+P0R9PoEAXmwOB97Q3A="
} }
} }

View File

@ -4701,6 +4701,18 @@ final: prev:
meta.homepage = "https://github.com/idris-hackers/idris-vim/"; meta.homepage = "https://github.com/idris-hackers/idris-vim/";
}; };
idris2-nvim = buildVimPlugin {
pname = "idris2-nvim";
version = "2023-09-05";
src = fetchFromGitHub {
owner = "ShinKage";
repo = "idris2-nvim";
rev = "8bff02984a33264437e70fd9fff4359679d910da";
sha256 = "sha256-guEmds98XEBKuJVdB+rQB01G+RmnQaG+RTjM6smccAI=";
};
meta.homepage = "https://github.com/ShinKage/idris2-nvim/";
};
idris2-vim = buildVimPlugin { idris2-vim = buildVimPlugin {
pname = "idris2-vim"; pname = "idris2-vim";
version = "2020-11-26"; version = "2020-11-26";

View File

@ -723,6 +723,13 @@
src = "${hurl.src}/contrib/vim"; src = "${hurl.src}/contrib/vim";
}; };
idris2-nvim = super.idris2-nvim.overrideAttrs {
dependencies = with self; [ nui-nvim nvim-lspconfig ];
doInstallCheck = true;
nvimRequireCheck = "idris2";
};
image-nvim = super.image-nvim.overrideAttrs { image-nvim = super.image-nvim.overrideAttrs {
dependencies = with self; [ dependencies = with self; [
nvim-treesitter nvim-treesitter

View File

@ -393,6 +393,7 @@ https://github.com/anuvyklack/hydra.nvim/,HEAD,
https://github.com/mboughaba/i3config.vim/,, https://github.com/mboughaba/i3config.vim/,,
https://github.com/cocopon/iceberg.vim/,, https://github.com/cocopon/iceberg.vim/,,
https://github.com/idris-hackers/idris-vim/,, https://github.com/idris-hackers/idris-vim/,,
https://github.com/ShinKage/idris2-nvim/,,
https://github.com/edwinb/idris2-vim/,, https://github.com/edwinb/idris2-vim/,,
https://github.com/3rd/image.nvim/,HEAD, https://github.com/3rd/image.nvim/,HEAD,
https://github.com/samodostal/image.nvim/,HEAD,samodostal-image-nvim https://github.com/samodostal/image.nvim/,HEAD,samodostal-image-nvim

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cherrytree"; pname = "cherrytree";
version = "1.1.0"; version = "1.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "giuspen"; owner = "giuspen";
repo = "cherrytree"; repo = "cherrytree";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-YoHaWc/olJrbV1A4hqDgYOLVlpHBrgI0x2TFr9oeqh4="; hash = "sha256-gDDFrF1yK6mWwkb3KJVRj6P5aiH1pQ/xL17XwVb4rfk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "atmos"; pname = "atmos";
version = "1.67.0"; version = "1.68.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cloudposse"; owner = "cloudposse";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-bnecb0SucLcNrrQ0PAN31Z4nNV+0wrrzMLn7OyMOS5w="; sha256 = "sha256-tyK45RWLZFC2yLqEvEE/U0QjNaQ0Kwx37BL/5d9Bmdc=";
}; };
vendorHash = "sha256-oNAEe7g9kYZ4kolmVQat6l/tag0Bus7nJEfnzCrUtjA="; vendorHash = "sha256-dJJPq2HcGZ+MqtJ848gsrvzD1rMVrwJQKwq+UpZsFB0=";
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ]; ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];

View File

@ -96,9 +96,9 @@ dependencies = [
[[package]] [[package]]
name = "anstream" name = "anstream"
version = "0.5.0" version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"anstyle-parse", "anstyle-parse",
@ -134,12 +134,12 @@ dependencies = [
[[package]] [[package]]
name = "anstyle-wincon" name = "anstyle-wincon"
version = "2.1.0" version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"windows-sys 0.48.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -166,6 +166,17 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
name = "async-recursion"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.31",
]
[[package]] [[package]]
name = "async-stream" name = "async-stream"
version = "0.3.5" version = "0.3.5"
@ -437,9 +448,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.4.2" version = "4.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6" checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -447,9 +458,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.4.2" version = "4.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -459,18 +470,18 @@ dependencies = [
[[package]] [[package]]
name = "clap_complete" name = "clap_complete"
version = "4.4.1" version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4110a1e6af615a9e6d0a36f805d5c99099f8bab9b8042f5bc1fa220a4a89e36f" checksum = "eaf7dcb7c21d8ca1a2482ee0f1d341f437c9a7af6ca6da359dc5e1b164e98215"
dependencies = [ dependencies = [
"clap", "clap",
] ]
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.4.2" version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@ -480,9 +491,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_lex" name = "clap_lex"
version = "0.5.1" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]] [[package]]
name = "classic-mceliece-rust" name = "classic-mceliece-rust"
@ -1166,9 +1177,9 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
[[package]] [[package]]
name = "h2" name = "h2"
version = "0.3.21" version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
dependencies = [ dependencies = [
"bytes", "bytes",
"fnv", "fnv",
@ -1176,7 +1187,7 @@ dependencies = [
"futures-sink", "futures-sink",
"futures-util", "futures-util",
"http", "http",
"indexmap 1.9.3", "indexmap 2.0.0",
"slab", "slab",
"tokio", "tokio",
"tokio-util", "tokio-util",
@ -1213,6 +1224,74 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hickory-proto"
version = "0.24.0"
source = "git+https://github.com/hickory-dns/hickory-dns?rev=9e8f8c67fbcb6d2985503027362a3fb022529802#9e8f8c67fbcb6d2985503027362a3fb022529802"
dependencies = [
"async-recursion",
"async-trait",
"cfg-if",
"data-encoding",
"enum-as-inner",
"futures-channel",
"futures-io",
"futures-util",
"idna 0.5.0",
"ipnet",
"once_cell",
"rand 0.8.5",
"serde",
"thiserror",
"tinyvec",
"tokio",
"tracing",
"url",
]
[[package]]
name = "hickory-resolver"
version = "0.24.0"
source = "git+https://github.com/hickory-dns/hickory-dns?rev=9e8f8c67fbcb6d2985503027362a3fb022529802#9e8f8c67fbcb6d2985503027362a3fb022529802"
dependencies = [
"cfg-if",
"futures-util",
"hickory-proto",
"ipconfig",
"lru-cache",
"once_cell",
"parking_lot",
"rand 0.8.5",
"resolv-conf",
"serde",
"smallvec",
"thiserror",
"tokio",
"tracing",
]
[[package]]
name = "hickory-server"
version = "0.24.0"
source = "git+https://github.com/hickory-dns/hickory-dns?rev=9e8f8c67fbcb6d2985503027362a3fb022529802#9e8f8c67fbcb6d2985503027362a3fb022529802"
dependencies = [
"async-trait",
"bytes",
"cfg-if",
"enum-as-inner",
"futures-util",
"hickory-proto",
"hickory-resolver",
"ipnet",
"prefix-trie",
"serde",
"thiserror",
"time",
"tokio",
"tokio-util",
"tracing",
]
[[package]] [[package]]
name = "hkdf" name = "hkdf"
version = "0.12.3" version = "0.12.3"
@ -1379,6 +1458,16 @@ dependencies = [
"unicode-normalization", "unicode-normalization",
] ]
[[package]]
name = "idna"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
"unicode-bidi",
"unicode-normalization",
]
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "1.9.3" version = "1.9.3"
@ -1470,6 +1559,9 @@ name = "ipnet"
version = "2.8.0" version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
dependencies = [
"serde",
]
[[package]] [[package]]
name = "ipnetwork" name = "ipnetwork"
@ -1817,7 +1909,7 @@ dependencies = [
"chrono", "chrono",
"clap", "clap",
"clap_complete", "clap_complete",
"env_logger 0.10.0", "err-derive",
"futures", "futures",
"itertools", "itertools",
"mullvad-management-interface", "mullvad-management-interface",
@ -2573,6 +2665,16 @@ dependencies = [
"zeroize", "zeroize",
] ]
[[package]]
name = "prefix-trie"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85fe48f29e6e6fcf123d0d03d63028dbe4c4a738023d35d525df4882f4929418"
dependencies = [
"ipnet",
"num-traits",
]
[[package]] [[package]]
name = "prettyplease" name = "prettyplease"
version = "0.2.15" version = "0.2.15"
@ -3197,7 +3299,7 @@ dependencies = [
"cfg-if", "cfg-if",
"futures", "futures",
"hyper", "hyper",
"idna", "idna 0.4.0",
"ipnet", "ipnet",
"iprange", "iprange",
"json5", "json5",
@ -3433,6 +3535,8 @@ dependencies = [
"duct", "duct",
"err-derive", "err-derive",
"futures", "futures",
"hickory-proto",
"hickory-server",
"inotify 0.10.2", "inotify 0.10.2",
"ipnetwork", "ipnetwork",
"jnix", "jnix",
@ -3618,6 +3722,7 @@ dependencies = [
"err-derive", "err-derive",
"ipnetwork", "ipnetwork",
"jnix", "jnix",
"log",
"serde", "serde",
"x25519-dalek", "x25519-dalek",
"zeroize", "zeroize",
@ -3839,9 +3944,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio-util" name = "tokio-util"
version = "0.7.8" version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures-core", "futures-core",
@ -4030,7 +4135,7 @@ dependencies = [
"futures-channel", "futures-channel",
"futures-io", "futures-io",
"futures-util", "futures-util",
"idna", "idna 0.4.0",
"ipnet", "ipnet",
"once_cell", "once_cell",
"rand 0.8.5", "rand 0.8.5",
@ -4201,7 +4306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
dependencies = [ dependencies = [
"form_urlencoded", "form_urlencoded",
"idna", "idna 0.4.0",
"percent-encoding", "percent-encoding",
"serde", "serde",
] ]
@ -4410,6 +4515,15 @@ dependencies = [
"windows-targets 0.48.5", "windows-targets 0.48.5",
] ]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.0",
]
[[package]] [[package]]
name = "windows-targets" name = "windows-targets"
version = "0.42.2" version = "0.42.2"
@ -4440,6 +4554,21 @@ dependencies = [
"windows_x86_64_msvc 0.48.5", "windows_x86_64_msvc 0.48.5",
] ]
[[package]]
name = "windows-targets"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
dependencies = [
"windows_aarch64_gnullvm 0.52.0",
"windows_aarch64_msvc 0.52.0",
"windows_i686_gnu 0.52.0",
"windows_i686_msvc 0.52.0",
"windows_x86_64_gnu 0.52.0",
"windows_x86_64_gnullvm 0.52.0",
"windows_x86_64_msvc 0.52.0",
]
[[package]] [[package]]
name = "windows_aarch64_gnullvm" name = "windows_aarch64_gnullvm"
version = "0.42.2" version = "0.42.2"
@ -4452,6 +4581,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.42.2" version = "0.42.2"
@ -4464,6 +4599,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.42.2" version = "0.42.2"
@ -4476,6 +4617,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.42.2" version = "0.42.2"
@ -4488,6 +4635,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.42.2" version = "0.42.2"
@ -4500,6 +4653,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
version = "0.42.2" version = "0.42.2"
@ -4512,6 +4671,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.42.2" version = "0.42.2"
@ -4524,6 +4689,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.15" version = "0.5.15"

View File

@ -13,7 +13,7 @@ buildGoModule {
sourceRoot = "${mullvad.src.name}/wireguard/libwg"; sourceRoot = "${mullvad.src.name}/wireguard/libwg";
vendorHash = "sha256-MQ5tVbcwMee6lmPyKSsNBh9jrz4zwx7INf1Cb0GxjHo="; vendorHash = "sha256-2hb6+OHifm/oAgXCiYf+nwtNDDZNWR6lAbLSGT3AG0I=";
# XXX: hack to make the ar archive go to the correct place # XXX: hack to make the ar archive go to the correct place
# This is necessary because passing `-o ...` to `ldflags` does not work # This is necessary because passing `-o ...` to `ldflags` does not work
@ -23,13 +23,6 @@ buildGoModule {
ldflags = [ "-s" "-w" "-buildmode=c-archive" ]; ldflags = [ "-s" "-w" "-buildmode=c-archive" ];
patches = [ patches = [
# build broken without wintun reference
# https://github.com/mullvad/mullvadvpn-app/pull/5621
(fetchpatch {
url = "https://github.com/mullvad/mullvadvpn-app/commit/5dff68ac9c8ec26f1a39a7f44e3b684bb0833bf1.patch";
hash = "sha256-bUcDVmrrDblK7OJvHqf627vzVwmmvO2EL+sioAnZGbk=";
relative = "wireguard/libwg";
})
]; ];
postInstall = '' postInstall = ''

View File

@ -17,13 +17,13 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "mullvad"; pname = "mullvad";
version = "2023.6"; version = "2024.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mullvad"; owner = "mullvad";
repo = "mullvadvpn-app"; repo = "mullvadvpn-app";
rev = version; rev = version;
hash = "sha256-O4YnHwG5GUDR7MzGsuLnElcczEct+P+4/Vn/eAoo6/s="; hash = "sha256-syIBYZe+e6i5A6Te51eNKcwwycnRhO1o2tP+z81NYXQ=";
}; };
cargoLock = { cargoLock = {
@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
outputHashes = { outputHashes = {
"nix-0.26.1" = "sha256-b5bLeZVNbJE7aBnyzl0qvo0mXFeXa4hAZiuT1VJiFLk="; "nix-0.26.1" = "sha256-b5bLeZVNbJE7aBnyzl0qvo0mXFeXa4hAZiuT1VJiFLk=";
"udp-over-tcp-0.3.0" = "sha256-5PeaM7/zhux1UdlaKpnQ2yIdmFy1n2weV/ux9lSRha4="; "udp-over-tcp-0.3.0" = "sha256-5PeaM7/zhux1UdlaKpnQ2yIdmFy1n2weV/ux9lSRha4=";
"hickory-proto-0.24.0" = "sha256-IqGVoQ1vRruCcaDr82ARkvSo42Pe9Q6iJIWnSd6GqEg=";
}; };
}; };

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "appflowy"; pname = "appflowy";
version = "0.5.3"; version = "0.5.4";
src = fetchzip { src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz"; url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
hash = "sha256-BFPtT8/DvSsZY1ckrXRZn6F0+pSRRZLoqc638JKUpjQ="; hash = "sha256-gIM4CQvPkQIWvHXYPwr4yiDY1mUuOmubdqkOmHNssVo=";
stripRoot = false; stripRoot = false;
}; };

View File

@ -47,14 +47,14 @@ let
in python.pkgs.buildPythonApplication rec { in python.pkgs.buildPythonApplication rec {
pname = "manim"; pname = "manim";
pyproject = true; pyproject = true;
version = "0.18.0"; version = "0.18.0.post0";
disabled = python3.pythonOlder "3.8"; disabled = python3.pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ManimCommunity"; owner = "ManimCommunity";
repo = "manim"; repo = "manim";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-TI7O0b1JvUZAxTj6XfpAJKhbGqrGnhcrE9eRJUVx4GM="; hash = "sha256-4HwQ74oHloK+1KOD6SzXCzGIDD+Dc0jDabw6/+cqmos=";
}; };
nativeBuildInputs = with python.pkgs; [ nativeBuildInputs = with python.pkgs; [

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "virter"; pname = "virter";
version = "0.26.0"; version = "0.27.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "LINBIT"; owner = "LINBIT";
repo = "virter"; repo = "virter";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Ae7lQveslZ4XqMmnC5mkZOk/8WSLXpmeRjkYUkIaasg="; hash = "sha256-sfO704nZnsSpSokJUwc3ucPBlKIi3cbZUG1dwbKDnFw=";
}; };
vendorHash = "sha256-7aWrY9EMTaJrNd0MTFIMfyUJ67I0LtndqNH0INo/OfA="; vendorHash = "sha256-NmA1rLWSX03zurGZWvXv61TSB9hecEfi7Hx9yi7QL/c=";
ldflags = [ ldflags = [
"-s" "-s"

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "miriway"; pname = "miriway";
version = "unstable-2024-04-02"; version = "unstable-2024-04-04";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Miriway"; owner = "Miriway";
repo = "Miriway"; repo = "Miriway";
rev = "ff58ed8f9f646ce11b5a43f39a03f7a916d8d695"; rev = "add1e0cd695985020328b0d76c91f85cc88207ff";
hash = "sha256-oqBGAAQxYoapCn2uvXFrc8L7P3lCXUCRbWE4q6Mp+oc="; hash = "sha256-Vp9ZbN5lY26t3LhkflapsG84XEy0YQE4Kvxia0VlQyg=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -40,12 +40,11 @@ let
isMultiBuild = multiArch && stdenv.system == "x86_64-linux"; isMultiBuild = multiArch && stdenv.system == "x86_64-linux";
isTargetBuild = !isMultiBuild; isTargetBuild = !isMultiBuild;
# list of packages (usually programs) which are only be installed for the # list of packages (usually programs) which match the host's architecture
# host's architecture # (which includes stuff from multiPkgs)
targetPaths = targetPkgs pkgs ++ (if multiPkgs == null then [] else multiPkgs pkgs); targetPaths = targetPkgs pkgs ++ (if multiPkgs == null then [] else multiPkgs pkgs);
# list of packages which are installed for both x86 and x86_64 on x86_64 # list of packages which are for x86 (only multiPkgs, only for x86_64 hosts)
# systems
multiPaths = multiPkgs pkgsi686Linux; multiPaths = multiPkgs pkgsi686Linux;
# base packages of the chroot # base packages of the chroot
@ -76,8 +75,8 @@ let
]; ];
ldconfig = writeShellScriptBin "ldconfig" '' ldconfig = writeShellScriptBin "ldconfig" ''
# due to a glibc bug, 64-bit ldconfig complains about patchelf'd 32-bit libraries, so we're using 32-bit ldconfig # due to a glibc bug, 64-bit ldconfig complains about patchelf'd 32-bit libraries, so we use 32-bit ldconfig when we have them
exec ${if stdenv.system == "x86_64-linux" then pkgsi686Linux.glibc.bin else pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@" exec ${if isMultiBuild then pkgsi686Linux.glibc.bin else pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@"
''; '';
etcProfile = writeText "profile" '' etcProfile = writeText "profile" ''
@ -251,7 +250,7 @@ let
in runCommandLocal "${name}-fhs" { in runCommandLocal "${name}-fhs" {
passthru = { passthru = {
inherit args baseTargetPaths targetPaths baseMultiPaths ldconfig; inherit args baseTargetPaths targetPaths baseMultiPaths ldconfig isMultiBuild;
}; };
} '' } ''
mkdir -p $out mkdir -p $out

View File

@ -252,7 +252,7 @@ let
--symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \ --symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \
--ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \ --ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \
--remount-ro ${glibc}/etc \ --remount-ro ${glibc}/etc \
'' + optionalString (stdenv.isx86_64 && stdenv.isLinux) (indentLines '' '' + optionalString fhsenv.isMultiBuild (indentLines ''
--tmpfs ${pkgsi686Linux.glibc}/etc \ --tmpfs ${pkgsi686Linux.glibc}/etc \
--symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \ --symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \
--symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \ --symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \

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