openscad and some keyboard updates
This commit is contained in:
parent
771802b28d
commit
8a6e5802ac
5 changed files with 210 additions and 46 deletions
90
flake.lock
generated
90
flake.lock
generated
|
@ -29,11 +29,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749147380,
|
"lastModified": 1749200714,
|
||||||
"narHash": "sha256-UvCI5f1qD9l1fCQkoG/kJI0yNjDQIiJaN7gkve8fmII=",
|
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "d74db625a5cf3f46cf8fa545d6ef10bd3463ea07",
|
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -89,11 +89,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749143968,
|
"lastModified": 1749232178,
|
||||||
"narHash": "sha256-PScENt6CycBQ/RKwDuHNcyc+dd8fnN06jffoI56uv3s=",
|
"narHash": "sha256-pekC+SuqoHkoYPuWhC1aADCIP0cD3tvemu4WOF/JMUY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "ff324514304d770d533cfbf9aea1b68d68b46e48",
|
"rev": "f6850858f78e2b6328f6e8bb7bf9df10dd0b7973",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -409,11 +409,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749131129,
|
"lastModified": 1749221014,
|
||||||
"narHash": "sha256-tJ+93i7N4QttM75bE8T09LlSU3Mv6Dfi9WaVBvlWilo=",
|
"narHash": "sha256-mqrpuP/lfyDmta5hJWTwWgdF5lwdiubcGs7oRvcTZ2s=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "13a45ede6c17b5e923dfc18a40a3f646436f4809",
|
"rev": "96482a538e6103579d254b139759d0536177370b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -459,11 +459,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743953322,
|
"lastModified": 1749145600,
|
||||||
"narHash": "sha256-prQ5JKopXtzCMX2eT3dXbaVvGmzjMRE2bXStQDdazpM=",
|
"narHash": "sha256-v2kY5RDk9oyo1x9m8u83GdklC96xlJ7ka1rrvZoYL78=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "9d7f2687c84c729afbc3b13f7937655570f2978d",
|
"rev": "80b754e38e836777ad3a9d5d1ffc3491b0332471",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -484,11 +484,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748976320,
|
"lastModified": 1749162425,
|
||||||
"narHash": "sha256-3R4QZ7GeqcBV5lwlFj6qfo1vpNtT8eCJ60JZ59QmRW4=",
|
"narHash": "sha256-8LFke/vOxFOW1t9fJoLmO1r4kA8oXXRe8QKKq/lsPlc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hypridle",
|
"repo": "hypridle",
|
||||||
"rev": "a282131ac77a239ebd0132b2111fd950e9903665",
|
"rev": "b2bc15baffb5182051e94787f1342464fc9d241e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -509,11 +509,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743714874,
|
"lastModified": 1749046714,
|
||||||
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
|
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
|
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -538,11 +538,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747484975,
|
"lastModified": 1749145882,
|
||||||
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
|
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
|
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -567,11 +567,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744468525,
|
"lastModified": 1749145882,
|
||||||
"narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=",
|
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df",
|
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -592,11 +592,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749017651,
|
"lastModified": 1749162391,
|
||||||
"narHash": "sha256-+WLY8tYw2+i3mf/pUI4ecrQjmyhSUIb5cGCCa9ZQDP4=",
|
"narHash": "sha256-aCiNnE26qIAxEBP6SRXjLBlIGOB18TViDreoPe96p6Q=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlock",
|
"repo": "hyprlock",
|
||||||
"rev": "8455fc8ca6432a72313cd285488333ba5977fbe5",
|
"rev": "f9d8dfab7ae0aec625e7814e16f626fabec3641b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -617,11 +617,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748696825,
|
"lastModified": 1749135356,
|
||||||
"narHash": "sha256-miMCjlQGg+C0GiVJy5V8Bn1ysi3LiaN226/BwWcAEQE=",
|
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "f1d0879444e1ed86e3df4ee273b916d651b36f4f",
|
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -642,11 +642,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743950287,
|
"lastModified": 1749135356,
|
||||||
"narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=",
|
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "f2dc70e448b994cef627a157ee340135bd68fbc6",
|
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -667,11 +667,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747584298,
|
"lastModified": 1749145760,
|
||||||
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
|
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
|
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -692,11 +692,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739870480,
|
"lastModified": 1749145760,
|
||||||
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
|
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
|
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -997,11 +997,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749056381,
|
"lastModified": 1749195551,
|
||||||
"narHash": "sha256-QITcurR19KZlrCngBoCjsFF2BdYsiCG4UqmlrVcLb8Q=",
|
"narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "029bd66faa180e11262dd1bc2732254c33415f52",
|
"rev": "4602f7e1d3f197b3cb540d5accf5669121629628",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1763,11 +1763,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749093358,
|
"lastModified": 1749227189,
|
||||||
"narHash": "sha256-Clx1BzHsSSzIXbnCW9KM3m5gW3SFgemcW9/4XH4epeM=",
|
"narHash": "sha256-bToj/0wPCkay4LCDKKRNup9oyt9IwiFyEaCG0ljvlb8=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "d4cf0ac2e860be17036a376ae99b233a115826bc",
|
"rev": "37608b352c9def5aafad3a819fe02ef120c1cb08",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -105,6 +105,7 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
turbocase
|
turbocase
|
||||||
|
# nix-config.packages.x86_64-linux.openscad-git
|
||||||
openscad-unstable
|
openscad-unstable
|
||||||
openscad-lsp
|
openscad-lsp
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,11 @@
|
||||||
tree-sitter
|
tree-sitter
|
||||||
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
|
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
|
||||||
|
|
||||||
|
clang-tools
|
||||||
|
cmake
|
||||||
|
cmake-format
|
||||||
|
cmake-language-server
|
||||||
|
|
||||||
yaml-language-server
|
yaml-language-server
|
||||||
typescript-language-server
|
typescript-language-server
|
||||||
svelte-language-server
|
svelte-language-server
|
||||||
|
|
|
@ -94,7 +94,7 @@ ${shared-alias}
|
||||||
@supesc @a @s @d f g h j k l ; ' ret
|
@supesc @a @s @d f g h j k l ; ' ret
|
||||||
@sp-lsft z x c v b n m , . / @sp-rsft
|
@sp-lsft z x c v b n m , . / @sp-rsft
|
||||||
@supesc @controls lalt lctrl @spcnav @spcnav rctrl ralt @controls @hyper @supesc
|
@supesc @controls lalt lctrl @spcnav @spcnav rctrl ralt @controls @hyper @supesc
|
||||||
bspc mlft mrgt del)
|
mlft mrgt bspc del)
|
||||||
|
|
||||||
(deflayermap (navigation)
|
(deflayermap (navigation)
|
||||||
1 f1
|
1 f1
|
||||||
|
|
158
packages/openscad-git.nix
Normal file
158
packages/openscad-git.nix
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
{
|
||||||
|
fetchgit,
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
cmake,
|
||||||
|
bison,
|
||||||
|
flex,
|
||||||
|
eigen,
|
||||||
|
boost,
|
||||||
|
libGLU,
|
||||||
|
libGL,
|
||||||
|
glew,
|
||||||
|
opencsg,
|
||||||
|
cgal,
|
||||||
|
mpfr,
|
||||||
|
gmp,
|
||||||
|
glib,
|
||||||
|
pkg-config,
|
||||||
|
harfbuzz,
|
||||||
|
gettext,
|
||||||
|
freetype,
|
||||||
|
fontconfig,
|
||||||
|
double-conversion,
|
||||||
|
lib3mf,
|
||||||
|
libzip,
|
||||||
|
spacenavSupport ? stdenv.hostPlatform.isLinux,
|
||||||
|
libspnav,
|
||||||
|
wayland,
|
||||||
|
wayland-protocols,
|
||||||
|
wrapGAppsHook3,
|
||||||
|
cairo,
|
||||||
|
openscad,
|
||||||
|
runCommand,
|
||||||
|
python3,
|
||||||
|
ghostscript,
|
||||||
|
tbb,
|
||||||
|
qt6,
|
||||||
|
qt6Packages,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "openscad";
|
||||||
|
version = "0-latest";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/openscad/openscad.git";
|
||||||
|
rev = "edbbd86b2a44092fd876ec71e162934d03fdb25c";
|
||||||
|
sha256 = "sha256-SuRByBKOiAvEXGjlztvDrJIeh/EdESH727/MJWSHoVA=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
bison
|
||||||
|
flex
|
||||||
|
pkg-config
|
||||||
|
gettext
|
||||||
|
cmake
|
||||||
|
wrapGAppsHook3
|
||||||
|
python3
|
||||||
|
ghostscript
|
||||||
|
qt6.qttools
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
qt6.qt5compat
|
||||||
|
qt6.qtmultimedia
|
||||||
|
qt6.qtbase
|
||||||
|
qt6Packages.qscintilla
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs =
|
||||||
|
[
|
||||||
|
eigen
|
||||||
|
boost
|
||||||
|
glew
|
||||||
|
opencsg
|
||||||
|
cgal
|
||||||
|
mpfr
|
||||||
|
gmp
|
||||||
|
glib
|
||||||
|
harfbuzz
|
||||||
|
lib3mf
|
||||||
|
libzip
|
||||||
|
double-conversion
|
||||||
|
freetype
|
||||||
|
fontconfig
|
||||||
|
cairo
|
||||||
|
tbb
|
||||||
|
]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
|
libGLU
|
||||||
|
libGL
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
]
|
||||||
|
++ lib.optional spacenavSupport libspnav;
|
||||||
|
|
||||||
|
cmakeFlags =
|
||||||
|
[
|
||||||
|
"-DUSE_QT6=ON"
|
||||||
|
"-DVERSION=${version}"
|
||||||
|
"-DLIB3MF_INCLUDE_DIR=${lib3mf.dev}/include/lib3mf/Bindings/Cpp"
|
||||||
|
"-DLIB3MF_LIBRARY=${lib3mf}/lib/lib3mf.so"
|
||||||
|
]
|
||||||
|
++ lib.optionals spacenavSupport [
|
||||||
|
"-DENABLE_SPNAV=ON"
|
||||||
|
"-DSPNAV_INCLUDE_DIR=${libspnav}/include"
|
||||||
|
"-DSPNAV_LIBRARY=${libspnav}/lib/libspnav.so"
|
||||||
|
"-DCMAKE_CXX_STANDARD=17"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
|
mkdir $out/Applications
|
||||||
|
mv $out/bin/*.app $out/Applications
|
||||||
|
rmdir $out/bin || true
|
||||||
|
|
||||||
|
mv --target-directory=$out/Applications/OpenSCAD.app/Contents/Resources \
|
||||||
|
$out/share/openscad/{examples,color-schemes,locale,libraries,fonts,templates}
|
||||||
|
|
||||||
|
rmdir $out/share/openscad
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "3D parametric model compiler";
|
||||||
|
longDescription = ''
|
||||||
|
OpenSCAD is a software for creating solid 3D CAD objects. It is free
|
||||||
|
software and available for Linux/UNIX, MS Windows and macOS.
|
||||||
|
|
||||||
|
Unlike most free software for creating 3D models (such as the famous
|
||||||
|
application Blender) it does not focus on the artistic aspects of 3D
|
||||||
|
modelling but instead on the CAD aspects. Thus it might be the
|
||||||
|
application you are looking for when you are planning to create 3D models of
|
||||||
|
machine parts but pretty sure is not what you are looking for when you are more
|
||||||
|
interested in creating computer-animated movies.
|
||||||
|
'';
|
||||||
|
homepage = "https://openscad.org/";
|
||||||
|
license = lib.licenses.gpl2;
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
bjornfor
|
||||||
|
raskin
|
||||||
|
];
|
||||||
|
mainProgram = "openscad";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
lib3mf_support =
|
||||||
|
runCommand "${pname}-lib3mf-support-test"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [ openscad ];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
echo "cube([1, 1, 1]);" | openscad -o cube.3mf -
|
||||||
|
echo "import(\"cube.3mf\");" | openscad -o cube-import.3mf -
|
||||||
|
mv cube-import.3mf $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue