Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-04-25 00:12:47 +00:00 committed by GitHub
commit fb0227e822
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
300 changed files with 9008 additions and 4091 deletions

View File

@ -16,13 +16,6 @@ on:
# so it shouldn't be a problem # so it shouldn't be a problem
types: [opened, synchronize, reopened, edited] types: [opened, synchronize, reopened, edited]
# Create a check-by-name concurrency group based on the branch name. if a new
# commit is pushed to the main branch while a previous run is still in progress,
# the previous run will be cancelled and the new one will start.
concurrency:
group: check-by-name-${{ github.ref }}
cancel-in-progress: true
permissions: permissions:
# We need this permission to cancel the workflow run if there's a merge conflict # We need this permission to cancel the workflow run if there's a merge conflict
actions: write actions: write
@ -46,7 +39,7 @@ jobs:
# https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests # https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
# Retry the API query this many times # Retry the API query this many times
retryCount=3 retryCount=5
# Start with 5 seconds, but double every retry # Start with 5 seconds, but double every retry
retryInterval=5 retryInterval=5
while true; do while true; do

View File

@ -512,6 +512,7 @@ To get a sense for what changes are considered mass rebuilds, see [previously me
- Check for unnecessary whitespace with `git diff --check` before committing. - Check for unnecessary whitespace with `git diff --check` before committing.
- If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`. - If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
See [Squashing Commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing) for additional information.
- For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message). - For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).

View File

@ -6,7 +6,11 @@ It uses Linux' namespaces feature to create temporary lightweight environments w
Accepted arguments are: Accepted arguments are:
- `name` - `name`
The name of the environment and the wrapper executable. The name of the environment, and the wrapper executable if `pname` is unset.
- `pname`
The pname of the environment and the wrapper executable.
- `version`
The version of the environment.
- `targetPkgs` - `targetPkgs`
Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed. Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed.
- `multiPkgs` - `multiPkgs`

View File

@ -9897,6 +9897,11 @@
github = "jpagex"; github = "jpagex";
githubId = 635768; githubId = 635768;
}; };
jpaju = {
name = "Jaakko Paju";
github = "jpaju";
githubId = 36770267;
};
jpas = { jpas = {
name = "Jarrod Pas"; name = "Jarrod Pas";
email = "jarrod@jarrodpas.com"; email = "jarrod@jarrodpas.com";
@ -16407,6 +16412,16 @@
githubId = 4579165; githubId = 4579165;
name = "Danny Bautista"; name = "Danny Bautista";
}; };
pyrox0 = {
name = "Pyrox";
email = "pyrox@pyrox.dev";
matrix = "@pyrox:pyrox.dev";
github = "pyrox0";
githubId = 35778371;
keys = [{
fingerprint = "4CA9 72FB ADC8 1416 0F10 3138 FE1D 8A7D 620C 611F";
}];
};
pyxels = { pyxels = {
email = "pyxels.dev@gmail.com"; email = "pyxels.dev@gmail.com";
github = "Pyxels"; github = "Pyxels";
@ -20018,16 +20033,6 @@
github = "thefossguy"; github = "thefossguy";
githubId = 44400303; githubId = 44400303;
}; };
thehedgeh0g = {
name = "The Hedgehog";
email = "hedgehog@mrhedgehog.xyz";
matrix = "@mrhedgehog:jupiterbroadcasting.com";
github = "pyrox0";
githubId = 35778371;
keys = [{
fingerprint = "38A0 29B0 4A7E 4C13 A4BB 86C8 7D51 0786 6B1C 6752";
}];
};
thekostins = { thekostins = {
name = "Konstantin"; name = "Konstantin";
email = "anisimovkosta19@gmail.com"; email = "anisimovkosta19@gmail.com";

View File

@ -5,7 +5,7 @@ let
trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y); trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y);
rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" "xbursttools" ]; rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ];
# Add the recurseForDerivations attribute to ensure that # Add the recurseForDerivations attribute to ensure that
# nix-instantiate recurses into nested attribute sets. # nix-instantiate recurses into nested attribute sets.

View File

@ -208,6 +208,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `cudaPackages.autoFixElfFiles` has been deprecated for `pkgs.autoFixElfFiles`. Functionality has not changed, but the setuphook has been renamed and moved to the top-level package scope. - `cudaPackages.autoFixElfFiles` has been deprecated for `pkgs.autoFixElfFiles`. Functionality has not changed, but the setuphook has been renamed and moved to the top-level package scope.
- `appimageTools.wrapAppImage` now create the binary at `$out/bin/${pname}` rather than `$out/bin/${pname}-${version}`, which will break downstream workarounds.
- `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details. - `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details.
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information. - `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
@ -399,6 +401,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
upgrade NetBox by changing `services.netbox.package`. Database migrations upgrade NetBox by changing `services.netbox.package`. Database migrations
will be run automatically. will be run automatically.
- `gauge` now supports installing plugins using nix. For the old imperative approach, switch to `gauge-unwrapped`.
You can load plugins from an existing gauge manifest file using `gauge.fromManifest ./path/to/manifest.json` or
specify plugins in nix using `gauge.withPlugins (p: with p; [ js html-report xml-report ])`.
- `firefox-devedition`, `firefox-beta`, `firefox-esr` executable file names for now match their package names, which is consistent with the `firefox-*-bin` packages. The desktop entries are also updated so that you can have multiple editions of firefox in your app launcher. - `firefox-devedition`, `firefox-beta`, `firefox-esr` executable file names for now match their package names, which is consistent with the `firefox-*-bin` packages. The desktop entries are also updated so that you can have multiple editions of firefox in your app launcher.
- switch-to-configuration does not directly call systemd-tmpfiles anymore. - switch-to-configuration does not directly call systemd-tmpfiles anymore.
@ -491,6 +497,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `boot.initrd.network.ssh.authorizedKeyFiles` is a new option in the initrd ssh daemon module, for adding authorized keys via list of files. - `boot.initrd.network.ssh.authorizedKeyFiles` is a new option in the initrd ssh daemon module, for adding authorized keys via list of files.
- `appimage`, `appimageTools.wrapAppImage` and `buildFHSEnvBubblewrap` now properly accepts `pname` and `version`.
- Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles. - Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles.
The `nimPackages` and `nim2Packages` sets have been removed. The `nimPackages` and `nim2Packages` sets have been removed.
See https://nixos.org/manual/nixpkgs/unstable#nim for more information. See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
@ -625,7 +633,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS). - QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform. The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
- The `drbd` out-of-tree Linux kernel driver has been added in version `9.2.7`. With it the DRBD 9.x features can be used instead of the 8.x features provided by the `8.4.11` in-tree driver. - The `drbd` out-of-tree Linux kernel driver has been added in version `9.2`. With it the DRBD 9.x features can be used instead of the 8.x features provided by the `8.4.11` in-tree driver.
- The oil shell's c++ version is now available as `oils-for-unix`. The python version is still available as `oil` - The oil shell's c++ version is now available as `oils-for-unix`. The python version is still available as `oil`

View File

@ -366,44 +366,3 @@ convenient if you regularly edit Nix files.
You can use `woman` to get completion of all available You can use `woman` to get completion of all available
man pages. For example, type `M-x woman <RET> nixos-rebuild <RET>.` man pages. For example, type `M-x woman <RET> nixos-rebuild <RET>.`
### Editing DocBook 5 XML Documents {#sec-emacs-docbook-xml}
Emacs includes
[nXML](https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html),
a major-mode for validating and editing XML documents. When editing DocBook
5.0 documents, such as [this one](#book-nixos-manual),
nXML needs to be configured with the relevant schema, which is not
included.
To install the DocBook 5.0 schemas, either add
{var}`pkgs.docbook5` to [](#opt-environment.systemPackages)
([NixOS](#sec-declarative-package-mgmt)), or run
`nix-env -f '<nixpkgs>' -iA docbook5`
([Nix](#sec-ad-hoc-packages)).
Then customize the variable {var}`rng-schema-locating-files` to
include {file}`~/.emacs.d/schemas.xml` and put the following
text into that file:
::: {.example #ex-emacs-docbook-xml}
### nXML Schema Configuration (`~/.emacs.d/schemas.xml`)
```xml
<?xml version="1.0"?>
<!--
To let emacs find this file, evaluate:
(add-to-list 'rng-schema-locating-files "~/.emacs.d/schemas.xml")
-->
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<!--
Use this variation if pkgs.docbook5 is added to environment.systemPackages
-->
<namespace ns="http://docbook.org/ns/docbook"
uri="/run/current-system/sw/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
<!--
Use this variation if installing schema with "nix-env -iA pkgs.docbook5".
<namespace ns="http://docbook.org/ns/docbook"
uri="../.nix-profile/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
-->
</locatingRules>
```
:::

View File

@ -63,6 +63,7 @@ in
DynamicUser = true; DynamicUser = true;
LockPersonality = true; LockPersonality = true;
MemoryDenyWriteExecute = true; MemoryDenyWriteExecute = true;
Restart = "on-failure";
RestrictAddressFamilies = [ RestrictAddressFamilies = [
"AF_INET" "AF_INET"
"AF_INET6" "AF_INET6"

View File

@ -247,14 +247,15 @@ in
(mkIf (cfg.database.host == "localhost") { (mkIf (cfg.database.host == "localhost") {
requires = [ "postgresql.service" ]; requires = [ "postgresql.service" ];
after = [ "postgresql.service" ]; after = [ "postgresql.service" ];
path = [ config.services.postgresql.package ];
}) })
{ {
wants = [ "network-online.target" ]; wants = [ "network-online.target" ];
after = [ "network-online.target" ]; after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ config.services.postgresql.package ];
script = let script = let
psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} ${pkgs.postgresql}/bin/psql ${lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} "} ${cfg.database.dbname}"; psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} psql ${lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} "} ${cfg.database.dbname}";
in in
'' ''
version="$(${psql} -t <<< "select value from system where name = 'roundcube-version';" || true)" version="$(${psql} -t <<< "select value from system where name = 'roundcube-version';" || true)"

View File

@ -722,5 +722,5 @@ in
timerConfig.OnCalendar = cfg.dump.interval; timerConfig.OnCalendar = cfg.dump.interval;
}; };
}; };
meta.maintainers = with lib.maintainers; [ srhb ma27 thehedgeh0g ]; meta.maintainers = with lib.maintainers; [ srhb ma27 pyrox0 ];
} }

View File

@ -53,15 +53,14 @@ in {
Slice = "system-rustdesk.slice"; Slice = "system-rustdesk.slice";
User = "rustdesk"; User = "rustdesk";
Group = "rustdesk"; Group = "rustdesk";
DynamicUser = "yes";
Environment = []; Environment = [];
WorkingDirectory = "/var/lib/rustdesk"; WorkingDirectory = "/var/lib/rustdesk";
StateDirectory = "rustdesk"; StateDirectory = "rustdesk";
StateDirectoryMode = "0750"; StateDirectoryMode = "0750";
LockPersonality = true; LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = true; PrivateDevices = true;
PrivateMounts = true; PrivateMounts = true;
PrivateTmp = true;
PrivateUsers = true; PrivateUsers = true;
ProtectClock = true; ProtectClock = true;
ProtectControlGroups = true; ProtectControlGroups = true;
@ -71,10 +70,7 @@ in {
ProtectKernelModules = true; ProtectKernelModules = true;
ProtectKernelTunables = true; ProtectKernelTunables = true;
ProtectProc = "invisible"; ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictNamespaces = true; RestrictNamespaces = true;
RestrictSUIDSGID = true;
}; };
}; };
in lib.mkIf cfg.enable { in lib.mkIf cfg.enable {

View File

@ -346,6 +346,7 @@ in
violates the privacy of users and is not recommended. violates the privacy of users and is not recommended.
''; '';
}; };
UsePAM = mkEnableOption "PAM authentication" // { default = true; };
UseDns = mkOption { UseDns = mkOption {
type = types.bool; type = types.bool;
# apply if cfg.useDns then "yes" else "no" # apply if cfg.useDns then "yes" else "no"
@ -489,6 +490,8 @@ in
{manpage}`sshd_config(5)` for details. {manpage}`sshd_config(5)` for details.
''; '';
}; };
# Disabled by default, since pam_motd handles this.
PrintMotd = mkEnableOption "printing /etc/motd when a user logs in interactively";
}; };
}); });
}; };
@ -622,7 +625,7 @@ in
networking.firewall.allowedTCPPorts = optionals cfg.openFirewall cfg.ports; networking.firewall.allowedTCPPorts = optionals cfg.openFirewall cfg.ports;
security.pam.services.sshd = security.pam.services.sshd = lib.mkIf cfg.settings.UsePAM
{ startSession = true; { startSession = true;
showMotd = true; showMotd = true;
unixAuth = cfg.settings.PasswordAuthentication; unixAuth = cfg.settings.PasswordAuthentication;
@ -638,8 +641,6 @@ in
services.openssh.extraConfig = mkOrder 0 services.openssh.extraConfig = mkOrder 0
'' ''
UsePAM yes
Banner ${if cfg.banner == null then "none" else pkgs.writeText "ssh_banner" cfg.banner} Banner ${if cfg.banner == null then "none" else pkgs.writeText "ssh_banner" cfg.banner}
AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"} AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}
@ -657,7 +658,6 @@ in
${optionalString cfg.allowSFTP '' ${optionalString cfg.allowSFTP ''
Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags} Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
''} ''}
PrintMotd no # handled by pam_motd
AuthorizedKeysFile ${toString cfg.authorizedKeysFiles} AuthorizedKeysFile ${toString cfg.authorizedKeysFiles}
${optionalString (cfg.authorizedKeysCommand != "none") '' ${optionalString (cfg.authorizedKeysCommand != "none") ''
AuthorizedKeysCommand ${cfg.authorizedKeysCommand} AuthorizedKeysCommand ${cfg.authorizedKeysCommand}

View File

@ -131,21 +131,13 @@ in {
Additional environment file as defined in {manpage}`systemd.exec(5)`. Additional environment file as defined in {manpage}`systemd.exec(5)`.
Secrets like {env}`ADMIN_TOKEN` and {env}`SMTP_PASSWORD` Secrets like {env}`ADMIN_TOKEN` and {env}`SMTP_PASSWORD`
may be passed to the service without adding them to the world-readable Nix store. should be passed to the service without adding them to the world-readable Nix store.
Note that this file needs to be available on the host on which Note that this file needs to be available on the host on which `vaultwarden` is running.
`vaultwarden` is running.
As a concrete example, to make the Admin UI available As a concrete example, to make the Admin UI available (from which new users can be invited initially),
(from which new users can be invited initially),
the secret {env}`ADMIN_TOKEN` needs to be defined as described the secret {env}`ADMIN_TOKEN` needs to be defined as described
[here](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page). [here](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page):
Setting `environmentFile` to `/var/lib/vaultwarden.env`
and ensuring permissions with e.g.
`chown vaultwarden:vaultwarden /var/lib/vaultwarden.env`
(the `vaultwarden` user will only exist after activating with
`enable = true;` before this), we can set the contents of the file to have
contents such as:
``` ```
# Admin secret token, see # Admin secret token, see

View File

@ -22,6 +22,19 @@ in {
]; ];
}; };
server-allowed-users =
{ ... }:
{
services.openssh = { enable = true; settings.AllowUsers = [ "alice" "bob" ]; };
users.groups = { alice = { }; bob = { }; carol = { }; };
users.users = {
alice = { isNormalUser = true; group = "alice"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
bob = { isNormalUser = true; group = "bob"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
carol = { isNormalUser = true; group = "carol"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
};
};
server-lazy = server-lazy =
{ ... }: { ... }:
@ -95,17 +108,21 @@ in {
}; };
}; };
server_allowedusers = server-no-pam =
{ ... }: { pkgs, ... }:
{ {
services.openssh = { enable = true; settings.AllowUsers = [ "alice" "bob" ]; }; programs.ssh.package = pkgs.opensshPackages.openssh.override {
users.groups = { alice = { }; bob = { }; carol = { }; }; withPAM = false;
users.users = {
alice = { isNormalUser = true; group = "alice"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
bob = { isNormalUser = true; group = "bob"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
carol = { isNormalUser = true; group = "carol"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
}; };
services.openssh = {
enable = true;
settings = {
UsePAM = false;
};
};
users.users.root.openssh.authorizedKeys.keys = [
snakeOilPublicKey
];
}; };
client = client =
@ -119,8 +136,10 @@ in {
start_all() start_all()
server.wait_for_unit("sshd", timeout=30) server.wait_for_unit("sshd", timeout=30)
server_allowed_users.wait_for_unit("sshd", timeout=30)
server_localhost_only.wait_for_unit("sshd", timeout=30) server_localhost_only.wait_for_unit("sshd", timeout=30)
server_match_rule.wait_for_unit("sshd", timeout=30) server_match_rule.wait_for_unit("sshd", timeout=30)
server_no_pam.wait_for_unit("sshd", timeout=30)
server_lazy.wait_for_unit("sshd.socket", timeout=30) server_lazy.wait_for_unit("sshd.socket", timeout=30)
server_localhost_only_lazy.wait_for_unit("sshd.socket", timeout=30) server_localhost_only_lazy.wait_for_unit("sshd.socket", timeout=30)
@ -166,8 +185,9 @@ in {
"cat ${snakeOilPrivateKey} > privkey.snakeoil" "cat ${snakeOilPrivateKey} > privkey.snakeoil"
) )
client.succeed("chmod 600 privkey.snakeoil") client.succeed("chmod 600 privkey.snakeoil")
# The final segment in this IP is allocated according to the alphabetical order of machines in this test.
client.succeed( client.succeed(
"ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.4 true", "ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.5 true",
timeout=30 timeout=30
) )
@ -198,15 +218,25 @@ in {
) )
client.succeed("chmod 600 privkey.snakeoil") client.succeed("chmod 600 privkey.snakeoil")
client.succeed( client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil alice@server_allowedusers true", "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil alice@server-allowed-users true",
timeout=30 timeout=30
) )
client.succeed( client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil bob@server_allowedusers true", "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil bob@server-allowed-users true",
timeout=30 timeout=30
) )
client.fail( client.fail(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil carol@server_allowedusers true", "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil carol@server-allowed-users true",
timeout=30
)
with subtest("no-pam"):
client.succeed(
"cat ${snakeOilPrivateKey} > privkey.snakeoil"
)
client.succeed("chmod 600 privkey.snakeoil")
client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server-no-pam true",
timeout=30 timeout=30
) )
''; '';

View File

@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
extraInstallCommands = extraInstallCommands =
let contents = appimageTools.extract { inherit pname version src; }; let contents = appimageTools.extract { inherit pname version src; };
in '' in ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
source "${makeWrapper}/nix-support/setup-hook" source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \ wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"

View File

@ -17,8 +17,6 @@ appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
mkdir -p $out/share/${pname} mkdir -p $out/share/${pname}
cp -a ${appimageContents}/{locales,resources} $out/share/${pname} cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/usr/share/icons $out/share/ cp -a ${appimageContents}/usr/share/icons $out/share/

View File

@ -21,10 +21,6 @@ appimageTools.wrapType2 {
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share cp -r ${appimageContents}/usr/share/icons $out/share
# unless linked, the binary is placed in $out/bin/nuclear-someVersion
# link it to $out/bin/nuclear
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
''; '';
meta = with lib; { meta = with lib; {

View File

@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ]; extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
extraInstallCommands = '' extraInstallCommands = ''
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
install -m 444 -D ${appimageContents}/plexamp.png \ install -m 444 -D ${appimageContents}/plexamp.png \
$out/share/icons/hicolor/512x512/apps/plexamp.png $out/share/icons/hicolor/512x512/apps/plexamp.png

View File

@ -6,13 +6,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "pyradio"; pname = "pyradio";
version = "0.9.3.2"; version = "0.9.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coderholic"; owner = "coderholic";
repo = "pyradio"; repo = "pyradio";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-aIWU68bdPUsIh8QRNnF0NcK7FemmYyUHbJg9KcUALBk="; hash = "sha256-QifBzQsvYU5kP5mnidOgWGBh3h2MvJm8Wo0i1v6j/cU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -16,8 +16,6 @@ appimageTools.wrapType2 rec {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}' --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
@ -33,4 +31,3 @@ appimageTools.wrapType2 rec {
mainProgram = "sonixd"; mainProgram = "sonixd";
}; };
} }

View File

@ -5,7 +5,6 @@
, meson , meson
, ninja , ninja
, gettext , gettext
, python3
, desktop-file-utils , desktop-file-utils
, cargo , cargo
, rustPlatform , rustPlatform
@ -19,23 +18,25 @@
, alsa-lib , alsa-lib
, libpulseaudio , libpulseaudio
, wrapGAppsHook4 , wrapGAppsHook4
, blueprint-compiler
, gst_all_1
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "spot"; pname = "spot";
version = "0.4.0"; version = "0.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xou816"; owner = "xou816";
repo = "spot"; repo = "spot";
rev = version; rev = version;
hash = "sha256-K6wGWhAUUGsbE4O+z0TmJcJyGarvHgZteY527jfAa90="; hash = "sha256-F875e/VZyN8mTfe9lgjtILNxMqn+66XoPCdaEUagHyU=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-eM2XLumn4dr2YtyUzBZJADlqdexc1iOaNJUudMlfSUc="; hash = "sha256-45Rqs2/tSWoyZVjFuygR5SxldjoqpprtOKEnMqJK+p8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -43,7 +44,6 @@ stdenv.mkDerivation rec {
meson meson
ninja ninja
pkg-config pkg-config
python3 # for meson postinstall script
gtk4 # for gtk-update-icon-cache gtk4 # for gtk-update-icon-cache
glib # for glib-compile-schemas glib # for glib-compile-schemas
desktop-file-utils desktop-file-utils
@ -51,6 +51,7 @@ stdenv.mkDerivation rec {
rustPlatform.cargoSetupHook rustPlatform.cargoSetupHook
rustc rustc
wrapGAppsHook4 wrapGAppsHook4
blueprint-compiler
]; ];
buildInputs = [ buildInputs = [
@ -61,18 +62,13 @@ stdenv.mkDerivation rec {
openssl openssl
alsa-lib alsa-lib
libpulseaudio libpulseaudio
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
]; ];
# https://github.com/xou816/spot/issues/313 # https://github.com/xou816/spot/issues/313
mesonBuildType = "release"; mesonBuildType = "release";
postPatch = ''
chmod +x build-aux/cargo.sh
patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py
substituteInPlace build-aux/meson/postinstall.py \
--replace gtk-update-icon-cache gtk4-update-icon-cache
'';
passthru = { passthru = {
updateScript = nix-update-script { }; updateScript = nix-update-script { };
}; };
@ -82,7 +78,7 @@ stdenv.mkDerivation rec {
mainProgram = "spot"; mainProgram = "spot";
homepage = "https://github.com/xou816/spot"; homepage = "https://github.com/xou816/spot";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ msfjarvis ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -21,20 +21,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pika-backup"; pname = "pika-backup";
version = "0.7.0"; version = "0.7.1";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
owner = "World"; owner = "World";
repo = "pika-backup"; repo = "pika-backup";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-WeFc/4TEIxw6uzLroJX1D/rEA419sghkjBt1nsPv2Ho="; hash = "sha256-yxr98CJuu15TGiIXCBhU2bOgvct6jQ5xAraD9Z0sL2Q=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-fgPgUZxye9YUyX9/+hTye3cUypgRAegZMUTKfPxVH4s="; hash = "sha256-ce8SdBvRdFp1BU9OPcByoJjCiSrAkQqtmfCeJ3B+Piw=";
}; };
patches = [ patches = [

View File

@ -3,19 +3,17 @@
let let
pname = "chain-desktop-wallet"; pname = "chain-desktop-wallet";
version = "0.1.1"; version = "0.1.1";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${name}-x86_64.AppImage"; url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356"; sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; }; appimageContents = appimageTools.extractType2 { inherit pname version src; };
in appimageTools.wrapType2 rec { in appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png ${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png
install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png

View File

@ -16,7 +16,6 @@ appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop
install -m 444 -D ${appimageContents}/frame.png \ install -m 444 -D ${appimageContents}/frame.png \
$out/share/icons/hicolor/512x512/apps/frame.png $out/share/icons/hicolor/512x512/apps/frame.png

View File

@ -17,7 +17,6 @@ appimageTools.wrapType2 rec {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png

View File

@ -5,7 +5,6 @@ let
pname = "MyCrypto"; pname = "MyCrypto";
version = "1.7.17"; version = "1.7.17";
sha256 = "20eb48989b5ae5e60e438eff6830ac79a0d89ac26dff058097260e747e866444"; # Taken from release's checksums.txt.gpg sha256 = "20eb48989b5ae5e60e438eff6830ac79a0d89ac26dff058097260e747e866444"; # Taken from release's checksums.txt.gpg
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage"; url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage";
@ -13,7 +12,7 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -26,14 +25,12 @@ let
}; };
in appimageTools.wrapType2 rec { in appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
multiArch = false; # no p32bit needed multiArch = false; # no p32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${name},${pname}}
mkdir -p $out/share mkdir -p $out/share
cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
chmod -R +w $out/share chmod -R +w $out/share

View File

@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
extraInstallCommands = extraInstallCommands =
let contents = appimageTools.extract { inherit pname version src; }; let contents = appimageTools.extract { inherit pname version src; };
in '' in ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${contents}/zecwallet-lite.desktop -t $out/share/applications install -m 444 -D ${contents}/zecwallet-lite.desktop -t $out/share/applications
substituteInPlace $out/share/applications/zecwallet-lite.desktop \ substituteInPlace $out/share/applications/zecwallet-lite.desktop \
--replace 'Exec=AppRun' "Exec=$out/bin/zecwallet-lite" --replace 'Exec=AppRun' "Exec=$out/bin/zecwallet-lite"

View File

@ -19,7 +19,6 @@ appimageTools.wrapType2 rec {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share cp -r ${appimageContents}/usr/share/icons $out/share
substituteInPlace $out/share/applications/${pname}.desktop --replace 'Exec=AppRun' 'Exec=${pname}' substituteInPlace $out/share/applications/${pname}.desktop --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -13,11 +13,11 @@
let let
platform_major = "4"; platform_major = "4";
platform_minor = "30"; platform_minor = "31";
year = "2023"; year = "2024";
month = "12"; #release month month = "03"; #release month
buildmonth = "12"; #sometimes differs from release month buildmonth = "02"; #sometimes differs from release month
timestamp = "${year}${buildmonth}010110"; timestamp = "${year}${buildmonth}290520";
gtk = gtk3; gtk = gtk3;
arch = if stdenv.hostPlatform.isx86_64 then arch = if stdenv.hostPlatform.isx86_64 then
"x86_64" "x86_64"
@ -43,8 +43,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-a5GqbghNlyvU/S36NcFSel1GRf/vZp01aaCxAswqyng="; x86_64 = "sha256-lZtU/IUNx2tc6TwCFQ5WS7cO/Gui2JpeknnL+Z/mBow=";
aarch64 = "sha256-w2bzolYBA4bf4kfcPza0LDLViKqXQkbZR07STN94nrY="; aarch64 = "sha256-iIUOiFp0uLOzwdqBV1txRhliaE2l1kbhGv1F6h0WO+w=";
}.${arch}; }.${arch};
}; };
}; };
@ -58,8 +58,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-U9CMwcDZP1ptnc+C7gTfTOcyppe7r6RtgPp65b3A7Qk="; x86_64 = "sha256-gdtDI9A+sUDAFsyqEmXuIkqgd/v1WF+Euj0TSWwjeL4=";
aarch64 = "sha256-wuh6IZtRPDNJAVcfukFjZfuOVJgfj2zI616YNDnRgWM="; aarch64 = "sha256-kYa+8E5KLqHdumBQiIom3eG5rM/9TFZlJyyc7HpySes=";
}.${arch}; }.${arch};
}; };
}; };
@ -73,8 +73,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-c/dd/3PzTSnrtaa2gNw+crdNu/xA428hYr8YNeBSEyw="; x86_64 = "sha256-5g4CAX2mu1i6aMqmbgy4R3Npk1IC/W73FrIZAQwgGCc=";
aarch64 = "sha256-tF6o3NpFNxXALf2UA8tLzFhqYe46cI2swvym8vDSxNI="; aarch64 = "sha256-KcfybNDyGglULKF3HF5v50mBs69FFryCMZ+oBtjBFiw=";
}.${arch}; }.${arch};
}; };
}; };
@ -88,8 +88,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-h1d0LTBKBKcYxeLr0QEK7VG3q8cKeHQPaKzoPU6qlkI="; x86_64 = "sha256-yRJWSEg0TVWpgQBSS+y8/YrjdU3PSvJoruEUwjZcrLc=";
aarch64 = "sha256-nCkNNmL924I8Q6wjAmik7d3K4T4j0/Biyr4d9Y0KfSg="; aarch64 = "sha256-Czm8nYAkVqS8gaowDp1LrJ31iE32d6klT6JvHekL52c=";
}.${arch}; }.${arch};
}; };
}; };
@ -103,8 +103,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-FbcSbDFyjx2uG0T844cBwAdaBZc2k/c4aogsCVYI7+E="; x86_64 = "sha256-PIvJeITqftd9eHhfbF+R+SQ+MXp4OmM5xi8ZDdUvXaI=";
aarch64 = "sha256-COQipICwcM7+gbpiD/G31bsW+9NDz8wt+HyY6FFkKos="; aarch64 = "sha256-C04AICPcb9foEai3Nk4S4zxQ3oUv+i2tckwqDscpx7I=";
}.${arch}; }.${arch};
}; };
}; };
@ -135,8 +135,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-3UfaIwUpgD+VWB7Ar5by78zldqmrlg9csINkre+m8i0="; x86_64 = "sha256-omsAZSlCvggTjoAPQt0oGqRUZwyt5H2LswGpFt88L+I=";
aarch64 = "sha256-5wIlnTItwEstUHitlVPIxY7ayvxV4yI/8ID8WQ3mnDI="; aarch64 = "sha256-wcrYVlL5x+Wve2MAgnEFQ4H3a/gc2y8Fr5TmwHU9p6A=";
}.${arch}; }.${arch};
}; };
}; };
@ -150,8 +150,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-Cf2jrNjakRteGO/W18oneE9EDM3VLyi/lIafgffprUc="; x86_64 = "sha256-8WqHFLywYQXtzUGxBVstxGqVU55WHoApZnyZ6ur4XgU=";
aarch64 = "sha256-j0i1k3fHQ/+P5y6aRKUZM8uBQJOLweDtkjneqlx/kuQ="; aarch64 = "sha256-GlD0ykJbwdbzh1K3XQQ79yBhCJQUlmt2v8c2OMYNWp4=";
}.${arch}; }.${arch};
}; };
}; };
@ -165,8 +165,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-pN+x63J8+GhGmfsdzLknJXWCnvhS8VeLizmyqWM8XUA="; x86_64 = "sha256-K2uo2VVL6rP9kxicJRLzsJiOFKloLD0vInSon8JsUWg=";
aarch64 = "sha256-QVW2nx5P6mkj4oJ1qHs5D2TZBuBuxayhiJHh0VgAghU="; aarch64 = "sha256-qeEQTlFeWBag6SLXoatDeviR/NG8EcTi6VyUo9P6STM=";
}.${arch}; }.${arch};
}; };
}; };
@ -180,8 +180,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-Qj9Omc3+HP3twF0evhkRKE8PH/i4+eGtnkfjUu9+lY4="; x86_64 = "sha256-Ko4NCU9jbkjAWY7Ky5tPlhXOnzkpY4GjPi6Z0CBmzzc=";
aarch64 = "sha256-DqkwHyEbttFBA9HM3GdqxxZNjCiKf6gS7KNQYIUBAGE="; aarch64 = "sha256-RBT+xwdQcJh+YgsuCPTWy9MM2y45bhIF9DttPm6Qz+Q=";
}.${arch}; }.${arch};
}; };
}; };
@ -195,8 +195,8 @@ in rec {
fetchurl { fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = { hash = {
x86_64 = "sha256-zhQU7hSF3KWJ0Q2TRzvGhL76Mxhhh/HS/wT/ahkFHXk="; x86_64 = "sha256-dWwDv8cfUxnU/24ASYLvSTbS3xV5ugG98jYMhAXTfS8=";
aarch64 = "sha256-XSqWx1V0XjtuYbZlRcJf7Xu1yL1VazT5Z/BcGkkXzb8="; aarch64 = "sha256-+bAKFZ4u5PvCdC4Ifj5inppWb6C8wh0tar66qryx76o=";
}.${arch}; }.${arch};
}; };
}; };

View File

@ -4,21 +4,21 @@
, acm , acm
, popon , popon
, writeText , writeText
, unstableGitUpdater , writeScript
}: }:
let let
rev = "0dbbd7f401da1bedd1a9146df6127233d601435b"; rev = "1851d8fa2a27d3fd8deeeb29cd21c3002b8351ba";
in in
melpaBuild { melpaBuild {
pname = "acm-terminal"; pname = "acm-terminal";
version = "20230601.1326"; # 13:26 UTC version = "20231206.1141";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "twlz0ne"; owner = "twlz0ne";
repo = "acm-terminal"; repo = "acm-terminal";
inherit rev; inherit rev;
sha256 = "sha256-Opouy9A6z0YUT1zxZq1yHx+r/hwNE93JDwfa1fMWNgc="; sha256 = "sha256-EYhFrOo0j0JSNTdcZCbyM0iLxaymUXi1u6jZy8lTOaY=";
}; };
commit = rev; commit = rev;
@ -32,7 +32,19 @@ melpaBuild {
(acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github) (acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github)
''; '';
passthru.updateScript = unstableGitUpdater { }; passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts coreutils git gnused
set -eu -o pipefail
tmpdir="$(mktemp -d)"
git clone --depth=1 https://github.com/twlz0ne/acm-terminal.git "$tmpdir"
pushd "$tmpdir"
commit=$(git show -s --pretty='format:%H')
# Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
popd
update-source-version emacsPackages.acm-terminal $version --rev="$commit"
'';
meta = with lib; { meta = with lib; {
description = "Patch for LSP bridge acm on Terminal"; description = "Patch for LSP bridge acm on Terminal";

View File

@ -1,21 +1,26 @@
{ lib, melpaBuild, fetchurl, writeText }: {
lib,
melpaBuild,
fetchzip,
writeText,
}:
melpaBuild rec { melpaBuild rec {
pname = "ebuild-mode"; pname = "ebuild-mode";
version = "1.67"; version = "1.70";
src = fetchurl { src = fetchzip {
url = "https://dev.gentoo.org/~ulm/emacs/ebuild-mode-${version}.tar.xz"; url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
hash = "sha256-5qxHpu1BLtI8LFnL/sAoqmo80zeyElxIdFtAsfMefUE="; hash = "sha256-dOm3xJMFLelwcImIwckeQHx1GqV9PB+I45QA9UT1nCM=";
}; };
# not used but needs to be set; why? # not used but needs to be set; why?
commit = "e7b45096283ac8836f208babddfd1ea1c1d1d1d"; commit = "a643f177b58aa8869f2f24814e990320aa4f0f96";
recipe = writeText "recipe" '' recipe = writeText "recipe" ''
(ebuild-mode (ebuild-mode
:url "https://anongit.gentoo.org/git/proj/ebuild-mode.git" :url "https://gitweb.gentoo.org/proj/ebuild-mode.git"
:fetcher git) :fetcher git)
''; '';
meta = { meta = {

View File

@ -1,257 +0,0 @@
--- a/build.xml 2015-02-04 08:47:37.000000000 +0100
+++ b/build.xml 2015-02-17 14:06:42.455283148 +0100
@@ -43,16 +43,6 @@
<property name="textAreaPackage"
location="../textarea"/>
- <!-- Ivy Properties -->
- <property name="config.ivy.version"
- value="2.2.0"/>
- <property name="ivy.jar.dir"
- location="${lib.dir}/ivy"/>
- <property name="ivy.jar.filename"
- value="ivy-${config.ivy.version}.jar"/>
- <property name="ivy.jar.file"
- location="${ivy.jar.dir}/${ivy.jar.filename}"/>
-
<!-- Miscellaneous -->
<property name="jar.filename"
value="${ant.project.name}.jar"/>
@@ -90,51 +80,8 @@
value="true"/>
</target>
- <target name="check-ivy"
- depends="init">
- <available property="ivy.jar.present"
- file="${ivy.jar.file}"
- type="file"/>
- </target>
-
- <target name="download-ivy"
- depends="init,check-ivy"
- unless="ivy.jar.present">
- <mkdir dir="${ivy.jar.dir}"/>
- <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
- dest="${ivy.jar.file}"
- usetimestamp="true"/>
- </target>
-
- <target name="init-ivy"
- depends="init,download-ivy"
- unless="ivy.done">
- <property name="ivy.retrieve.pattern"
- value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
- <taskdef resource="org/apache/ivy/ant/antlib.xml"
- classpath="${ivy.jar.file}"
- loaderref="ivy.loader"
- uri="antlib:org.apache.ivy.ant"/>
- <ivy:settings file="ivysettings.xml"/>
- </target>
-
- <target name="retrieve"
- description="retrieve the dependencies"
- depends="init,init-ivy"
- unless="ivy.done">
- <ivy:retrieve sync="true"/>
- <ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
- organisation="org.apache.ivy"
- module="ivy"
- revision="${config.ivy.version}"
- conf="default"
- inline="true"/>
- <property name="ivy.done"
- value="true"/>
- </target>
-
<target name="setup"
- depends="init,retrieve">
+ depends="init">
<taskdef resource="net/sf/antcontrib/antlib.xml"
uri="antlib:net.sf.antcontrib">
<classpath>
@@ -239,37 +186,6 @@
</javac>
</target>
- <target name="compile-test"
- depends="init,retrieve,compile">
- <mkdir dir="${classes.dir}/test"/>
- <depend srcDir="${basedir}/test"
- destDir="${classes.dir}/test"
- cache="${classes.dir}"/>
- <dependset>
- <srcfilelist files="build.xml"/>
- <srcfilelist files="ivy.xml"/>
- <targetfileset dir="${classes.dir}/test"/>
- </dependset>
- <javac srcdir="test"
- destdir="${classes.dir}/test"
- debug="true"
- debuglevel="${config.build.debuglevel}"
- nowarn="${config.build.nowarn}"
- deprecation="${config.build.deprecation}"
- source="${target.java.version}"
- target="${target.java.version}"
- compiler="modern"
- encoding="UTF-8"
- includeAntRuntime="false">
- <classpath id="classpath.test">
- <fileset dir="${lib.dir}/test"
- includes="*.jar"/>
- <pathelement location="${classes.dir}/core"/>
- </classpath>
- <compilerarg line="${config.build.compilerarg}"/>
- </javac>
- </target>
-
<target name="prepare-textArea"
depends="init">
<delete includeemptydirs="true"
@@ -423,33 +339,8 @@
</javac>
</target>
- <target name="test"
- depends="init,retrieve,compile,compile-test"
- description="run unit tests"
- unless="skip.tests">
- <delete dir="${build.dir}/test/raw-reports"/>
- <mkdir dir="${build.dir}/test/raw-reports"/>
- <junit printsummary="true"
- failureproperty="tests.failed"
- enabletestlistenerevents="true">
- <classpath refid="classpath.test"/>
- <classpath location="${classes.dir}/test"/>
- <formatter type="xml"/>
- <batchtest todir="${build.dir}/test/raw-reports">
- <fileset dir="test"/>
- </batchtest>
- </junit>
- <mkdir dir="${build.dir}/test/merged-reports"/>
- <junitreport todir="${build.dir}/test/merged-reports">
- <fileset dir="${build.dir}/test/raw-reports"/>
- <report todir="${build.dir}/test/reports"/>
- </junitreport>
- <fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
- if="tests.failed"/>
- </target>
-
<target name="build"
- depends="init,retrieve,setup,compile"
+ depends="init,setup,compile"
description="build the jEdit JAR-file with full debug-information">
<mkdir dir="${jar.location}"/>
<jar destfile="${jar.location}/${jar.filename}"
@@ -504,11 +395,10 @@
</copy>
</contrib:then>
</contrib:if>
- <antcall target="test" />
</target>
<target name="build-exe-launcher"
- depends="init,retrieve,setup,filter-package-files"
+ depends="init,setup,filter-package-files"
description="build the EXE launcher">
<contrib:if>
<os family="windows"/>
@@ -622,7 +512,7 @@
</target>
<target name="unpack-docbook-xsl"
- depends="init,retrieve">
+ depends="init">
<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
dest="${build.dir}/docbook-xsl/"/>
</target>
@@ -668,7 +558,7 @@
</presetdef>
<target name="generate-doc-faq"
- depends="init,retrieve,setup,unpack-docbook-xsl">
+ depends="init,setup,unpack-docbook-xsl">
<dependset.html>
<srcfileset dir="doc/FAQ"/>
<targetfileset dir="${jar.location}/doc/FAQ"/>
@@ -692,7 +582,7 @@
</target>
<target name="generate-doc-news"
- depends="init,retrieve,setup,unpack-docbook-xsl">
+ depends="init,setup,unpack-docbook-xsl">
<dependset.html>
<srcfileset dir="doc/whatsnew"/>
<targetfileset dir="${jar.location}/doc/whatsnew"/>
@@ -716,7 +606,7 @@
</target>
<target name="generate-doc-users-guide"
- depends="init,retrieve,setup,unpack-docbook-xsl">
+ depends="init,setup,unpack-docbook-xsl">
<dependset.html>
<srcfileset dir="doc/users-guide"/>
<targetfileset dir="${jar.location}/doc/users-guide"/>
@@ -851,7 +741,7 @@
</target>
<target name="generate-pdf-users-guide"
- depends="init,retrieve,setup,unpack-docbook-xsl">
+ depends="init,setup,unpack-docbook-xsl">
<fail message="Please set the property &quot;paper.type&quot;"
unless="paper.type"/>
<contrib:switch value="${paper.type}">
@@ -1154,7 +1044,7 @@
</target>
<target name="compile-jarbundler"
- depends="init,retrieve">
+ depends="init">
<mkdir dir="${classes.dir}/jarbundler"/>
<depend srcDir="${basedir}"
destDir="${classes.dir}/jarbundler"
@@ -1180,7 +1070,7 @@
</target>
<target name="dist-mac-finish"
- depends="init,retrieve,setup"
+ depends="init,setup"
description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
<condition>
@@ -1295,7 +1185,7 @@
</target>
<target name="dist-mac"
- depends="init,retrieve,setup,prepare-dist-files"
+ depends="init,setup,prepare-dist-files"
description="build the Mac OS X disk image (DMG-file)">
<antcall target="compile-jarbundler">
<param name="config.build.debuglevel"
@@ -1411,7 +1301,7 @@
</target>
<target name="prepare-dist-files"
- depends="init,retrieve,setup">
+ depends="init,setup">
<antcall target="build">
<param name="config.build.debuglevel"
value="lines,source"/>
@@ -1592,7 +1482,7 @@
</target>
<target name="dist-deb"
- depends="init,retrieve,setup,prepare-dist-files"
+ depends="init,setup,prepare-dist-files"
description="build the DEB Package">
<antcall target="compile-ar">
<param name="config.build.debuglevel"
@@ -1838,7 +1728,7 @@
</target>
<target name="dist-sign-deb-Release"
- depends="init,retrieve,setup"
+ depends="init,setup"
description="sign the DEB Release file">
<contrib:if>
<not>

View File

@ -1,63 +1,118 @@
{ lib, stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging, bsh }: {
lib,
stdenv,
fetchsvn,
ant,
jdk,
jre,
xmlstarlet,
makeWrapper,
stripJavaArchivesHook,
}:
let stdenv.mkDerivation (finalAttrs: {
version = "5.2.0";
bcpg = fetchurl {
url = "mirror://maven/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar";
sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
};
jsr305 = fetchurl {
url = "mirror://maven/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar";
sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
};
in
stdenv.mkDerivation {
pname = "jedit"; pname = "jedit";
inherit version; version = "5.6.0-unstable-2023-11-19";
src = fetchurl {
url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2"; src = fetchsvn {
sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x"; url = "https://svn.code.sf.net/p/jedit/svn/jEdit/trunk";
rev = "25703";
hash = "sha256-z1KTZqKl6Dlqayw/3h/JvHQK3kSfio02R8V6aCb4g4Q=";
}; };
buildInputs = [ ant jdk commonsBsf commonsLogging ]; ivyDeps = stdenv.mkDerivation {
name = "${finalAttrs.pname}-${finalAttrs.version}-ivy-deps";
inherit (finalAttrs) src;
# This patch removes from the build process: nativeBuildInputs = [
# - the automatic download of dependencies (see configurePhase); ant
# - the tests jdk
patches = [ ./build.xml.patch ]; xmlstarlet
];
configurePhase = '' # set defaultCacheDir to something that can exist
mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins # this directory won't get copied, but needs to be set properly
cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/ configurePhase = ''
cp ${bsh} ${bcpg} lib/scripting/ runHook preConfigure
cp ${jsr305} lib/compile/
xmlstarlet ed --subnode /ivysettings -t elem -n caches ivysettings.xml \
| xmlstarlet ed --insert /ivysettings/caches -t attr -n defaultCacheDir -v "$(pwd)/ivy-cache" \
> ivysettings.xml.tmp
mv ivysettings.xml.tmp ivysettings.xml
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
ant retrieve
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp -r lib/* $out/lib
runHook postInstall
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "sha256-J5i5IhXlXw84y/4K6Vt84au4eVXVLupmtfscO+y1Fi0=";
};
# ignore a test failing because of the build environment
postPatch = ''
substituteInPlace test/org/gjt/sp/jedit/MiscUtilitiesTest.java \
--replace-fail "public class MiscUtilitiesTest" "@org.junit.Ignore public class MiscUtilitiesTest"
''; '';
buildPhase = "ant build"; nativeBuildInputs = [
ant
jdk
makeWrapper
stripJavaArchivesHook
];
buildPhase = ''
runHook preBuild
ln -s ${finalAttrs.ivyDeps}/lib ./lib
ant build -Divy.done=true
runHook postBuild
'';
installPhase = '' installPhase = ''
runHook preInstall
mkdir -p $out/share/jEdit mkdir -p $out/share/jEdit
cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit cp -r build/jedit.jar doc keymaps macros modes startup $out/share/jEdit
sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop install -Dm644 icons/jedit-icon48.png $out/share/icons/hicolor/48x48/apps/jedit.png
mkdir -p $out/share/applications install -Dm644 package-files/linux/deb/jedit.desktop -t $out/share/applications
mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
# specify the correct JAVA_HOME sed -i $out/share/applications/jedit.desktop \
sed -i '1a JAVA_HOME=${jdk}' package-files/linux/jedit -e "s|Icon=.*|Icon=jedit|g" \
sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit -e "s|Exec=.*|Exec=jedit|g"
mkdir -p $out/bin
cp package-files/linux/jedit $out/bin/jedit install -Dm755 package-files/linux/jedit -t $out/bin
chmod +x $out/bin/jedit substituteInPlace $out/bin/jedit \
--replace-fail "/usr/share/jEdit/@jar.filename@" "$out/share/jEdit/jedit.jar"
wrapProgram $out/bin/jedit --set JAVA_HOME ${jre}
runHook postInstall
''; '';
meta = with lib; { meta = {
description = "Mature programmer's text editor (Java based)"; description = "A programmer's text editor written in Java";
homepage = "http://www.jedit.org"; homepage = "http://www.jedit.org";
sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = lib.licenses.gpl2Only;
license = licenses.gpl2; mainProgram = "jedit";
platforms = platforms.unix; maintainers = with lib.maintainers; [ tomasajt ];
maintainers = [ ]; platforms = lib.platforms.unix;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # ivyDeps contains .jar dependencies
];
}; };
} })

View File

@ -4715,14 +4715,14 @@ final: prev:
hydra-nvim = buildVimPlugin { hydra-nvim = buildVimPlugin {
pname = "hydra.nvim"; pname = "hydra.nvim";
version = "2023-02-06"; version = "2024-03-15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anuvyklack"; owner = "nvimtools";
repo = "hydra.nvim"; repo = "hydra.nvim";
rev = "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0"; rev = "8578056a2226ed49fc608167edc143a87f75d809";
sha256 = "1dwhi2543drbncrqx80nsi5hw48d6my4wbsp71gx6m0clkp4469h"; sha256 = "sha256-Qxp2FigXlupAw/ZwZRVJ+hRKzVRtupV6L4a6jOslwI0=";
}; };
meta.homepage = "https://github.com/anuvyklack/hydra.nvim/"; meta.homepage = "https://github.com/nvimtools/hydra.nvim/";
}; };
i3config-vim = buildVimPlugin { i3config-vim = buildVimPlugin {

View File

@ -394,7 +394,7 @@ https://github.com/smoka7/hop.nvim/,,
https://github.com/rktjmp/hotpot.nvim/,, https://github.com/rktjmp/hotpot.nvim/,,
https://github.com/lewis6991/hover.nvim/,HEAD, https://github.com/lewis6991/hover.nvim/,HEAD,
https://github.com/othree/html5.vim/,HEAD, https://github.com/othree/html5.vim/,HEAD,
https://github.com/anuvyklack/hydra.nvim/,HEAD, https://github.com/nvimtools/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/,,

View File

@ -12,10 +12,6 @@ appimageTools.wrapType1 rec {
curl "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out curl "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
''; '';
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
'';
meta = with lib; { meta = with lib; {
description = "Reference Image Viewer"; description = "Reference Image Viewer";
homepage = "https://www.pureref.com"; homepage = "https://www.pureref.com";

View File

@ -26,8 +26,6 @@ in
cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png
mv $out/bin/${pname}-${version} $out/bin/${pname}
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}' --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
''; '';

View File

@ -5,12 +5,12 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "ablog"; pname = "ablog";
version = "0.11.6"; version = "0.11.8";
format = "pyproject"; format = "pyproject";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-fV4W4AaiqyruIz3OQ7/lGkMPMKmyiFa+fdU2QeeQCvs="; hash = "sha256-PpNBfa4g14l8gm9+PxOFc2NDey031D7Ohutx2OGUeak=";
}; };
nativeBuildInputs = with python3.pkgs; [ nativeBuildInputs = with python3.pkgs; [

View File

@ -1,68 +0,0 @@
{ autoPatchelfHook
, electron
, fetchurl
, lib
, makeWrapper
, squashfsTools
, stdenv
}:
stdenv.mkDerivation rec {
pname = "authy";
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
version = "2.4.1";
rev = "21";
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
hash = "sha256-a5z6Lwdgody88f7has/f2AMg9m9fGWsJSexZM6KUGOY=";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
unpackPhase = ''
runHook preUnpack
unsquashfs "$src"
cd squashfs-root
if ! grep -q '${version}' meta/snap.yaml; then
echo "Package version differs from version found in snap metadata:"
grep 'version: ' meta/snap.yaml
echo "While the nix package specifies: ${version}."
echo "You probably chose the wrong revision or forgot to update the nix version."
exit 1
fi
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
# Copy only what is needed
cp -r resources* $out/
cp -r locales* $out/
cp meta/gui/authy.desktop $out/share/applications/
cp meta/gui/icon.png $out/share/pixmaps/authy.png
# Replace icon name in Desktop file
sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/share/applications/authy.desktop"
runHook postInstall
'';
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/resources/app.asar
'';
meta = with lib; {
homepage = "https://www.authy.com";
description = "Twilio Authy two factor authentication desktop application";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ iammrinal0 ];
platforms = [ "x86_64-linux" ];
mainProgram = "authy";
};
}

View File

@ -1,49 +1,50 @@
{ stdenv {
, lib stdenv,
, openexr lib,
, jemalloc openexr,
, c-blosc jemalloc,
, binutils c-blosc,
, fetchFromGitHub binutils,
, cmake fetchFromGitHub,
, pkg-config cmake,
, wrapGAppsHook pkg-config,
, boost179 wrapGAppsHook,
, cereal boost179,
, cgal_5 cereal,
, curl cgal_5,
, dbus curl,
, eigen dbus,
, expat eigen,
, gcc-unwrapped expat,
, glew gcc-unwrapped,
, glfw glew,
, glib glfw,
, glib-networking glib,
, gmp glib-networking,
, gstreamer gmp,
, gst-plugins-base gstreamer,
, gst-plugins-bad gst-plugins-base,
, gst-plugins-good gst-plugins-bad,
, gtest gst-plugins-good,
, gtk3 gtest,
, hicolor-icon-theme gtk3,
, ilmbase hicolor-icon-theme,
, libpng ilmbase,
, mesa libpng,
, mpfr mesa,
, nlopt mpfr,
, opencascade-occt nlopt,
, openvdb opencascade-occt,
, pcre openvdb,
, qhull pcre,
, systemd qhull,
, tbb_2021_11 systemd,
, webkitgtk tbb_2021_11,
, wxGTK31 webkitgtk,
, xorg wxGTK31,
, fetchpatch xorg,
, withSystemd ? stdenv.isLinux fetchpatch,
withSystemd ? stdenv.isLinux,
}: }:
let let
wxGTK31' = wxGTK31.overrideAttrs (old: { wxGTK31' = wxGTK31.overrideAttrs (old: {
@ -53,7 +54,14 @@ let
]; ];
}); });
openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec { openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
buildInputs = [ openexr boost179 tbb_2021_11 jemalloc c-blosc ilmbase ]; buildInputs = [
openexr
boost179
tbb_2021_11
jemalloc
c-blosc
ilmbase
];
}); });
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -106,9 +114,7 @@ stdenv.mkDerivation rec {
webkitgtk webkitgtk
wxGTK31' wxGTK31'
xorg.libX11 xorg.libX11
] ++ lib.optionals withSystemd [ ] ++ lib.optionals withSystemd [ systemd ] ++ checkInputs;
systemd
] ++ checkInputs;
patches = [ patches = [
# Fix for webkitgtk linking # Fix for webkitgtk linking
@ -169,11 +175,8 @@ stdenv.mkDerivation rec {
# needed to prevent collisions between the LICENSE.txt files of # needed to prevent collisions between the LICENSE.txt files of
# bambu-studio and orca-slicer. # bambu-studio and orca-slicer.
postInstall = '' postInstall = ''
mkdir -p $out/share/doc mv $out/LICENSE.txt $out/share/BambuStudio/LICENSE.txt
mv $out/LICENSE.txt $out/share/doc/LICENSE.txt mv $out/README.md $out/share/BambuStudio/README.md
if [ -f $out/README.md ]; then
mv $out/README.md $out/share/doc/README.md
fi
''; '';
meta = with lib; { meta = with lib; {

View File

@ -1,27 +1,41 @@
{ lib, fetchFromGitHub, makeDesktopItem, bambu-studio }: {
lib,
fetchFromGitHub,
bambu-studio,
}:
bambu-studio.overrideAttrs (finalAttrs: previousAttrs: { bambu-studio.overrideAttrs (
version = "2.0.0"; finalAttrs: previousAttrs: {
pname = "orca-slicer"; version = "2.0.0";
pname = "orca-slicer";
# Don't inherit patches from bambu-studio # Don't inherit patches from bambu-studio
patches = [ patches = [ ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch ];
./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SoftFever"; owner = "SoftFever";
repo = "OrcaSlicer"; repo = "OrcaSlicer";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw="; hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw=";
}; };
meta = with lib; { # needed to prevent collisions between the LICENSE.txt files of
description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc"; # bambu-studio and orca-slicer.
homepage = "https://github.com/SoftFever/OrcaSlicer"; postInstall = ''
license = licenses.agpl3Only; mv $out/LICENSE.txt $out/share/OrcaSlicer/LICENSE.txt
maintainers = with maintainers; [ zhaofengli ovlach pinpox ]; '';
mainProgram = "orca-slicer";
platforms = platforms.linux; meta = with lib; {
}; description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc";
}) homepage = "https://github.com/SoftFever/OrcaSlicer";
license = licenses.agpl3Only;
maintainers = with maintainers; [
zhaofengli
ovlach
pinpox
];
mainProgram = "orca-slicer";
platforms = platforms.linux;
};
}
)

View File

@ -37,8 +37,6 @@ appimageTools.wrapAppImage rec {
# to allow non-root modifications to the keyboards. # to allow non-root modifications to the keyboards.
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/bazecor-* $out/bin/bazecor
install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications
substituteInPlace $out/share/applications/Bazecor.desktop \ substituteInPlace $out/share/applications/Bazecor.desktop \
--replace 'Exec=Bazecor' 'Exec=bazecor' --replace 'Exec=Bazecor' 'Exec=bazecor'

View File

@ -24,14 +24,14 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "cobang"; pname = "cobang";
version = "0.10.5"; version = "0.10.9";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hongquan"; owner = "hongquan";
repo = "CoBang"; repo = "CoBang";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-CfT/farNOJiWIioFBPx2q7bAFAE4khcojdZ7AsYaU6o="; hash = "sha256-xOP2XkmHOGMe50dn4StX/9veTdloLHq76ENWEUK4Keo=";
}; };
postPatch = '' postPatch = ''

View File

@ -3,7 +3,6 @@
let let
version = "0.7.2"; version = "0.7.2";
pname = "devdocs-desktop"; pname = "devdocs-desktop";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage"; url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage";
@ -11,14 +10,13 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in appimageTools.wrapType2 rec { in appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop
install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png
substituteInPlace $out/share/applications/devdocs.desktop \ substituteInPlace $out/share/applications/devdocs.desktop \

View File

@ -16,7 +16,6 @@ in appimageTools.wrapType2 {
extraInstallCommands = '' extraInstallCommands = ''
mkdir -p $out/share/applications $out/share/pixmaps mkdir -p $out/share/applications $out/share/pixmaps
mv $out/bin/${pname}-${version} $out/bin/firefly-desktop
cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop
substituteInPlace $out/share/applications/firefly-desktop.desktop \ substituteInPlace $out/share/applications/firefly-desktop.desktop \
--replace 'Exec=AppRun' 'Exec=firefly-desktop' \ --replace 'Exec=AppRun' 'Exec=firefly-desktop' \

View File

@ -11,10 +11,6 @@ let
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
'';
meta = with lib; { meta = with lib; {
description = "A cross platform app for quick and easy still image camera matching"; description = "A cross platform app for quick and easy still image camera matching";
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -17,7 +17,7 @@ appimageTools.wrapType2 {
extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ]; extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/GoldenCheetah mv $out/bin/${pname} $out/bin/GoldenCheetah
mkdir -p $out/share/applications mkdir -p $out/share/applications
mkdir -p $out/share/pixmaps mkdir -p $out/share/pixmaps
cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/ cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/

View File

@ -18,13 +18,13 @@ let
in in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "gpxsee"; pname = "gpxsee";
version = "13.18"; version = "13.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumic0"; owner = "tumic0";
repo = "GPXSee"; repo = "GPXSee";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-FetXV1D1aW7eanhPQkNzcGwKMMwzXLhBZjrzg1LD980="; hash = "sha256-Q/Na+uc6a+OSLvJK75MEIxgdJhg/At830SBrix38Qj8=";
}; };
buildInputs = [ buildInputs = [

View File

@ -52,7 +52,6 @@ let
multiArch = false; # no 32bit needed multiArch = false; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
source "${makeWrapper}/nix-support/setup-hook" source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \ wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"

View File

@ -18,8 +18,6 @@ appimageTools.wrapType2 rec {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \

View File

@ -27,9 +27,6 @@ appimageTools.wrapType2 rec {
]; ];
extraInstallCommands = '' extraInstallCommands = ''
# Strip version from binary name.
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop
substituteInPlace $out/share/applications/marktext.desktop \ substituteInPlace $out/share/applications/marktext.desktop \
--replace "Exec=AppRun" "Exec=${pname} --" --replace "Exec=AppRun" "Exec=${pname} --"

View File

@ -2,21 +2,19 @@
let let
pname = "neo4j-desktop"; pname = "neo4j-desktop";
version = "1.5.8"; version = "1.5.8";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage"; url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${pname}-${version}-x86_64.AppImage";
hash = "sha256-RqzR4TuvDasbkj/wKvOOS7r46sXDxvw3B5ydFGZeHX8="; hash = "sha256-RqzR4TuvDasbkj/wKvOOS7r46sXDxvw3B5ydFGZeHX8=";
}; };
appimageContents = appimageTools.extract { inherit name src; }; appimageContents = appimageTools.extract { inherit pname version src; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraPkgs = pkgs: with pkgs; [ libsecret ]; extraPkgs = pkgs: with pkgs; [ libsecret ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -5,15 +5,13 @@ let
version = "1.8.4"; version = "1.8.4";
sha256 = "0rvz8zwsi62kiq89pv8n2wh9h5yb030kvdr1vf65xwqkhqcrzrby"; sha256 = "0rvz8zwsi62kiq89pv8n2wh9h5yb030kvdr1vf65xwqkhqcrzrby";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage"; url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
inherit sha256; inherit sha256;
}; };
appimageContents = appimageTools.extract { appimageContents = appimageTools.extract {
inherit name src; inherit pname version src;
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
@ -29,7 +27,6 @@ appimageTools.wrapType2 rec {
multiArch = false; # no 32bit needed multiArch = false; # no 32bit needed
extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ]; extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${name},${pname}}
install -m 444 -D ${appimageContents}/notable.desktop $out/share/applications/notable.desktop install -m 444 -D ${appimageContents}/notable.desktop $out/share/applications/notable.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/1024x1024/apps/notable.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/1024x1024/apps/notable.png \
$out/share/icons/hicolor/1024x1024/apps/notable.png $out/share/icons/hicolor/1024x1024/apps/notable.png

View File

@ -51,7 +51,6 @@ let
multiPkgs = null; # no 32bit needed multiPkgs = null; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
install -Dm444 ${appimageContents}/notesnook.desktop -t $out/share/applications install -Dm444 ${appimageContents}/notesnook.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/notesnook.png -t $out/share/pixmaps install -Dm444 ${appimageContents}/notesnook.png -t $out/share/pixmaps
substituteInPlace $out/share/applications/notesnook.desktop \ substituteInPlace $out/share/applications/notesnook.desktop \

View File

@ -12,7 +12,6 @@ appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
mkdir -p $out/share/{applications,pixmaps} mkdir -p $out/share/{applications,pixmaps}
cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop
cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png

View File

@ -40,7 +40,7 @@ in
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
install -Dm755 ${appexec}/bin/remnote-${version} $out/bin/remnote install -Dm755 ${appexec}/bin/remnote $out/bin/remnote
install -Dm444 "${desktopItem}/share/applications/"* -t $out/share/applications/ install -Dm444 "${desktopItem}/share/applications/"* -t $out/share/applications/
install -Dm444 ${icon} $out/share/pixmaps/remnote.png install -Dm444 ${icon} $out/share/pixmaps/remnote.png

View File

@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
changelog = "https://github.com/Biont/sway-launcher-desktop/releases/tag/v${version}"; changelog = "https://github.com/Biont/sway-launcher-desktop/releases/tag/v${version}";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.thehedgeh0g ]; maintainers = [ maintainers.pyrox0 ];
}; };
} }

View File

@ -28,7 +28,6 @@ in appimageTools.wrapAppImage {
extraInstallCommands = '' extraInstallCommands = ''
# Add desktop convencience stuff # Add desktop convencience stuff
mv $out/bin/{${pname}-*,${pname}}
install -Dm444 ${appimageContents}/todoist.desktop -t $out/share/applications install -Dm444 ${appimageContents}/todoist.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/todoist.png -t $out/share/pixmaps install -Dm444 ${appimageContents}/todoist.png -t $out/share/pixmaps
substituteInPlace $out/share/applications/todoist.desktop \ substituteInPlace $out/share/applications/todoist.desktop \

View File

@ -10,22 +10,20 @@
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs. # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
let let
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage"; url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
inherit hash; inherit hash;
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in in
appimageTools.wrapType2 rec { appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
multiArch = false; # no 32bit needed multiArch = false; # no 32bit needed
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texliveMedium pandoc ]; extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texliveMedium pandoc ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${name},${pname}}
install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop
install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png
substituteInPlace $out/share/applications/Zettlr.desktop \ substituteInPlace $out/share/applications/Zettlr.desktop \

View File

@ -6,7 +6,7 @@ let
in in
appimageTools.wrapType2 rec { appimageTools.wrapType2 rec {
name = "${pname}-${version}"; inherit pname version;
src = fetchurl { src = fetchurl {
url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage"; url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
@ -19,7 +19,6 @@ appimageTools.wrapType2 rec {
multiArch = false; # no 32bit needed multiArch = false; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
meta = with lib; { meta = with lib; {
description = "Sylk WebRTC client"; description = "Sylk WebRTC client";

View File

@ -33,11 +33,11 @@
firefox-beta = buildMozillaMach rec { firefox-beta = buildMozillaMach rec {
pname = "firefox-beta"; pname = "firefox-beta";
version = "125.0b9"; version = "126.0b5";
applicationName = "Mozilla Firefox Beta"; applicationName = "Mozilla Firefox Beta";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "66d1b27355c105714b926b5424badc01582e5ad7e979104d05fa50748ea961c7f1e081b88978fb94aee54ed281931b8d0f0bb0e16670cf89e7f10703711e7f4e"; sha512 = "5a079e4f01c95baf5b26a5d61521eea493fa4c3cdf91985fbbee313ddc50af1d941915abd6d0ffa97927d80f2016cbdcd3c80c11cfc3068cf83a62f3b45026ad";
}; };
meta = { meta = {
@ -62,13 +62,13 @@
firefox-devedition = buildMozillaMach rec { firefox-devedition = buildMozillaMach rec {
pname = "firefox-devedition"; pname = "firefox-devedition";
version = "125.0b9"; version = "126.0b5";
applicationName = "Mozilla Firefox Developer Edition"; applicationName = "Mozilla Firefox Developer Edition";
requireSigning = false; requireSigning = false;
branding = "browser/branding/aurora"; branding = "browser/branding/aurora";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "a000d1ad29a6a83af6bb424d9b5099667b93907041ebcf8f18b22a2045f4d0f0292db3b331c33b30d142ee6feb58386cedcae356c79d2c5e31fc7a571af2b63c"; sha512 = "cb36cdf70035ed96cb877d41e499d7df03fc6a939f4a5395fef110a44f7d810ad4e8fa393c784f3e7d286ffde0c4f3ad0fd38e81236a301a24d4e74eece702b1";
}; };
meta = { meta = {

View File

@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ]; extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
extraInstallCommands = '' extraInstallCommands = ''
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/${pname}.png \ install -m 444 -D ${appimageContents}/${pname}.png \
$out/share/icons/hicolor/512x512/apps/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png

View File

@ -54,7 +54,7 @@ GEM
multi_json multi_json
jwt (2.8.1) jwt (2.8.1)
base64 base64
krane (3.5.1) krane (3.5.2)
activesupport (>= 5.0) activesupport (>= 5.0)
colorize (~> 0.8) colorize (~> 0.8)
concurrent-ruby (~> 1.1) concurrent-ruby (~> 1.1)
@ -84,7 +84,7 @@ GEM
netrc (0.11.0) netrc (0.11.0)
os (1.1.4) os (1.1.4)
public_suffix (5.0.5) public_suffix (5.0.5)
rake (13.2.0) rake (13.2.1)
recursive-open-struct (1.1.3) recursive-open-struct (1.1.3)
rest-client (2.1.0) rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0) http-accept (>= 1.7.0, < 2.0)
@ -109,4 +109,4 @@ DEPENDENCIES
krane krane
BUNDLED WITH BUNDLED WITH
2.5.6 2.5.7

View File

@ -247,10 +247,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1wnx86ars7csb2sxn69rb654p5xpz6xlygkx4mbyw1abgzyr2ap0"; sha256 = "1s2xc5igk3yg3jpl3abakvrsf4xl6hljhgyddjsrp2g05sksa9x6";
type = "gem"; type = "gem";
}; };
version = "3.5.1"; version = "3.5.2";
}; };
kubeclient = { kubeclient = {
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"]; dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@ -371,10 +371,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0lwv4rniry7k9dvz1n462d7j0dq9mrl6a95y6cvs6139h0ksxhgn"; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem"; type = "gem";
}; };
version = "13.2.0"; version = "13.2.1";
}; };
recursive-open-struct = { recursive-open-struct = {
groups = ["default"]; groups = ["default"];

View File

@ -19,8 +19,6 @@ appimageTools.wrapType2 {
unshareIpc = false; unshareIpc = false;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/open-lens.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/open-lens.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/open-lens.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/open-lens.png \
$out/share/icons/hicolor/512x512/apps/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png

View File

@ -167,9 +167,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs); mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform { terraform_1 = mkTerraform {
version = "1.8.1"; version = "1.8.2";
hash = "sha256-q/r1KK0svdK/5Za4bqU6bGgTcWmG+YZFJUFRKqPAWSw="; hash = "sha256-c9RzdmaTXMOi4oP++asoysDpt/BSvBK/GmEDDGViSl0=";
vendorHash = "sha256-xpgGceAA+kvwUp4T0m9rnbPoZ3uJHU2KIRsrcGr8dRo="; vendorHash = "sha256-2+ctm1lJjCHITWV7BqoqgBlXKjNT4lueAt4F3UtoL9Q=";
patches = [ ./provider-path-0_15.patch ]; patches = [ ./provider-path-0_15.patch ];
passthru = { passthru = {
inherit plugins; inherit plugins;

View File

@ -6,16 +6,16 @@
buildGo122Module rec { buildGo122Module rec {
pname = "timoni"; pname = "timoni";
version = "0.20.0"; version = "0.21.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stefanprodan"; owner = "stefanprodan";
repo = "timoni"; repo = "timoni";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-zQawfzwQNQvtta7lIOtePGI67Y4iXzEBGqd5YiOKAVY="; hash = "sha256-LN2VxXKjEaUgLSVc0G+OlhmaZ4anBmyXbOBOrGIeYG0=";
}; };
vendorHash = "sha256-xQgSABaWY5FWHh2kcBB36fm3povFNpU18PjD4J6M4QM="; vendorHash = "sha256-Vj7P0o0UM35WTv9s1BAcW6MuzjIinADOFsuCK1bpKP0=";
subPackages = [ "cmd/timoni" ]; subPackages = [ "cmd/timoni" ];
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -6,19 +6,17 @@
let let
pname = "cozydrive"; pname = "cozydrive";
version = "3.38.0"; version = "3.38.0";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/cozy-labs/cozy-desktop/releases/download/v${version}/Cozy-Drive-${version}-x86_64.AppImage"; url = "https://github.com/cozy-labs/cozy-desktop/releases/download/v${version}/Cozy-Drive-${version}-x86_64.AppImage";
sha256 = "3liOzZVOjtV1cGrKlOKiFRRqnt8KHPr5Ye5HU0e/BYo="; sha256 = "3liOzZVOjtV1cGrKlOKiFRRqnt8KHPr5Ye5HU0e/BYo=";
}; };
appimageContents = appimageTools.extract { inherit name src; }; appimageContents = appimageTools.extract { inherit pname version src; };
in in
appimageTools.wrapType2 { appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/cozydrive.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/cozydrive.desktop -t $out/share/applications
substituteInPlace $out/share/applications/cozydrive.desktop \ substituteInPlace $out/share/applications/cozydrive.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
mkdir -p $out/share/${pname} mkdir -p $out/share/${pname}
cp -a ${appimageContents}/{locales,resources} $out/share/${pname} cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications

View File

@ -35,8 +35,6 @@ stdenvNoCC.mkDerivation rec {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mv bin/${name} bin/${pname}
mkdir -p $out/ mkdir -p $out/
cp -r bin $out/bin cp -r bin $out/bin

View File

@ -30,8 +30,6 @@ in
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs; extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},caprine}
mkdir -p $out/share mkdir -p $out/share
"${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share" "${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share"
ln -s ${extracted}/caprine.png $out/share/icons/caprine.png ln -s ${extracted}/caprine.png $out/share/icons/caprine.png

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "chatterino2"; pname = "chatterino2";
version = "2.4.6"; version = "2.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Chatterino"; owner = "Chatterino";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-CQviw5Fw6v5EwjCldAQoJfAIZMWKBfBzUIQZEgW34k0="; sha256 = "sha256-uR2X0NNSLyOx5n3mZcp6+wW/7L7rHHH2MlOF+c0Uzm0=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ cmake pkg-config qt6.wrapQtAppsHook ]; nativeBuildInputs = [ cmake pkg-config qt6.wrapQtAppsHook ];

View File

@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
inherit src pname version; inherit src pname version;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -44,8 +44,6 @@ stdenvNoCC.mkDerivation {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mv bin/session-desktop-${version} bin/session-desktop
mkdir -p $out/ mkdir -p $out/
cp -r bin $out/bin cp -r bin $out/bin

View File

@ -130,10 +130,6 @@ in stdenv.mkDerivation rec {
dontBuild = true; dontBuild = true;
dontConfigure = true; dontConfigure = true;
dontPatchELF = true;
# We need to run autoPatchelf manually with the "no-recurse" option, see
# https://github.com/NixOS/nixpkgs/pull/78413 for the reasons.
dontAutoPatchelf = true;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
@ -143,11 +139,6 @@ in stdenv.mkDerivation rec {
mv usr/share $out/share mv usr/share $out/share
mv "opt/${dir}" "$out/lib/${dir}" mv "opt/${dir}" "$out/lib/${dir}"
# Note: The following path contains bundled libraries:
# $out/lib/${dir}/resources/app.asar.unpacked/node_modules/sharp/vendor/lib/
# We run autoPatchelf with the "no-recurse" option to avoid picking those
# up, but resources/app.asar still requires them.
# Symlink to bin # Symlink to bin
mkdir -p $out/bin mkdir -p $out/bin
ln -s "$out/lib/${dir}/${pname}" $out/bin/${pname} ln -s "$out/lib/${dir}/${pname}" $out/bin/${pname}
@ -169,7 +160,8 @@ in stdenv.mkDerivation rec {
--replace "/opt/${dir}/${pname}" $out/bin/${pname} \ --replace "/opt/${dir}/${pname}" $out/bin/${pname} \
${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""} ${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
autoPatchelf --no-recurse -- "$out/lib/${dir}/" # Note: The following path contains bundled libraries:
# $out/lib/${dir}/resources/app.asar.unpacked/node_modules/
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node" patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
''; '';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signalbackup-tools"; pname = "signalbackup-tools";
version = "20240415-2"; version = "20240420-1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bepaald"; owner = "bepaald";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-fMt5F+ykMxaP/6gEVN7TabENTSKbO4Gpms5yD+MBzPc="; hash = "sha256-FRsJeLOm29nlouTMPv5mdnDYWD28ydWQxsakvLxJ4Lg=";
}; };
postPatch = '' postPatch = ''

View File

@ -23,7 +23,6 @@ in appimageTools.wrapType2 {
runScript = "appimage-exec.sh -w ${appimageContents} -- \${NIXOS_OZONE_WL:+\${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"; runScript = "appimage-exec.sh -w ${appimageContents} -- \${NIXOS_OZONE_WL:+\${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}";
extraInstallCommands = '' extraInstallCommands = ''
mv "$out/bin/${pname}-${version}" "$out/bin/${pname}"
install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
$out/share/icons/hicolor/512x512/apps/zulip.png $out/share/icons/hicolor/512x512/apps/zulip.png

View File

@ -3,7 +3,6 @@
let let
pname = "irccloud"; pname = "irccloud";
version = "0.16.0"; version = "0.16.0";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage"; url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
@ -11,16 +10,15 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraPkgs = pkgs: with pkgs; [ at-spi2-core ]; extraPkgs = pkgs: with pkgs; [ at-spi2-core ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
$out/share/icons/hicolor/512x512/apps/irccloud.png $out/share/icons/hicolor/512x512/apps/irccloud.png

View File

@ -3,19 +3,17 @@
let let
pname = "electron-mail"; pname = "electron-mail";
version = "5.1.8"; version = "5.1.8";
name = "ElectronMail-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage"; url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
sha256 = "sha256-btqlxFrQUyb728i99IE65A9jwEFNvJ5b6zji0kwwATU="; sha256 = "sha256-btqlxFrQUyb728i99IE65A9jwEFNvJ5b6zji0kwwATU=";
}; };
appimageContents = appimageTools.extract { inherit name src; }; appimageContents = appimageTools.extract { inherit pname version src; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -17,8 +17,6 @@ appimageTools.wrapType2 rec {
extraInstallCommands = extraInstallCommands =
let appimageContents = appimageTools.extract { inherit pname version src; }; let appimageContents = appimageTools.extract { inherit pname version src; };
in '' in ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications
install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps

View File

@ -14,8 +14,6 @@ appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
mkdir -p $out/share/${pname} mkdir -p $out/share/${pname}
cp -a ${appimageContents}/locales $out/share/${pname} cp -a ${appimageContents}/locales $out/share/${pname}
cp -a ${appimageContents}/resources $out/share/${pname} cp -a ${appimageContents}/resources $out/share/${pname}

View File

@ -3,7 +3,6 @@
let let
pname = "station"; pname = "station";
version = "1.52.2"; version = "1.52.2";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/getstation/desktop-app-releases/releases/download/${version}/Station-${version}-x86_64.AppImage"; url = "https://github.com/getstation/desktop-app-releases/releases/download/${version}/Station-${version}-x86_64.AppImage";
@ -11,10 +10,10 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in appimageTools.wrapType2 rec { in appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
profile = '' profile = ''
export LC_ALL=C.UTF-8 export LC_ALL=C.UTF-8
@ -23,7 +22,6 @@ in appimageTools.wrapType2 rec {
multiArch = false; multiArch = false;
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${name},${pname}}
install -m 444 -D ${appimageContents}/browserx.desktop $out/share/applications/browserx.desktop install -m 444 -D ${appimageContents}/browserx.desktop $out/share/applications/browserx.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/browserx.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/browserx.png \
$out/share/icons/hicolor/512x512/apps/browserx.png $out/share/icons/hicolor/512x512/apps/browserx.png

View File

@ -148,7 +148,7 @@ rustPlatform.buildRustPackage rec {
mainProgram = "espanso"; mainProgram = "espanso";
homepage = "https://espanso.org"; homepage = "https://espanso.org";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ kimat thehedgeh0g ]; maintainers = with maintainers; [ kimat pyrox0 ];
platforms = platforms.unix; platforms = platforms.unix;
longDescription = '' longDescription = ''

View File

@ -23,7 +23,7 @@ in appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/$name $out/bin/${executableName} mv $out/bin/$pname $out/bin/${executableName}
install -m 444 -D ${appimageContents}/${executableName}.desktop $out/share/applications/${executableName}.desktop install -m 444 -D ${appimageContents}/${executableName}.desktop $out/share/applications/${executableName}.desktop
${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${pname}_512.png ${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${pname}_512.png
install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png

View File

@ -2,20 +2,17 @@
let let
pname = "notion-app-enhanced"; pname = "notion-app-enhanced";
version = "2.0.18-1"; version = "2.0.18-1";
name = "${pname}-v${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage"; url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY="; sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
}; };
appimageContents = appimageTools.extract { inherit name src; }; appimageContents = appimageTools.extract { inherit pname version src; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'

View File

@ -1,8 +1,8 @@
{ lib, stdenv, appimageTools, desktop-file-utils, fetchurl }: { lib, stdenv, appimageTools, desktop-file-utils, fetchurl }:
let let
pname = "p3x-onenote";
version = "2023.4.117"; version = "2023.4.117";
name = "p3x-onenote-${version}";
plat = { plat = {
aarch64-linux = "-arm64"; aarch64-linux = "-arm64";
@ -22,18 +22,17 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in in
appimageTools.wrapType2 rec { appimageTools.wrapType2 rec {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mkdir -p $out/share/pixmaps $out/share/licenses/p3x-onenote mkdir -p $out/share/pixmaps $out/share/licenses/p3x-onenote
cp ${appimageContents}/p3x-onenote.png $out/share/pixmaps/ cp ${appimageContents}/p3x-onenote.png $out/share/pixmaps/
cp ${appimageContents}/p3x-onenote.desktop $out cp ${appimageContents}/p3x-onenote.desktop $out
cp ${appimageContents}/LICENSE.electron.txt $out/share/licenses/p3x-onenote/LICENSE cp ${appimageContents}/LICENSE.electron.txt $out/share/licenses/p3x-onenote/LICENSE
mv $out/bin/${name} $out/bin/p3x-onenote
${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \ ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
--set-key Exec --set-value $out/bin/p3x-onenote \ --set-key Exec --set-value $out/bin/p3x-onenote \

View File

@ -1,6 +1,7 @@
{ buildPythonPackage { buildPythonPackage
, lib , lib
, fetchFromGitLab , fetchFromGitLab
, fetchpatch
, pyenchant , pyenchant
, scikit-learn , scikit-learn
, pypillowfight , pypillowfight
@ -33,6 +34,13 @@ buildPythonPackage rec {
sourceRoot = "${src.name}/paperwork-backend"; sourceRoot = "${src.name}/paperwork-backend";
patches = [ patches = [
# fixes building with recent scipy
# remove on next release
(fetchpatch {
url = "https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/commit/abcebfe9714644d4e259e53b10e0e9417b5b864f.patch";
hash = "sha256-YjVpphThW5Livs+PZJZDSgJvhLSXhZ1bnlWMwfY4HTg=";
})
# disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700 # disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700
./flaky_test.patch ./flaky_test.patch
]; ];

View File

@ -21,14 +21,14 @@
let let
pname = "qownnotes"; pname = "qownnotes";
appname = "QOwnNotes"; appname = "QOwnNotes";
version = "24.4.2"; version = "24.4.3";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname version; inherit pname version;
src = fetchurl { src = fetchurl {
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz"; url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
hash = "sha256-HnWxIcOy7Te6Q5YfZYhvITpfsgeQw8Tt/Nr++wcpxEU="; hash = "sha256-dthb+FkytNiiS2s7VdMgYxvNbGeBx5gONOYkHHphigY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -24,7 +24,6 @@ in appimageTools.wrapType2 rec {
]; ];
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
substituteInPlace $out/share/applications/timeular.desktop \ substituteInPlace $out/share/applications/timeular.desktop \

View File

@ -34,7 +34,6 @@ in appimageTools.wrapType2 rec {
multiArch = false; # no 32bit needed multiArch = false; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
mkdir "$out/share" mkdir "$out/share"
ln -s "${desktopItem}/share/applications" "$out/share/" ln -s "${desktopItem}/share/applications" "$out/share/"
''; '';

View File

@ -19,9 +19,7 @@ appimageTools.wrapType2 {
unshareIpc = false; unshareIpc = false;
extraInstallCommands = '' extraInstallCommands = ''
mkdir -p $out/bin mv $out/bin/jbrowse $out/bin/jbrowse-desktop
mv $out/bin/jbrowse-${version} $out/bin/jbrowse-desktop
install -m 444 -D ${appimageContents}/jbrowse-desktop.desktop $out/share/applications/jbrowse-desktop.desktop install -m 444 -D ${appimageContents}/jbrowse-desktop.desktop $out/share/applications/jbrowse-desktop.desktop
install -m 444 -D ${appimageContents}/jbrowse-desktop.png \ install -m 444 -D ${appimageContents}/jbrowse-desktop.png \
$out/share/icons/hicolor/512x512/apps/jbrowse-desktop.png $out/share/icons/hicolor/512x512/apps/jbrowse-desktop.png

View File

@ -1,9 +1,8 @@
{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg }: { lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg, libgcc }:
let let
pname = "radicle-upstream"; pname = "radicle-upstream";
version = "0.3.0"; version = "0.3.0";
name = "${pname}-${version}";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
@ -17,7 +16,7 @@ let
}; };
src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
contents = appimageTools.extract { inherit name src; }; contents = appimageTools.extract { inherit pname version src; };
git-remote-rad = stdenv.mkDerivation rec { git-remote-rad = stdenv.mkDerivation rec {
pname = "git-remote-rad"; pname = "git-remote-rad";
@ -25,11 +24,11 @@ let
src = contents; src = contents;
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ zlib ]; buildInputs = [ libgcc zlib ];
installPhase = '' installPhase = ''
mkdir -p $out/bin/ mkdir -p $out/bin/
cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad install -Dm755 ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
''; '';
}; };
@ -37,11 +36,9 @@ let
# v0.1.0) uses unstable rust features, making a from source build impossible at # v0.1.0) uses unstable rust features, making a from source build impossible at
# this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674 # this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
linux = appimageTools.wrapType2 { linux = appimageTools.wrapType2 {
inherit name src meta; inherit pname version src meta;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
# this automatically adds the git-remote-rad binary to the users `PATH` so # this automatically adds the git-remote-rad binary to the users `PATH` so
# they don't need to mess around with shell profiles... # they don't need to mess around with shell profiles...
ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad

View File

@ -181,7 +181,6 @@ let
in in
buildFHSEnv { buildFHSEnv {
inherit (davinci) pname version; inherit (davinci) pname version;
name = null;
targetPkgs = pkgs: with pkgs; [ targetPkgs = pkgs: with pkgs; [
alsa-lib alsa-lib

View File

@ -2,21 +2,18 @@
let let
pname = "electronplayer"; pname = "electronplayer";
version = "2.0.8"; version = "2.0.8";
name = "${pname}-${version}";
#TODO: remove the -rc4 from the tag in the url when possible #TODO: remove the -rc4 from the tag in the url when possible
src = fetchurl { src = fetchurl {
url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${name}.AppImage"; url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${pname}-${version}.AppImage";
sha256 = "wAsmSFdbRPnYnDyWQSbtyj+GLJLN7ibksUE7cegfkhI="; sha256 = "wAsmSFdbRPnYnDyWQSbtyj+GLJLN7ibksUE7cegfkhI=";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; }; appimageContents = appimageTools.extractType2 { inherit pname version src; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
substituteInPlace $out/share/applications/${pname}.desktop \ substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=ElectronPlayer' --replace 'Exec=AppRun' 'Exec=ElectronPlayer'

View File

@ -1,14 +1,12 @@
{ lib, fetchurl, appimageTools}: { lib, fetchurl, appimageTools}:
let appimageTools.wrapAppImage rec {
pname = "lbry-desktop"; pname = "lbry-desktop";
version = "0.53.9"; version = "0.53.9";
in appimageTools.wrapAppImage rec {
name = "${pname}-${version}";
# Fetch from GitHub Releases and extract # Fetch from GitHub Releases and extract
src = appimageTools.extract { src = appimageTools.extract {
inherit name; inherit pname version;
src = fetchurl { src = fetchurl {
url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage"; url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
# Gotten from latest-linux.yml # Gotten from latest-linux.yml
@ -24,7 +22,7 @@ in appimageTools.wrapAppImage rec {
# General fixup # General fixup
extraInstallCommands = '' extraInstallCommands = ''
# Firstly, rename the executable to lbry for convinence # Firstly, rename the executable to lbry for convinence
mv $out/bin/${name} $out/bin/lbry mv $out/bin/${pname} $out/bin/lbry
# Now, install assets such as the desktop file and icons # Now, install assets such as the desktop file and icons
install -m 444 -D ${src}/lbry.desktop -t $out/share/applications install -m 444 -D ${src}/lbry.desktop -t $out/share/applications

View File

@ -32,7 +32,6 @@ in
extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps; extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/{${pname}-${version},losslesscut}
( (
mkdir -p $out/share mkdir -p $out/share
cd ${extracted}/usr cd ${extracted}/usr

View File

@ -12,7 +12,6 @@ in
appimageTools.wrapType2 { appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraInstallCommands = '' extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D \ install -m 444 -D \
${appimageContents}/@molotovdesktop-wrapper.desktop \ ${appimageContents}/@molotovdesktop-wrapper.desktop \
$out/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop

View File

@ -39,15 +39,12 @@ rec {
wrapType1 = wrapType2; wrapType1 = wrapType2;
wrapAppImage = args@{ wrapAppImage = args@{
name ? "${args.pname}-${args.version}",
src, src,
extraPkgs, extraPkgs,
meta ? {}, meta ? {},
... ...
}: buildFHSEnv }: buildFHSEnv
(defaultFhsEnvArgs // { (defaultFhsEnvArgs // {
inherit name;
targetPkgs = pkgs: [ appimage-exec ] targetPkgs = pkgs: [ appimage-exec ]
++ defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs; ++ defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs;
@ -56,12 +53,12 @@ rec {
meta = { meta = {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
} // meta; } // meta;
} // (removeAttrs args ([ "pname" "version" ] ++ (builtins.attrNames (builtins.functionArgs wrapAppImage))))); } // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
wrapType2 = args@{ name ? "${args.pname}-${args.version}", src, extraPkgs ? pkgs: [ ], ... }: wrapAppImage wrapType2 = args@{ src, extraPkgs ? pkgs: [ ], ... }: wrapAppImage
(args // { (args // {
inherit name extraPkgs; inherit extraPkgs;
src = extract { inherit name src; }; src = extract (lib.filterAttrs (key: value: builtins.elem key [ "name" "pname" "version" "src" ]) args);
# passthru src to make nix-update work # passthru src to make nix-update work
# hack to keep the origin position (unsafeGetAttrPos) # hack to keep the origin position (unsafeGetAttrPos)
@ -73,8 +70,6 @@ rec {
}); });
defaultFhsEnvArgs = { defaultFhsEnvArgs = {
name = "appimage-env";
# Most of the packages were taken from the Steam chroot # Most of the packages were taken from the Steam chroot
targetPkgs = pkgs: with pkgs; [ targetPkgs = pkgs: with pkgs; [
gtk3 gtk3

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