From 3ffa39141cf8165f4ec2f6cbc89b866e25e1fb05 Mon Sep 17 00:00:00 2001 From: Robert Cambridge Date: Thu, 2 Jan 2025 16:12:39 +0100 Subject: [PATCH] add nix flake --- .envrc | 11 + .gitignore | 3 +- Gemfile.lock | 281 +++++++++ devshell.nix | 18 + flake.lock | 64 ++ flake.nix | 13 + fusuma-3.7.0.gem | Bin 0 -> 31232 bytes gemset.nix | 1105 +++++++++++++++++++++++++++++++++++ packages/fusuma/default.nix | 35 ++ 9 files changed, 1528 insertions(+), 2 deletions(-) create mode 100644 .envrc create mode 100644 Gemfile.lock create mode 100644 devshell.nix create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 fusuma-3.7.0.gem create mode 100644 gemset.nix create mode 100644 packages/fusuma/default.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..9978ef0 --- /dev/null +++ b/.envrc @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Used by https://direnv.net + +# Automatically reload when this file changes +watch_file devshell.nix + +# Load `nix develop` +use flake + +# Extend the environment with per-user overrides +source_env_if_exists .envrc.local diff --git a/.gitignore b/.gitignore index ee9a5d8..259f14d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ /.bundle/ /.yardoc -/Gemfile.lock /_yardoc/ /coverage/ /doc/ @@ -17,4 +16,4 @@ todo.md # direnv -.envrc +.direnv \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..79c2b0d --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,281 @@ +PATH + remote: . + specs: + fusuma (3.7.0) + +GEM + remote: https://rubygems.org/ + specs: + activesupport (8.0.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + ast (2.4.2) + async (2.21.1) + console (~> 1.29) + fiber-annotation + io-event (~> 1.6, >= 1.6.5) + async-http (0.86.0) + async (>= 2.10.2) + async-pool (~> 0.9) + io-endpoint (~> 0.14) + io-stream (~> 0.6) + metrics (~> 0.12) + protocol-http (~> 0.43) + protocol-http1 (>= 0.28.1) + protocol-http2 (~> 0.22) + traces (~> 0.10) + async-http-faraday (0.19.0) + async-http (~> 0.42) + faraday + async-pool (0.10.2) + async (>= 1.25) + traces + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.9) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + bump (0.10.0) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + console (1.29.2) + fiber-annotation + fiber-local (~> 1.1) + json + date (3.4.1) + debug (1.10.0) + irb (~> 1.10) + reline (>= 0.3.8) + debug_inspector (1.2.0) + debugger-ruby_core_source (1.3.8) + diff-lcs (1.5.1) + docile (1.4.1) + drb (2.2.1) + dry-configurable (1.2.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-core (1.0.2) + concurrent-ruby (~> 1.0) + logger + zeitwerk (~> 2.6) + dry-inflector (1.1.0) + dry-initializer (3.2.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-schema (1.13.4) + concurrent-ruby (~> 1.0) + dry-configurable (~> 1.0, >= 1.0.1) + dry-core (~> 1.0, < 2) + dry-initializer (~> 3.0) + dry-logic (>= 1.4, < 2) + dry-types (>= 1.7, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-http-cache (2.5.1) + faraday (>= 0.8) + faraday-net_http (3.4.0) + net-http (>= 0.5.0) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (1.0.0) + github_changelog_generator (1.16.4) + activesupport + async (>= 1.25.0) + async-http-faraday + faraday-http-cache + multi_json + octokit (~> 4.6) + rainbow (>= 2.2.1) + rake (>= 10.0) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + io-console (0.8.0) + io-endpoint (0.14.0) + io-event (1.7.5) + io-stream (0.6.1) + irb (1.14.3) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + json (2.9.1) + language_server-protocol (3.17.0.3) + lint_roller (1.1.0) + logger (1.6.4) + metrics (0.12.1) + minitest (5.25.4) + multi_json (1.15.0) + net-http (0.6.0) + uri + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + proc_to_ast (0.2.0) + parser + rouge + unparser + protocol-hpack (1.5.1) + protocol-http (0.47.1) + protocol-http1 (0.28.1) + protocol-http (~> 0.22) + protocol-http2 (0.22.0) + protocol-hpack (~> 1.4) + protocol-http (~> 0.18) + psych (5.2.2) + date + stringio + public_suffix (6.0.1) + racc (1.8.1) + rainbow (3.1.1) + rake (13.2.1) + rblineprof (0.3.7) + debugger-ruby_core_source (~> 1.3) + rblineprof-report (0.0.4) + term-ansicolor (~> 1.3) + rdoc (6.10.0) + psych (>= 4.0.0) + reek (6.3.0) + dry-schema (~> 1.13.0) + parser (~> 3.3.0) + rainbow (>= 2.0, < 4.0) + rexml (~> 3.1) + regexp_parser (2.10.0) + reline (0.6.0) + io-console (~> 0.5) + rexml (3.4.0) + rouge (4.5.1) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-debug (0.2.0) + debug (>= 1.3.3) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-parameterized (1.0.2) + rspec-parameterized-core (< 2) + rspec-parameterized-table_syntax (< 2) + rspec-parameterized-core (1.0.1) + parser + proc_to_ast (>= 0.2.0) + rspec (>= 2.13, < 4) + unparser + rspec-parameterized-table_syntax (1.0.1) + binding_of_caller + rspec-parameterized-core (< 2) + rspec-support (3.13.2) + rubocop (1.69.2) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) + parser (>= 3.3.1.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (1.13.0) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + standard (1.43.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.69.1) + standard-custom (~> 1.0.0) + standard-performance (~> 1.6) + standard-custom (1.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.50) + standard-performance (1.6.0) + lint_roller (~> 1.1) + rubocop-performance (~> 1.23.0) + stringio (3.1.2) + sync (0.5.0) + term-ansicolor (1.11.2) + tins (~> 1.0) + tins (1.37.1) + bigdecimal + sync + traces (0.14.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.3) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + unparser (0.6.15) + diff-lcs (~> 1.3) + parser (>= 3.3.0) + uri (1.0.2) + yard (0.9.37) + zeitwerk (2.7.1) + +PLATFORMS + ruby + x86_64-linux + +DEPENDENCIES + bump + bundler + debug + fusuma! + github_changelog_generator (~> 1.16) + rake (~> 13.0) + rblineprof + rblineprof-report + reek + rspec (~> 3.0) + rspec-debug + rspec-parameterized + rubocop + simplecov + standard + yard + +BUNDLED WITH + 2.5.11 diff --git a/devshell.nix b/devshell.nix new file mode 100644 index 0000000..fb25235 --- /dev/null +++ b/devshell.nix @@ -0,0 +1,18 @@ +{ pkgs }: +pkgs.mkShell { + # Add build dependencies + packages = [ + pkgs.ruby + pkgs.libyaml + pkgs.libinput + pkgs.bundix + ]; + + # Add environment variables + env = { }; + + # Load custom bash code + shellHook = '' + + ''; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..2781dce --- /dev/null +++ b/flake.lock @@ -0,0 +1,64 @@ +{ + "nodes": { + "blueprint": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1724053269, + "narHash": "sha256-DinmPyxmUSLjBUYMe3eK0GKykwe33vWbVTmp7++P4Ng=", + "owner": "numtide", + "repo": "blueprint", + "rev": "766302be9063650ca6578e5ba09cc4260b0da29c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "blueprint", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "blueprint": "blueprint", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..27ce2ee --- /dev/null +++ b/flake.nix @@ -0,0 +1,13 @@ +{ + description = "my flake"; + + # Add all your dependencies here + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; + blueprint.url = "github:numtide/blueprint"; + blueprint.inputs.nixpkgs.follows = "nixpkgs"; + }; + + # Load the blueprint + outputs = inputs: inputs.blueprint { inherit inputs; }; +} diff --git a/fusuma-3.7.0.gem b/fusuma-3.7.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..40872c6547b6c7d3c497be02c96d7c98f985af6b GIT binary patch literal 31232 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 $bin <