Compare commits

..

2 Commits

Author SHA1 Message Date
dependabot[bot]
db556a55a5
Merge 6a5c5c48d8 into ea53730389 2025-03-29 04:25:39 +00:00
dependabot[bot]
6a5c5c48d8
build(deps): bump cachix/cachix-action from 15 to 16
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 15 to 16.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v15...v16)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:25:55 +00:00
21 changed files with 91 additions and 150 deletions

View File

@ -10,6 +10,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v16
- uses: DeterminateSystems/magic-nix-cache-action@v9
with:
extra-conf: |
keep-going = true
- name: Build
run: |
nix build -f ./devcontainers --print-out-paths --no-link > build_paths

View File

@ -10,6 +10,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v16
- uses: DeterminateSystems/magic-nix-cache-action@v9
with:
extra-conf: |
keep-going = true
- name: Prepare push to binary cache
uses: cachix/cachix-action@v16
if: ${{ github.ref == 'refs/heads/master' }}

View File

@ -15,6 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v16
- uses: DeterminateSystems/magic-nix-cache-action@v9
- name: Build ISO
run: |
nix build .#images.${{ matrix.arch }}.bootstrap-install-iso --out-link build-iso-result

View File

@ -10,6 +10,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v16
- uses: DeterminateSystems/magic-nix-cache-action@v9
- env:
NIXPKGS_ALLOW_UNFREE: "1"
run: nix build .#devPackages.x86_64-linux.website

View File

@ -101,13 +101,6 @@ in {
};
};
# GARBAGE DAY!
nix.gc = {
automatic = true;
frequency = "weekly";
randomizedDelaySec = "5m";
};
# Set the profile picture. Most of the desktop environments should support
# this.
home.file.".face".source = ./files/logo.png;

View File

@ -142,18 +142,14 @@ in {
home.packages = with pkgs;
[
d-spy # Some GNOME dev probably developed this.
bustle # Hustle and...
];
})
(lib.mkIf cfg.creative-coding.enable {
home.packages = with pkgs; [
decker
uxn
supercollider-with-plugins
processing
(puredata-with-plugins (with pkgs; [ zexy ]))
tic-80-unstable
];
})
]);

View File

@ -90,13 +90,6 @@ in {
}";
text = "Local sync server";
};
programs.python.modules = ps: with pkgs.swh; [
swh-core
swh-fuse
swh-model
swh-web-client
];
}
(lib.mkIf userCfg.programs.shell.enable {

View File

@ -15,10 +15,6 @@ in pkgs.lib.makeExtensible (self:
math = callLib ./math.nix;
xdg = callLib ./xdg.nix;
# Just like from its inspiration, this contains Nix-representable data
# formats and won't have any attributes exported at the top-level.
formats = callLib ./formats.nix;
# For future references, these are the only attributes that are going to be
# exported as part of nixpkgs overlay.
fetchers = callLib ./fetchers;

View File

@ -1,21 +0,0 @@
{ lib, pkgs, self }:
{
# The gnome-session config files uses one from GLib. See the following link
# at <https://docs.gtk.org/glib/struct.KeyFile.html> for details about the
# keyfile formatting and possibly the Desktop Entry specification at
# <https://freedesktop.org/wiki/Specifications/desktop-entry-spec>.
glibKeyfile = {}: {
type = with lib.types;
let
valueType = oneOf [ bool float int str (listOf valueType) ] // {
description =
"GLib keyfile atom (bool, int, float, string, or a list of the previous atoms)";
};
in attrsOf (attrsOf valueType);
generate = name: value:
pkgs.callPackage
({ lib, writeText }: writeText name (lib.generators.toDconfINI value));
};
}

View File

@ -20,9 +20,6 @@ clock-format = '24h'
[org/gnome/desktop/privacy]
disable-microphone = false
max-age = 30
remove-old-temp-files = true
remove-old-trash-files = true
[org/gnome/shell]
disable-user-extensions = false

View File

@ -36,7 +36,6 @@ in {
paperwm
runcat
windownavigator
valent
];
example = lib.literalExpression ''
with pkgs.gnomeExtensions; [
@ -73,12 +72,11 @@ in {
shortwave # Yer' humble internet radio.
tangram # Your social media manager, probably.
ymuse # Simple MPD client.
valent # ...ines 'tis season to share... phone data or something.
gnome-backgrounds # Default backgrounds.
gnome-menus # It is required for custom menus in extensions.
gnome-extension-manager # The cooler GNOME extensions app.
#gnome-extension-manager # The cooler GNOME extensions app.
gnome-search-provider-recoll # This is here for some reason.
# Nautilus extensions

View File

@ -23,7 +23,7 @@ let
generate = name: value:
pkgs.callPackage
({ writeText, lib }: writeText name (lib.generators.toDconfINI value)) { };
({ writeText }: writeText name (lib.generators.toDconfINI value));
};
# The bulk of the work. Pretty much the main purpose of this module.
@ -111,8 +111,8 @@ in {
options.programs.gnome-session = {
package = lib.mkOption {
type = lib.types.package;
default = pkgs.gnome-session;
defaultText = "pkgs.gnome-session";
default = pkgs.gnome.gnome-session;
defaultText = "pkgs.gnome.gnome-session";
description = ''
The package containing gnome-session binary and systemd units. This
module will use the `gnome-session` executable for the generated

View File

@ -20,6 +20,7 @@ in lib.makeScope pkgs.newScope (self: {
fastn = callPackage ./fastn { };
flatsync = callPackage ./flatsync { };
freerct = callPackage ./freerct.nix { };
distant = callPackage ./distant.nix { };
gnome-search-provider-recoll =
callPackage ./gnome-search-provider-recoll.nix { };
#graphite-design-tool = callPackage ./graphite-design-tool { };
@ -49,7 +50,7 @@ in lib.makeScope pkgs.newScope (self: {
#purrdata = callPackage ./purr-data { };
speki = callPackage ./speki { };
sqlc-gen-from-template = callPackage ./sqlc-gen-from-template { };
tic-80-unstable = callPackage ./tic-80 { };
tic-80 = callPackage ./tic-80 { };
smile = callPackage ./smile { };
sessiond = callPackage ./sessiond { };
uwsm = callPackage ./uwsm { };

30
pkgs/distant.nix Normal file
View File

@ -0,0 +1,30 @@
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, openssl }:
rustPlatform.buildRustPackage rec {
version = "0.20.0";
pname = "distant";
src = fetchFromGitHub {
owner = "chipsenkbeil";
repo = "distant";
rev = "v${version}";
hash = "sha256-DcnleJUAeYg3GSLZljC3gO9ihiFz04dzT/ddMnypr48=";
};
cargoHash = "sha256-7MNNdm4b9u5YNX04nBtKcrw+phUlpzIXo0tJVfcgb40=";
# Too many tests failing for now so we'll have to disable them. Much of the
# failed tests require a home directory and network access.
doCheck = false;
# We'll just tell to use the system's openssl to build openssl-sys.
env.OPENSSL_NO_VENDOR = 1;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
meta = with lib; {
description = "Remotely edit files and run programs";
homepage = "https://github.com/chipsenkbeil/distant";
license = lib.licenses.mit;
maintainers = with maintainers; [ foo-dogsquared ];
};
}

View File

@ -204,21 +204,6 @@
platforms = platforms.all;
};
};
"tineye-reverse-image-search" = buildFirefoxXpiAddon {
pname = "tineye-reverse-image-search";
version = "2.0.9";
addonId = "tineye@ideeinc.com";
url = "https://addons.mozilla.org/firefox/downloads/file/4452436/tineye_reverse_image_search-2.0.9.xpi";
sha256 = "6693b267ca060df38112b3a7214932abfbd07424f7db235eba6e3752cbd5c297";
meta = with lib;
{
homepage = "https://tineye.com/";
description = "Click on any image on the web to search for it on TinEye. Recommended by Firefox! \r\nDiscover where an image came from, see how it is being used, check if modified versions exist or locate high resolution versions. Made with love by the TinEye team.";
license = licenses.mit;
mozPermissions = [ "menus" "storage" "scripting" "activeTab" ];
platforms = platforms.all;
};
};
"tor-control" = buildFirefoxXpiAddon {
pname = "tor-control";
version = "0.1.5";

View File

@ -4,32 +4,33 @@ with python3Packages;
buildPythonPackage rec {
pname = "swh-auth";
version = "0.10.0";
pyproject = true;
version = "0.7.2";
src = fetchPypi {
inherit version;
pname = "swh_auth";
hash = "sha256-J/5oFm0QSPNeEDKIYHEzSXWA/6uSOj9eu3LXYUTZjC0=";
pname = "swh.auth";
sha256 = "sha256-f0++AuyJggoc19kPA/7UChbFjF/EoR+FztF00r5csLo=";
};
# Tests require network access.
doCheck = false;
propagatedBuildInputs = [
click
pyyaml
python-keycloak
# Requirements for Django
django
djangorestframework
sentry-sdk_2
# Requirements for Starlette
starlette
httpx
aiocache
sentry-sdk
click
pyyaml
(python-keycloak.overrideAttrs (final: prev: rec {
version = "3.3.0";
src = pkgs.fetchPypi {
inherit version;
pname = "python_keycloak";
hash = "sha256-zIaBJvU1qk8yDcnqsk5GrzgcE7zIjZsHAbBCk+p1zSQ=";
};
propagatedBuildInputs = prev.propagatedBuildInputs
++ [ setuptools deprecation ];
}))
swh-core
];

View File

@ -3,13 +3,12 @@
with python3Packages;
buildPythonPackage rec {
pname = "swh-core";
version = "4.0.0";
pyproject = true;
version = "2.24.0";
src = fetchPypi {
inherit version;
pname = "swh_core";
hash = "sha256-da0Kx/pyHybW8oSIyH0/UqivGkSsvnQe7OoVY2p0glA=";
pname = "swh.core";
sha256 = "sha256-62xFSPxW/XvK5v1i4RA7Iwrr4V5nfxrs+PGHHC56trQ=";
};
# Tests require network access.
@ -20,7 +19,7 @@ buildPythonPackage rec {
deprecated
pyyaml
python-magic
sentry-sdk_2
sentry-sdk
# swh.core.db
psycopg2
@ -37,7 +36,6 @@ buildPythonPackage rec {
flask
iso8601
msgpack
backports-entry-points-selectable
setuptools-scm
];

View File

@ -3,13 +3,12 @@
with python3Packages;
buildPythonPackage rec {
pname = "swh-fuse";
version = "1.1.0";
pyproject = true;
version = "1.0.6";
src = fetchPypi {
inherit version;
pname = "swh.fuse";
hash = "sha256-pkTZiUm+Sun+7gBNWXJUHUXTmEIz5tjvfGcU4cUL9Xg=";
sha256 = "sha256-b1k4XJxaSGrdqQnKnu6EAaZoEVkdZqjt0vd6k+q+H3k=";
};
doCheck = false;

View File

@ -3,17 +3,18 @@
with python3Packages;
buildPythonPackage rec {
pname = "swh-model";
version = "7.1.0";
pyproject = true;
version = "6.7.0";
src = fetchPypi {
inherit version;
pname = "swh_model";
hash = "sha256-MdyhpKm4UzIFVMhIlAT75OMUmfDcOFZzk/dJIZASwmE=";
pname = "swh.model";
sha256 = "sha256-88xlN/vGXMG858+0A1Wb4EIYC9btRTopY7Ryvw/huDo=";
};
doCheck = false;
propagatedBuildInputs = [
click
dulwich
deprecated
typing-extensions
hypothesis
@ -21,14 +22,8 @@ buildPythonPackage rec {
python-dateutil
attrs
attrs-strict
aiohttp
pytz
swh-core
# requirements for CLI
click
dulwich
];
meta = with lib; {

View File

@ -3,13 +3,12 @@
with python3Packages;
buildPythonPackage rec {
pname = "swh-web-client";
version = "0.9.0";
pyproject = true;
version = "0.6.0";
src = fetchPypi {
inherit version;
pname = "swh_web_client";
hash = "sha256-nBFbWJ7qLGtnxy2iryWfsi4n4XuxVddqBdtzPFtUQ5w=";
pname = "swh.web.client";
sha256 = "sha256-o1FcJh3nmGXWZABRQQUj3qgDPaHXwfazaBv8f3LENpk=";
};
doCheck = false;

View File

@ -1,92 +1,63 @@
# Build the TIC-80 virtual computer console with the PRO version. The
# developers are kind enough to make it easy to compile it if you know
# how.
{ stdenv, lib, giflib, SDL2, SDL2_sound, sdl2-compat, alsa-lib, argparse, curl
, cmake, fetchFromGitHub, freeglut, git, gtk3, dbus, libGLU, libX11, libglvnd
, libsamplerate, mesa, pkg-config, sndio, zlib, lua54Packages
{ stdenv, lib, SDL2, SDL2_sound, alsa-lib, cmake, fetchFromGitHub, freeglut, git
, gtk3, dbus, libGLU, libX11, libglvnd, libsamplerate, mesa, pkg-config, sndio
, zlib
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
, jsSupport ? true, quickjs
, waylandSupport ? true, wayland, wayland-scanner, libxkbcommon, libdecor
, waylandSupport ? true, wayland, libxkbcommon, libdecor
, esoundSupport ? true, espeak
, jackSupport ? true, jack2
# As of 2025-03-26, it is basically required to have a very specific version of
# mruby so no...
, rubySupport ? false, mruby
# Ruby support requires compiling mruby so we'll skip it for now.
, rubySupport ? false, ruby, rake
, pythonSupport ? true
, janetSupport ? true, janet
# This doesn't have the appropriate system library as of nixpkgs 2025-03-26, btw.
, wasmSupport ? true, wasm
, pythonSupport ? true, python3
, withPro ? true }:
# TODO: Fix the timestamp in the help section.
stdenv.mkDerivation rec {
pname = "tic-80";
version = "unstable-2025-03-27";
version = "unstable-2023-07-18";
src = fetchFromGitHub {
owner = "nesbox";
repo = "TIC-80";
rev = "5aa6c536607a5512ce1913acf3be7be8784fd8db";
hash = "sha256-oPubH/dPGDK/ZPY6NjycytAYY4PD2H9MbJg7jGBz3aI=";
rev = "68b94ee596e1ac218b8b9685fd0485c7ee8d2f18";
hash = "sha256-S3LYuRRFMZYl6dENrV21bowzo7smm+zSHXt77/83oL0=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
argparse
alsa-lib
curl
freeglut
gtk3
giflib
libsamplerate
libGLU
libglvnd
lua54Packages.lua
mesa
git
sdl2-compat
SDL2
SDL2_sound
zlib
sndio
] ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
++ lib.optionals jackSupport [ jack2 ]
++ lib.optionals jsSupport [ quickjs ]
++ lib.optionals esoundSupport [ espeak ]
++ lib.optionals rubySupport [ mruby ]
++ lib.optionals janetSupport [ janet ]
++ lib.optionals wasmSupport [ wasm ]
] ++ lib.optional pulseaudioSupport libpulseaudio
++ lib.optional jackSupport jack2 ++ lib.optional esoundSupport espeak
++ lib.optionals rubySupport [ ruby rake ]
++ lib.optional pythonSupport python3
++ lib.optionals (stdenv.isLinux && waylandSupport) [
wayland
wayland-scanner
libxkbcommon
libdecor
];
cmakeFlags =
# Just leave the tinier libraries alone for this.
[
"-DPREFER_SYSTEM_LIBRARIES=ON"
"-DBUILD_WITH_FENNEL=ON"
"-DBUILD_WITH_MOON=ON"
"-DBUILD_WITH_SCHEME=ON"
] ++ lib.optionals withPro [ "-DBUILD_PRO=ON" ]
++ lib.optionals jsSupport [ "-DBUILD_WITH_JS=ON" ]
++ lib.optionals rubySupport [ "-DBUILD_WITH_RUBY=ON" ]
++ lib.optionals pythonSupport [ "-DBUILD_WITH_PYTHON=ON" ]
++ lib.optionals wasmSupport [ "-DBUILD_WITH_WASM=ON" ]
++ lib.optionals janetSupport [ "-DBUILD_WITH_JANET=ON" ];
cmakeFlags = lib.optional withPro "-DBUILD_PRO=ON";
# Export all of the TIC-80-related utilities.
outputs = [ "out" "dev" ];