Compare commits
8 Commits
388891aa55
...
4c8d7df432
Author | SHA1 | Date | |
---|---|---|---|
4c8d7df432 | |||
94a18eac26 | |||
0b76292a1f | |||
747aae7774 | |||
95d04865b6 | |||
92401c5f6d | |||
3cd3ab43e4 | |||
02172cd3cf |
28
.travis.yml
28
.travis.yml
@ -1,28 +0,0 @@
|
|||||||
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,44 +2,26 @@
|
|||||||
|
|
||||||
**My personal [NUR](https://github.com/nix-community/NUR) repository**
|
**My personal [NUR](https://github.com/nix-community/NUR) repository**
|
||||||
|
|
||||||
[![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)
|
[CI](https://git.xeals.me/xeals/nur-packages/actions) [![Cachix Cache](https://img.shields.io/badge/cachix-xeals-blue.svg)](https://xeals.cachix.org)
|
||||||
|
|
||||||
## Noteworthy packages
|
## Using
|
||||||
|
|
||||||
### Jetbrains with plugins
|
Using packages is easier through the combined [NUR](https://github.com/nix-community/NUR) flake.
|
||||||
|
|
||||||
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
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
# flake.nix
|
||||||
let
|
{
|
||||||
xeals = import (builtins.fetchTarball "https://git.xeal.me/xeals/nur-packages/archive/master.tar.gz") {
|
inputs = {
|
||||||
inherit pkgs;
|
xeals.url = "git+https://git.xeal.me/xeals/nur-packages"; # Direct
|
||||||
|
xeals.url = "github:xeals/nur-packages"; # GitHub mirror
|
||||||
};
|
};
|
||||||
in
|
|
||||||
# e.g., for IntelliJ IDEA
|
outputs = { nixpkgs, xeals, ... }: {
|
||||||
xeals.jetbrains.ideaCommunityWithPlugins (jpkgs: [
|
nixosConfigurations.foo = nixpkgs.lib.nixosSystem {
|
||||||
jpkgs.ideavim
|
modules = [
|
||||||
jpkgs.checkstyle-idea
|
xeals.nixosModules.betanin
|
||||||
])
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 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": 1694529238,
|
"lastModified": 1701680307,
|
||||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -20,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1699725108,
|
"lastModified": 1704008649,
|
||||||
"narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=",
|
"narHash": "sha256-rGPSWjXTXTurQN9beuHdyJhB8O761w1Zc5BqSSmHvoM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e",
|
"rev": "d44d59d2b5bd694cd9d996fd8c51d03e3e9ba7f7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
28
flake.nix
28
flake.nix
@ -5,10 +5,6 @@
|
|||||||
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
|
||||||
@ -17,14 +13,12 @@
|
|||||||
{
|
{
|
||||||
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.
|
||||||
@ -47,19 +41,11 @@
|
|||||||
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 = lib.mapAttrs (_: path: import path) (import ./modules) // {
|
nixosModules = nixpkgs.lib.mapAttrs (_: path: import path) (import ./modules) // {
|
||||||
default = {
|
default = {
|
||||||
imports = lib.attrValues self.nixosModules;
|
imports = nixpkgs.lib.attrValues self.nixosModules;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "atlauncher";
|
pname = "atlauncher";
|
||||||
version = "3.4.35.2";
|
version = "3.4.35.4";
|
||||||
|
|
||||||
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-CVJQGMnETW9BOn2To09/UuLrseNfovUyEFhcz/zyHOQ=";
|
hash = "sha256-M8ygN70yizJM6VEffBh/lH/DneKAzQ5UFzc3g51dja0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
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',
|
|
@ -1,68 +0,0 @@
|
|||||||
{ 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.5.0";
|
version = "5.6.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-EG5LMiDFUSXFbtRhd15egPkbp12kEp2TdUdLssSy7Jg=";
|
hash = "sha256-EHiWoNpLKHPzv6rZrtNgEr7y//iVcRYeV/TaCn8QpEA=";
|
||||||
};
|
};
|
||||||
extraPkgs = _: [ ];
|
extraPkgs = _: [ ];
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user