mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-10 10:36:18 +00:00
stuff
This commit is contained in:
110
flake.lock
generated
110
flake.lock
generated
@@ -1,5 +1,21 @@
|
||||
{
|
||||
"nodes": {
|
||||
"dirt-samples-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1698439458,
|
||||
"narHash": "sha256-Mp8qBpsOvW9Zguv95Kv7EU6S3ICaF2aO02Wz6xGURtE=",
|
||||
"owner": "tidalcycles",
|
||||
"repo": "dirt-samples",
|
||||
"rev": "9a6dff8f9ec3cd55b287290cf04e01afa6b8f532",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tidalcycles",
|
||||
"repo": "dirt-samples",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -268,7 +284,24 @@
|
||||
"niri": "niri",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim"
|
||||
"nixvim": "nixvim",
|
||||
"tidalcycles": "tidalcycles"
|
||||
}
|
||||
},
|
||||
"superdirt-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1697377840,
|
||||
"narHash": "sha256-9qU9CHYAXbN1IE3xXDqGipuroifVaSVXj3c/cDfwM80=",
|
||||
"owner": "musikinformatik",
|
||||
"repo": "superdirt",
|
||||
"rev": "c7f32998572984705d340e7c1b9ed9ad998a39b6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "musikinformatik",
|
||||
"repo": "superdirt",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -316,6 +349,81 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tidal-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1712519522,
|
||||
"narHash": "sha256-LbvxQmVxHElidCgvt+w0g1k+QQbNLebK46vtRCgsLeQ=",
|
||||
"owner": "tidalcycles",
|
||||
"repo": "tidal",
|
||||
"rev": "88f09edf6bef2228d5f530dea872b08a9d803066",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tidalcycles",
|
||||
"ref": "v1.9.5",
|
||||
"repo": "tidal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tidalcycles": {
|
||||
"inputs": {
|
||||
"dirt-samples-src": "dirt-samples-src",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"superdirt-src": "superdirt-src",
|
||||
"tidal-src": "tidal-src",
|
||||
"vim-tidal-src": "vim-tidal-src",
|
||||
"vowel-src": "vowel-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730626669,
|
||||
"narHash": "sha256-nFyZrvTPn9OM9UZmuAwy3e1Ba0ZuYc2FaDCOOhGtqg4=",
|
||||
"owner": "mitchmindtree",
|
||||
"repo": "tidalcycles.nix",
|
||||
"rev": "0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchmindtree",
|
||||
"ref": "0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4",
|
||||
"repo": "tidalcycles.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vim-tidal-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1685703852,
|
||||
"narHash": "sha256-8gyk17YLeKpLpz3LRtxiwbpsIbZka9bb63nK5/9IUoA=",
|
||||
"owner": "tidalcycles",
|
||||
"repo": "vim-tidal",
|
||||
"rev": "e440fe5bdfe07f805e21e6872099685d38e8b761",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tidalcycles",
|
||||
"repo": "vim-tidal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vowel-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1641306144,
|
||||
"narHash": "sha256-zfF6cvAGDNYWYsE8dOIo38b+dIymd17Pexg0HiPFbxM=",
|
||||
"owner": "supercollider-quarks",
|
||||
"repo": "vowel",
|
||||
"rev": "ab59caa870201ecf2604b3efdd2196e21a8b5446",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "supercollider-quarks",
|
||||
"repo": "vowel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
url = "github:sodiboo/niri-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
tidalcycles = {
|
||||
url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -28,6 +32,7 @@
|
||||
matugen,
|
||||
nix-flatpak,
|
||||
niri,
|
||||
tidalcycles,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
@@ -56,6 +61,10 @@
|
||||
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
|
||||
usb-sniffer = prev.callPackage ./overlays/usb-sniffer { };
|
||||
gamma-launcher = prev.callPackage ./overlays/gamma-launcher { };
|
||||
vimPlugins = prev.vimPlugins // {
|
||||
strudel-nvim = prev.callPackage ./overlays/strudel-nvim { };
|
||||
vim-tidal = tidalcycles.packages.${prev.system}.vim-tidal;
|
||||
};
|
||||
wireshark = prev.wireshark.overrideAttrs (
|
||||
finalAttrs: prevAttrs: {
|
||||
postInstall = prevAttrs.postInstall + ''
|
||||
|
||||
2
modules/home-manager/modules/nixvim/README.md
Normal file
2
modules/home-manager/modules/nixvim/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
The configuration I use is located in [`/modules/home-manager/programs/nixvim.nix`](../../programs/nixvim.nix).
|
||||
This module has to be included in home manager first as shown in [`/modules/home-manager/default.nix`](../../default.nix)
|
||||
@@ -12,6 +12,9 @@
|
||||
inherit pkgs hostname username;
|
||||
};
|
||||
modules = [
|
||||
./plugins/strudel.nix
|
||||
./plugins/tidal.nix
|
||||
|
||||
./aerial.nix
|
||||
./auto-save.nix
|
||||
./auto-format.nix
|
||||
@@ -43,6 +46,7 @@
|
||||
./languages/python.nix
|
||||
./languages/rust.nix
|
||||
./languages/shell.nix
|
||||
./languages/strudel.nix
|
||||
./languages/svelte.nix
|
||||
|
||||
./remaps/half-page-scroll.nix
|
||||
|
||||
28
modules/home-manager/modules/nixvim/languages/strudel.nix
Normal file
28
modules/home-manager/modules/nixvim/languages/strudel.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.languages.strudel;
|
||||
in
|
||||
{
|
||||
options.presets.languages.strudel = {
|
||||
enable = lib.mkEnableOption "Strudel";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
plugins = {
|
||||
strudel.enable = true;
|
||||
web-devicons.customIcons = {
|
||||
str = {
|
||||
icon = " ";
|
||||
color = "#34E2E1";
|
||||
cterm_color = "14";
|
||||
name = "Strudel";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
59
modules/home-manager/modules/nixvim/plugins/strudel.nix
Normal file
59
modules/home-manager/modules/nixvim/plugins/strudel.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
in
|
||||
lib.nixvim.plugins.mkNeovimPlugin {
|
||||
name = "strudel";
|
||||
package = "strudel-nvim";
|
||||
maintainers = [ lib.maintainers.theaninova ];
|
||||
description = "A Neovim based strudel.cc controller, live coding using Strudel from Neovim.";
|
||||
|
||||
settingsOptions = {
|
||||
ui = {
|
||||
maximise_menu_panel = defaultNullOpts.mkBool true ''
|
||||
Maximise the menu panel
|
||||
'';
|
||||
hide_menu_panel = defaultNullOpts.mkBool false ''
|
||||
Hide the Strudel menu panel (and handle)
|
||||
'';
|
||||
hide_top_bar = defaultNullOpts.mkBool false ''
|
||||
Hide the default Strudel top bar (controls)
|
||||
'';
|
||||
hide_code_editor = defaultNullOpts.mkBool false ''
|
||||
Hide the Strudel code editor
|
||||
'';
|
||||
hide_error_display = defaultNullOpts.mkBool false ''
|
||||
Hide the Strudel eval error display under the editor
|
||||
'';
|
||||
};
|
||||
start_on_launch = defaultNullOpts.mkBool true ''
|
||||
Automatically start playback when launching Strudel
|
||||
'';
|
||||
update_on_save = defaultNullOpts.mkBool false ''
|
||||
Set to `true` to automatically trigger the code evaluation after saving the buffer content
|
||||
Only works if the playback was already started (doesn't start the playback on save)
|
||||
'';
|
||||
sync_cursor = defaultNullOpts.mkBool true ''
|
||||
Enable two-way cursor position sync between Neovim and Strudel editor
|
||||
'';
|
||||
report_eval_errors = defaultNullOpts.mkBool true ''
|
||||
Report evaluation errors from Strudel as Neovim notifications
|
||||
'';
|
||||
custom_css_file = defaultNullOpts.mkStr null ''
|
||||
Path to a custom CSS file to style the Strudel web editor (base64-encoded and injected at launch)
|
||||
This allows you to override or extend the default Strudel UI appearance
|
||||
'';
|
||||
headless = defaultNullOpts.mkBool false ''
|
||||
Headless mode: set to `true` to run the browser without launching a window
|
||||
'';
|
||||
browser_data_dir = defaultNullOpts.mkStr "~/.cache/strudel-nvim/" ''
|
||||
Path to the directory where Strudel browser user data (cookies, sessions, etc.) is stored
|
||||
'';
|
||||
browser_exec_path = defaultNullOpts.mkStr null ''
|
||||
Path to a (chromium-based) browser executable of choice
|
||||
'';
|
||||
};
|
||||
}
|
||||
13
modules/home-manager/modules/nixvim/plugins/tidal.nix
Normal file
13
modules/home-manager/modules/nixvim/plugins/tidal.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
in
|
||||
lib.nixvim.plugins.mkVimPlugin {
|
||||
name = "vim-tidal";
|
||||
package = "vim-tidal";
|
||||
maintainers = [ lib.maintainers.theaninova ];
|
||||
description = "Vim plugin for TidalCycles";
|
||||
}
|
||||
@@ -77,6 +77,7 @@
|
||||
python.enable = true;
|
||||
rust.enable = true;
|
||||
shell.enable = true;
|
||||
strudel.enable = true;
|
||||
svelte.enable = true;
|
||||
};
|
||||
remaps = {
|
||||
@@ -94,6 +95,7 @@
|
||||
origami.enable = false;
|
||||
nvim-surround.enable = true;
|
||||
fidget.enable = true;
|
||||
vim-tidal.enable = true;
|
||||
treesitter-context = {
|
||||
enable = false; # TODO: looks weird with Neovide
|
||||
settings.line_numbers = false;
|
||||
|
||||
14
overlays/strudel-nvim/default.nix
Normal file
14
overlays/strudel-nvim/default.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
vimUtils.buildVimPlugin {
|
||||
name = "strudel-nvim";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruvw";
|
||||
repo = "strudel.nvim";
|
||||
rev = "97699f9f08b0deb635038687f92c6237ab67e3b5";
|
||||
hash = "sha256-xe7ItXCfq+gqXxm2Y6zxbiz4AAGgPaP/w6zNgpL+Cl4=";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user