mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-22 10:10:45 -06:00
roc is cool
This commit is contained in:
parent
cfb3f47893
commit
5d9c945dc5
5 changed files with 159 additions and 16 deletions
132
flake.lock
132
flake.lock
|
@ -65,6 +65,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_4": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
|
@ -181,6 +197,24 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_7"
|
"systems": "systems_7"
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_7": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_8"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705309234,
|
"lastModified": 1705309234,
|
||||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||||
|
@ -534,6 +568,31 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixgl": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"roc",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"roc",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710868679,
|
||||||
|
"narHash": "sha256-V1o2bCZdeYKP/0zgVp4EN0KUjMItAMk6J7SvCXUI5IU=",
|
||||||
|
"owner": "guibou",
|
||||||
|
"repo": "nixGL",
|
||||||
|
"rev": "d709a8abcde5b01db76ca794280745a43c8662be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "guibou",
|
||||||
|
"repo": "nixGL",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-wsl": {
|
"nixos-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
@ -770,6 +829,30 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"roc": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_3",
|
||||||
|
"flake-utils": "flake-utils_4",
|
||||||
|
"nixgl": "nixgl",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1718174411,
|
||||||
|
"narHash": "sha256-rEJ/ElZyAHeS6kX8yVoqfM/s+vyCdOUJZbkueujfSzY=",
|
||||||
|
"owner": "roc-lang",
|
||||||
|
"repo": "roc",
|
||||||
|
"rev": "a6f1408b5c97e2f5eb3b62b0b481b6a29c958e83",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "roc-lang",
|
||||||
|
"repo": "roc",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"f1multiviewer": "f1multiviewer",
|
"f1multiviewer": "f1multiviewer",
|
||||||
|
@ -783,12 +866,38 @@
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nixpkgs-wayland": "nixpkgs-wayland",
|
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||||
"pixi": "pixi",
|
"pixi": "pixi",
|
||||||
|
"roc": "roc",
|
||||||
"stable": "stable",
|
"stable": "stable",
|
||||||
"tsm": "tsm",
|
"tsm": "tsm",
|
||||||
"zig2nix": "zig2nix",
|
"zig2nix": "zig2nix",
|
||||||
"zls": "zls"
|
"zls": "zls"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"roc",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"roc",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712369449,
|
||||||
|
"narHash": "sha256-tbWug3uXPlSm1j0xD80Y3xbP+otT6gLnQo1e/vQat48=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "41b3b080cc3e4b3a48e933b87fc15a05f1870779",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stable": {
|
"stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717880976,
|
"lastModified": 1717880976,
|
||||||
|
@ -910,6 +1019,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -986,8 +1110,8 @@
|
||||||
},
|
},
|
||||||
"zig-overlay": {
|
"zig-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_4",
|
||||||
"flake-utils": "flake-utils_6",
|
"flake-utils": "flake-utils_7",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"zls",
|
"zls",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
@ -1009,7 +1133,7 @@
|
||||||
},
|
},
|
||||||
"zig2nix": {
|
"zig2nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_5",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -1030,7 +1154,7 @@
|
||||||
},
|
},
|
||||||
"zls": {
|
"zls": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_5",
|
"flake-utils": "flake-utils_6",
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"langref": "langref",
|
"langref": "langref",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
|
@ -28,16 +28,16 @@
|
||||||
|
|
||||||
zig2nix.url = "github:Cloudef/zig2nix";
|
zig2nix.url = "github:Cloudef/zig2nix";
|
||||||
zig2nix.inputs.nixpkgs.follows = "nixpkgs";
|
zig2nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
zls.url = "github:zigtools/zls";
|
zls.url = "github:zigtools/zls";
|
||||||
zls.inputs.nixpkgs.follows = "nixpkgs";
|
zls.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
roc.url = "github:roc-lang/roc";
|
||||||
|
roc.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
tsm.url = "github:daylinmorgan/tsm?dir=nix";
|
tsm.url = "github:daylinmorgan/tsm?dir=nix";
|
||||||
tsm.inputs.nixpkgs.follows = "nixpkgs";
|
tsm.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
hyprman.url = "git+https://git.dayl.in/daylin/hyprman.git";
|
hyprman.url = "git+https://git.dayl.in/daylin/hyprman.git";
|
||||||
hyprman.inputs.nixpkgs.follows = "nixpkgs";
|
hyprman.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
f1multiviewer.url = "github:daylinmorgan/f1multiviewer-flake";
|
f1multiviewer.url = "github:daylinmorgan/f1multiviewer-flake";
|
||||||
pixi.url = "github:daylinmorgan/pixi-flake";
|
pixi.url = "github:daylinmorgan/pixi-flake";
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"node"
|
"node"
|
||||||
"nushell"
|
"nushell"
|
||||||
"python"
|
"python"
|
||||||
|
"roc"
|
||||||
"tex"
|
"tex"
|
||||||
"zig"
|
"zig"
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,22 +1,20 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
let
|
let
|
||||||
|
inherit (builtins)
|
||||||
|
filter;
|
||||||
inherit (lib)
|
inherit (lib)
|
||||||
|
isNixFile
|
||||||
mkOption
|
mkOption
|
||||||
types
|
types
|
||||||
literalExpression
|
literalExpression
|
||||||
mdDoc
|
mdDoc
|
||||||
;
|
;
|
||||||
|
inherit (lib.filesystem)
|
||||||
|
listFilesRecursive;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = filter (f: (f != ./default.nix) && (isNixFile f)) (listFilesRecursive ./.);
|
||||||
./misc.nix
|
|
||||||
./nim.nix
|
|
||||||
./node.nix
|
|
||||||
./nushell.nix
|
|
||||||
./python.nix
|
|
||||||
./tex.nix
|
|
||||||
./zig.nix
|
|
||||||
];
|
|
||||||
options.oizys.languages = mkOption {
|
options.oizys.languages = mkOption {
|
||||||
type = with types; (listOf str);
|
type = with types; (listOf str);
|
||||||
description = mdDoc ''
|
description = mdDoc ''
|
||||||
|
|
20
modules/languages/roc.nix
Normal file
20
modules/languages/roc.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIfIn;
|
||||||
|
cfg = config.oizys.languages;
|
||||||
|
rocPkgs = inputs.roc.packages.${pkgs.system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIfIn "roc" cfg {
|
||||||
|
environment.systemPackages = with rocPkgs; [
|
||||||
|
full
|
||||||
|
lang-server
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue