Compare commits

...

2 Commits

Author SHA1 Message Date
Ryan Rix 89ef353411 pull dogsheep packages in to cce 2022-12-23 15:20:35 -08:00
Ryan Rix 9ec90c38cd ingest package versions in to the pin file 2022-12-23 15:09:12 -08:00
5 changed files with 252 additions and 29 deletions

View File

@ -61,6 +61,7 @@ SCHEDULED: <2022-05-27 Fri>
{ lib,
fetchFromGitHub,
python3Packages,
callPackage,
beets,
propagateBeets ? false
@ -68,14 +69,9 @@ SCHEDULED: <2022-05-27 Fri>
python3Packages.buildPythonPackage {
pname = "beets-beetcamp";
version = "unstable-2022-06-07";
src = fetchFromGitHub {
repo = "beetcamp";
owner = "snejus";
rev = "118d4239bd570a59997f13ac0920e6e92890ac67";
sha256 = "sha256-yrlpgLdNEzlWMY7Cns0UE93oEbpkOoYZHGLpui6MfC0=";
};
version = lib.pkgVersions.beetcamp.version;
src = callPackage lib.pkgVersions.beetcamp.src {};
format = "pyproject";

122
datasette-dogsheep.org Normal file
View File

@ -0,0 +1,122 @@
:PROPERTIES:
:roam_refs: https://datasette.io/
:ID: 20220727T144236.025346
:ROAM_ALIASES: Datasette
:END:
#+title: Datasette: An open source multi-tool for exploring and publishing data
#+filetags: :Project:Archive:CCE:Development:Tools:
#+AUTO_TANGLE: t
#+ARCOLOGY_KEY: cce/datasette
#+ARCOLOGY_ALLOW_CRAWL: t
[[file:archive.org][Archive]] [[id:a7420bb9-395f-4afa-92fb-8eaa0b8a4cd8][Tools]]
#+BEGIN_QUOTE
Datasette is a tool for exploring and publishing data. It helps people take data of any shape, analyze and explore it, and publish it as an interactive website and accompanying API.
Datasette is aimed at data journalists, museum curators, archivists, local governments, scientists, researchers and anyone else who has data that they wish to share with the world. It is part of a wider ecosystem of 40 tools and 93 plugins dedicated to making working with structured data as productive as possible.
#+END_QUOTE
These could be used to generate [[id:1fb8fb45-fac5-4449-a347-d55118bb377e][org-mode]] files for [[id:1d917282-ecf4-4d4c-ba49-628cbb4bb8cc][The Arcology Project]] and my [[id:knowledge_base][Knowledge Base]]....
* iNaturalist to [[roam:Sqlite][Sqlite]]
:PROPERTIES:
:ID: 20220727T152924.019338
:END:
Slurp: [[shell:inaturalist-to-sqlite ~/DataExports/inaturalist.db rrix &]]
#+begin_src nix :tangle ~/arroyo-nix/pkgs/inaturalist-to-sqlite.nix
{ pkgs ? import <nixpkgs>,
python ? pkgs.python3,
... }:
python.pkgs.buildPythonPackage {
pname = "inaturalist-to-sqlite";
version = pkgs.lib.pkgVersions.inaturalist-to-sqlite.version;
src = pkgs.callPackage pkgs.lib.pkgVersions.inaturalist-to-sqlite.src {};
propagatedBuildInputs = with python.pkgs; [
sqlite-utils
click
requests
];
checkInputs = with python.pkgs; [
pytest
];
meta = with pkgs.lib; {
description = "Create a SQLite database containing your observation history from iNaturalist";
homepage = "https://github.com/dogsheep/inaturalist-to-sqlite";
platforms = platforms.unix;
maintainers = with maintainers; [rrix];
license = with licenses; [ asl20 ];
};
}
#+end_src
* Twitter to [[roam:Sqlite][Sqlite]]
:PROPERTIES:
:ID: 20220727T152922.043013
:END:
- Slurp favorites: [[shell:twitter-to-sqlite favorites --auth ~/sync/auth.json ~/"DataExports/twitter-faves.db" &]]
- Slurp followers: [[shell:twitter-to-sqlite followers --auth ~/sync/auth.json ~/"DataExports/twitter-follows.db" &]]
- Track [[id:20220727T152854.913076][Twitter Following Deltas]]
#+begin_example sql
sqlite> SELECT id, full_text FROM tweets WHERE ROWID IN (SELECT ROWID FROM tweets_fts WHERE tweets_fts MATCH 'quick take' ORDER BY rank);
1545048960699551744|@deejaygeejaygee quick take https://twitter.com/MartinLundfall/status/1545048960699551744/video/1
#+end_example
#+begin_src nix :tangle ~/arroyo-nix/pkgs/twitter-to-sqlite.nix
{ pkgs ? import <nixpkgs>,
python ? pkgs.python3,
... }:
python.pkgs.buildPythonPackage {
pname = "twitter-to-sqlite";
version = pkgs.lib.pkgVersions.twitter-to-sqlite.version;
src = pkgs.callPackage pkgs.lib.pkgVersions.twitter-to-sqlite.src {};
propagatedBuildInputs = with python.pkgs; [
sqlite-utils
requests-oauthlib
python-dateutil
];
patchPhase = ''
substituteInPlace setup.py --replace '"requests-oauthlib~=1.2.0",' '"requests-oauthlib~=1.3.0",'
'';
checkInputs = with python.pkgs; [
pytest
];
meta = with pkgs.lib; {
description = "Save data from Twitter to a SQLite database.";
homepage = "https://github.com/dogsheep/twitter-to-sqlite";
platforms = platforms.unix;
maintainers = with maintainers; [rrix];
license = with licenses; [ asl20 ];
};
}
#+end_src
* NEXT move these to [[id:20221021T121120.541960][rixpkgs]]
* [[id:cce/home-manager][home-manager]] availability
Use these in [[id:cce/home-manager][home-manager]] like so:
#+ARROYO_HOME_MODULE: hm/datasette.nix
#+ARROYO_NIXOS_EXCLUDE: droid
#+begin_src nix :tangle ~/arroyo-nix/hm/datasette.nix
{ pkgs, ... }:
{
home.packages = [ pkgs.inaturalist-to-sqlite pkgs.twitter-to-sqlite ];
}
#+end_src

View File

@ -33,15 +33,10 @@ Opening Delve the first time, you can browse your zettelkasten by ROAM_TAG, or u
#+begin_src nix :tangle ~/arroyo-nix/overrides/delve.nix :mkdirp yes :results none
delve = epkgs.melpaBuild {
pname = "delve";
version = "0.9.3";
commit = "9a3e2675ef76865e9ffd95bb49ae1c8307cbfcc1";
src = pkgs.fetchFromGitHub {
owner = "publicimageltd";
repo = "delve";
rev = "9a3e2675ef76865e9ffd95bb49ae1c8307cbfcc1";
sha256 = "sha256-gZcSHJnLW8/IYIdGIsU2vnzZFpyTLk3TxLr0dxR0O0Q=";
};
version = pkgs.lib.pkgVersions.delve.version;
commit = pkgs.lib.pkgVersions.delve.commit;
src = pkgs.callPackage pkgs.lib.pkgVersions.delve.src {};
recipe = pkgs.writeText "recipe" ''
(delve

10
mpd.org
View File

@ -173,17 +173,13 @@ services.pipewire.config.pipewire-pulse = {
Here's a simple little PyPI package wrapper. This lets me play from my wishlist and discovery tags and my collection. I add stuff on my phone when I'm bored and decide whether I want to buy them later on.
#+begin_src nix :tangle ~/arroyo-nix/pkgs/mopidy-bandcamp.nix
{ python3Packages, mopidy, yt-dlp, lib, ... }:
{ python3Packages, mopidy, yt-dlp, lib, callPackage, ... }:
python3Packages.buildPythonApplication rec {
pname = "mopidy-bandcamp";
version = "1.1.5";
src = python3Packages.fetchPypi {
inherit version;
pname = "Mopidy-Bandcamp";
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
version = lib.pkgVersions.mopidy-bandcamp.version;
src = callPackage lib.pkgVersions.mopidy-bandcamp.src {};
propagatedBuildInputs = [
mopidy

View File

@ -69,11 +69,13 @@ By structuring these invocations like this it is possible to write a function co
[fn:1] This is required because I couldn't get =nix-update-decls= to update the revs of these without also populating a =sha256= key which will not be valid in a =builtins.fetchGit= invocation. Both [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]] and [[id:cce/home-manager][home-manager]] are loaded in situations where there is no pre-existing [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][nixpkgs]] to invoke, so they have to use this "impure" invocation.
* NEXT update my [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][NixOS]] version pins and deploy
SCHEDULED: <2022-11-21 Mon .+2w>
SCHEDULED: <2023-01-03 Tue .+2w>
:PROPERTIES:
:LAST_REPEAT: [2022-11-07 Mon 12:15]
:LAST_REPEAT: [2022-12-20 Tue 13:15]
:END:
:LOGBOOK:
- State "DONE" from "NEXT" [2022-12-20 Tue 13:15]
CLOCK: [2022-12-20 Tue 10:26]--[2022-12-20 Tue 13:15] => 2:49
- State "DONE" from "NEXT" [2022-11-07 Mon 12:15]
- State "DONE" from "NEXT" [2022-09-28 Wed 15:59]
:END:
@ -98,6 +100,15 @@ SCHEDULED: <2022-11-21 Mon .+2w>
<<consult-org-roam>>
<<ox-rss>>
<<org-fc>>
<<delve>>
<<cpmtools>>
<<beetcamp>>
<<mopidy-bandcamp>>
<<jisho-api>>
<<twitter-to-sqlite>>
<<inaturalist-to-sqlite>>
}
#+end_src
@ -111,7 +122,7 @@ Right now I am running off a branch of [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711
#+NAME: prefetch-hm
#+results:
: "c0f9cbcf93ca22e4f0ca66843be61a4bdf6f0a44"
: "e7eba9cc46547ae86642ad3c6a9a4fb22c07bc26"
#+begin_src nix :noweb-ref homeManager :noweb yes
homeManager = _: builtins.fetchGit {
@ -128,7 +139,7 @@ homeManager = _: builtins.fetchGit {
#+NAME: prefetch-em
#+results:
: "721aa34f1468f13b664c5f42aed1e4a560c2801c"
: "a201dcf3d712cf6d3934b396d523041781ff9589"
#+NAME: emacsOverlay
#+begin_src nix :noweb yes
@ -153,9 +164,9 @@ builds from https://codeberg.org/martianh/mastodon.el/commits/branch/main
#+begin_src nix :noweb-ref mastodon
mastodon = { pkgs, ... }: pkgs.fetchgit {
url = "https://codeberg.org/martianh/mastodon.el";
rev = "91020f86cf2b19bfb3136a9a92facd77bd0ccda0";
sha256 = "0xr6kjhxfzchkpma1rj85yhkipn9hlqfshqci8mg94xg8hnlr0q0";
# date = "2022-11-19T19:24:43+01:00";
rev = "d9c0d7eeea02c27173ed000af7c560ca978125ea";
sha256 = "1fsbpfdssjwfgx8cpl512y6x29q9660v6p0s51r0w2bvdqbqqm92";
# date = "2022-12-11T21:30:28+00:00";
};
#+end_src
@ -228,3 +239,106 @@ org-fc = rec {
};
#+end_src
** [[id:20221216T003951.778630][=cpmtools=]]
#+begin_src nix :noweb-ref cpmtools
cpmtools = {
version = "2.21";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "lipro-cpm4l";
repo = "cpmtools";
rev = "e534e20c15973a9559e981efb498a102020e5db7";
sha256 = "sha256-jKC0uh3sGVUJsiTrOa28h+fF4Ja6Yiwzw5Tqfj9oik4=";
};
};
#+end_src
** [[id:20220611T182415.660603][beetcamp]]
#+begin_src nix :noweb-ref beetcamp
beetcamp = {
version = "unstable-2022-06-07";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
repo = "beetcamp";
owner = "snejus";
rev = "118d4239bd570a59997f13ac0920e6e92890ac67";
sha256 = "sha256-yrlpgLdNEzlWMY7Cns0UE93oEbpkOoYZHGLpui6MfC0=";
};
};
#+end_src
** [[id:20220421T223829.601322][Mopidy Bandcamp]]
#+begin_src nix :noweb-ref mopidy-bandcamp
mopidy-bandcamp = {
version = "1.1.5";
src = { python3Packages, ... }: python3Packages.fetchPypi {
version = "1.1.5";
pname = "Mopidy-Bandcamp";
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
};
#+end_src
** [[id:cce/delve][delve]]
#+begin_src nix :noweb-ref delve
delve = {
version = "0.9.3";
commit = "9a3e2675ef76865e9ffd95bb49ae1c8307cbfcc1";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "publicimageltd";
repo = "delve";
rev = "9a3e2675ef76865e9ffd95bb49ae1c8307cbfcc1";
sha256 = "sha256-gZcSHJnLW8/IYIdGIsU2vnzZFpyTLk3TxLr0dxR0O0Q=";
};
};
#+end_src
** [[id:20221223T144838.047747][=jisho-api=]]
#+begin_src nix :noweb-ref jisho-api
jisho-api = {
version = "0.1.8";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "pedroallenrevez";
repo = "jisho-api";
rev = "b80bff460a0f6826232cafce68cb75ef83543a23";
sha256 = "sha256-3oEhr/kXesxp5vnELlciaizq88Jwzw2ahTgooA946Pc=";
};
};
#+end_src
** [[id:20220727T152924.019338][iNaturalist to Sqlite]]
#+begin_src nix :noweb-ref inaturalist-to-sqlite
inaturalist-to-sqlite = {
version = "0.2.1";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "dogsheep";
repo = "inaturalist-to-sqlite";
rev = "d888c7c2f02aa0dfb1559603f02357cd0089da11";
sha256 = "sha256-2YKGGzkRJJ68kj1h8Di8weY0cDGTnOkI1DZ2aqNsy0c=";
};
};
#+end_src
** [[id:20220727T152922.043013][Twitter to Sqlite]]
#+begin_src nix :noweb-ref twitter-to-sqlite
twitter-to-sqlite = {
version = "0.2.1";
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "dogsheep";
repo = "twitter-to-sqlite";
rev = "f09d611782a8372cfb002792dfa727325afb4db6";
sha256 = "sha256-ICAs/DOcyMA0DBEaMk/KG2tsMIDl3MKfP1CdtVXQIls=";
};
};
#+end_src
** NEXT [[id:20220506T155905.773161][vsketch and vpype]] dependencies
** NEXT automate fetchFromPyPi or move to GH fetchers