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": {
|
||||
"lastModified": 1749147380,
|
||||
"narHash": "sha256-UvCI5f1qD9l1fCQkoG/kJI0yNjDQIiJaN7gkve8fmII=",
|
||||
"lastModified": 1749200714,
|
||||
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "d74db625a5cf3f46cf8fa545d6ef10bd3463ea07",
|
||||
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -89,11 +89,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749143968,
|
||||
"narHash": "sha256-PScENt6CycBQ/RKwDuHNcyc+dd8fnN06jffoI56uv3s=",
|
||||
"lastModified": 1749232178,
|
||||
"narHash": "sha256-pekC+SuqoHkoYPuWhC1aADCIP0cD3tvemu4WOF/JMUY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "ff324514304d770d533cfbf9aea1b68d68b46e48",
|
||||
"rev": "f6850858f78e2b6328f6e8bb7bf9df10dd0b7973",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -409,11 +409,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749131129,
|
||||
"narHash": "sha256-tJ+93i7N4QttM75bE8T09LlSU3Mv6Dfi9WaVBvlWilo=",
|
||||
"lastModified": 1749221014,
|
||||
"narHash": "sha256-mqrpuP/lfyDmta5hJWTwWgdF5lwdiubcGs7oRvcTZ2s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "13a45ede6c17b5e923dfc18a40a3f646436f4809",
|
||||
"rev": "96482a538e6103579d254b139759d0536177370b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -459,11 +459,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743953322,
|
||||
"narHash": "sha256-prQ5JKopXtzCMX2eT3dXbaVvGmzjMRE2bXStQDdazpM=",
|
||||
"lastModified": 1749145600,
|
||||
"narHash": "sha256-v2kY5RDk9oyo1x9m8u83GdklC96xlJ7ka1rrvZoYL78=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "9d7f2687c84c729afbc3b13f7937655570f2978d",
|
||||
"rev": "80b754e38e836777ad3a9d5d1ffc3491b0332471",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -484,11 +484,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748976320,
|
||||
"narHash": "sha256-3R4QZ7GeqcBV5lwlFj6qfo1vpNtT8eCJ60JZ59QmRW4=",
|
||||
"lastModified": 1749162425,
|
||||
"narHash": "sha256-8LFke/vOxFOW1t9fJoLmO1r4kA8oXXRe8QKKq/lsPlc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hypridle",
|
||||
"rev": "a282131ac77a239ebd0132b2111fd950e9903665",
|
||||
"rev": "b2bc15baffb5182051e94787f1342464fc9d241e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -509,11 +509,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743714874,
|
||||
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
|
||||
"lastModified": 1749046714,
|
||||
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
|
||||
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -538,11 +538,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747484975,
|
||||
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
|
||||
"lastModified": 1749145882,
|
||||
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
|
||||
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -567,11 +567,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744468525,
|
||||
"narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=",
|
||||
"lastModified": 1749145882,
|
||||
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df",
|
||||
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -592,11 +592,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749017651,
|
||||
"narHash": "sha256-+WLY8tYw2+i3mf/pUI4ecrQjmyhSUIb5cGCCa9ZQDP4=",
|
||||
"lastModified": 1749162391,
|
||||
"narHash": "sha256-aCiNnE26qIAxEBP6SRXjLBlIGOB18TViDreoPe96p6Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlock",
|
||||
"rev": "8455fc8ca6432a72313cd285488333ba5977fbe5",
|
||||
"rev": "f9d8dfab7ae0aec625e7814e16f626fabec3641b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -617,11 +617,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748696825,
|
||||
"narHash": "sha256-miMCjlQGg+C0GiVJy5V8Bn1ysi3LiaN226/BwWcAEQE=",
|
||||
"lastModified": 1749135356,
|
||||
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "f1d0879444e1ed86e3df4ee273b916d651b36f4f",
|
||||
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -642,11 +642,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743950287,
|
||||
"narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=",
|
||||
"lastModified": 1749135356,
|
||||
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "f2dc70e448b994cef627a157ee340135bd68fbc6",
|
||||
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -667,11 +667,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747584298,
|
||||
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
|
||||
"lastModified": 1749145760,
|
||||
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
|
||||
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -692,11 +692,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739870480,
|
||||
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
|
||||
"lastModified": 1749145760,
|
||||
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
|
||||
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -997,11 +997,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1749056381,
|
||||
"narHash": "sha256-QITcurR19KZlrCngBoCjsFF2BdYsiCG4UqmlrVcLb8Q=",
|
||||
"lastModified": 1749195551,
|
||||
"narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "029bd66faa180e11262dd1bc2732254c33415f52",
|
||||
"rev": "4602f7e1d3f197b3cb540d5accf5669121629628",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1763,11 +1763,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749093358,
|
||||
"narHash": "sha256-Clx1BzHsSSzIXbnCW9KM3m5gW3SFgemcW9/4XH4epeM=",
|
||||
"lastModified": 1749227189,
|
||||
"narHash": "sha256-bToj/0wPCkay4LCDKKRNup9oyt9IwiFyEaCG0ljvlb8=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "d4cf0ac2e860be17036a376ae99b233a115826bc",
|
||||
"rev": "37608b352c9def5aafad3a819fe02ef120c1cb08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
})
|
||||
|
||||
turbocase
|
||||
# nix-config.packages.x86_64-linux.openscad-git
|
||||
openscad-unstable
|
||||
openscad-lsp
|
||||
|
||||
|
|
|
@ -32,6 +32,11 @@
|
|||
tree-sitter
|
||||
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
|
||||
|
||||
clang-tools
|
||||
cmake
|
||||
cmake-format
|
||||
cmake-language-server
|
||||
|
||||
yaml-language-server
|
||||
typescript-language-server
|
||||
svelte-language-server
|
||||
|
|
|
@ -94,7 +94,7 @@ ${shared-alias}
|
|||
@supesc @a @s @d f g h j k l ; ' ret
|
||||
@sp-lsft z x c v b n m , . / @sp-rsft
|
||||
@supesc @controls lalt lctrl @spcnav @spcnav rctrl ralt @controls @hyper @supesc
|
||||
bspc mlft mrgt del)
|
||||
mlft mrgt bspc del)
|
||||
|
||||
(deflayermap (navigation)
|
||||
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