Compare commits
No commits in common. "4c8d7df4328bc873ade20fa53a188deffadde67f" and "388891aa555151dc029be90032c94cf1bd13e92d" have entirely different histories.
4c8d7df432
...
388891aa55
28
.travis.yml
Normal file
28
.travis.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
version: ~> 1.0
|
||||||
|
import: nix-community/nix-travis-ci:nix.yml@main
|
||||||
|
|
||||||
|
dist: xenial
|
||||||
|
os: linux
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- CACHIX_CACHE="xeals"
|
||||||
|
- NUR_REPO="xeals"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- env: NIX_PATH=nixpkgs=channel:nixpkgs-unstable
|
||||||
|
- env: NIX_PATH=nixpkgs=channel:nixos-unstable
|
||||||
|
# - env: NIX_PATH=nixpkgs=channel:nixos-20.03
|
||||||
|
|
||||||
|
script:
|
||||||
|
- nix-build ci.nix -kA buildOutputs
|
||||||
|
- nix eval -f default.nix 'lib'
|
||||||
|
- nix eval -f default.nix 'modules'
|
||||||
|
- nix eval -f default.nix 'overlays'
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- if [ -n "${CACHIX_CACHE}" ]; then nix-build ci.nix -kA cacheOutputs | cachix push "${CACHIX_CACHE}"; fi
|
||||||
|
- if [[ NUR_REPO != "xeals" && "cron" != "${TRAVIS_EVENT_TYPE}" && "false" = "${TRAVIS_PULL_REQUEST}" && "master" = "${TRAVIS_BRANCH}" ]]; then
|
||||||
|
curl -XPOST "https://nur-update.herokuapp.com/update?repo=${NUR_REPO}"; fi
|
||||||
|
|
52
README.md
52
README.md
@ -2,26 +2,44 @@
|
|||||||
|
|
||||||
**My personal [NUR](https://github.com/nix-community/NUR) repository**
|
**My personal [NUR](https://github.com/nix-community/NUR) repository**
|
||||||
|
|
||||||
[CI](https://git.xeals.me/xeals/nur-packages/actions) [![Cachix Cache](https://img.shields.io/badge/cachix-xeals-blue.svg)](https://xeals.cachix.org)
|
[![CI](https://github.com/xeals/nur-packages/actions/workflows/build.yml/badge.svg)](https://github.com/xeals/nur-packages/actions) [![Cachix Cache](https://img.shields.io/badge/cachix-xeals-blue.svg)](https://xeals.cachix.org)
|
||||||
|
|
||||||
## Using
|
## Noteworthy packages
|
||||||
|
|
||||||
Using packages is easier through the combined [NUR](https://github.com/nix-community/NUR) flake.
|
### Jetbrains with plugins
|
||||||
|
|
||||||
|
A fan of the Emacs/Vim/VSCode plugin builder? Now enjoy it with your favourite Jetbrains IDE!
|
||||||
|
|
||||||
|
The system is mostly proof-of-concept and there are a couple of issues with it at the moment, but it works for what is available in the repo.
|
||||||
|
|
||||||
|
#### Using
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
# flake.nix
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
{
|
let
|
||||||
inputs = {
|
xeals = import (builtins.fetchTarball "https://git.xeal.me/xeals/nur-packages/archive/master.tar.gz") {
|
||||||
xeals.url = "git+https://git.xeal.me/xeals/nur-packages"; # Direct
|
inherit pkgs;
|
||||||
xeals.url = "github:xeals/nur-packages"; # GitHub mirror
|
|
||||||
};
|
};
|
||||||
|
in
|
||||||
outputs = { nixpkgs, xeals, ... }: {
|
# e.g., for IntelliJ IDEA
|
||||||
nixosConfigurations.foo = nixpkgs.lib.nixosSystem {
|
xeals.jetbrains.ideaCommunityWithPlugins (jpkgs: [
|
||||||
modules = [
|
jpkgs.ideavim
|
||||||
xeals.nixosModules.betanin
|
jpkgs.checkstyle-idea
|
||||||
];
|
])
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Issues
|
||||||
|
|
||||||
|
- [ ] The plugin derivation overrides the base instead of extending it; this is really only an issue for the open-source IDEs, and only once they're actually built from source (instead of repackaging the JARs)
|
||||||
|
- [ ] Plugins must be manually added to the repo; long-term, I'd really want some way to scrape them, or at least have a script to add and update
|
||||||
|
|
||||||
|
### spotify-ripper
|
||||||
|
|
||||||
|
`spotify-ripper` is pretty flexible in the formats it supports, so the derivation allows you to customize which support packages to build with.
|
||||||
|
|
||||||
|
The default package comes with nothing (which is not entirely useful -- this will probably change at some point). See [the builder](./pkgs/tools/misc/spotify-ripper/default.nix) for options.
|
||||||
|
|
||||||
|
## General issues
|
||||||
|
|
||||||
|
- [ ] `spotify-ripper` does not build on stable NixOS channels before 20.09 when built with m4a or mp4 support, as `fdk-aac-encoder` is not available
|
||||||
|
- [ ] Due to changes in toolchains affected fixed output hashes, anything using `buildGoModule` and `buildRustPackage` will fail on NixOS 20.03. Override the hashes of `vendor` and `cargoDeps` attributes as needed
|
||||||
|
12
flake.lock
generated
12
flake.lock
generated
@ -5,11 +5,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -20,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704008649,
|
"lastModified": 1699725108,
|
||||||
"narHash": "sha256-rGPSWjXTXTurQN9beuHdyJhB8O761w1Zc5BqSSmHvoM=",
|
"narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d44d59d2b5bd694cd9d996fd8c51d03e3e9ba7f7",
|
"rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
28
flake.nix
28
flake.nix
@ -5,6 +5,10 @@
|
|||||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils }:
|
outputs = { self, nixpkgs, flake-utils }:
|
||||||
|
let
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
inherit (flake-utils.lib) mkApp;
|
||||||
|
in
|
||||||
flake-utils.lib.eachDefaultSystem
|
flake-utils.lib.eachDefaultSystem
|
||||||
(system:
|
(system:
|
||||||
let
|
let
|
||||||
@ -13,12 +17,14 @@
|
|||||||
{
|
{
|
||||||
packages = import ./pkgs/top-level { localSystem = system; inherit pkgs; };
|
packages = import ./pkgs/top-level { localSystem = system; inherit pkgs; };
|
||||||
|
|
||||||
formatter = pkgs.writeShellScriptBin "nur-packages-fmt" ''
|
|
||||||
${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt .
|
|
||||||
${pkgs.deadnix}/bin/deadnix -e .
|
|
||||||
'';
|
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
|
# FIXME: Disabled until I can work out what to do with generated code.
|
||||||
|
# nixpkgs-fmt = pkgs.writeShellScriptBin "nixpkgs-fmt-check" ''
|
||||||
|
# ${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt --check .
|
||||||
|
# '';
|
||||||
|
# deadnix = pkgs.writeShellScriptBin "deadnix-check" ''
|
||||||
|
# ${pkgs.deadnix}/bin/deadnix --fail .
|
||||||
|
# '';
|
||||||
# Ensures that the NUR bot can evaluate and find all our packages.
|
# Ensures that the NUR bot can evaluate and find all our packages.
|
||||||
# Normally we'd also run with `--option restrict-eval true`, but
|
# Normally we'd also run with `--option restrict-eval true`, but
|
||||||
# this is incompatible with flakes because reasons.
|
# this is incompatible with flakes because reasons.
|
||||||
@ -41,11 +47,19 @@
|
|||||||
devShells.ci = pkgs.mkShellNoCC {
|
devShells.ci = pkgs.mkShellNoCC {
|
||||||
buildInputs = [ pkgs.nix-build-uncached ];
|
buildInputs = [ pkgs.nix-build-uncached ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
apps = {
|
||||||
|
alacritty = mkApp { drv = pkgs.alacritty-ligatures; exePath = "/bin/alacritty"; };
|
||||||
|
psst-cli = mkApp { drv = pkgs.psst; exePath = "/bin/psst-cli"; };
|
||||||
|
psst-gui = mkApp { drv = pkgs.psst; exePath = "/bin/psst-gui"; };
|
||||||
|
samrewritten = mkApp { drv = pkgs.samrewritten; };
|
||||||
|
spotify-ripper = mkApp { drv = pkgs.spotify-ripper; };
|
||||||
|
};
|
||||||
})
|
})
|
||||||
// {
|
// {
|
||||||
nixosModules = nixpkgs.lib.mapAttrs (_: path: import path) (import ./modules) // {
|
nixosModules = lib.mapAttrs (_: path: import path) (import ./modules) // {
|
||||||
default = {
|
default = {
|
||||||
imports = nixpkgs.lib.attrValues self.nixosModules;
|
imports = lib.attrValues self.nixosModules;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "atlauncher";
|
pname = "atlauncher";
|
||||||
version = "3.4.35.4";
|
version = "3.4.35.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${version}/ATLauncher-${version}.jar";
|
url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${version}/ATLauncher-${version}.jar";
|
||||||
hash = "sha256-M8ygN70yizJM6VEffBh/lH/DneKAzQ5UFzc3g51dja0=";
|
hash = "sha256-CVJQGMnETW9BOn2To09/UuLrseNfovUyEFhcz/zyHOQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
62
pkgs/by-name/ca/cardboard/0001-use-system-dependencies.patch
Normal file
62
pkgs/by-name/ca/cardboard/0001-use-system-dependencies.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
diff --git a/cardboard/meson.build b/cardboard/meson.build
|
||||||
|
index b236f71..a90f230 100644
|
||||||
|
--- a/cardboard/meson.build
|
||||||
|
+++ b/cardboard/meson.build
|
||||||
|
@@ -4,24 +4,15 @@ xkbcommon = dependency('xkbcommon')
|
||||||
|
xcb = dependency('xcb', required: get_option('xwayland'))
|
||||||
|
|
||||||
|
wlroots_version = '>=0.10.0'
|
||||||
|
-wlroots_proj = subproject(
|
||||||
|
+wlroots = dependency(
|
||||||
|
'wlroots',
|
||||||
|
- default_options: ['examples=false'],
|
||||||
|
required: true,
|
||||||
|
version: wlroots_version,
|
||||||
|
)
|
||||||
|
|
||||||
|
-wlroots = wlroots_proj.get_variable('wlroots')
|
||||||
|
-wlroots_conf = wlroots_proj.get_variable('conf_data')
|
||||||
|
-wlroots_has_xwayland = wlroots_conf.get('WLR_HAS_XWAYLAND') == 1
|
||||||
|
+have_xwayland = xcb.found()
|
||||||
|
|
||||||
|
-if get_option('xwayland').enabled() and not wlroots_has_xwayland
|
||||||
|
- error('Cannot enable Xwayland support in cardboard: wlroots has been built without Xwayland support')
|
||||||
|
-endif
|
||||||
|
-have_xwayland = xcb.found() and wlroots_has_xwayland
|
||||||
|
-
|
||||||
|
-expected_proj = subproject('expected', required: true)
|
||||||
|
-expected = expected_proj.get_variable('expected_dep')
|
||||||
|
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
|
||||||
|
|
||||||
|
conf_data = configuration_data()
|
||||||
|
conf_data.set10('HAVE_XWAYLAND', have_xwayland)
|
||||||
|
diff --git a/cutter/meson.build b/cutter/meson.build
|
||||||
|
index f1260a4..1485f37 100644
|
||||||
|
--- a/cutter/meson.build
|
||||||
|
+++ b/cutter/meson.build
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-expected_proj = subproject('expected', required: true)
|
||||||
|
-expected = expected_proj.get_variable('expected_dep')
|
||||||
|
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
|
||||||
|
|
||||||
|
executable(
|
||||||
|
'cutter',
|
||||||
|
diff --git a/libcardboard/meson.build b/libcardboard/meson.build
|
||||||
|
index 89698fe..3ac8115 100644
|
||||||
|
--- a/libcardboard/meson.build
|
||||||
|
+++ b/libcardboard/meson.build
|
||||||
|
@@ -1,11 +1,9 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
libcardboard_inc = include_directories('include')
|
||||||
|
|
||||||
|
-expected_proj = subproject('expected', required: true)
|
||||||
|
-expected = expected_proj.get_variable('expected_dep')
|
||||||
|
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
|
||||||
|
|
||||||
|
-cereal_proj = subproject('cereal', required: true)
|
||||||
|
-cereal = cereal_proj.get_variable('cereal_dep')
|
||||||
|
+cereal = dependency('cereal', required: true, method: 'cmake')
|
||||||
|
|
||||||
|
sources = files(
|
||||||
|
'src/command_protocol.cpp',
|
68
pkgs/by-name/ca/cardboard/package.nix
Normal file
68
pkgs/by-name/ca/cardboard/package.nix
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitLab
|
||||||
|
, cereal
|
||||||
|
, cmake
|
||||||
|
, libGL
|
||||||
|
, libX11
|
||||||
|
, libinput
|
||||||
|
, libxkbcommon
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pixman
|
||||||
|
, pkg-config
|
||||||
|
, tl-expected
|
||||||
|
, wayland
|
||||||
|
, wayland-protocols
|
||||||
|
, wlroots
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "cardboard";
|
||||||
|
version = "20210120.g7b15613";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
owner = "cardboardwm";
|
||||||
|
repo = "cardboard";
|
||||||
|
rev = "7b15613e6e1222a6a83d69a2e5da2810dfb45522";
|
||||||
|
sha256 = "044sb0lv1gcywpdncvlv7npxvbsqcc1mwpk0f6i73dinchdz7gmq";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-use-system-dependencies.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
# CMake likes to own the configurePhase, but we only need it for dependency
|
||||||
|
# discovery. Remove it.
|
||||||
|
configurePhase = "mesonConfigurePhase";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
cereal
|
||||||
|
libGL
|
||||||
|
libX11
|
||||||
|
libinput
|
||||||
|
libxkbcommon
|
||||||
|
pixman
|
||||||
|
tl-expected
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
wlroots
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.providedSessions = [ "cardboard" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Scrollable tiling Wayland compositor designed with laptops in mind";
|
||||||
|
homepage = "https://gitlab.com/cardboardwm/cardboard";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = wlroots.meta.platforms;
|
||||||
|
broken = true;
|
||||||
|
};
|
||||||
|
}
|
@ -9,14 +9,14 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "cura5";
|
pname = "cura5";
|
||||||
version = "5.6.0";
|
version = "5.5.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
cura5 = appimageTools.wrapType2 {
|
cura5 = appimageTools.wrapType2 {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/Ultimaker-Cura-${version}-linux-X64.AppImage";
|
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/Ultimaker-Cura-${version}-linux-X64.AppImage";
|
||||||
hash = "sha256-EHiWoNpLKHPzv6rZrtNgEr7y//iVcRYeV/TaCn8QpEA=";
|
hash = "sha256-EG5LMiDFUSXFbtRhd15egPkbp12kEp2TdUdLssSy7Jg=";
|
||||||
};
|
};
|
||||||
extraPkgs = _: [ ];
|
extraPkgs = _: [ ];
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user