mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
Compare commits
6 Commits
3b3a15322b
...
3bf3bf5fa5
| Author | SHA1 | Date | |
|---|---|---|---|
|
3bf3bf5fa5
|
|||
|
ef0b2b07ef
|
|||
|
f530957112
|
|||
|
674daa80d1
|
|||
|
8ad676580e
|
|||
|
80d26f037b
|
@@ -41,6 +41,15 @@ sudo nixos-rebuild switch --flake .#
|
|||||||
|
|
||||||
## Cleaning your system
|
## Cleaning your system
|
||||||
|
|
||||||
|
### Cachix is down
|
||||||
|
|
||||||
|
By default nix will just crash if cachix is down even if you don't have to fetch anything from it.
|
||||||
|
Use `--option build-use-substitutes false` to temporarily disable it.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nixos-rebuild switch --option build-use-substitutes false --flake .#
|
||||||
|
```
|
||||||
|
|
||||||
### Find (accidental) folders holding your gc back
|
### Find (accidental) folders holding your gc back
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
146
flake.lock
generated
146
flake.lock
generated
@@ -1,5 +1,21 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@@ -46,11 +62,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762964643,
|
"lastModified": 1763416652,
|
||||||
"narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=",
|
"narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "827f2a23373a774a8805f84ca5344654c31f354b",
|
"rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -121,11 +137,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763090726,
|
"lastModified": 1763446461,
|
||||||
"narHash": "sha256-KglHTdxRYcfR8hzYUZDp1hkizZlapfg5uDlHgv0XGcg=",
|
"narHash": "sha256-/matsRMDk8RgftY9BFva7c5fcRv9miFeDUl+92j3fns=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "d32bec21d280e91f502ad6bd6933a451202c2695",
|
"rev": "f309d15295085e7863cb8a727354d4c638541ca0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -154,11 +170,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763014447,
|
"lastModified": 1763370666,
|
||||||
"narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=",
|
"narHash": "sha256-Y4IYBfaTxffpm6UIbhY1Xfpij+aVh/C+tF9Tdg6nYig=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "a52df533c4694b5ed0a04140af60fd26146df911",
|
"rev": "7f19d268b3563e3683eaca02d9665fed66ce862e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -185,11 +201,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762977756,
|
"lastModified": 1763283776,
|
||||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
"narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
"rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -201,11 +217,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762756533,
|
"lastModified": 1763334038,
|
||||||
"narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=",
|
"narHash": "sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d",
|
"rev": "4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -225,11 +241,11 @@
|
|||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763109970,
|
"lastModified": 1763393971,
|
||||||
"narHash": "sha256-3azi7sNWVxHiUGMPcEwsd3ErYoMEdLRX/JmgoYEe+os=",
|
"narHash": "sha256-FhgZD8pk3VE2SL0g4nCYKF0L6IO3uL110tfrBaZkdG0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "6c2ac251d7cfc2416f23257df13c86d84d3eee34",
|
"rev": "7a30e6cf259d8db84aefc626058c074bd995d482",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -268,7 +284,24 @@
|
|||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs",
|
"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": {
|
"systems": {
|
||||||
@@ -316,6 +349,81 @@
|
|||||||
"type": "github"
|
"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": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|||||||
13
flake.nix
13
flake.nix
@@ -18,6 +18,10 @@
|
|||||||
url = "github:sodiboo/niri-flake";
|
url = "github:sodiboo/niri-flake";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
tidalcycles = {
|
||||||
|
url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@@ -28,6 +32,7 @@
|
|||||||
matugen,
|
matugen,
|
||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
niri,
|
niri,
|
||||||
|
tidalcycles,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
@@ -56,6 +61,10 @@
|
|||||||
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
|
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
|
||||||
usb-sniffer = prev.callPackage ./overlays/usb-sniffer { };
|
usb-sniffer = prev.callPackage ./overlays/usb-sniffer { };
|
||||||
gamma-launcher = prev.callPackage ./overlays/gamma-launcher { };
|
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 (
|
wireshark = prev.wireshark.overrideAttrs (
|
||||||
finalAttrs: prevAttrs: {
|
finalAttrs: prevAttrs: {
|
||||||
postInstall = prevAttrs.postInstall + ''
|
postInstall = prevAttrs.postInstall + ''
|
||||||
@@ -159,9 +168,7 @@
|
|||||||
hostname = "MONSTER";
|
hostname = "MONSTER";
|
||||||
username = "theaninova";
|
username = "theaninova";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
config = {
|
config.rocmSupport = true;
|
||||||
# rocmSupport = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
aero = mkHost {
|
aero = mkHost {
|
||||||
hostname = "aero";
|
hostname = "aero";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
boot = {
|
boot = {
|
||||||
quiet.enable = true;
|
quiet.enable = true;
|
||||||
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_xanmod_stable;
|
||||||
kernelModules = [ "sg" ];
|
kernelModules = [ "sg" ];
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
|
|||||||
@@ -11,8 +11,7 @@
|
|||||||
quiet.enable = true;
|
quiet.enable = true;
|
||||||
|
|
||||||
kernelParams = [ "module_blacklist=i915" ];
|
kernelParams = [ "module_blacklist=i915" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages_xanmod_stable;
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot = {
|
systemd-boot = {
|
||||||
@@ -105,7 +104,7 @@
|
|||||||
"127.0.0.1:57461" = [ "ai.local" ];
|
"127.0.0.1:57461" = [ "ai.local" ];
|
||||||
};
|
};
|
||||||
services.ollama = {
|
services.ollama = {
|
||||||
enable = true;
|
enable = false;
|
||||||
package = pkgs.ollama.override {
|
package = pkgs.ollama.override {
|
||||||
config.cudaSupport = true;
|
config.cudaSupport = true;
|
||||||
config.rocmSupport = false;
|
config.rocmSupport = false;
|
||||||
@@ -113,7 +112,7 @@
|
|||||||
acceleration = "cuda";
|
acceleration = "cuda";
|
||||||
};
|
};
|
||||||
services.open-webui = {
|
services.open-webui = {
|
||||||
enable = true;
|
enable = false;
|
||||||
port = 57461;
|
port = 57461;
|
||||||
environment = {
|
environment = {
|
||||||
ANONYMIZED_TELEMETRY = "False";
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
|||||||
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)
|
||||||
51
modules/home-manager/modules/nixvim/base/leap.nix
Normal file
51
modules/home-manager/modules/nixvim/base/leap.nix
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.presets.base.leap;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.base.leap = {
|
||||||
|
enable = lib.mkEnableOption "leap";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
plugins.leap.enable = true;
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "s";
|
||||||
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
"o"
|
||||||
|
];
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('leap').leap({
|
||||||
|
windows = { vim.api.nvim_get_current_win() },
|
||||||
|
inclusive = true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options.desc = "Leap";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "R";
|
||||||
|
mode = [
|
||||||
|
"x"
|
||||||
|
"o"
|
||||||
|
];
|
||||||
|
action.__raw = ''
|
||||||
|
function ()
|
||||||
|
require('leap.treesitter').select {
|
||||||
|
-- To increase/decrease the selection in a clever-f-like manner,
|
||||||
|
-- with the trigger key itself (vRRRRrr...). The default keys
|
||||||
|
-- (<enter>/<backspace>) also work, so feel free to skip this.
|
||||||
|
opts = require('leap.user').with_traversal_keys('R', 'r')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -12,6 +12,9 @@
|
|||||||
inherit pkgs hostname username;
|
inherit pkgs hostname username;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
./plugins/strudel.nix
|
||||||
|
./plugins/tidal.nix
|
||||||
|
|
||||||
./aerial.nix
|
./aerial.nix
|
||||||
./auto-save.nix
|
./auto-save.nix
|
||||||
./auto-format.nix
|
./auto-format.nix
|
||||||
@@ -26,6 +29,7 @@
|
|||||||
./base/diagnostics.nix
|
./base/diagnostics.nix
|
||||||
./base/find.nix
|
./base/find.nix
|
||||||
./base/formatting.nix
|
./base/formatting.nix
|
||||||
|
./base/leap.nix
|
||||||
./base/spellcheck.nix
|
./base/spellcheck.nix
|
||||||
./base/status-line.nix
|
./base/status-line.nix
|
||||||
./base/syntax.nix
|
./base/syntax.nix
|
||||||
@@ -34,6 +38,7 @@
|
|||||||
./languages/angular.nix
|
./languages/angular.nix
|
||||||
./languages/c.nix
|
./languages/c.nix
|
||||||
./languages/css.nix
|
./languages/css.nix
|
||||||
|
./languages/cue.nix
|
||||||
./languages/dart.nix
|
./languages/dart.nix
|
||||||
./languages/js.nix
|
./languages/js.nix
|
||||||
./languages/lua.nix
|
./languages/lua.nix
|
||||||
@@ -41,6 +46,7 @@
|
|||||||
./languages/python.nix
|
./languages/python.nix
|
||||||
./languages/rust.nix
|
./languages/rust.nix
|
||||||
./languages/shell.nix
|
./languages/shell.nix
|
||||||
|
./languages/strudel.nix
|
||||||
./languages/svelte.nix
|
./languages/svelte.nix
|
||||||
|
|
||||||
./remaps/half-page-scroll.nix
|
./remaps/half-page-scroll.nix
|
||||||
|
|||||||
16
modules/home-manager/modules/nixvim/languages/cue.nix
Normal file
16
modules/home-manager/modules/nixvim/languages/cue.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.presets.languages.cue;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.languages.cue = {
|
||||||
|
enable = lib.mkEnableOption "CUE";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
plugins = {
|
||||||
|
conform-nvim.settings.formatters_by_ft.cue = [ "cue_fmt" ];
|
||||||
|
lsp.servers.cue.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ in
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
plugins = {
|
plugins = {
|
||||||
conform-nvim.settings.formattters_by_ft.rust = [ "rustfmt" ];
|
conform-nvim.settings.formatters_by_ft.rust = [ "rustfmt" ];
|
||||||
lsp.servers.rust_analyzer = {
|
lsp.servers.rust_analyzer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
installCargo = false;
|
installCargo = false;
|
||||||
|
|||||||
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";
|
||||||
|
}
|
||||||
@@ -50,7 +50,6 @@
|
|||||||
scribus
|
scribus
|
||||||
# audacity
|
# audacity
|
||||||
pinta
|
pinta
|
||||||
kdePackages.kdenlive
|
|
||||||
losslesscut-bin
|
losslesscut-bin
|
||||||
shotcut
|
shotcut
|
||||||
blender-hip
|
blender-hip
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
prettier = true;
|
prettier = true;
|
||||||
};
|
};
|
||||||
|
leap.enable = true;
|
||||||
spellcheck.enable = true;
|
spellcheck.enable = true;
|
||||||
status-line.enable = true;
|
status-line.enable = true;
|
||||||
syntax.enable = true;
|
syntax.enable = true;
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
stylelint = true;
|
stylelint = true;
|
||||||
};
|
};
|
||||||
|
cue.enable = true;
|
||||||
dart.enable = true;
|
dart.enable = true;
|
||||||
js = {
|
js = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -75,6 +77,7 @@
|
|||||||
python.enable = true;
|
python.enable = true;
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
shell.enable = true;
|
shell.enable = true;
|
||||||
|
strudel.enable = true;
|
||||||
svelte.enable = true;
|
svelte.enable = true;
|
||||||
};
|
};
|
||||||
remaps = {
|
remaps = {
|
||||||
@@ -85,92 +88,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').jump() end";
|
|
||||||
options.desc = "Flash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "S";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').treesitter() end";
|
|
||||||
options.desc = "Flash Treesitter";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
mode = "o";
|
|
||||||
action.__raw = "function() require('flash').remote() end";
|
|
||||||
options.desc = "Remote Flash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
mode = [
|
|
||||||
"o"
|
|
||||||
"x"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').treesitter_search() end";
|
|
||||||
options.desc = "Treesitter Search";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<c-s>";
|
|
||||||
mode = [
|
|
||||||
"c"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').toggle() end";
|
|
||||||
options.desc = "Toggle Flash Search";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
vim.keymap.set({'n', 'x', 'o'}, 's', '<Plug>(leap)')
|
|
||||||
vim.keymap.set('n', 'S', '<Plug>(leap-from-window)')
|
|
||||||
*/
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = ''
|
|
||||||
function()
|
|
||||||
require('leap').leap({
|
|
||||||
windows = { vim.api.nvim_get_current_win() },
|
|
||||||
inclusive = true
|
|
||||||
})
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
options.desc = "Leap";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
mode = [
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = ''
|
|
||||||
function ()
|
|
||||||
require('leap.treesitter').select {
|
|
||||||
-- To increase/decrease the selection in a clever-f-like manner,
|
|
||||||
-- with the trigger key itself (vRRRRrr...). The default keys
|
|
||||||
-- (<enter>/<backspace>) also work, so feel free to skip this.
|
|
||||||
opts = require('leap.user').with_traversal_keys('R', 'r')
|
|
||||||
}
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
which-key.enable = true;
|
which-key.enable = true;
|
||||||
schemastore.enable = true;
|
schemastore.enable = true;
|
||||||
@@ -178,24 +95,7 @@
|
|||||||
origami.enable = false;
|
origami.enable = false;
|
||||||
nvim-surround.enable = true;
|
nvim-surround.enable = true;
|
||||||
fidget.enable = true;
|
fidget.enable = true;
|
||||||
leap = {
|
vim-tidal.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
flash = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
label = {
|
|
||||||
exclude = "jJxXqQ";
|
|
||||||
rainbow.enabled = true;
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
mode = "exact";
|
|
||||||
trigger = ";";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
treesitter-context = {
|
treesitter-context = {
|
||||||
enable = false; # TODO: looks weird with Neovide
|
enable = false; # TODO: looks weird with Neovide
|
||||||
settings.line_numbers = false;
|
settings.line_numbers = false;
|
||||||
@@ -207,7 +107,18 @@
|
|||||||
|
|
||||||
dockerls.enable = true;
|
dockerls.enable = true;
|
||||||
|
|
||||||
yamlls.enable = true;
|
yamlls = {
|
||||||
|
enable = true;
|
||||||
|
settings.customTags = [
|
||||||
|
"!if mapping"
|
||||||
|
"!any sequence"
|
||||||
|
"!not scalar"
|
||||||
|
"!flat sequence"
|
||||||
|
"!repeat mapping"
|
||||||
|
"!param scalar"
|
||||||
|
"!macro mapping"
|
||||||
|
];
|
||||||
|
};
|
||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
taplo.enable = true;
|
taplo.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ in
|
|||||||
};
|
};
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
mesa-demos
|
mesa-demos
|
||||||
nvtopPackages.nvidia
|
# nvtopPackages.nvidia
|
||||||
libva-utils
|
libva-utils
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ in
|
|||||||
cubyz-bin
|
cubyz-bin
|
||||||
oversteer
|
oversteer
|
||||||
obs-studio
|
obs-studio
|
||||||
/*
|
|
||||||
(lutris.override {
|
(lutris.override {
|
||||||
extraLibraries =
|
extraLibraries =
|
||||||
pkgs: with pkgs; [
|
pkgs: with pkgs; [
|
||||||
@@ -39,7 +38,6 @@ in
|
|||||||
libvdpau
|
libvdpau
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
*/
|
|
||||||
# rpcs3
|
# rpcs3
|
||||||
bottles
|
bottles
|
||||||
wineWow64Packages.stagingFull
|
wineWow64Packages.stagingFull
|
||||||
|
|||||||
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