roc is cool

This commit is contained in:
Daylin Morgan 2024-06-12 10:42:18 -05:00
parent cfb3f47893
commit 5d9c945dc5
Signed by: daylin
GPG key ID: 950D13E9719334AD
5 changed files with 159 additions and 16 deletions

View file

@ -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": [

View file

@ -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";
}; };

View file

@ -15,6 +15,7 @@
"node" "node"
"nushell" "nushell"
"python" "python"
"roc"
"tex" "tex"
"zig" "zig"
]; ];

View file

@ -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
View 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
];
};
}