Merge master into haskell-updates
This commit is contained in:
commit
ac2e249e7a
@ -392,14 +392,10 @@ Here is a Git history diagram showing the flow of commits between the three bran
|
||||
} }%%
|
||||
gitGraph
|
||||
commit id:" "
|
||||
branch staging-next
|
||||
branch staging
|
||||
commit id:" "
|
||||
branch staging-next
|
||||
|
||||
checkout master
|
||||
checkout staging
|
||||
checkout master
|
||||
commit id:" "
|
||||
checkout staging-next
|
||||
merge master id:"automatic"
|
||||
checkout staging
|
||||
merge staging-next id:"automatic "
|
||||
@ -659,9 +655,11 @@ This goes hand in hand with [Writing good commit messages](#writing-good-commit-
|
||||
|
||||
For the code quality assessment, you cannot do anything yourself as only the committer can do this and they already have your code to look at.
|
||||
In order to minimise the need for back and forth though, do take a look over your code changes yourself and try to put yourself into the shoes of someone who didn't just write that code.
|
||||
Would you immediately know what the code does by glancing at it?
|
||||
Would you immediately know what the code does or why it is needed by glancing at it?
|
||||
If not, reviewers will notice this and will ask you to clarify the code by refactoring it and/or adding a few explanations in code comments.
|
||||
Doing this preemptively can save you and the committer a lot of time.
|
||||
To better convey the "story" of your change, consider dividing your change into multiple atomic commits.
|
||||
There is a balance to strike however: over-fragmentation causes friction.
|
||||
|
||||
The code artefacts are the hardest for committers to assess because PRs touch all sorts of components: applications, libraries, NixOS modules, editor plugins and many many other things.
|
||||
Any individual committer can only really assess components that they themselves know how to use however and yet they must still be convinced somehow.
|
||||
@ -689,7 +687,9 @@ Ask them nicely whether they still intend to review your PR and find yourself an
|
||||
|
||||
### How can I get a committer to look at my PR?
|
||||
|
||||
- Simply wait. Reviewers frequently browse open PRs and may happen to run across yours and take a look.
|
||||
- Improve skimmability: use a simple descriptive PR title (details go in commit titles) outlining _what_ is done and _why_.
|
||||
- Improve discoverability: apply all relevant labels, tick all relevant PR body checkboxes.
|
||||
- Wait. Reviewers frequently browse open PRs and may happen to run across yours and take a look.
|
||||
- Get non-committers to review/approve. Many committers filter open PRs for low-hanging fruit that are already been reviewed.
|
||||
- [@-mention](https://github.blog/news-insights/mention-somebody-they-re-notified/) someone and ask them nicely
|
||||
- Post in one of the channels made for this purpose if there has been no activity for at least one week
|
||||
@ -710,7 +710,7 @@ Don't worry about it.
|
||||
If there is a build failure however and it happened due to a package related to your change, you need to investigate it of course.
|
||||
If ofBorg reveals the build to be broken on some platform and you don't have access to that platform, you should set your package's `meta.broken` accordingly.
|
||||
|
||||
When in any doubt, please simply ask via a comment in your PR or through one of the help channels.
|
||||
When in any doubt, please ask via a comment in your PR or through one of the help channels.
|
||||
|
||||
## I received a review on my PR, how do I get it over the finish line?
|
||||
|
||||
@ -730,6 +730,13 @@ There may be constraints you had to work with which they're not aware of or qual
|
||||
|
||||
There are some further pitfalls and realities which this section intends to make you aware of.
|
||||
|
||||
### Aim to reduce cycles
|
||||
|
||||
Please be prepared for it to take a while before the reviewer gets back to you after you respond.
|
||||
This is simply the reality of community projects at the scale of Nixpkgs.
|
||||
As such, make sure to respond to _all_ feedback, either by applying suggested changes or argue in favor of something else or no change.
|
||||
It wastes everyone time waiting for a couple of days just for the reviewer to remind you to address something they asked for.
|
||||
|
||||
### A reviewer requested a bunch of insubstantial changes on my PR
|
||||
|
||||
The people involved in Nixpkgs care about code quality because, once in Nixpkgs, it needs to be maintained for many years to come.
|
||||
@ -742,11 +749,11 @@ It is convention to mark review comments that are not critical to the PR as nitp
|
||||
As the PR author, you should still take a look at these as they will often reveal best practices and unwritten rules that usually have good reasons behind them and you may want to incorporate them into your modus operandi.
|
||||
|
||||
Please keep in mind that reviewers almost always mean well here.
|
||||
Their intent is not to denounce your code, they simply want your code to be as good as it can be.
|
||||
Their intent is not to denounce your code, they want your code to be as good as it can be.
|
||||
Through their experience, they may also take notice of a seemingly insignificant issues that have caused significant burden before.
|
||||
|
||||
Sometimes however, they can also get a bit carried away and become too perfectionistic.
|
||||
If you feel some of the requests are unreasonable or merely a matter of personal preference, try to nicely remind the reviewers that you may not intend this code to be 100% perfect or that you have different taste in some regards and press them on whether they think that these requests are *critical* to the PR's success.
|
||||
If you feel some of the requests are unreasonable, out of scope, or merely a matter of personal preference, try to nicely remind the reviewers that you may not intend this code to be 100% perfect or that you have different taste in some regards and press them on whether they think that these requests are *critical* to the PR's success.
|
||||
|
||||
While we do have a set of [official standards for the Nix community](https://github.com/NixOS/rfcs/), we don't have standards for everything and there are often multiple valid ways to achieve the same goal.
|
||||
Unless there are standards forbidding the patterns used in your code or there are serious technical, maintainability or readability issues with your code, you can insist to keep the code the way you made it and disregard the requests.
|
||||
@ -768,9 +775,11 @@ If someone left an approving review on your PR and didn't merge a few days later
|
||||
|
||||
Please see it as your responsibility to actively remind reviewers of your open PRs.
|
||||
|
||||
The easiest way to do so is to simply cause them a Github notification.
|
||||
Github notifies people involved in the PR when you add a comment to your PR, push your PR or re-request their review.
|
||||
The easiest way to do so is to cause them a Github notification.
|
||||
Github notifies people involved in the PR whenever you add a comment to your PR, push your PR or re-request their review.
|
||||
Doing any of that will get you people's attention again.
|
||||
Everyone deserves proper attention, and yes that includes you!
|
||||
However please be mindful that committers can sadly not always give everyone the attention they deserve.
|
||||
|
||||
It may very well be the case that you have to do this every time you need the committer to follow up upon your PR.
|
||||
Again, this is a community project so please be mindful of people's circumstances here; be nice when requesting reviews again.
|
||||
|
@ -428,7 +428,26 @@ NOTE: It is highly recommended to use a pinned version of pnpm (i.e. `pnpm_8` or
|
||||
|
||||
In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e. `inherit (finalAttrs) patches`.
|
||||
|
||||
`pnpm.configHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array.
|
||||
`pnpm.configHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array:
|
||||
|
||||
```nix
|
||||
{
|
||||
pnpm,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "foo";
|
||||
version = "0-unstable-1980-01-01";
|
||||
|
||||
src = ...;
|
||||
|
||||
pnpmInstallFlags = [ "--shamefully-hoist" ];
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pnpmInstallFlags;
|
||||
};
|
||||
})
|
||||
```
|
||||
|
||||
#### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot}
|
||||
|
||||
@ -459,16 +478,16 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm
|
||||
|
||||
#### PNPM Workspaces {#javascript-pnpm-workspaces}
|
||||
|
||||
If you need to use a PNPM workspace for your project, then set `pnpmWorkspace = "<workspace project name>"` in your `pnpm.fetchDeps` call,
|
||||
which will make PNPM only install dependencies for that workspace package.
|
||||
If you need to use a PNPM workspace for your project, then set `pnpmWorkspaces = [ "<workspace project name 1>" "<workspace project name 2>" ]`, etc, in your `pnpm.fetchDeps` call,
|
||||
which will make PNPM only install dependencies for those workspace packages.
|
||||
|
||||
For example:
|
||||
|
||||
```nix
|
||||
...
|
||||
pnpmWorkspace = "@astrojs/language-server";
|
||||
pnpmWorkspaces = [ "@astrojs/language-server" ];
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pnpmWorkspace;
|
||||
inherit (finalAttrs) pnpmWorkspaces;
|
||||
...
|
||||
}
|
||||
```
|
||||
@ -476,7 +495,7 @@ pnpmDeps = pnpm.fetchDeps {
|
||||
The above would make `pnpm.fetchDeps` call only install dependencies for the `@astrojs/language-server` workspace package.
|
||||
Note that you do not need to set `sourceRoot` to make this work.
|
||||
|
||||
Usually in such cases, you'd want to use `pnpm --filter=$pnpmWorkspace build` to build your project, as `npmHooks.npmBuildHook` probably won't work. A `buildPhase` based on the following example will probably fit most workspace projects:
|
||||
Usually in such cases, you'd want to use `pnpm --filter=<pnpm workspace name> build` to build your project, as `npmHooks.npmBuildHook` probably won't work. A `buildPhase` based on the following example will probably fit most workspace projects:
|
||||
|
||||
```nix
|
||||
buildPhase = ''
|
||||
|
@ -9431,6 +9431,13 @@
|
||||
github = "istoph";
|
||||
githubId = 114227790;
|
||||
};
|
||||
itepastra = {
|
||||
name = "Noa Aarts";
|
||||
github = "itepastra";
|
||||
githubId = 27058689;
|
||||
email = "itepastra@gmail.com";
|
||||
keys = [ { fingerprint = "E681 4CAF 06AE B076 D55D 3E32 A16C DCBF 1472 541F"; } ];
|
||||
};
|
||||
ius = {
|
||||
email = "j.de.gram@gmail.com";
|
||||
name = "Joerie de Gram";
|
||||
@ -9726,6 +9733,12 @@
|
||||
githubId = 3874017;
|
||||
name = "Jappie Klooster";
|
||||
};
|
||||
jappie3 = {
|
||||
name = "Jappie3";
|
||||
matrix = "@jappie:jappie.dev";
|
||||
github = "Jappie3";
|
||||
githubId = 42720120;
|
||||
};
|
||||
jaredmontoya = {
|
||||
name = "Jared Montoya";
|
||||
github = "jaredmontoya";
|
||||
@ -14484,7 +14497,7 @@
|
||||
};
|
||||
moraxyc = {
|
||||
name = "Moraxyc Xu";
|
||||
email = "nix@qaq.li";
|
||||
email = "i@qaq.li";
|
||||
github = "Moraxyc";
|
||||
githubId = 69713071;
|
||||
};
|
||||
@ -18857,6 +18870,12 @@
|
||||
githubId = 10908495;
|
||||
name = "Ran Xiao";
|
||||
};
|
||||
ryan4yin = {
|
||||
email = "xiaoyin_c@qq.com";
|
||||
github = "ryan4yin";
|
||||
githubId = 22363274;
|
||||
name = "Ryan Yin";
|
||||
};
|
||||
ryanartecona = {
|
||||
email = "ryanartecona@gmail.com";
|
||||
github = "ryanartecona";
|
||||
|
@ -1,16 +1,16 @@
|
||||
name,rockspec,ref,server,version,luaversion,maintainers
|
||||
alt-getopt,,,,,,arobyn
|
||||
ansicolors,,,,,,Freed-Wu
|
||||
bit32,,,,5.3.0-1,5.1,lblasc
|
||||
argparse,,,,,,
|
||||
basexx,,,,,,
|
||||
binaryheap,,,,,,vcunat
|
||||
bit32,,,,5.3.0-1,5.1,lblasc
|
||||
busted,,,,,,
|
||||
busted-htest,,,,,,mrcjkb
|
||||
cassowary,,,,,,alerque
|
||||
cldr,,,,,,alerque
|
||||
compat53,,,,,,vcunat
|
||||
commons.nvim,,,,,,mrcjkb
|
||||
compat53,,,,,,vcunat
|
||||
cosmo,,,,,,
|
||||
coxpcall,,,,1.17.0-1,,
|
||||
cqueues,,,,,,vcunat
|
||||
@ -50,6 +50,7 @@ lua-cjson,,,,,,
|
||||
lua-cmsgpack,,,,,,
|
||||
lua-curl,,,,,,
|
||||
lua-ffi-zlib,,,,,,
|
||||
lua-iconv,,,,7.0.0,,
|
||||
lua-lsp,,,,,,
|
||||
lua-messagepack,,,,,,
|
||||
lua-protobuf,,,,,,lockejan
|
||||
@ -62,6 +63,8 @@ lua-rtoml,https://raw.githubusercontent.com/lblasc/lua-rtoml/main/lua-rtoml-0.2-
|
||||
lua-subprocess,https://raw.githubusercontent.com/0x0ade/lua-subprocess/master/subprocess-scm-1.rockspec,,,,5.1,scoder12
|
||||
lua-term,,,,,,
|
||||
lua-toml,,,,,,
|
||||
lua-utils.nvim,,,,,,mrcjkb
|
||||
lua-yajl,,,,,,pstn
|
||||
lua-zlib,,,,,,koral
|
||||
lua_cliargs,,,,,,
|
||||
luabitop,https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec,,,,,
|
||||
@ -97,12 +100,9 @@ luaunbound,,,,,,
|
||||
luaunit,,,,,,lockejan
|
||||
luautf8,,,,,,pstn
|
||||
luazip,,,,,,
|
||||
lua-utils.nvim,,,,,,mrcjkb
|
||||
lua-yajl,,,,,,pstn
|
||||
lua-iconv,,,,7.0.0,,
|
||||
lush.nvim,,,https://luarocks.org/dev,,,teto
|
||||
luuid,,,,20120509-2,,
|
||||
luv,,,,1.48.0-2,,
|
||||
lush.nvim,,,https://luarocks.org/dev,,,teto
|
||||
lyaml,,,,,,lblasc
|
||||
lz.n,,,,,,mrcjkb
|
||||
lze,,,,,,birdee
|
||||
@ -112,8 +112,8 @@ markdown,,,,,,
|
||||
mediator_lua,,,,,,
|
||||
middleclass,,,,,,
|
||||
mimetypes,,,,,,
|
||||
mpack,,,,,,
|
||||
moonscript,https://raw.githubusercontent.com/leafo/moonscript/master/moonscript-dev-1.rockspec,,,,,arobyn
|
||||
mpack,,,,,,
|
||||
neorg,,,,,,GaetanLepage
|
||||
neotest,,,,,,mrcjkb
|
||||
nlua,,,,,,teto
|
||||
@ -126,10 +126,10 @@ plenary.nvim,https://raw.githubusercontent.com/nvim-lua/plenary.nvim/master/plen
|
||||
psl,,,,0.3,,
|
||||
rapidjson,,,,,,
|
||||
rest.nvim,,,,,5.1,teto
|
||||
rocks.nvim,,,,,,mrcjkb
|
||||
rocks-git.nvim,,,,,,mrcjkb
|
||||
rocks-config.nvim,,,,,,mrcjkb
|
||||
rocks-dev.nvim,,,,,,mrcjkb
|
||||
rocks-git.nvim,,,,,,mrcjkb
|
||||
rocks.nvim,,,,,,mrcjkb
|
||||
rtp.nvim,,,,,,mrcjkb
|
||||
rustaceanvim,,,,,,mrcjkb
|
||||
say,,,,,,
|
||||
@ -139,10 +139,10 @@ std._debug,,,,,,
|
||||
std.normalize,,,,,,
|
||||
stdlib,,,,41.2.2,,vyp
|
||||
teal-language-server,,,http://luarocks.org/dev,,,
|
||||
telescope.nvim,,,,,5.1,
|
||||
telescope-manix,,,,,,
|
||||
telescope.nvim,,,,,5.1,
|
||||
tiktoken_core,,,,,,natsukium
|
||||
tl,,,,,,mephistophiles
|
||||
tl,,,,0.15.3-1,,mephistophiles
|
||||
toml-edit,,,,,5.1,mrcjkb
|
||||
tree-sitter-norg,,,,,5.1,mrcjkb
|
||||
vstruct,,,,,,
|
||||
|
|
@ -81,11 +81,13 @@ newPkgs() {
|
||||
# could eat too much memory for a standard 4GiB machine.
|
||||
local -a list
|
||||
for i in 1 2; do
|
||||
local l="$($MKTEMP)"
|
||||
local l
|
||||
l="$($MKTEMP)"
|
||||
list[$i]="$l"
|
||||
toRemove+=("$l")
|
||||
|
||||
local expr="$($MKTEMP)"
|
||||
local expr
|
||||
expr="$($MKTEMP)"
|
||||
toRemove+=("$expr")
|
||||
nixexpr "${!i}" > "$expr"
|
||||
|
||||
|
@ -90,16 +90,30 @@ Hello, world!
|
||||
|
||||
Most pre-built executables will not work on NixOS. There are two notable
|
||||
exceptions: flatpaks and AppImages. For flatpaks see the [dedicated
|
||||
section](#module-services-flatpak). AppImages will not run "as-is" on NixOS.
|
||||
First you need to install `appimage-run`: add to `/etc/nixos/configuration.nix`
|
||||
section](#module-services-flatpak). AppImages can run "as-is" on NixOS.
|
||||
|
||||
First you need to enable AppImage support: add to `/etc/nixos/configuration.nix`
|
||||
|
||||
```nix
|
||||
{
|
||||
environment.systemPackages = [ pkgs.appimage-run ];
|
||||
programs.appimage.enable = true;
|
||||
programs.appimage.binfmt = true;
|
||||
}
|
||||
```
|
||||
|
||||
Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`.
|
||||
Then you can run the AppImage "as-is" or with `appimage-run foo.appimage`.
|
||||
|
||||
If there are shared libraries missing add them with
|
||||
|
||||
```nix
|
||||
{
|
||||
programs.appimage.package = pkgs.appimage-run.override {
|
||||
extraPkgs = pkgs: [
|
||||
# missing libraries here, e.g.: `pkgs.libepoxy`
|
||||
];
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To make other pre-built executables work on NixOS, you need to package them
|
||||
with Nix and special helpers like `autoPatchelfHook` or `buildFHSEnv`. See
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
- The Rust rewrite of the `switch-to-configuration` program is now used for system activation by default.
|
||||
If you experience any issues, please report them.
|
||||
The original Perl script can still be used for now by setting `system.switch.enableNg` to `false`.
|
||||
The original Perl script is deprecated and is planned for removal in the 25.05 release. It will remain accessible until then by setting `system.switch.enableNg` to `false`.
|
||||
|
||||
- Support for mounting filesystems from block devices protected with [dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html)
|
||||
was added through the `boot.initrd.systemd.dmVerity` option.
|
||||
@ -104,6 +104,8 @@
|
||||
|
||||
- [Flood](https://flood.js.org/), a beautiful WebUI for various torrent clients. Available as [services.flood](options.html#opt-services.flood).
|
||||
|
||||
- [Niri](https://github.com/YaLTeR/niri), a scrollable-tiling Wayland compositor. Available as [programs.niri](options.html#opt-programs.niri.enable).
|
||||
|
||||
- [Firefly-iii Data Importer](https://github.com/firefly-iii/data-importer), a data importer for Firefly-III. Available as [services.firefly-iii-data-importer](options.html#opt-services.firefly-iii-data-importer)
|
||||
|
||||
- [QGroundControl], a ground station support and configuration manager for the PX4 and APM Flight Stacks. Available as [programs.qgroundcontrol](options.html#opt-programs.qgroundcontrol.enable).
|
||||
@ -188,7 +190,7 @@
|
||||
|
||||
- [Fedimint](https://github.com/fedimint/fedimint), a module based system for building federated applications (Federated E-Cash Mint). Available as [services.fedimintd](#opt-services.fedimintd).
|
||||
|
||||
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](option.html#opt-services.zapret).
|
||||
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](options.html#opt-services.zapret).
|
||||
|
||||
- [tiny-dfr](https://github.com/WhatAmISupposedToPutHere/tiny-dfr), a dynamic function row daemon for the Touch Bar found on some Apple laptops. Available as [hardware.apple.touchBar.enable](options.html#opt-hardware.apple.touchBar.enable).
|
||||
|
||||
@ -710,6 +712,9 @@
|
||||
|
||||
- Mikutter was removed because the package was broken and had no maintainers.
|
||||
|
||||
- The new option `services.getty.autologinOnce` was added to limit the automatic login to once per boot and on the first tty only.
|
||||
When using full disk encryption, this option allows to unlock the system without retyping the passphrase while keeping the other ttys protected.
|
||||
|
||||
- Gollum was upgraded to major version 6. Read their [migration notes](https://github.com/gollum/gollum/wiki/6.0-Release-Notes).
|
||||
|
||||
- The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
|
||||
|
@ -312,6 +312,7 @@
|
||||
./programs/wayland/hyprland.nix
|
||||
./programs/wayland/labwc.nix
|
||||
./programs/wayland/miracle-wm.nix
|
||||
./programs/wayland/niri.nix
|
||||
./programs/wayland/river.nix
|
||||
./programs/wayland/sway.nix
|
||||
./programs/wayland/uwsm.nix
|
||||
|
55
nixos/modules/programs/wayland/niri.nix
Normal file
55
nixos/modules/programs/wayland/niri.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.niri;
|
||||
in
|
||||
{
|
||||
options.programs.niri = {
|
||||
enable = lib.mkEnableOption "Niri, a scrollable-tiling Wayland compositor";
|
||||
|
||||
package = lib.mkPackageOption pkgs "niri" { };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.mkMerge [
|
||||
{
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
services = {
|
||||
displayManager.sessionPackages = [ cfg.package ];
|
||||
|
||||
# Recommended by upstream
|
||||
# https://github.com/YaLTeR/niri/wiki/Important-Software#portals
|
||||
gnome.gnome-keyring.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
xdg.portal = {
|
||||
enable = lib.mkDefault true;
|
||||
|
||||
configPackages = [ cfg.package ];
|
||||
|
||||
# Recommended by upstream, required for screencast support
|
||||
# https://github.com/YaLTeR/niri/wiki/Important-Software#portals
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gnome ];
|
||||
};
|
||||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
enableWlrPortal = false;
|
||||
enableXWayland = false;
|
||||
})
|
||||
]
|
||||
);
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
getchoo
|
||||
sodiboo
|
||||
];
|
||||
}
|
@ -144,7 +144,19 @@ in
|
||||
services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package;
|
||||
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
||||
xdg.portal.config.sway.default = lib.mkDefault [ "wlr" "gtk" ];
|
||||
# https://github.com/emersion/xdg-desktop-portal-wlr/blob/master/contrib/wlroots-portals.conf
|
||||
# https://github.com/emersion/xdg-desktop-portal-wlr/pull/315
|
||||
xdg.portal.config.sway = {
|
||||
# Use xdg-desktop-portal-gtk for every portal interface...
|
||||
default = "gtk";
|
||||
# ... except for the ScreenCast, Screenshot and Secret
|
||||
"org.freedesktop.impl.portal.ScreenCast" = "wlr";
|
||||
"org.freedesktop.impl.portal.Screenshot" = "wlr";
|
||||
# ignore inhibit bc gtk portal always returns as success,
|
||||
# despite sway/the wlr portal not having an implementation,
|
||||
# stopping firefox from using wayland idle-inhibit
|
||||
"org.freedesktop.impl.portal.Inhibit" = "none";
|
||||
};
|
||||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
|
@ -37,7 +37,7 @@ in
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.bazarr = {
|
||||
description = "bazarr";
|
||||
description = "Bazarr";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
|
@ -1,4 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -8,10 +13,8 @@ let
|
||||
|
||||
cfg = config.services.ntp;
|
||||
|
||||
stateDir = "/var/lib/ntp";
|
||||
|
||||
configFile = pkgs.writeText "ntp.conf" ''
|
||||
driftfile ${stateDir}/ntp.drift
|
||||
driftfile /var/lib/ntp/ntp.drift
|
||||
|
||||
restrict default ${toString cfg.restrictDefault}
|
||||
restrict -6 default ${toString cfg.restrictDefault}
|
||||
@ -25,7 +28,12 @@ let
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
ntpFlags = [ "-c" "${configFile}" "-u" "ntp:ntp" ] ++ cfg.extraFlags;
|
||||
ntpFlags = [
|
||||
"-c"
|
||||
"${configFile}"
|
||||
"-u"
|
||||
"ntp:ntp"
|
||||
] ++ cfg.extraFlags;
|
||||
|
||||
in
|
||||
|
||||
@ -58,7 +66,14 @@ in
|
||||
recommended in section 6.5.1.1.3, answer "No" of
|
||||
https://support.ntp.org/Support/AccessRestrictions
|
||||
'';
|
||||
default = [ "limited" "kod" "nomodify" "notrap" "noquery" "nopeer" ];
|
||||
default = [
|
||||
"limited"
|
||||
"kod"
|
||||
"nomodify"
|
||||
"notrap"
|
||||
"noquery"
|
||||
"nopeer"
|
||||
];
|
||||
};
|
||||
|
||||
restrictSource = mkOption {
|
||||
@ -69,7 +84,13 @@ in
|
||||
The default flags allow peers to be added by ntpd from configured
|
||||
pool(s), but not by other means.
|
||||
'';
|
||||
default = [ "limited" "kod" "nomodify" "notrap" "noquery" ];
|
||||
default = [
|
||||
"limited"
|
||||
"kod"
|
||||
"nomodify"
|
||||
"notrap"
|
||||
"noquery"
|
||||
];
|
||||
};
|
||||
|
||||
servers = mkOption {
|
||||
@ -96,14 +117,13 @@ in
|
||||
type = types.listOf types.str;
|
||||
description = "Extra flags passed to the ntpd command.";
|
||||
example = literalExpression ''[ "--interface=eth0" ]'';
|
||||
default = [];
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.ntp.enable {
|
||||
@ -113,34 +133,57 @@ in
|
||||
environment.systemPackages = [ pkgs.ntp ];
|
||||
services.timesyncd.enable = mkForce false;
|
||||
|
||||
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service"; };
|
||||
systemd.services.systemd-timedated.environment = {
|
||||
SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service";
|
||||
};
|
||||
|
||||
users.users.ntp =
|
||||
{ isSystemUser = true;
|
||||
group = "ntp";
|
||||
description = "NTP daemon user";
|
||||
home = stateDir;
|
||||
};
|
||||
users.groups.ntp = {};
|
||||
|
||||
systemd.services.ntpd =
|
||||
{ description = "NTP Daemon";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "time-sync.target" ];
|
||||
before = [ "time-sync.target" ];
|
||||
|
||||
preStart =
|
||||
''
|
||||
mkdir -m 0755 -p ${stateDir}
|
||||
chown ntp ${stateDir}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "@${ntp}/bin/ntpd ntpd -g ${builtins.toString ntpFlags}";
|
||||
Type = "forking";
|
||||
};
|
||||
users.users.ntp = {
|
||||
isSystemUser = true;
|
||||
group = "ntp";
|
||||
description = "NTP daemon user";
|
||||
home = "/var/lib/ntp";
|
||||
};
|
||||
users.groups.ntp = { };
|
||||
|
||||
systemd.services.ntpd = {
|
||||
description = "NTP Daemon";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "time-sync.target" ];
|
||||
before = [ "time-sync.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "@${ntp}/bin/ntpd ntpd -g ${builtins.toString ntpFlags}";
|
||||
Type = "forking";
|
||||
StateDirectory = "ntp";
|
||||
|
||||
# Hardening options
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
PrivateTmp = true;
|
||||
ProtectClock = false;
|
||||
ProtectHome = true;
|
||||
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectSystem = true;
|
||||
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
AmbientCapabilities = [
|
||||
"CAP_SYS_TIME"
|
||||
];
|
||||
|
||||
ProtectControlGroups = true;
|
||||
ProtectProc = "invisible";
|
||||
ProcSubset = "pid";
|
||||
RestrictSUIDSGID = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
@ -26,12 +26,15 @@ let
|
||||
ifaceArg = concatStringsSep " -N " (map (i: "-i${i}") (splitString " " iface));
|
||||
driverArg = optionalString (suppl.driver != null) "-D${suppl.driver}";
|
||||
bridgeArg = optionalString (suppl.bridge!="") "-b${suppl.bridge}";
|
||||
confFileArg = optionalString (suppl.configFile.path!=null) "-c${suppl.configFile.path}";
|
||||
extraConfFile = pkgs.writeText "supplicant-extra-conf-${replaceStrings [" "] ["-"] iface}" ''
|
||||
${optionalString suppl.userControlled.enable "ctrl_interface=DIR=${suppl.userControlled.socketDir} GROUP=${suppl.userControlled.group}"}
|
||||
${optionalString suppl.configFile.writable "update_config=1"}
|
||||
${suppl.extraConf}
|
||||
'';
|
||||
confArgs = escapeShellArgs
|
||||
(if suppl.configFile.path == null
|
||||
then [ "-c${extraConfFile}" ]
|
||||
else [ "-c${suppl.configFile.path}" "-I${extraConfFile}" ]);
|
||||
in
|
||||
{ description = "Supplicant ${iface}${optionalString (iface=="WLAN"||iface=="LAN") " %I"}";
|
||||
wantedBy = [ "multi-user.target" ] ++ deps;
|
||||
@ -51,7 +54,7 @@ let
|
||||
''}
|
||||
'';
|
||||
|
||||
serviceConfig.ExecStart = "${pkgs.wpa_supplicant}/bin/wpa_supplicant -s ${driverArg} ${confFileArg} -I${extraConfFile} ${bridgeArg} ${suppl.extraCmdArgs} ${if (iface=="WLAN"||iface=="LAN") then "-i%I" else (if (iface=="DBUS") then "-u" else ifaceArg)}";
|
||||
serviceConfig.ExecStart = "${pkgs.wpa_supplicant}/bin/wpa_supplicant -s ${driverArg} ${confArgs} ${bridgeArg} ${suppl.extraCmdArgs} ${if (iface=="WLAN"||iface=="LAN") then "-i%I" else (if (iface=="DBUS") then "-u" else ifaceArg)}";
|
||||
|
||||
};
|
||||
|
||||
|
@ -7,14 +7,26 @@ let
|
||||
|
||||
baseArgs = [
|
||||
"--login-program" "${cfg.loginProgram}"
|
||||
] ++ optionals (cfg.autologinUser != null) [
|
||||
] ++ optionals (cfg.autologinUser != null && !cfg.autologinOnce) [
|
||||
"--autologin" cfg.autologinUser
|
||||
] ++ optionals (cfg.loginOptions != null) [
|
||||
"--login-options" cfg.loginOptions
|
||||
] ++ cfg.extraArgs;
|
||||
|
||||
gettyCmd = args:
|
||||
"@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs baseArgs} ${args}";
|
||||
"${lib.getExe' pkgs.util-linux "agetty"} ${escapeShellArgs baseArgs} ${args}";
|
||||
|
||||
autologinScript = ''
|
||||
otherArgs="--noclear --keep-baud $TTY 115200,38400,9600 $TERM";
|
||||
${lib.optionalString cfg.autologinOnce ''
|
||||
autologged="/run/agetty.autologged"
|
||||
if test "$TTY" = tty1 && ! test -f "$autologged"; then
|
||||
touch "$autologged"
|
||||
exec ${gettyCmd "$otherArgs --autologin ${cfg.autologinUser}"}
|
||||
fi
|
||||
''}
|
||||
exec ${gettyCmd "$otherArgs"}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
@ -40,6 +52,16 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
autologinOnce = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
If enabled the automatic login will only happen in the first tty
|
||||
once per boot. This can be useful to avoid retyping the account
|
||||
password on systems with full disk encrypted.
|
||||
'';
|
||||
};
|
||||
|
||||
loginProgram = mkOption {
|
||||
type = types.path;
|
||||
default = "${pkgs.shadow}/bin/login";
|
||||
@ -106,9 +128,11 @@ in
|
||||
|
||||
systemd.services."getty@" =
|
||||
{ serviceConfig.ExecStart = [
|
||||
"" # override upstream default with an empty ExecStart
|
||||
(gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM")
|
||||
# override upstream default with an empty ExecStart
|
||||
""
|
||||
(pkgs.writers.writeDash "getty" autologinScript)
|
||||
];
|
||||
environment.TTY = "%I";
|
||||
restartIfChanged = false;
|
||||
};
|
||||
|
||||
|
@ -9,6 +9,8 @@ in
|
||||
(lib.mkRenamedOptionModule [ "services" "youtrack" "port" ] [ "services" "youtrack" "environmentalParameters" "listen-port" ])
|
||||
(lib.mkRemovedOptionModule [ "services" "youtrack" "maxMemory" ] "Please instead use `services.youtrack.generalParameters`.")
|
||||
(lib.mkRemovedOptionModule [ "services" "youtrack" "maxMetaspaceSize" ] "Please instead use `services.youtrack.generalParameters`.")
|
||||
(lib.mkRemovedOptionModule [ "services" "youtrack" "extraParams" ] "Please migrate to `services.youtrack.generalParameters`.")
|
||||
(lib.mkRemovedOptionModule [ "services" "youtrack" "jvmOpts" ] "Please migrate to `services.youtrack.generalParameters`.")
|
||||
];
|
||||
|
||||
options.services.youtrack = {
|
||||
@ -22,33 +24,15 @@ in
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
extraParams = lib.mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
Extra parameters to pass to youtrack.
|
||||
Use to configure YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `services.youtrack.generalParameters`.
|
||||
https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html
|
||||
for more information.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
"jetbrains.youtrack.overrideRootPassword" = "tortuga";
|
||||
}
|
||||
'';
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
visible = false;
|
||||
};
|
||||
|
||||
package = lib.mkOption {
|
||||
description = ''
|
||||
Package to use.
|
||||
'';
|
||||
type = lib.types.package;
|
||||
default = null;
|
||||
relatedPackages = [ "youtrack_2022_3" "youtrack" ];
|
||||
default = pkgs.youtrack;
|
||||
defaultText = lib.literalExpression "pkgs.youtrack";
|
||||
};
|
||||
|
||||
|
||||
statePath = lib.mkOption {
|
||||
description = ''
|
||||
Path were the YouTrack state is stored.
|
||||
@ -67,19 +51,6 @@ in
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
};
|
||||
|
||||
jvmOpts = lib.mkOption {
|
||||
description = ''
|
||||
Extra options to pass to the JVM.
|
||||
Only has a use with YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `serivces.youtrack.generalParameters`.
|
||||
See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html
|
||||
for more information.
|
||||
'';
|
||||
type = lib.types.separatedString " ";
|
||||
example = "--J-XX:MetaspaceSize=250m";
|
||||
default = "";
|
||||
visible = false;
|
||||
};
|
||||
|
||||
autoUpgrade = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
@ -90,7 +61,6 @@ in
|
||||
type = with lib.types; listOf str;
|
||||
description = ''
|
||||
General configuration parameters and other JVM options.
|
||||
Only has an effect for YouTrack 2023.x.
|
||||
See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#general-parameters
|
||||
for more information.
|
||||
'';
|
||||
@ -121,7 +91,6 @@ in
|
||||
};
|
||||
description = ''
|
||||
Environmental configuration parameters, set imperatively. The values doesn't get removed, when removed in Nix.
|
||||
Only has an effect for YouTrack 2023.x.
|
||||
See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#environmental-parameters
|
||||
for more information.
|
||||
'';
|
||||
@ -135,90 +104,47 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
warnings = lib.optional (lib.versions.major cfg.package.version <= "2022")
|
||||
"YouTrack 2022.x is deprecated. See https://nixos.org/manual/nixos/unstable/index.html#module-services-youtrack for details on how to upgrade."
|
||||
++ lib.optional (cfg.extraParams != {} && (lib.versions.major cfg.package.version >= "2023"))
|
||||
"'services.youtrack.extraParams' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'"
|
||||
++ lib.optional (cfg.jvmOpts != "" && (lib.versions.major cfg.package.version >= "2023"))
|
||||
"'services.youtrack.jvmOpts' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'";
|
||||
|
||||
# XXX: Drop all version feature switches at the point when we consider YT 2022.3 as outdated.
|
||||
services.youtrack.package = lib.mkDefault (
|
||||
if lib.versionAtLeast config.system.stateVersion "24.11" then pkgs.youtrack
|
||||
else pkgs.youtrack_2022_3
|
||||
);
|
||||
|
||||
services.youtrack.generalParameters = lib.optional (lib.versions.major cfg.package.version >= "2023")
|
||||
"-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}"
|
||||
++ (lib.mapAttrsToList (k: v: "-D${k}=${v}") cfg.extraParams);
|
||||
services.youtrack.generalParameters = [ "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ];
|
||||
|
||||
systemd.services.youtrack = let
|
||||
service_jar = let
|
||||
mergeAttrList = lib.foldl' lib.mergeAttrs {};
|
||||
stdParams = mergeAttrList [
|
||||
(lib.optionalAttrs (cfg.environmentalParameters ? base-url && cfg.environmentalParameters.base-url != null) {
|
||||
"jetbrains.youtrack.baseUrl" = cfg.environmentalParameters.base-url;
|
||||
})
|
||||
{
|
||||
"java.aws.headless" = "true";
|
||||
"jetbrains.youtrack.disableBrowser" = "true";
|
||||
}
|
||||
];
|
||||
extraAttr = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams));
|
||||
in {
|
||||
environment.HOME = cfg.statePath;
|
||||
environment.YOUTRACK_JVM_OPTS = "${extraAttr}";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ unixtools.hostname ];
|
||||
serviceConfig = {
|
||||
jvmoptions = pkgs.writeTextFile {
|
||||
name = "youtrack.jvmoptions";
|
||||
text = (lib.concatStringsSep "\n" cfg.generalParameters);
|
||||
};
|
||||
|
||||
package = cfg.package.override {
|
||||
statePath = cfg.statePath;
|
||||
};
|
||||
in {
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ unixtools.hostname ];
|
||||
preStart = ''
|
||||
# This detects old (i.e. <= 2022.3) installations that were not migrated yet
|
||||
# and migrates them to the new state directory style
|
||||
if [[ -d ${cfg.statePath}/teamsysdata ]] && [[ ! -d ${cfg.statePath}/2022_3 ]]
|
||||
then
|
||||
mkdir -p ${cfg.statePath}/2022_3
|
||||
mv ${cfg.statePath}/teamsysdata ${cfg.statePath}/2022_3
|
||||
mv ${cfg.statePath}/.youtrack ${cfg.statePath}/2022_3
|
||||
fi
|
||||
mkdir -p ${cfg.statePath}/{backups,conf,data,logs,temp}
|
||||
${pkgs.coreutils}/bin/ln -fs ${jvmoptions} ${cfg.statePath}/conf/youtrack.jvmoptions
|
||||
${package}/bin/youtrack configure ${lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "--${name}=${toString value}") cfg.environmentalParameters )}
|
||||
'';
|
||||
serviceConfig = lib.mkMerge [
|
||||
{
|
||||
Type = "simple";
|
||||
User = "youtrack";
|
||||
Group = "youtrack";
|
||||
Restart = "on-failure";
|
||||
ExecStart = ''${cfg.package}/bin/youtrack ${cfg.jvmOpts} ${cfg.environmentalParameters.listen-address}:${toString cfg.environmentalParameters.listen-port}'';
|
||||
};
|
||||
};
|
||||
service_zip = let
|
||||
jvmoptions = pkgs.writeTextFile {
|
||||
name = "youtrack.jvmoptions";
|
||||
text = (lib.concatStringsSep "\n" cfg.generalParameters);
|
||||
};
|
||||
|
||||
package = cfg.package.override {
|
||||
statePath = cfg.statePath;
|
||||
};
|
||||
in {
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ unixtools.hostname ];
|
||||
preStart = ''
|
||||
# This detects old (i.e. <= 2022.3) installations that were not migrated yet
|
||||
# and migrates them to the new state directory style
|
||||
if [[ -d ${cfg.statePath}/teamsysdata ]] && [[ ! -d ${cfg.statePath}/2022_3 ]]
|
||||
then
|
||||
mkdir -p ${cfg.statePath}/2022_3
|
||||
mv ${cfg.statePath}/teamsysdata ${cfg.statePath}/2022_3
|
||||
mv ${cfg.statePath}/.youtrack ${cfg.statePath}/2022_3
|
||||
fi
|
||||
mkdir -p ${cfg.statePath}/{backups,conf,data,logs,temp}
|
||||
${pkgs.coreutils}/bin/ln -fs ${jvmoptions} ${cfg.statePath}/conf/youtrack.jvmoptions
|
||||
${package}/bin/youtrack configure ${lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "--${name}=${toString value}") cfg.environmentalParameters )}
|
||||
'';
|
||||
serviceConfig = lib.mkMerge [
|
||||
{
|
||||
Type = "simple";
|
||||
User = "youtrack";
|
||||
Group = "youtrack";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${package}/bin/youtrack run";
|
||||
}
|
||||
(lib.mkIf (cfg.statePath == "/var/lib/youtrack") {
|
||||
StateDirectory = "youtrack";
|
||||
})
|
||||
];
|
||||
};
|
||||
in if (lib.versions.major cfg.package.version >= "2023") then service_zip else service_jar;
|
||||
ExecStart = "${package}/bin/youtrack run";
|
||||
}
|
||||
(lib.mkIf (cfg.statePath == "/var/lib/youtrack") {
|
||||
StateDirectory = "youtrack";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
users.users.youtrack = {
|
||||
description = "Youtrack service user";
|
||||
|
@ -1218,6 +1218,7 @@ in
|
||||
++ lib.optional cfg.recommendedZstdSettings pkgs.nginxModules.zstd;
|
||||
|
||||
services.nginx.virtualHosts.localhost = mkIf cfg.statusPage {
|
||||
serverAliases = [ "127.0.0.1" ] ++ lib.optional config.networking.enableIPv6 "[::1]";
|
||||
listenAddresses = lib.mkDefault ([
|
||||
"0.0.0.0"
|
||||
] ++ lib.optional enableIPv6 "[::]");
|
||||
|
@ -1,13 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
perlWrapped = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp ]);
|
||||
|
||||
perlWrapped = pkgs.perl.withPackages (
|
||||
p: with p; [
|
||||
ConfigIniFiles
|
||||
FileSlurp
|
||||
]
|
||||
);
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.system.switch = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
@ -36,6 +42,17 @@ in
|
||||
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf (config.system.switch.enable && !config.system.switch.enableNg) {
|
||||
warnings = [
|
||||
''
|
||||
The Perl implementation of switch-to-configuration will be deprecated
|
||||
and removed in the 25.05 release of NixOS. Please migrate to the
|
||||
newer implementation by removing `system.switch.enableNg = false`
|
||||
from your configuration. If you are unable to migrate due to any
|
||||
issues with the new implementation, please create an issue and tag
|
||||
the maintainers of `switch-to-configuration-ng`.
|
||||
''
|
||||
];
|
||||
|
||||
system.activatableSystemBuilderCommands = ''
|
||||
mkdir $out/bin
|
||||
substitute ${./switch-to-configuration.pl} $out/bin/switch-to-configuration \
|
||||
|
@ -715,6 +715,7 @@ in {
|
||||
nsd = handleTest ./nsd.nix {};
|
||||
ntfy-sh = handleTest ./ntfy-sh.nix {};
|
||||
ntfy-sh-migration = handleTest ./ntfy-sh-migration.nix {};
|
||||
ntpd = handleTest ./ntpd.nix {};
|
||||
ntpd-rs = handleTest ./ntpd-rs.nix {};
|
||||
nvidia-container-toolkit = runTest ./nvidia-container-toolkit.nix;
|
||||
nvmetcfg = handleTest ./nvmetcfg.nix {};
|
||||
|
@ -18,16 +18,21 @@ makeTest {
|
||||
meta = with maintainers; {
|
||||
maintainers = [ urbas ];
|
||||
};
|
||||
nodes.machine = { ... }:
|
||||
nodes.machine = { lib, pkgs, ... }:
|
||||
{
|
||||
imports = [ ../modules/profiles/headless.nix ../modules/virtualisation/amazon-init.nix ];
|
||||
services.openssh.enable = true;
|
||||
system.switch.enable = true;
|
||||
networking.hostName = "";
|
||||
environment.etc."ec2-metadata/user-data" = {
|
||||
text = ''
|
||||
#!/usr/bin/bash
|
||||
|
||||
echo successful > /tmp/evidence
|
||||
|
||||
# Emulate running nixos-rebuild switch, just without any building.
|
||||
# https://github.com/nixos/nixpkgs/blob/4c62505847d88f16df11eff3c81bf9a453a4979e/nixos/modules/virtualisation/amazon-init.nix#L55
|
||||
/run/current-system/bin/switch-to-configuration test
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
25
nixos/tests/ntpd.nix
Normal file
25
nixos/tests/ntpd.nix
Normal file
@ -0,0 +1,25 @@
|
||||
import ./make-test-python.nix (
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "ntpd";
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ pyrox0 ];
|
||||
};
|
||||
|
||||
nodes.machine = {
|
||||
services.ntp = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit('ntpd.service')
|
||||
machine.wait_for_console_text('Listen normally on 10 eth*')
|
||||
machine.succeed('systemctl is-active ntpd.service')
|
||||
machine.succeed('ntpq -p')
|
||||
'';
|
||||
}
|
||||
)
|
@ -1,61 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, autoconf-archive
|
||||
, alsa-lib
|
||||
, fftw
|
||||
, iniparser
|
||||
, libpulseaudio
|
||||
, pipewire
|
||||
, ncurses
|
||||
, pkgconf
|
||||
, SDL2
|
||||
, libGL
|
||||
, withSDL2 ? false
|
||||
, withPipewire ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cava";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "karlstav";
|
||||
repo = "cava";
|
||||
rev = version;
|
||||
hash = "sha256-y6RslsU/zmr0Ai/rnr73N3OtjuBcWa3JCwh9P5GkNss=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
fftw
|
||||
libpulseaudio
|
||||
ncurses
|
||||
iniparser
|
||||
] ++ lib.optionals withSDL2 [
|
||||
SDL2
|
||||
libGL
|
||||
] ++ lib.optionals withPipewire [
|
||||
pipewire
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
autoconf-archive
|
||||
pkgconf
|
||||
];
|
||||
|
||||
preAutoreconf = ''
|
||||
echo ${version} > version
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Console-based Audio Visualizer for Alsa";
|
||||
homepage = "https://github.com/karlstav/cava";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ offline mirrexagon ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "cava";
|
||||
};
|
||||
}
|
1318
pkgs/applications/audio/psst/Cargo.lock
generated
1318
pkgs/applications/audio/psst/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -16,13 +16,13 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "psst";
|
||||
version = "unstable-2024-08-19";
|
||||
version = "unstable-2024-10-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpochyla";
|
||||
repo = pname;
|
||||
rev = "11bef15e66a3c9b0b991207d09a67c071b3dda02";
|
||||
hash = "sha256-lKxWIUDouUUul7CpuTy30z/cLJAjFE9e0J1zyZ/PnIo=";
|
||||
rev = "38d1c75d59848c54cb88896a93e05da3c71c7df4";
|
||||
hash = "sha256-iMtrZ1Mto3j4lFXI2Sm2R85+m8LpR7V1WoJ3X5JyF60=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
@ -1,9 +1,9 @@
|
||||
diff --git a/psst-core/build.rs b/psst-core/build.rs
|
||||
deleted file mode 100644
|
||||
index e05191d..0000000
|
||||
index cac2c23..0000000
|
||||
--- a/psst-core/build.rs
|
||||
+++ /dev/null
|
||||
@@ -1,39 +0,0 @@
|
||||
@@ -1,41 +0,0 @@
|
||||
-use std::{env, fs, io::Write};
|
||||
-
|
||||
-fn main() {
|
||||
@ -13,12 +13,14 @@ index e05191d..0000000
|
||||
- let mut fh = fs::File::create(outfile).unwrap();
|
||||
- write!(fh, r#""{}""#, chrono::Local::now()).ok();
|
||||
-
|
||||
- let git_config = gix_config::File::from_git_dir("../.git/".into()).expect("Git Config not found!");
|
||||
- let git_config =
|
||||
- gix_config::File::from_git_dir("../.git/".into()).expect("Git Config not found!");
|
||||
- // Get Git's 'Origin' URL
|
||||
- let mut remote_url = git_config
|
||||
- .raw_value("remote", Some("origin".as_ref()), "url")
|
||||
- .raw_value("remote.origin.url")
|
||||
- .expect("Couldn't extract origin url!")
|
||||
- .to_string();
|
||||
-
|
||||
- // Check whether origin is accessed via ssh
|
||||
- if remote_url.contains('@') {
|
||||
- // If yes, strip the `git@` prefix and split the domain and path
|
||||
@ -44,7 +46,7 @@ index e05191d..0000000
|
||||
- write!(file, r#""{}""#, remote_url).ok();
|
||||
-}
|
||||
diff --git a/psst-core/src/lib.rs b/psst-core/src/lib.rs
|
||||
index fcbd491..8f6e6f0 100644
|
||||
index 2faa317..7d7501d 100644
|
||||
--- a/psst-core/src/lib.rs
|
||||
+++ b/psst-core/src/lib.rs
|
||||
@@ -2,9 +2,9 @@
|
||||
@ -54,7 +56,7 @@ index fcbd491..8f6e6f0 100644
|
||||
-pub const GIT_VERSION: &str = git_version!();
|
||||
-pub const BUILD_TIME: &str = include!(concat!(env!("OUT_DIR"), "/build-time.txt"));
|
||||
-pub const REMOTE_URL: &str = include!(concat!(env!("OUT_DIR"), "/remote-url.txt"));
|
||||
+pub const GIT_VERSION: &str = "11bef15e66a3c9b0b991207d09a67c071b3dda02";
|
||||
+pub const GIT_VERSION: &str = "38d1c75d59848c54cb88896a93e05da3c71c7df4";
|
||||
+pub const BUILD_TIME: &str = "1970-01-01 00:00:00";
|
||||
+pub const REMOTE_URL: &str = "https://github.com/jpochyla/psst";
|
||||
|
||||
|
@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
|
||||
bsd2 # libtiled and tmxviewer
|
||||
gpl2Plus # all the rest
|
||||
];
|
||||
maintainers = with maintainers; [ dywedir ];
|
||||
maintainers = with maintainers; [ dywedir ryan4yin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -491,12 +491,12 @@
|
||||
};
|
||||
dtd = buildGrammar {
|
||||
language = "dtd";
|
||||
version = "0.0.0+rev=809266e";
|
||||
version = "0.0.0+rev=cd1316e";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter-grammars";
|
||||
repo = "tree-sitter-xml";
|
||||
rev = "809266ed1694d64dedc168a18893cc254e3edf7e";
|
||||
hash = "sha256-Kxmk9v2oTTYtoLQ2n0LyNziouG56ZSgcirS8JukUmZE=";
|
||||
rev = "cd1316e476ec40da6ce1fb5749c9d7e6b4f1090c";
|
||||
hash = "sha256-RTWvOUAs3Uql9DKsP1jf9FZZHaZORE40GXd+6g6RQZw=";
|
||||
};
|
||||
location = "dtd";
|
||||
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
|
||||
@ -526,12 +526,12 @@
|
||||
};
|
||||
editorconfig = buildGrammar {
|
||||
language = "editorconfig";
|
||||
version = "0.0.0+rev=f5b5ac3";
|
||||
version = "0.0.0+rev=777f774";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValdezFOmar";
|
||||
repo = "tree-sitter-editorconfig";
|
||||
rev = "f5b5ac3f718523fe9d5ee926f64eb177306afdb6";
|
||||
hash = "sha256-l5ryC0wINO/oN8FNrngR7QnDAhiX65y0Hw5AExvAfBo=";
|
||||
rev = "777f774d6381f1bb84adffa02a4e476fb61486ae";
|
||||
hash = "sha256-7CN2fT5wwsuSwQzq7uBj26OPYRtZ6rwLNz99SKhBU74=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-editorconfig";
|
||||
};
|
||||
@ -614,12 +614,12 @@
|
||||
};
|
||||
erlang = buildGrammar {
|
||||
language = "erlang";
|
||||
version = "0.0.0+rev=f1919a3";
|
||||
version = "0.0.0+rev=4095e99";
|
||||
src = fetchFromGitHub {
|
||||
owner = "WhatsApp";
|
||||
repo = "tree-sitter-erlang";
|
||||
rev = "f1919a34af3a9c79402c4a3d6c52986e9c2ea949";
|
||||
hash = "sha256-0e01hr/QDZI+NSRoiTSQZftvpdCHKc6ZkEyxxbKIQyA=";
|
||||
rev = "4095e9993acc89cb311ab1be8614c21b1cf768a4";
|
||||
hash = "sha256-+mp0h7qaJN30eqNIDJem5iOnnWATR1X4D6dB4gyGlfM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
|
||||
};
|
||||
@ -846,12 +846,12 @@
|
||||
};
|
||||
gitcommit = buildGrammar {
|
||||
language = "gitcommit";
|
||||
version = "0.0.0+rev=67ab180";
|
||||
version = "0.0.0+rev=db0e0c4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gbprod";
|
||||
repo = "tree-sitter-gitcommit";
|
||||
rev = "67ab180883ba5ce3f5b0a5f4288cc6d9f9d83a5d";
|
||||
hash = "sha256-5ieeIuUcaky3gWcrCrPXEGzfqom3Kv6rR8CEaWk797k=";
|
||||
rev = "db0e0c4fb9095fdc42a7af34019c0616c071e9eb";
|
||||
hash = "sha256-rMLYEU4WdCInfNNAOuESCceavgWTy9NS8kgkTRaK1OE=";
|
||||
};
|
||||
meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
|
||||
};
|
||||
@ -1574,12 +1574,12 @@
|
||||
};
|
||||
lua = buildGrammar {
|
||||
language = "lua";
|
||||
version = "0.0.0+rev=99fc677";
|
||||
version = "0.0.0+rev=34e60e7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MunifTanjim";
|
||||
repo = "tree-sitter-lua";
|
||||
rev = "99fc677e6971c425e8d407f59c77ab897e585c92";
|
||||
hash = "sha256-Q2LtrifoKf16N1dRBf2xLi12kpMkcFncZL4jaVbtK3M=";
|
||||
rev = "34e60e7f45fc313463c68090d88d742a55d1bd7a";
|
||||
hash = "sha256-v+fFcIOv+bu+2IGI/Lh/Xbqd5BzbBjaa51ECd0hG7Ow=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
|
||||
};
|
||||
@ -1640,24 +1640,24 @@
|
||||
};
|
||||
markdown = buildGrammar {
|
||||
language = "markdown";
|
||||
version = "0.0.0+rev=be81c59";
|
||||
version = "0.0.0+rev=5cdc549";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MDeiml";
|
||||
repo = "tree-sitter-markdown";
|
||||
rev = "be81c59efc552bd875650fe078bf6b78d57330ca";
|
||||
hash = "sha256-gqZYUJWijD0UQAQeElx/VxAILI2WZtvC/+Eno3AiCTU=";
|
||||
rev = "5cdc549ab8f461aff876c5be9741027189299cec";
|
||||
hash = "sha256-dLj233xHPCJbawUVqkxxhHXbu/CrJIHcCyLXTgsWMFo=";
|
||||
};
|
||||
location = "tree-sitter-markdown";
|
||||
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
|
||||
};
|
||||
markdown_inline = buildGrammar {
|
||||
language = "markdown_inline";
|
||||
version = "0.0.0+rev=be81c59";
|
||||
version = "0.0.0+rev=5cdc549";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MDeiml";
|
||||
repo = "tree-sitter-markdown";
|
||||
rev = "be81c59efc552bd875650fe078bf6b78d57330ca";
|
||||
hash = "sha256-gqZYUJWijD0UQAQeElx/VxAILI2WZtvC/+Eno3AiCTU=";
|
||||
rev = "5cdc549ab8f461aff876c5be9741027189299cec";
|
||||
hash = "sha256-dLj233xHPCJbawUVqkxxhHXbu/CrJIHcCyLXTgsWMFo=";
|
||||
};
|
||||
location = "tree-sitter-markdown-inline";
|
||||
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
|
||||
@ -2634,12 +2634,12 @@
|
||||
};
|
||||
sql = buildGrammar {
|
||||
language = "sql";
|
||||
version = "0.0.0+rev=a8b10c7";
|
||||
version = "0.0.0+rev=f551a8f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "derekstride";
|
||||
repo = "tree-sitter-sql";
|
||||
rev = "a8b10c76759a372d0f92bb070b4f5c993e0ce5f9";
|
||||
hash = "sha256-wfoov9KfIadouF3HTJ9hOpnIouCHvDffgSrXow8zQ5I=";
|
||||
rev = "f551a8fa69dc9aea479b93fae34c3ea7be15f931";
|
||||
hash = "sha256-U+PnjYITbHOT+EtoF0lI8LNhcc811ZEqFjRTsSMtprA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
||||
};
|
||||
@ -2745,12 +2745,12 @@
|
||||
};
|
||||
swift = buildGrammar {
|
||||
language = "swift";
|
||||
version = "0.0.0+rev=a6ec57a";
|
||||
version = "0.0.0+rev=d351cb3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alex-pinkus";
|
||||
repo = "tree-sitter-swift";
|
||||
rev = "a6ec57ad4d12c68d952ba1f869bd373a7ac95832";
|
||||
hash = "sha256-mdBrUgq8uux7p/DEm4jBNtB5a4UFDTrNRXX4hexKN7s=";
|
||||
rev = "d351cb321c28f0a3e66242ef2f61b1f890ec4b44";
|
||||
hash = "sha256-7b9wNyHF2ZKMhMcqaFVb1xGcxWdZOS5k1CBvg4RVqXE=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
|
||||
@ -2891,12 +2891,12 @@
|
||||
};
|
||||
tlaplus = buildGrammar {
|
||||
language = "tlaplus";
|
||||
version = "0.0.0+rev=da9cf97";
|
||||
version = "0.0.0+rev=8a8413f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tlaplus-community";
|
||||
repo = "tree-sitter-tlaplus";
|
||||
rev = "da9cf9793686e236327aadfbad449414c895bf84";
|
||||
hash = "sha256-VlYgKg9K/veFqxHWqF3nEYsrRGub2xK9txFK71Kn9JA=";
|
||||
rev = "8a8413f1d08e7ee40b347206d26eac4324db9fd9";
|
||||
hash = "sha256-k34gkAd0ueXEAww/Hc1mtBfn0Kp1pIBQtjDZ9GQeB4Q=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
|
||||
};
|
||||
@ -3160,12 +3160,12 @@
|
||||
};
|
||||
vimdoc = buildGrammar {
|
||||
language = "vimdoc";
|
||||
version = "0.0.0+rev=2249c44";
|
||||
version = "0.0.0+rev=59c5392";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "tree-sitter-vimdoc";
|
||||
rev = "2249c44ecd3f5cf22da3dcccfb74f816ddb29245";
|
||||
hash = "sha256-v+XSWGm2Wdn9/rxNFMqXYACkGn6AvxZdxkClLuKnWGU=";
|
||||
rev = "59c539286e7487b267bc7808b16833f9e3ad6793";
|
||||
hash = "sha256-YDeyD9z/pXISAD7IVfzEenNy2qPORLMqG466c+6yQf0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
|
||||
};
|
||||
@ -3248,16 +3248,27 @@
|
||||
};
|
||||
xml = buildGrammar {
|
||||
language = "xml";
|
||||
version = "0.0.0+rev=809266e";
|
||||
version = "0.0.0+rev=cd1316e";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter-grammars";
|
||||
repo = "tree-sitter-xml";
|
||||
rev = "809266ed1694d64dedc168a18893cc254e3edf7e";
|
||||
hash = "sha256-Kxmk9v2oTTYtoLQ2n0LyNziouG56ZSgcirS8JukUmZE=";
|
||||
rev = "cd1316e476ec40da6ce1fb5749c9d7e6b4f1090c";
|
||||
hash = "sha256-RTWvOUAs3Uql9DKsP1jf9FZZHaZORE40GXd+6g6RQZw=";
|
||||
};
|
||||
location = "xml";
|
||||
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
|
||||
};
|
||||
xresources = buildGrammar {
|
||||
language = "xresources";
|
||||
version = "0.0.0+rev=630af80";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValdezFOmar";
|
||||
repo = "tree-sitter-xresources";
|
||||
rev = "630af80f563ede09a652a808277950c36306e3a3";
|
||||
hash = "sha256-kQmswwZgevQFayhU0Q+UnLh+lnjgvr+m48FtYWUv3Bw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources";
|
||||
};
|
||||
yaml = buildGrammar {
|
||||
language = "yaml";
|
||||
version = "0.0.0+rev=7b03fee";
|
||||
|
@ -200,19 +200,6 @@ in
|
||||
|
||||
blink-cmp = callPackage ./blink-cmp { };
|
||||
|
||||
# The GitHub repository returns 404, which breaks the update script
|
||||
vim-pony = buildVimPlugin {
|
||||
pname = "vim-pony";
|
||||
version = "2018-07-27";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jakwings";
|
||||
repo = "vim-pony";
|
||||
rev = "b26f01a869000b73b80dceabd725d91bfe175b75";
|
||||
sha256 = "0if8g94m3xmpda80byfxs649w2is9ah1k8v3028nblan73zlc8x8";
|
||||
};
|
||||
meta.homepage = "https://github.com/jakwings/vim-pony/";
|
||||
};
|
||||
|
||||
chadtree = super.chadtree.overrideAttrs {
|
||||
buildInputs = [
|
||||
python3
|
||||
@ -1240,6 +1227,19 @@ in
|
||||
nvimRequireCheck = "lean";
|
||||
};
|
||||
|
||||
LeaderF = super.LeaderF.overrideAttrs {
|
||||
nativeBuildInputs = [ python3.pkgs.setuptools ];
|
||||
buildInputs = [ python3 ];
|
||||
# rm */build/ to prevent dependencies on gcc
|
||||
# strip the *.so to keep files small
|
||||
buildPhase = ''
|
||||
patchShebangs .
|
||||
./install.sh
|
||||
rm autoload/leaderf/fuzzyMatch_C/build/ -r
|
||||
'';
|
||||
stripDebugList = [ "autoload/leaderf/python" ];
|
||||
};
|
||||
|
||||
leap-ast-nvim = super.leap-ast-nvim.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
leap-nvim
|
||||
@ -1248,6 +1248,17 @@ in
|
||||
nvimRequireCheck = "leap-ast";
|
||||
};
|
||||
|
||||
leetcode-nvim = super.leetcode-nvim.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
nui-nvim
|
||||
plenary-nvim
|
||||
telescope-nvim
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
nvimRequireCheck = "leetcode";
|
||||
};
|
||||
|
||||
lens-vim = super.lens-vim.overrideAttrs {
|
||||
# remove duplicate g:lens#animate in doc/lens.txt
|
||||
# https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985
|
||||
@ -2510,6 +2521,19 @@ in
|
||||
dependencies = with self; [ denops-vim ];
|
||||
};
|
||||
|
||||
# The GitHub repository returns 404, which breaks the update script
|
||||
vim-pony = buildVimPlugin {
|
||||
pname = "vim-pony";
|
||||
version = "2018-07-27";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jakwings";
|
||||
repo = "vim-pony";
|
||||
rev = "b26f01a869000b73b80dceabd725d91bfe175b75";
|
||||
sha256 = "0if8g94m3xmpda80byfxs649w2is9ah1k8v3028nblan73zlc8x8";
|
||||
};
|
||||
meta.homepage = "https://github.com/jakwings/vim-pony/";
|
||||
};
|
||||
|
||||
vim-sensible = super.vim-sensible.overrideAttrs {
|
||||
patches = [ ./patches/vim-sensible/fix-nix-store-path-regex.patch ];
|
||||
};
|
||||
@ -2675,17 +2699,6 @@ in
|
||||
nvimRequireCheck = "yazi";
|
||||
};
|
||||
|
||||
leetcode-nvim = super.leetcode-nvim.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
nui-nvim
|
||||
plenary-nvim
|
||||
telescope-nvim
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
nvimRequireCheck = "leetcode";
|
||||
};
|
||||
|
||||
YouCompleteMe = super.YouCompleteMe.overrideAttrs {
|
||||
buildPhase = ''
|
||||
substituteInPlace plugin/youcompleteme.vim \
|
||||
@ -2716,18 +2729,6 @@ in
|
||||
--replace "'zoxide_executable', 'zoxide'" "'zoxide_executable', '${zoxide}/bin/zoxide'"
|
||||
'';
|
||||
};
|
||||
LeaderF = super.LeaderF.overrideAttrs {
|
||||
nativeBuildInputs = [ python3.pkgs.setuptools ];
|
||||
buildInputs = [ python3 ];
|
||||
# rm */build/ to prevent dependencies on gcc
|
||||
# strip the *.so to keep files small
|
||||
buildPhase = ''
|
||||
patchShebangs .
|
||||
./install.sh
|
||||
rm autoload/leaderf/fuzzyMatch_C/build/ -r
|
||||
'';
|
||||
stripDebugList = [ "autoload/leaderf/python" ];
|
||||
};
|
||||
}
|
||||
// (
|
||||
let
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,28 +7,28 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.11.8";
|
||||
version = "0.12.0";
|
||||
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
url = "https://download.visualjj.com/visualjj-linux-x64-${version}.vsix";
|
||||
hash = "sha256-L46ORW4iZnZ1GNQSU4opp1bTIh036j9JNmkATjTt/qM=";
|
||||
hash = "sha256-7zIe5yTSpAhkG4S+k2SAnp4ZOrbbSsdxExpRfMG5EAo=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
url = "https://download.visualjj.com/visualjj-darwin-x64-${version}.vsix";
|
||||
hash = "sha256-h15HMZiV/bCVgoajEBe8XLSmFD7EsU2JVlpqiN6ntjQ=";
|
||||
hash = "sha256-0mBNcrfDUqdPfQyc38/Z8YppFP8u9tbxpOLWrQriviE=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
url = "https://download.visualjj.com/visualjj-linux-arm64-${version}.vsix";
|
||||
hash = "sha256-1h/xBMFXtHn/QA0FpZcuUFKxU65AMvaqds6Q9aNaW3s=";
|
||||
hash = "sha256-YvKTs+kA4PghQkduq3aIx20bnGv1VnCtMqLmkLADfbE=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
url = "https://download.visualjj.com/visualjj-darwin-arm64-${version}.vsix";
|
||||
hash = "sha256-9SagMPdkB8d2GeGR/R1EmH5y6VNZtYydst9S82kAQlA=";
|
||||
hash = "sha256-gV8VKwPBsgUCDd/A02ASNozuBl/tt5FW0xKOgVKVgAM=";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
@ -67,6 +67,7 @@ let
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [
|
||||
khaneliman
|
||||
timstott
|
||||
savannidgerinel
|
||||
sebtm
|
||||
|
@ -73,7 +73,10 @@ stdenv.mkDerivation {
|
||||
description = "1Password command-line tool";
|
||||
homepage = "https://developer.1password.com/docs/cli/";
|
||||
downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
|
||||
maintainers = with maintainers; [ joelburget ];
|
||||
maintainers = with maintainers; [
|
||||
joelburget
|
||||
khaneliman
|
||||
];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
inherit mainProgram platforms;
|
||||
|
@ -18,13 +18,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "makehuman";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
source = fetchFromGitHub {
|
||||
owner = "makehumancommunity";
|
||||
repo = "makehuman";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mCv6H0B7b4uxozpNHkKsG+Is2H0QYEJnnzKCHixhBpY=";
|
||||
hash = "sha256-x0v/SkwtOl1lkVi2TRuIgx2Xgz4JcWD3He7NhU44Js4=";
|
||||
name = "${pname}-source";
|
||||
};
|
||||
|
||||
@ -36,39 +36,6 @@ stdenv.mkDerivation rec {
|
||||
name = "${pname}-assets-source";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# work with numpy>=1.24
|
||||
(fetchpatch {
|
||||
name = "fix-compile_targets.py-when-using-numpy-1.24.0-or-newer";
|
||||
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/220.patch";
|
||||
hash = "sha256-ip7U83cCBrl+4gM1GZ2QQIER5Qur6HRu3a/TnHqk//g=";
|
||||
})
|
||||
# crash related to collections.Callable -> collections.abc.Callable
|
||||
(fetchpatch {
|
||||
name = "remove-unnecessary-compatibility-test";
|
||||
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/188.patch";
|
||||
hash = "sha256-HGrk3n7rhV4YgK8mNUdfHwQl8dFT8yuzjxorvwfMmJw=";
|
||||
})
|
||||
# some OpenGL issue causing blank windows on recent Qt
|
||||
(fetchpatch {
|
||||
name = "qt-opengl-update-from-qglwidget-to-qopenglwidget-to-fix-blank";
|
||||
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/197.patch";
|
||||
hash = "sha256-fEqBwg1Jd36nKWIT9XPr6Buj1N3AmTQg2LBaoX3eTxw=";
|
||||
})
|
||||
# multisampling issue
|
||||
(fetchpatch {
|
||||
name = "switch-default-for-multisampling-and-disable-sample-buffers";
|
||||
url = "https://github.com/makehumancommunity/makehuman/commit/c47b884028a24eb190d097e7523a3059e439cb6f.patch";
|
||||
hash = "sha256-tknQHX9qQYH15gyOLNhxfO3bsFVIv3Z1F7ZXD1IT1h4=";
|
||||
})
|
||||
# PyQt >= 5.12
|
||||
(fetchpatch {
|
||||
name = "fix-scrolling-issue-on-pyqt5>=5.12";
|
||||
url = "https://github.com/makehumancommunity/makehuman/commit/02c4269a2d4c57f68159fe8f437a8b1978b99099.patch";
|
||||
hash = "sha256-yR5tZcELX0N83PW/vS6yB5xKoZcHhVp48invlu7quWM=";
|
||||
})
|
||||
];
|
||||
|
||||
srcs = [
|
||||
source
|
||||
assets
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ola";
|
||||
version = "unstable-2020-07-17";
|
||||
version = "0.10.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenLightingProject";
|
||||
repo = "ola";
|
||||
rev = "e2cd699c7792570500578fd092fb6bfb3d511023"; # HEAD of "0.10" branch
|
||||
sha256 = "17a3z3zhx00rjk58icd3zlqfw3753f3y8bwy2sza0frdim09lqr4";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-8w8ZT3D/+8Pxl9z2KTXeydVxE5xiPjxZevgmMFgrblU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook bison flex pkg-config perl ];
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
xmrig.overrideAttrs (oldAttrs: rec {
|
||||
pname = "xmrig-mo";
|
||||
version = "6.22.0-mo3";
|
||||
version = "6.22.1-mo1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MoneroOcean";
|
||||
repo = "xmrig";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3KFyCs9Kf0i7IkG1piP/DRj1jTj1VmXbAk/U3Wt4jh0=";
|
||||
hash = "sha256-CwGHSrnxzKCLKJC7MmqWATqTUNehhRECcX4g/e9oGSI=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -86,11 +86,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appgate-sdp";
|
||||
version = "6.3.2";
|
||||
version = "6.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
||||
sha256 = "sha256-7W2iUilSK4awrtgZc/c40oivzlyz3RN5U5TUicqavsc=";
|
||||
sha256 = "sha256-0h6Mz3B7fADGL5tGbrKNYpVIAvRu7Xx0n9OvjOeVCds=";
|
||||
};
|
||||
|
||||
# just patch interpreter
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ stdenv, lib, fetchpatch
|
||||
, recompressTarball
|
||||
, buildPackages
|
||||
, buildPlatform
|
||||
, pkgsBuildBuild
|
||||
# Channel data:
|
||||
, channel, upstream-info
|
||||
|
@ -1,52 +1,39 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cloudflare-dyndns";
|
||||
version = "4.1";
|
||||
format = "pyproject";
|
||||
version = "5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kissgyorgy";
|
||||
repo = pname;
|
||||
repo = "cloudflare-dyndns";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6Q5fpJ+HuQ+hc3xTtB5tR43pn9WZ0nZZR723iLAkpis=";
|
||||
hash = "sha256-tI6qdNxIMEuAR+BcqsRi2EBXTQnfdDLKW7Y+fbcmlao=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
build-system = with python3.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3.pkgs; [
|
||||
attrs
|
||||
click
|
||||
cloudflare
|
||||
pydantic_1
|
||||
pydantic
|
||||
requests
|
||||
httpx
|
||||
truststore
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Switch to poetry-core, https://github.com/kissgyorgy/cloudflare-dyndns/pull/22
|
||||
(fetchpatch {
|
||||
name = "switch-to-poetry-core.patch";
|
||||
url = "https://github.com/kissgyorgy/cloudflare-dyndns/commit/741ed1ccb3373071ce15683a3b8ddc78d64866f8.patch";
|
||||
sha256 = "sha256-mjSah0DWptZB6cjhP6dJg10BpJylPSQ2K4TKda7VmHw=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'click = "^7.0"' 'click = "*"' \
|
||||
--replace 'attrs = "^21.1.0"' 'attrs = "*"'
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
"test_get_ipv4"
|
||||
];
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "k0sctl";
|
||||
version = "0.19.0";
|
||||
version = "0.19.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k0sproject";
|
||||
repo = "k0sctl";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-86MLQdXc10bvDFeq3ImD19ytjVPVD19eJzicIo6oJZc=";
|
||||
hash = "sha256-6mvSVbSTPFiAIDxNQUmgFmS+3v3RUh10Y552u9bHOn0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eKim5F8bKC1UOY+lOo0NSHOzXuMOcnBjkjm3/vDkGEM=";
|
||||
vendorHash = "sha256-Hl/eSFbwFiuSaaPh5blWFfz6m4VNrS5mYL8ehQlb90I=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -14,13 +14,13 @@
|
||||
let
|
||||
package = buildGoModule rec {
|
||||
pname = "opentofu";
|
||||
version = "1.8.3";
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opentofu";
|
||||
repo = "opentofu";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+1ctvUz1Prhon+w5fGO+IQCYl7uEMZwAYMfQut7fmO4=";
|
||||
hash = "sha256-YUN+JBYn8Bq4glZNBdlr++WJgGpGSKK1PjWqaduF8bg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cM2DSP2ss3vleUhPBIdyxKeWJxtHpdjL5b5HVS/iC6o=";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "siderolabs";
|
||||
repo = "talos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ezie6RQsigmJgdvnSVk6awuUu2kODSio9DNg4bow76M=";
|
||||
hash = "sha256-6WHeiVH/vZHiM4bqq3T5lC0ARldJyZtIErPeDgrZgxc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-9qkealjjdBO659fdWdgFii3ThPRwKpYasB03L3Bktqs=";
|
||||
vendorHash = "sha256-aTtvVpL979BUvSBwBqRqCWSWIBBmmty9vBD97Q5P4+E=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -9,54 +9,54 @@ let
|
||||
versions =
|
||||
if stdenv.hostPlatform.isLinux then
|
||||
{
|
||||
stable = "0.0.71";
|
||||
ptb = "0.0.111";
|
||||
canary = "0.0.503";
|
||||
development = "0.0.30";
|
||||
stable = "0.0.72";
|
||||
ptb = "0.0.112";
|
||||
canary = "0.0.508";
|
||||
development = "0.0.32";
|
||||
}
|
||||
else
|
||||
{
|
||||
stable = "0.0.322";
|
||||
ptb = "0.0.141";
|
||||
canary = "0.0.612";
|
||||
development = "0.0.53";
|
||||
stable = "0.0.323";
|
||||
ptb = "0.0.142";
|
||||
canary = "0.0.617";
|
||||
development = "0.0.55";
|
||||
};
|
||||
version = versions.${branch};
|
||||
srcs = rec {
|
||||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
hash = "sha256-PMcavgUhL8c1YFaWsooZObDa7APMqCD1IaysED5fWac=";
|
||||
hash = "sha256-IAvlxs6oEdO//qVWwH0cBJEbDxyPLG6HHwmOgqMzRRU=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
hash = "sha256-mms/qTA3XS+R5CDFWFS2RxiHOWnpU348nYagt9L2k2w=";
|
||||
hash = "sha256-wJIVKrP+F6IKeE7rT8vAmWRTtvWj9h3vKJDsPu8x2kQ=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
hash = "sha256-Z0dv/jM0RipRI73vO9O5qqE0xf8qJtljZ3Zjr0Tf/KA=";
|
||||
hash = "sha256-zvjIVXZtYl9GdDCvKyuU+9+rNhRX4fGLpw9jPKEpFCs=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
hash = "sha256-HxMJQd5fM1VNfrBey4SbnnBkFQYZgbxg4YTy6FIC9Ps=";
|
||||
hash = "sha256-Ec2kdoVA5NImT4afXi4GZ9GQF8NjT+h7qM7K3w3qrjU=";
|
||||
};
|
||||
};
|
||||
x86_64-darwin = {
|
||||
stable = fetchurl {
|
||||
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||
hash = "sha256-RLAdcCcRrUtDSdaj/RdVLJGvufpIjZoMAKxp0Jyu17A=";
|
||||
hash = "sha256-9ySE75TjVDLdPSWAawsVpOgCtL/Di+J3fKUEDH5/Oog=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
hash = "sha256-EVwosCb/34W4+dx/u/5aq3pl6FqU1QiFT17yPydtGBU=";
|
||||
hash = "sha256-69ioQKRoQ1RTO39BdVppOuwQb/6ylnSy1luMAX5TCeQ=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
hash = "sha256-xvrsohxoCTODG3Au5E773SEX5UXbBJ98J2Eb3Vtybfw=";
|
||||
hash = "sha256-L/nnwHNPni93axBvXS4MH/NuoQbl7Ugva2sozVg6GEk=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
hash = "sha256-DhY8s7Mhzos0ygB/WuoE07WK6hoIh/FcETeIsffw+e0=";
|
||||
hash = "sha256-tZbFrb6OFEa3/IrjzHCcQultFgrMIvaNTmzNj3RHUgQ=";
|
||||
};
|
||||
};
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"version" = "1.11.81";
|
||||
"version" = "1.11.82";
|
||||
"hashes" = {
|
||||
"desktopSrcHash" = "sha256-Dr1Bu05UzfqXDceBC6GP3A3Actt5ycUZlJ+MSLYkDZ0=";
|
||||
"desktopYarnHash" = "19ly8as7y1a1vwaxzmziwia3idnndf1iyz0l160zc213pd3nzabz";
|
||||
"webSrcHash" = "sha256-NaoBGyoHyCfmcOOokkQL6DrLxVQufVdZP/pgVMY6CPA=";
|
||||
"webYarnHash" = "1ap2cjxz5332sm7b1fv0530pibgrfman90i7msyr6a1zfvvds0cc";
|
||||
"desktopSrcHash" = "sha256-XG8q37N4PehYKPyoedgsIIBp2jrSHtoSJKaGrsxaIM8=";
|
||||
"desktopYarnHash" = "11130y915pa356fikk3i96w81ms41284x11d4xm1xw8385smjbgq";
|
||||
"webSrcHash" = "sha256-2W3noZfVnxpxwihimH6mlTxFpBpAdvXtLLfVHRiToxE=";
|
||||
"webYarnHash" = "1rmimxkd70ynrf29s67336vv43g2i6ry8bibc06zb8qyicg6ld83";
|
||||
};
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ hostPlatform, callPackage }:
|
||||
{ stdenv, callPackage }:
|
||||
{
|
||||
signal-desktop =
|
||||
if hostPlatform.system == "aarch64-linux" then
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then
|
||||
callPackage ./signal-desktop-aarch64.nix { }
|
||||
else if hostPlatform.isDarwin then
|
||||
else if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./signal-desktop-darwin.nix { }
|
||||
else
|
||||
callPackage ./signal-desktop.nix { };
|
||||
|
@ -1,14 +1,19 @@
|
||||
{ lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem }:
|
||||
{ lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem
|
||||
, version ? "2.1.0"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cadical";
|
||||
version = "2.1.0";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arminbiere";
|
||||
repo = "cadical";
|
||||
rev = "rel-${version}";
|
||||
sha256 = "sha256-sSvJgHxsRaJ/xHEK32fox0MFI7u+pj5ERLfNn2s8kC8=";
|
||||
hash = {
|
||||
"2.1.0" = "sha256-sSvJgHxsRaJ/xHEK32fox0MFI7u+pj5ERLfNn2s8kC8=";
|
||||
"2.0.0" = "sha256-qoeEM9SdpuFuBPeQlCzuhPLcJ+bMQkTUTGiT8QdU8rc=";
|
||||
}.${version};
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "lib" ];
|
||||
|
@ -10,7 +10,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "5.13.29";
|
||||
version = "5.13.30";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-mit";
|
||||
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "PurpleBooth";
|
||||
repo = "git-mit";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8XUpUpsd2q/1N28ZAPt7rW0pJu0WzE6oVSOwdJxhSBk=";
|
||||
hash = "sha256-HBY9YJk7LvhCGAuXsWpugD5uSitLc1f/F4Ms4PxhZUo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-KtdbYzXHpdg0Rf4ENrWpP0+vG3+HlLVi7MLeXp9HoVw=";
|
||||
cargoHash = "sha256-XMlVGr88RWwfJ2gHTSxdOxgUDlf51ra/opL66Dkd1p4=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -57,24 +57,24 @@
|
||||
|
||||
let
|
||||
pname = "gitkraken";
|
||||
version = "10.4.0";
|
||||
version = "10.4.1";
|
||||
|
||||
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
||||
srcs = {
|
||||
x86_64-linux = fetchzip {
|
||||
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
|
||||
hash = "sha256-JGWDOAkJEnhvUyQOFsmoeW9Izj0IuHNpYGlYAMiWPj0=";
|
||||
hash = "sha256-ZvLDGhBnWjjWqzwqJOz91X8hr94jkXtMA8CL2hh9mlI=";
|
||||
};
|
||||
|
||||
x86_64-darwin = fetchzip {
|
||||
url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
|
||||
hash = "sha256-yCDE6QJMgU2Mgr/kUDnbKwQ3MpgVcdjAK7fnTAjSL54=";
|
||||
hash = "sha256-21VwDFw2dyySoc4NC/RR3k/VtksqaZ5vkdx0z5MKqLc=";
|
||||
};
|
||||
|
||||
aarch64-darwin = fetchzip {
|
||||
url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip";
|
||||
hash = "sha256-nh+tO++QvPx9jyZuxNrH7rHFXZqVnu5jyiki3oWdw7E=";
|
||||
hash = "sha256-N8WMbJFC74tIeJ6Yyk58nT+sIBYN/7PNLdYNxGSB2yM=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -26,11 +26,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpu-screen-recorder";
|
||||
version = "4.2.1";
|
||||
version = "4.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-eCjAlPEg8lkL8T0lgxr0F8ouFGwqfsRxDSQuG6RbpZE=";
|
||||
hash = "sha256-M2bk1WwLlbwspEoPIRMix17ihi72UuRWwiKBdPfim2M=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
@ -59,11 +59,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# Install the upstream systemd unit
|
||||
(lib.mesonBool "systemd" true)
|
||||
# Enable Wayland support
|
||||
(lib.mesonBool "portal" true)
|
||||
# Handle by the module
|
||||
(lib.mesonBool "capabilities" false)
|
||||
(lib.mesonBool "systemd" false)
|
||||
(lib.mesonBool "nvidia_suspend_fix" false)
|
||||
];
|
||||
|
||||
|
@ -23,11 +23,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpu-screen-recorder-gtk";
|
||||
version = "4.2.1";
|
||||
version = "4.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-qk5bI23fypvv0yN9Ql7TOerBhoRzj65EcoAy3lMGMqc=";
|
||||
hash = "sha256-pMUjglgRM51hjPbt6VP0aqM0oo7IiyPXTY/kLwwdR/k=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, hostPlatform
|
||||
, stdenv
|
||||
, lld
|
||||
}:
|
||||
|
||||
let
|
||||
arch = hostPlatform.qemuArch;
|
||||
arch = stdenv.hostPlatform.qemuArch;
|
||||
|
||||
target = ./. + "/${arch}-unknown-none.json";
|
||||
|
||||
@ -15,7 +15,7 @@ assert lib.assertMsg (builtins.pathExists target) "Target spec not found";
|
||||
|
||||
let
|
||||
cross = import ../../../.. {
|
||||
system = hostPlatform.system;
|
||||
system = stdenv.hostPlatform.system;
|
||||
crossSystem = lib.systems.examples."${arch}-embedded" // {
|
||||
rust.rustcTarget = "${arch}-unknown-none";
|
||||
rust.platform = lib.importJSON target;
|
||||
|
@ -86,7 +86,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (finalAttrs.src.meta) homepage;
|
||||
description = "Blazing fast wayland wallpaper utility";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ wozeparrot fufexan ];
|
||||
maintainers = with maintainers; [
|
||||
fufexan
|
||||
khaneliman
|
||||
wozeparrot
|
||||
];
|
||||
inherit (wayland.meta) platforms;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
mainProgram = "hyprpaper";
|
||||
|
@ -61,7 +61,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Wlroots-compatible Wayland color picker that does not suck";
|
||||
homepage = "https://github.com/hyprwm/hyprpicker";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fufexan ];
|
||||
maintainers = with lib.maintainers; [
|
||||
fufexan
|
||||
khaneliman
|
||||
];
|
||||
platforms = wayland.meta.platforms;
|
||||
mainProgram = "hyprpicker";
|
||||
};
|
||||
|
@ -91,7 +91,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
changelog = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/releases/tag/v${finalAttrs.version}";
|
||||
mainProgram = "hyprland-share-picker";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fufexan ];
|
||||
maintainers = with lib.maintainers; [
|
||||
fufexan
|
||||
khaneliman
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
@ -134,6 +134,7 @@ let
|
||||
else if targetPlatform.isLoongArch64 then "${sharedLibraryLoader}/lib/ld-linux-loongarch*.so.1"
|
||||
else if targetPlatform.isDarwin then "/usr/lib/dyld"
|
||||
else if targetPlatform.isFreeBSD then "${sharedLibraryLoader}/libexec/ld-elf.so.1"
|
||||
else if targetPlatform.isOpenBSD then "${sharedLibraryLoader}/libexec/ld.so"
|
||||
else if hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
|
||||
else "";
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
let
|
||||
appName = "AeroSpace.app";
|
||||
version = "0.14.2-Beta";
|
||||
version = "0.15.2-Beta";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "aerospace";
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/nikitabobko/AeroSpace/releases/download/v${version}/AeroSpace-v${version}.zip";
|
||||
hash = "sha256-v2D/IV9Va0zbGHEwSGt6jvDqQYqha290Lm6u+nZTS3A=";
|
||||
sha256 = "sha256-jOSUtVSiy/S4nsgvfZZqZjxsppqNi90edn8rcTa+pFQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
@ -12,7 +12,7 @@ let
|
||||
self = python3;
|
||||
packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; };
|
||||
};
|
||||
version = "0.59.0";
|
||||
version = "0.60.0";
|
||||
in
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "aider-chat";
|
||||
@ -20,60 +20,100 @@ python3.pkgs.buildPythonApplication {
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paul-gauthier";
|
||||
owner = "Aider-AI";
|
||||
repo = "aider";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-20LicYj1j5gGzhF+SxPUKu858nHZgwDF1JxXeHRtYe0=";
|
||||
hash = "sha256-0jAdUcGGJzxvTKY/56an0oLEghZHz6fdNLg8cPer1Qc=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools-scm ];
|
||||
|
||||
dependencies =
|
||||
with python3.pkgs;
|
||||
[
|
||||
aiohappyeyeballs
|
||||
backoff
|
||||
beautifulsoup4
|
||||
configargparse
|
||||
diff-match-patch
|
||||
diskcache
|
||||
flake8
|
||||
gitpython
|
||||
grep-ast
|
||||
importlib-resources
|
||||
json5
|
||||
jsonschema
|
||||
jiter
|
||||
litellm
|
||||
networkx
|
||||
numpy
|
||||
packaging
|
||||
pathspec
|
||||
pexpect
|
||||
pillow
|
||||
playwright
|
||||
prompt-toolkit
|
||||
ptyprocess
|
||||
pypager
|
||||
pypandoc
|
||||
pyperclip
|
||||
pyyaml
|
||||
psutil
|
||||
rich
|
||||
scipy
|
||||
sounddevice
|
||||
soundfile
|
||||
streamlit
|
||||
tokenizers
|
||||
watchdog
|
||||
pydub
|
||||
]
|
||||
++ lib.optionals (!tensorflow.meta.broken) [
|
||||
llama-index-core
|
||||
llama-index-embeddings-huggingface
|
||||
];
|
||||
dependencies = with python3.pkgs; [
|
||||
aiohappyeyeballs
|
||||
aiohttp
|
||||
aiosignal
|
||||
annotated-types
|
||||
anyio
|
||||
attrs
|
||||
backoff
|
||||
beautifulsoup4
|
||||
certifi
|
||||
cffi
|
||||
charset-normalizer
|
||||
click
|
||||
configargparse
|
||||
diff-match-patch
|
||||
diskcache
|
||||
distro
|
||||
filelock
|
||||
flake8
|
||||
frozenlist
|
||||
fsspec
|
||||
gitdb
|
||||
gitpython
|
||||
grep-ast
|
||||
h11
|
||||
httpcore
|
||||
httpx
|
||||
huggingface-hub
|
||||
idna
|
||||
importlib-resources
|
||||
jinja2
|
||||
jiter
|
||||
json5
|
||||
jsonschema
|
||||
jsonschema-specifications
|
||||
litellm
|
||||
markdown-it-py
|
||||
markupsafe
|
||||
mccabe
|
||||
mdurl
|
||||
multidict
|
||||
networkx
|
||||
numpy
|
||||
openai
|
||||
packaging
|
||||
pathspec
|
||||
pexpect
|
||||
pillow
|
||||
prompt-toolkit
|
||||
psutil
|
||||
ptyprocess
|
||||
pycodestyle
|
||||
pycparser
|
||||
pydantic
|
||||
pydantic-core
|
||||
pydub
|
||||
pyflakes
|
||||
pygments
|
||||
pypandoc
|
||||
pyperclip
|
||||
python-dotenv
|
||||
pyyaml
|
||||
referencing
|
||||
regex
|
||||
requests
|
||||
rich
|
||||
rpds-py
|
||||
scipy
|
||||
smmap
|
||||
sniffio
|
||||
sounddevice
|
||||
soundfile
|
||||
soupsieve
|
||||
tiktoken
|
||||
tokenizers
|
||||
tqdm
|
||||
tree-sitter
|
||||
tree-sitter-languages
|
||||
typing-extensions
|
||||
urllib3
|
||||
wcwidth
|
||||
yarl
|
||||
zipp
|
||||
];
|
||||
|
||||
buildInputs = [ portaudio ];
|
||||
|
||||
|
@ -68,7 +68,10 @@ rustPlatform.buildRustPackage rec {
|
||||
description = "Wayland-native, highly customizable runner";
|
||||
homepage = "https://github.com/kirottu/anyrun";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ NotAShelf ];
|
||||
maintainers = with lib.maintainers; [
|
||||
khaneliman
|
||||
NotAShelf
|
||||
];
|
||||
mainProgram = "anyrun";
|
||||
};
|
||||
}
|
||||
|
@ -1,19 +1,20 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, undmg
|
||||
, writeShellApplication
|
||||
, curl
|
||||
, common-updater-scripts
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
undmg,
|
||||
writeShellApplication,
|
||||
curl,
|
||||
common-updater-scripts,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arc-browser";
|
||||
version = "1.63.1-54714";
|
||||
version = "1.65.0-54911";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-jL8iAh+e8Z72VG9XQbswjyTPtjO2Pm8ealRte8xr1PQ=";
|
||||
hash = "sha256-7p1FizITL4GVvlDTV91nwYQZ7LKEd4snJQX0NvB81Qo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
@ -23,8 +24,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications/Arc.app
|
||||
cp -R . $out/Applications/Arc.app
|
||||
mkdir -p "$out/Applications/Arc.app"
|
||||
cp -R . "$out/Applications/Arc.app"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -33,9 +34,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru.updateScript = lib.getExe (writeShellApplication {
|
||||
name = "arc-browser-update-script";
|
||||
runtimeInputs = [ curl common-updater-scripts ];
|
||||
runtimeInputs = [
|
||||
curl
|
||||
common-updater-scripts
|
||||
];
|
||||
text = ''
|
||||
set -euo pipefail
|
||||
redirect_url="$(curl -s -L -f "https://releases.arc.net/release/Arc-latest.dmg" -o /dev/null -w '%{url_effective}')"
|
||||
# The url scheme is: https://releases.arc.net/release/Arc-1.23.4-56789.dmg
|
||||
# We strip everything before 'Arc-' and after '.dmg'
|
||||
@ -50,7 +53,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
homepage = "https://arc.net/";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ donteatoreo ];
|
||||
platforms = [ "aarch64-darwin" "x86_64-darwin" ];
|
||||
platforms = [
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pname
|
||||
version
|
||||
src
|
||||
pnpmWorkspace
|
||||
pnpmWorkspaces
|
||||
prePnpmInstall
|
||||
;
|
||||
hash = "sha256-/X8ZoWK5kBPm/8clBDP+B9A5ofXnH2svmy4kMc2t5iA=";
|
||||
@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# Must specify to download "@astrojs/yaml2ts" depencendies
|
||||
# https://pnpm.io/filtering#--filter-package_name-1
|
||||
pnpmWorkspace = "@astrojs/language-server...";
|
||||
pnpmWorkspaces = [ "@astrojs/language-server..." ];
|
||||
prePnpmInstall = ''
|
||||
# Warning section for "pnpm@v8"
|
||||
# https://pnpm.io/cli/install#--filter-package_selector
|
||||
|
@ -19,9 +19,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE=";
|
||||
};
|
||||
|
||||
pnpmWorkspace = "bash-language-server";
|
||||
pnpmWorkspaces = [ "bash-language-server" ];
|
||||
pnpmDeps = pnpm_8.fetchDeps {
|
||||
inherit (finalAttrs) pname version src pnpmWorkspace;
|
||||
inherit (finalAttrs) pname version src pnpmWorkspaces;
|
||||
hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg=";
|
||||
};
|
||||
|
||||
|
@ -117,7 +117,7 @@ python3Packages.buildPythonApplication rec {
|
||||
description = "Dynamic Tracing Tools for Linux";
|
||||
homepage = "https://iovisor.github.io/bcc/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ ragge mic92 thoughtpolice martinetd ];
|
||||
maintainers = with maintainers; [ ragge mic92 thoughtpolice martinetd ryan4yin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
let
|
||||
pname = "beekeeper-studio";
|
||||
version = "4.6.2";
|
||||
version = "4.6.8";
|
||||
|
||||
plat = {
|
||||
aarch64-linux = "-arm64";
|
||||
@ -15,8 +15,8 @@ let
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
hash = {
|
||||
aarch64-linux = "sha256-ZxqwxCON21S+RPG0/M2TtcI2Ave7ZT05lKQdyysQFUk=";
|
||||
x86_64-linux = "sha256-8sGFNoAsX+X3IJDXpwlYRt78nokauPYz88yDEYy6NP8=";
|
||||
aarch64-linux = "sha256-EKGL+aeuCcBuSh+VtkdgFhI1LccuvO8WHoqbZ/JdX7c=";
|
||||
x86_64-linux = "sha256-LyO9xCqZG5gNAvCIX9wacSb59wiLjXPDta+Fipu24fk=";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
src = fetchurl {
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
targetPlatform,
|
||||
fetchurl,
|
||||
python312,
|
||||
SDL2,
|
||||
@ -30,7 +29,7 @@ let
|
||||
hash = "sha256-o1Yg0C5k07NZzc9jQrHXR+kkQl8HZ55U9/fqcpe3Iyw=";
|
||||
};
|
||||
}
|
||||
.${targetPlatform.system} or (throw "${targetPlatform.system} is unsupported.");
|
||||
.${stdenv.targetPlatform.system} or (throw "${stdenv.targetPlatform.system} is unsupported.");
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bombsquad";
|
||||
|
@ -84,7 +84,10 @@ buildNpmPackage rec {
|
||||
description = "Elegant Facebook Messenger desktop app";
|
||||
homepage = "https://github.com/sindresorhus/caprine";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ astronaut0212 ];
|
||||
maintainers = with lib.maintainers; [
|
||||
astronaut0212
|
||||
khaneliman
|
||||
];
|
||||
inherit (electron.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
@ -2,18 +2,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-rdme";
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-AARkXr6qOq9u/nmcmCnA4P+Q+MPPChCXoRaYiLwCNPs=";
|
||||
hash = "sha256-IB+n9abFeWLgJLdo3NjffcGrIxXhNdZ2moyfIG+gMoc=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
cargoHash = "sha256-myTh+zOtAt9h/irld7OHSXKMv0V+LAR4h/afYKvXeXg=";
|
||||
cargoHash = "sha256-mD95+Q6xaL0LFk5841LBrQqzFU7KFJbUgHB96zXy2KU=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cargo command to create the README.md from your crate's documentation";
|
||||
|
80
pkgs/by-name/ca/cava/package.nix
Normal file
80
pkgs/by-name/ca/cava/package.nix
Normal file
@ -0,0 +1,80 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
autoconf-archive,
|
||||
alsa-lib,
|
||||
fftw,
|
||||
iniparser,
|
||||
libGL,
|
||||
libpulseaudio,
|
||||
libtool,
|
||||
ncurses,
|
||||
pipewire,
|
||||
pkgconf,
|
||||
portaudio,
|
||||
SDL2,
|
||||
versionCheckHook,
|
||||
withSDL2 ? false,
|
||||
withPipewire ? stdenv.hostPlatform.isLinux,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cava";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "karlstav";
|
||||
repo = "cava";
|
||||
rev = version;
|
||||
hash = "sha256-y6RslsU/zmr0Ai/rnr73N3OtjuBcWa3JCwh9P5GkNss=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
fftw
|
||||
iniparser
|
||||
libpulseaudio
|
||||
libtool
|
||||
ncurses
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
portaudio
|
||||
]
|
||||
++ lib.optionals withSDL2 [
|
||||
libGL
|
||||
SDL2
|
||||
]
|
||||
++ lib.optionals withPipewire [
|
||||
pipewire
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
autoconf-archive
|
||||
pkgconf
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "-v";
|
||||
|
||||
preAutoreconf = ''
|
||||
echo ${version} > version
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Console-based Audio Visualizer for Alsa";
|
||||
homepage = "https://github.com/karlstav/cava";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
offline
|
||||
mirrexagon
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "cava";
|
||||
};
|
||||
}
|
@ -11,6 +11,7 @@
|
||||
yaml-cpp,
|
||||
elfutils,
|
||||
libunwind,
|
||||
versionCheckHook,
|
||||
enableLibcxx ? false,
|
||||
debug ? false,
|
||||
}:
|
||||
@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCUSTOM_COMPILE_OPTIONS=-Wno-error=sign-compare"
|
||||
"-DGIT_VERSION=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -72,6 +74,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
dontFixup = debug;
|
||||
dontStrip = debug;
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
meta = {
|
||||
description = "Customizable automatic UML diagram generator for C++ based on Clang";
|
||||
longDescription = ''
|
||||
@ -84,5 +90,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://clang-uml.github.io/";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "clang-uml";
|
||||
};
|
||||
})
|
||||
|
33
pkgs/by-name/cl/cliqr/package.nix
Normal file
33
pkgs/by-name/cl/cliqr/package.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cliqr";
|
||||
version = "0.1.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paepckehh";
|
||||
repo = "cliqr";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-iPNI92kCNFXRiV5NV7Yj0gznwNeFoW02yh6QLrkBYO0=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/paepckehh/cliqr/releases/tag/v${version}";
|
||||
homepage = "https://paepcke.de/cliqr";
|
||||
description = "Transfer, share data & secrets via console qr codes";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "cliqr";
|
||||
maintainers = with lib.maintainers; [ paepcke ];
|
||||
};
|
||||
}
|
@ -8,11 +8,11 @@
|
||||
}:
|
||||
let
|
||||
pname = "cursor";
|
||||
version = "0.41.3";
|
||||
version = "0.42.3";
|
||||
appKey = "230313mzl4w4u92";
|
||||
src = fetchurl {
|
||||
url = "https://download.todesktop.com/230313mzl4w4u92/cursor-0.41.3-build-240925fkhcqg263-x86_64.AppImage";
|
||||
hash = "sha256-WtfyiNGnUn8g1HR0TQPyn3SMJmjqe+otAYeyokMIO+w=";
|
||||
url = "https://download.todesktop.com/230313mzl4w4u92/cursor-0.42.3-build-241016kxu9umuir-x86_64.AppImage";
|
||||
hash = "sha256-GWkilBlpXube//jbxRjmKJjYcmB42nhMY8K0OgkvtwA=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit version pname src; };
|
||||
in
|
||||
|
@ -14,14 +14,14 @@
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio_linux_2.0.9.tar.xz"
|
||||
"factorio_linux_2.0.10.tar.xz"
|
||||
],
|
||||
"name": "factorio_alpha_x64-2.0.9.tar.xz",
|
||||
"name": "factorio_alpha_x64-2.0.10.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "34c21cd3cbe91b65483786ccb4467b5d4766c748cbbddd2ce3b30d319d163e3b",
|
||||
"sha256": "07508fc5112f95ef5d5afedea66863ea326e039bd872b772b934ed08545c399b",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.9/alpha/linux64",
|
||||
"version": "2.0.9"
|
||||
"url": "https://factorio.com/get-download/2.0.10/alpha/linux64",
|
||||
"version": "2.0.10"
|
||||
}
|
||||
},
|
||||
"demo": {
|
||||
@ -62,14 +62,14 @@
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-space-age_linux_2.0.9.tar.xz"
|
||||
"factorio-space-age_linux_2.0.10.tar.xz"
|
||||
],
|
||||
"name": "factorio_expansion_x64-2.0.9.tar.xz",
|
||||
"name": "factorio_expansion_x64-2.0.10.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "6369d23550a7a721d3de1d34253e8321ee601fa759d1fb5efac9abc28aa7509d",
|
||||
"sha256": "f7d346578c812314be8b72fbf6fd291c53d23ecc2dc6556a8948d26b3b95d71e",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.9/expansion/linux64",
|
||||
"version": "2.0.9"
|
||||
"url": "https://factorio.com/get-download/2.0.10/expansion/linux64",
|
||||
"version": "2.0.10"
|
||||
}
|
||||
},
|
||||
"headless": {
|
||||
@ -87,15 +87,15 @@
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-headless_linux_2.0.9.tar.xz",
|
||||
"factorio_headless_x64_2.0.9.tar.xz"
|
||||
"factorio-headless_linux_2.0.10.tar.xz",
|
||||
"factorio_headless_x64_2.0.10.tar.xz"
|
||||
],
|
||||
"name": "factorio_headless_x64-2.0.9.tar.xz",
|
||||
"name": "factorio_headless_x64-2.0.10.tar.xz",
|
||||
"needsAuth": false,
|
||||
"sha256": "f499077b3e2c1313452c350f1faf17db31cae2a0fa738f69166e97c3caa3c86d",
|
||||
"sha256": "2d7dd212fa6f715218a5e33bad7d593af8998fa7bf7ce727343159ee1f8c23f4",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.9/headless/linux64",
|
||||
"version": "2.0.9"
|
||||
"url": "https://factorio.com/get-download/2.0.10/headless/linux64",
|
||||
"version": "2.0.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@
|
||||
, libnotify
|
||||
, slurp
|
||||
, wl-clipboard
|
||||
, bash
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
@ -31,6 +32,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
scdoc
|
||||
];
|
||||
|
||||
buildInputs = [ bash ];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
];
|
||||
|
@ -10,11 +10,11 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "guile-goblins";
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://spritely.institute/files/releases/guile-goblins/guile-goblins-${version}.tar.gz";
|
||||
hash = "sha256-efmyOtPAz1ZPdMCuVaGALR6e0lg7gcjt81BUMBVUKug=";
|
||||
hash = "sha256-jR+pWk7NXvOF0CvDwa1rYg0yu5ktyq440qyRgivqHr8=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -43,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Hyprland's idle daemon";
|
||||
homepage = "https://github.com/hyprwm/hypridle";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ iogamaster ];
|
||||
maintainers = with lib.maintainers; [
|
||||
iogamaster
|
||||
khaneliman
|
||||
];
|
||||
mainProgram = "hypridle";
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
|
@ -207,6 +207,7 @@ customStdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
fufexan
|
||||
johnrtitor
|
||||
khaneliman
|
||||
wozeparrot
|
||||
];
|
||||
mainProgram = "Hyprland";
|
||||
|
@ -7,6 +7,8 @@
|
||||
, slurp
|
||||
, wl-clipboard
|
||||
, libnotify
|
||||
, withFreeze ? true
|
||||
, hyprpicker
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
@ -28,9 +30,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
install -Dm755 hyprshot -t "$out/bin"
|
||||
wrapProgram "$out/bin/hyprshot" \
|
||||
--prefix PATH ":" ${lib.makeBinPath [
|
||||
--prefix PATH ":" ${lib.makeBinPath ([
|
||||
hyprland jq grim slurp wl-clipboard libnotify
|
||||
]}
|
||||
] ++ lib.optionals withFreeze [ hyprpicker ])}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "i2p";
|
||||
version = "2.6.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchzip {
|
||||
urls = [
|
||||
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"https://files.i2p-projekt.de/"
|
||||
"https://download.i2p2.no/releases/"
|
||||
]);
|
||||
hash = "sha256-ntjTXdpgcTReEVxzDEoq9r3NAqS7q4m+rlJXp7is1k0=";
|
||||
hash = "sha256-gw1i6jrmTfz9CZlCjtOUdH5R4vD57ysDeQxyyWifieg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -14,16 +14,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "inv-sig-helper";
|
||||
version = "0-unstable-2024-08-17";
|
||||
version = "0-unstable-2024-09-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iv-org";
|
||||
repo = "inv_sig_helper";
|
||||
rev = "215d32c76e5e9e598de6e4f8542316f80dd92f57";
|
||||
hash = "sha256-Ge0XoWrscyZSrkmtDPkAnv96IVylKZTcgGgonbFV43I=";
|
||||
rev = "5025e49e6106f93ec06d0e3fd542a51e1c44c25a";
|
||||
hash = "sha256-fMRjkZRMvcro3pOO20l5zRDOwn/E5KTVBOiDmcGROz4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JVpLUhNJ7/4WZwLn/zOurpP8kF5WblF3nphJh6keHG8=";
|
||||
cargoHash = "sha256-AisolMo++xMDesdfafeGx37r7sGbk0P0vMsHq0YTUL4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -141,6 +141,10 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
cp *.so "$out/bin"
|
||||
cp *.embd "$out/bin"
|
||||
|
||||
${lib.optionalString metalSupport ''
|
||||
cp *.metal "$out/bin"
|
||||
''}
|
||||
|
||||
${lib.optionalString (!koboldLiteSupport) ''
|
||||
rm "$out/bin/kcpp_docs.embd"
|
||||
rm "$out/bin/klite.embd"
|
||||
|
@ -34,6 +34,7 @@ buildGoModule rec {
|
||||
maintainers = with maintainers; [
|
||||
Br1ght0ne
|
||||
equirosa
|
||||
khaneliman
|
||||
paveloom
|
||||
starsep
|
||||
];
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "less";
|
||||
version = "661";
|
||||
version = "668";
|
||||
|
||||
# Only tarballs on the website are valid releases,
|
||||
# other versions, e.g. git tags are considered snapshots.
|
||||
src = fetchurl {
|
||||
url = "https://www.greenwoodsoftware.com/less/less-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-K18BZyFuPvD/ywwxw3Tih+sDXk4iPV2uMVwng7bnOO0=";
|
||||
hash = "sha256-KBn1VWTYbVQqu+yv2C/2HoGaPuyWf6o2zT5o8VlqRLg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
32
pkgs/by-name/op/opnborg/package.nix
Normal file
32
pkgs/by-name/op/opnborg/package.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "opnborg";
|
||||
version = "0.1.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paepckehh";
|
||||
repo = "opnborg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-eRJLdrNspkdpb24Bz7GjvcC+1iwRVXyG6Rjqf3fGkZY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-REXJryUcu+/AdVx1aK0nJ98Wq/EdhrZqL24kC1wK6mc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/paepckehh/opnborg/releases/tag/v${version}";
|
||||
homepage = "https://paepcke.de/opnborg";
|
||||
description = "Sefhosted OPNSense Appliance Backup & Configuration Management Portal";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "opnborg";
|
||||
maintainers = with lib.maintainers; [ paepcke ];
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "orchard";
|
||||
version = "0.24.0";
|
||||
version = "0.24.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cirruslabs";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-N54wkqe05Hm9o+kQmWTJREoU+0GnivaVTJngtBDL8+U=";
|
||||
hash = "sha256-6w/UcifseoajAOKZnn0GJiUzXAmLNGKLDCZkeZLK8NI=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -7,13 +7,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oscar";
|
||||
version = "1.5.1";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "pholy";
|
||||
repo = "OSCAR-code";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FBHbPtMZeIgcR1pQflfEWK2FS8bquctXaeY/yaZofHg=";
|
||||
rev = "${version}";
|
||||
hash = "sha256-ukd2pni4qEwWxG4lr8KUliZO/R2eziTTuSvDo8uigxQ=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
45
pkgs/by-name/pa/patch-package/package.nix
Normal file
45
pkgs/by-name/pa/patch-package/package.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
yarnConfigHook,
|
||||
yarnBuildHook,
|
||||
yarnInstallHook,
|
||||
nodejs,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "patch-package";
|
||||
version = "8.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ds300";
|
||||
repo = "patch-package";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-QuCgdQGqy27wyLUI6w6p8EWLn1XA7QbkjpLJwFXSex8=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-WF9gJkj4wyrBeGPIzTOw3nG6Se7tFb0YLcAM8Uv9YNI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
yarnConfigHook
|
||||
yarnBuildHook
|
||||
yarnInstallHook
|
||||
nodejs
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Fix broken node modules instantly";
|
||||
mainProgram = "patch-package";
|
||||
homepage = "https://github.com/ds300/patch-package";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ pyrox0 ];
|
||||
};
|
||||
})
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildBazelPackage,
|
||||
fetchFromGitHub,
|
||||
bazel_6,
|
||||
@ -8,25 +9,39 @@
|
||||
libcap,
|
||||
}:
|
||||
|
||||
let
|
||||
system = stdenv.hostPlatform.system;
|
||||
registry = fetchFromGitHub {
|
||||
owner = "bazelbuild";
|
||||
repo = "bazel-central-registry";
|
||||
rev = "ef34e6bfad5a6ab54080ddcc83a4d65849855e3a";
|
||||
hash = "sha256-PhacBegQDwWZqZeoZjoLR4akhVV3QrSPr1KflCuied0=";
|
||||
};
|
||||
in
|
||||
buildBazelPackage rec {
|
||||
pname = "perf_data_converter";
|
||||
version = "0-unstable-2024-07-25";
|
||||
version = "0-unstable-2024-10-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "perf_data_converter";
|
||||
rev = "571052793d8c49fd3e93121af548cc8ebd8920f0";
|
||||
hash = "sha256-yoWOCSYAfnDVDQ6uwZ30P4p3pgvfmjVQiN9gu5auusY=";
|
||||
rev = "f76cd4dd1e85bb54d60ea3fe69f92168fdf94edb";
|
||||
hash = "sha256-AScXL74K0Eiajdib56+7ay3K/MMWbmeUWkRWMaEJRC8=";
|
||||
};
|
||||
|
||||
bazel = bazel_6;
|
||||
bazelFlags = [
|
||||
"--java_runtime_version=local_jdk"
|
||||
"--tool_java_runtime_version=local_jdk"
|
||||
"--registry"
|
||||
"file://${registry}"
|
||||
];
|
||||
|
||||
fetchAttrs = {
|
||||
hash = "sha256-Qm6Ng9cXvKx043P7qyNHyyMvdGK9aNarX1ZKeCp3mgY=";
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-gSRSkLGZhHe8o3byZVFsUxXPM+xzetOPhfzkAVTGAUs=";
|
||||
x86_64-linux = "sha256-ZYjFpdH0oYrJguw16DSJWiXjhfJusG+inShbx/BOrcY=";
|
||||
}
|
||||
.${system} or (throw "No hash for system: ${system}");
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ jdk ];
|
||||
|
3297
pkgs/by-name/po/pop-launcher/Cargo.lock
generated
Normal file
3297
pkgs/by-name/po/pop-launcher/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,64 @@
|
||||
{ rustPlatform
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, fd
|
||||
, libqalculate
|
||||
{
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
just,
|
||||
pkg-config,
|
||||
fd,
|
||||
libqalculate,
|
||||
libxkbcommon,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pop-launcher";
|
||||
version = "1.2.1";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "launcher";
|
||||
rev = version;
|
||||
hash = "sha256-BQAO9IodZxGgV8iBmUaOF0yDbAMVDFslKCqlh3pBnb0=";
|
||||
hash = "sha256-CLpquNgdtnGMlMpGLv72WZmizalvYPfMWlE/qLprVrs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
just
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"cosmic-client-toolkit-0.1.0" = "sha256-6XM6kcM2CEGAziCkal4uO0EL1nEWOKb3rFs7hFh6r7Y=";
|
||||
"switcheroo-control-0.1.0" = "sha256-mklNPKVMO6iFrxki2DwiL5K78KiWpGxksisYldaASIE=";
|
||||
};
|
||||
};
|
||||
cargoBuildFlags = [
|
||||
"--package"
|
||||
"pop-launcher-bin"
|
||||
];
|
||||
cargoTestFlags = [
|
||||
"--package"
|
||||
"pop-launcher-bin"
|
||||
];
|
||||
|
||||
dontUseJustBuild = true;
|
||||
dontUseJustCheck = true;
|
||||
justFlags = [
|
||||
"--set"
|
||||
"base-dir"
|
||||
(placeholder "out")
|
||||
"--set"
|
||||
"target-dir"
|
||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
|
||||
|
||||
substituteInPlace src/lib.rs \
|
||||
--replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher"
|
||||
substituteInPlace plugins/src/scripts/mod.rs \
|
||||
@ -29,28 +71,6 @@ rustPlatform.buildRustPackage rec {
|
||||
--replace-fail '/usr/bin/gnome-terminal' 'gnome-terminal'
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-cTvrq0fH057UIx/O9u8zHMsg+psMGg1q9klV5OMxtok=";
|
||||
|
||||
cargoBuildFlags = [ "--package" "pop-launcher-bin" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/pop-launcher{-bin,}
|
||||
|
||||
plugins_dir=$out/share/pop-launcher/plugins
|
||||
scripts_dir=$out/share/pop-launcher/scripts
|
||||
mkdir -p $plugins_dir $scripts_dir
|
||||
|
||||
for plugin in $(find plugins/src -mindepth 1 -maxdepth 1 -type d -printf '%f\n'); do
|
||||
mkdir $plugins_dir/$plugin
|
||||
cp plugins/src/$plugin/*.ron $plugins_dir/$plugin
|
||||
ln -sf $out/bin/pop-launcher $plugins_dir/$plugin/$(echo $plugin | sed 's/_/-/')
|
||||
done
|
||||
|
||||
for script in scripts/*; do
|
||||
cp -r $script $scripts_dir
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Modular IPC-based desktop launcher service";
|
||||
homepage = "https://github.com/pop-os/launcher";
|
||||
|
@ -1,19 +1,32 @@
|
||||
{ lib, rustPlatform, fetchCrate }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchCrate,
|
||||
installShellFiles,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "preserves-tools";
|
||||
version = "4.994.0";
|
||||
version = "4.996.1";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-+I2uxdAe4SHg8ZLRvkIUr862FH6GvCwnyhxcCPD3JBA=";
|
||||
hash = "sha256-Uyh5mXCypX3TDxxJtnTe6lBoVI8aqdG56ywn7htDGUY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-09uxXD9EZzzk42tBYbuqaLRFyGmOUuvC7G0XMDjsK6E=";
|
||||
cargoHash = "sha256-rDo/jA4b+GV90SKM82JcGTX1pcAQUeBrLvGwU/geGOw=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd preserves-tool \
|
||||
--bash <($out/bin/preserves-tool completions bash) \
|
||||
--fish <($out/bin/preserves-tool completions fish) \
|
||||
--zsh <($out/bin/preserves-tool completions zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description =
|
||||
"Command-line utilities for working with Preserves documents";
|
||||
description = "Command-line utilities for working with Preserves documents";
|
||||
homepage = "https://preserves.dev/doc/preserves-tool.html";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
|
@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pulumi-esc";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pulumi";
|
||||
repo = "esc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SeHO8N8NwAF4f6Eo46V2mBElVgJc5ijVrjsBHWtUMc0=";
|
||||
hash = "sha256-/H2HFjq/CpY5/xj9tqr+1Qo1nD06joahvbIiu16DLrs=";
|
||||
};
|
||||
|
||||
subPackages = "cmd/esc";
|
||||
|
||||
vendorHash = "sha256-xJtlTyhGyoxefE2pFcLGHMapn9L2F/PKuNt49J41viE=";
|
||||
vendorHash = "sha256-T9DUgfYpu1xXekMxzlr2VwmPSkD/sPml+G0KaFeeAWA=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -5,7 +5,6 @@
|
||||
, dotnetCorePackages
|
||||
, openssl
|
||||
, zlib
|
||||
, hostPlatform
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
@ -30,7 +29,7 @@ buildDotnetModule rec {
|
||||
patches = [ ./add-runtime-identifier.patch ];
|
||||
postPatch = ''
|
||||
substituteInPlace pupdate.csproj \
|
||||
--replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid hostPlatform.system}"
|
||||
--replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}"
|
||||
'';
|
||||
|
||||
projectFile = "pupdate.csproj";
|
||||
|
74
pkgs/by-name/py/pychess/package.nix
Normal file
74
pkgs/by-name/py/pychess/package.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
gobject-introspection,
|
||||
wrapGAppsHook3,
|
||||
gtk3,
|
||||
gst_all_1,
|
||||
gtksourceview,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "pychess";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pychess";
|
||||
repo = "pychess";
|
||||
rev = "${version}";
|
||||
hash = "sha256-hxc+vYvCeiM0+oOu1peI9qkZg5PeIsDMCiydJQAuzOk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
gst_all_1.gst-plugins-base
|
||||
gtksourceview
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pygobject3
|
||||
pycairo
|
||||
sqlalchemy
|
||||
pexpect
|
||||
psutil
|
||||
websockets
|
||||
ptyprocess
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$(mktemp -d)
|
||||
export PYTHONPATH=./lib:$PYTHONPATH
|
||||
python pgn2ecodb.py
|
||||
python create_theme_preview.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cp -r $out/share/pychess/* $out/lib/python*/
|
||||
'';
|
||||
|
||||
# No tests available.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Advanced GTK chess client written in Python";
|
||||
homepage = "https://pychess.github.io/";
|
||||
mainProgram = "pychess";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ lgbishop ];
|
||||
};
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "rockcraft";
|
||||
version = "1.5.3";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "canonical";
|
||||
|
@ -1,14 +1,20 @@
|
||||
{ lib, stdenv, fetchFromGitHub, libusb1, pkg-config }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
libusb1,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rpiboot";
|
||||
version = "20221215-105525";
|
||||
version = "20240926-102326";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "raspberrypi";
|
||||
repo = "usbboot";
|
||||
rev = version;
|
||||
hash = "sha256-Y77IrDblXmnpZleJ3zTyiGDYLZ7gNxASXpqUzwS1NCU=";
|
||||
hash = "sha256-9m7PAw1WNQlfqOr5hDXrCsZlZLBmvoGUT58NN2cVolw=";
|
||||
};
|
||||
|
||||
buildInputs = [ libusb1 ];
|
||||
@ -22,16 +28,27 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/rpiboot
|
||||
cp rpiboot $out/bin
|
||||
cp -r msd $out/share/rpiboot
|
||||
cp -r msd firmware eeprom-erase mass-storage-gadget* recovery* secure-boot* rpi-imager-embedded $out/share/rpiboot
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://github.com/raspberrypi/usbboot";
|
||||
changelog = "https://github.com/raspberrypi/usbboot/blob/${version}/debian/changelog";
|
||||
description = "Utility to boot a Raspberry Pi CM/CM3/CM4/Zero over USB";
|
||||
mainProgram = "rpiboot";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ cartr flokli ];
|
||||
platforms = [ "aarch64-linux" "aarch64-darwin" "armv7l-linux" "armv6l-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
cartr
|
||||
flokli
|
||||
stv0g
|
||||
];
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
"armv7l-linux"
|
||||
"armv6l-linux"
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
};
|
||||
}
|
@ -937,8 +937,21 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn usage(argv0: &str) -> ! {
|
||||
eprintln!(
|
||||
r#"Usage: {} [switch|boot|test|dry-activate]
|
||||
switch: make the configuration the boot default and activate now
|
||||
boot: make the configuration the boot default
|
||||
test: activate the configuration, but don't make it the boot default
|
||||
dry-activate: show what would be done if this configuration were activated
|
||||
"#,
|
||||
argv0
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
/// Performs switch-to-configuration functionality for the entire system
|
||||
fn do_system_switch() -> anyhow::Result<()> {
|
||||
fn do_system_switch(action: Action) -> anyhow::Result<()> {
|
||||
let out = PathBuf::from(required_env("OUT")?);
|
||||
let toplevel = PathBuf::from(required_env("TOPLEVEL")?);
|
||||
let distro_id = required_env("DISTRO_ID")?;
|
||||
@ -946,25 +959,6 @@ fn do_system_switch() -> anyhow::Result<()> {
|
||||
let locale_archive = required_env("LOCALE_ARCHIVE")?;
|
||||
let new_systemd = PathBuf::from(required_env("SYSTEMD")?);
|
||||
|
||||
let mut args = std::env::args();
|
||||
let argv0 = args.next().ok_or(anyhow!("no argv[0]"))?;
|
||||
|
||||
let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
|
||||
eprintln!(
|
||||
r#"Usage: {} [switch|boot|test|dry-activate]
|
||||
switch: make the configuration the boot default and activate now
|
||||
boot: make the configuration the boot default
|
||||
test: activate the configuration, but don't make it the boot default
|
||||
dry-activate: show what would be done if this configuration were activated
|
||||
"#,
|
||||
argv0
|
||||
.split(std::path::MAIN_SEPARATOR_STR)
|
||||
.last()
|
||||
.unwrap_or("switch-to-configuration")
|
||||
);
|
||||
std::process::exit(1);
|
||||
};
|
||||
|
||||
let action = ACTION.get_or_init(|| action);
|
||||
|
||||
// The action that is to be performed (like switch, boot, test, dry-activate) Also exposed via
|
||||
@ -1082,22 +1076,6 @@ won't take effect until you reboot the system.
|
||||
.subscribe()
|
||||
.context("Failed to subscribe to systemd dbus messages")?;
|
||||
|
||||
// Wait for the system to have finished booting.
|
||||
loop {
|
||||
let system_state: String = systemd
|
||||
.get("org.freedesktop.systemd1.Manager", "SystemState")
|
||||
.context("Failed to get system state")?;
|
||||
|
||||
match system_state.as_str() {
|
||||
"running" | "degraded" | "maintenance" => break,
|
||||
_ => {
|
||||
_ = dbus_conn
|
||||
.process(Duration::from_millis(500))
|
||||
.context("Failed to process dbus messages")?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let _systemd_reload_status = systemd_reload_status.clone();
|
||||
let reloading_token = systemd
|
||||
.match_signal(
|
||||
@ -1939,13 +1917,26 @@ won't take effect until you reboot the system.
|
||||
}
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
match (
|
||||
unsafe { nix::libc::geteuid() },
|
||||
std::env::var("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE").ok(),
|
||||
) {
|
||||
(0, None) => do_system_switch(),
|
||||
(1..=u32::MAX, None) => bail!("This program does not support being ran outside of the switch-to-configuration environment"),
|
||||
(_, Some(parent_exe)) => do_user_switch(parent_exe),
|
||||
match std::env::var("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE").ok() {
|
||||
Some(parent_exe) => do_user_switch(parent_exe),
|
||||
None => {
|
||||
let mut args = std::env::args();
|
||||
let argv0 = args.next().ok_or(anyhow!("no argv[0]"))?;
|
||||
let argv0 = argv0
|
||||
.split(std::path::MAIN_SEPARATOR_STR)
|
||||
.last()
|
||||
.unwrap_or("switch-to-configuration");
|
||||
|
||||
let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
|
||||
usage(&argv0);
|
||||
};
|
||||
|
||||
if unsafe { nix::libc::geteuid() } == 0 {
|
||||
do_system_switch(action)
|
||||
} else {
|
||||
bail!("{} must be run as the root user", argv0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
diff --git a/src/core/vscore.cpp b/src/core/vscore.cpp
|
||||
index 73e2eafc..66a01326 100644
|
||||
--- a/src/core/vscore.cpp
|
||||
+++ b/src/core/vscore.cpp
|
||||
@@ -1779,6 +1779,12 @@ void VSCore::isPortableInit() {
|
||||
}
|
||||
#endif
|
||||
|
||||
+void __attribute__((weak)) VSLoadPluginsNix(void (*load)(VSCore *core, const std::filesystem::path &), VSCore *);
|
||||
+
|
||||
+static void VSLoadPluginsNixCallback(VSCore *core, const std::filesystem::path &path) {
|
||||
+ core->loadAllPluginsInPath(path);
|
||||
+}
|
||||
+
|
||||
VSCore::VSCore(int flags) :
|
||||
numFilterInstances(1),
|
||||
numFunctionInstances(0),
|
||||
@@ -1890,6 +1896,10 @@ VSCore::VSCore(int flags) :
|
||||
#endif
|
||||
}
|
||||
|
||||
+ if (VSLoadPluginsNix != nullptr) {
|
||||
+ VSLoadPluginsNix(VSLoadPluginsNixCallback, this);
|
||||
+ };
|
||||
+
|
||||
VSMap *settings = readSettings(configFile);
|
||||
const char *error = vs_internal_vsapi.mapGetError(settings);
|
||||
if (error) {
|
@ -8,7 +8,6 @@
|
||||
runCommandCC,
|
||||
runCommand,
|
||||
vapoursynth,
|
||||
writeText,
|
||||
buildEnv,
|
||||
zimg,
|
||||
libass,
|
||||
@ -29,8 +28,6 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-T2bCVNH0dLM9lFYChXzvD6AJM3xEtOVCb2tI10tIXJs=";
|
||||
};
|
||||
|
||||
patches = [ ./nix-plugin-loader.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
autoreconfHook
|
||||
@ -53,6 +50,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = rec {
|
||||
# If vapoursynth is added to the build inputs of mpv and then
|
||||
@ -66,7 +64,6 @@ stdenv.mkDerivation rec {
|
||||
lib
|
||||
python3
|
||||
buildEnv
|
||||
writeText
|
||||
runCommandCC
|
||||
stdenv
|
||||
runCommand
|
||||
@ -83,6 +80,14 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Export weak symbol nixPluginDir to permit override of default plugin path
|
||||
sed -E -i \
|
||||
-e 's/(VS_PATH_PLUGINDIR)/(nixPluginDir ? nixPluginDir : \1)/g' \
|
||||
-e '1i\extern char const __attribute__((weak)) nixPluginDir[];' \
|
||||
src/core/vscore.cpp
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/vspipe \
|
||||
--prefix PYTHONPATH : $out/${python3.sitePackages}
|
||||
@ -92,6 +97,18 @@ stdenv.mkDerivation rec {
|
||||
mkdir $out/lib/vapoursynth
|
||||
'';
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
libv="$out/lib/libvapoursynth${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
if ! $NM -g -P "$libv" | grep -q '^nixPluginDir w'; then
|
||||
echo "Weak symbol nixPluginDir is missing from $libv." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.hostPlatform.isDarwin; # see https://github.com/NixOS/nixpkgs/pull/189446 for partial fix
|
||||
description = "Video processing framework with the future in mind";
|
||||
|
@ -2,7 +2,6 @@
|
||||
lib,
|
||||
python3,
|
||||
buildEnv,
|
||||
writeText,
|
||||
runCommandCC,
|
||||
stdenv,
|
||||
runCommand,
|
||||
@ -35,29 +34,19 @@ let
|
||||
paths = deepPlugins;
|
||||
};
|
||||
|
||||
pluginLoader =
|
||||
let
|
||||
source = writeText "vapoursynth-nix-plugins.cpp" ''
|
||||
#include <filesystem>
|
||||
|
||||
struct VSCore;
|
||||
|
||||
void VSLoadPluginsNix(void (*load)(VSCore *, const std::filesystem::path &), VSCore *core) {
|
||||
${lib.concatMapStrings (
|
||||
path: ''load(core, std::filesystem::u8path("${path}/lib/vapoursynth"));''
|
||||
) deepPlugins}
|
||||
}
|
||||
'';
|
||||
in
|
||||
runCommandCC "vapoursynth-plugin-loader"
|
||||
# Override default plugin path through nixPluginDir symbol
|
||||
nixPlugins =
|
||||
runCommandCC "libvapoursynth-nix-plugins${ext}"
|
||||
{
|
||||
executable = true;
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
src = ''
|
||||
char const nixPluginDir[] = "${pluginsEnv}/lib/vapoursynth";
|
||||
'';
|
||||
}
|
||||
''
|
||||
mkdir -p $out/lib
|
||||
$CXX -std=c++17 -shared -fPIC ${source} -o "$out/lib/libvapoursynth-nix-plugins${ext}"
|
||||
$CC -x c -shared -fPIC - -o "$out" <<<"$src"
|
||||
'';
|
||||
|
||||
ext = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
@ -123,9 +112,7 @@ runCommand "${vapoursynth.name}-with-plugins"
|
||||
${vapoursynth}/$binaryFile
|
||||
done
|
||||
|
||||
ln -s \
|
||||
${pluginLoader}/lib/libvapoursynth-nix-plugins${ext} \
|
||||
$out/lib/libvapoursynth-nix-plugins${ext}
|
||||
ln -s ${nixPlugins} $out/lib/libvapoursynth-nix-plugins${ext}
|
||||
ln -s ${vapoursynth}/include $out/include
|
||||
ln -s ${vapoursynth}/lib/vapoursynth/* $out/lib/vapoursynth
|
||||
ln -s \
|
||||
|
@ -91,6 +91,7 @@ buildGoModule rec {
|
||||
ivan
|
||||
leona
|
||||
shawn8901
|
||||
ryan4yin
|
||||
];
|
||||
changelog = "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v${version}";
|
||||
mainProgram = "victoria-metrics";
|
||||
|
@ -2,20 +2,23 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
libxkbcommon
|
||||
libxkbcommon,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "wayfreeze";
|
||||
version = "0-unstable-2024-05-23";
|
||||
version = "0-unstable-2024-09-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jappie3";
|
||||
repo = "wayfreeze";
|
||||
rev = "069dea0b832bd5b7a7872a57bd53f51cd377f206";
|
||||
hash = "sha256-3btFzZbkHT6kBBA3M7OwFsD710VpMiHSXIpHmvCD/es=";
|
||||
rev = "dcbe2690ce41a286ef1eed54747bac47cee6dc2c";
|
||||
hash = "sha256-XlZSVN/kTSA5X/kTpD/Hr5YBXdfh8gJPq5Da4tL0Gpk=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
cargoHash = "sha256-3OjZhWAgfmMZ0OGeRawk3KZpPqz1QCVkwsyGM+E7o88=";
|
||||
|
||||
buildInputs = [
|
||||
@ -26,7 +29,10 @@ rustPlatform.buildRustPackage {
|
||||
description = "Tool to freeze the screen of a Wayland compositor";
|
||||
homepage = "https://github.com/Jappie3/wayfreeze";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ purrpurrn ];
|
||||
maintainers = with lib.maintainers; [
|
||||
purrpurrn
|
||||
jappie3 /* upstream dev */
|
||||
];
|
||||
mainProgram = "wayfreeze";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -46,11 +46,12 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/sxyazi/yazi";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
xyenon
|
||||
matthiasbeyer
|
||||
linsui
|
||||
eljamm
|
||||
khaneliman
|
||||
linsui
|
||||
matthiasbeyer
|
||||
uncenter
|
||||
xyenon
|
||||
];
|
||||
mainProgram = "yazi";
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user