diff --git a/home-manager/traverseda/home.nix b/home-manager/traverseda/home.nix index 9dfe57f..9fb60cf 100644 --- a/home-manager/traverseda/home.nix +++ b/home-manager/traverseda/home.nix @@ -82,6 +82,12 @@ vimAlias = true; plugins.bufferline.enable = true; plugins.which-key.enable = true; + + plugins.cmp-tabby = { + enable = true; + host = "localhost:8337"; + }; + globals.mapleader = " "; keymaps = [ { diff --git a/home-manager/traverseda/kde-desktop.nix b/home-manager/traverseda/kde-desktop.nix index 2002071..02f79ab 100644 --- a/home-manager/traverseda/kde-desktop.nix +++ b/home-manager/traverseda/kde-desktop.nix @@ -60,6 +60,7 @@ "kwinrc"."Desktops"."Number"."value" = 10; "kwinrc"."Desktops"."Rows"."value" = 2; "kwinrc"."Plugins"."cubeEnabled" = true; + "kwinrc"."Windows"."FocusPolicy" = "FocusFollowsMouse"; }; }; } diff --git a/nixos/cad.nix b/nixos/cad.nix index 18e2f22..756a79d 100644 --- a/nixos/cad.nix +++ b/nixos/cad.nix @@ -1,10 +1,10 @@ { config, pkgs, lib, ... }: { - environment.systemPackages = with pkgs; [ pkgs.openscad pkgs.blender + #pkgs.py-slvs pkgs.freecad (pkgs.appimageTools.wrapType2 { diff --git a/pkgs/blender-cadsketcher/default.nix b/pkgs/blender-cadsketcher/default.nix new file mode 100644 index 0000000..78cd433 --- /dev/null +++ b/pkgs/blender-cadsketcher/default.nix @@ -0,0 +1,57 @@ +{ + description = "Blender CAD Sketcher"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + outputs = { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + devShells.default = pkgs.mkShell { + shellHook = '' + ''; + packages = [ + ( + let + py-slvs = pythonPkgs: + pythonPkgs.buildPythonPackage rec { + pname = "py-slvs"; + version = "1.0.6"; + + src = pythonPkgs.fetchPypi { + pname = "py_slvs"; + version = "1.0.6"; + sha256 = "sha256-U6T/aXy0JTC1ptL5oBmch0ytSPmIkRA8XOi31NpArnI="; + }; + + nativeBuildInputs = with pkgs; [swig]; + pyproject = true; + + propagatedBuildInputs = with pythonPkgs; [ + cmake + ninja + setuptools + scikit-build + ]; + + dontUseCmakeConfigure = true; + + meta = with pkgs.lib; { + description = "Python binding of SOLVESPACE geometry constraint solver"; + homepage = "https://github.com/realthunder/slvs_py"; + license = licenses.gpl3; + }; + }; + + blenderCadSketcher = pkgs.blender.withPackages (p: [(py-slvs p)]); + in + blenderCadSketcher + ) + ]; + }; + }); +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 6762b7f..6a65429 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,4 +6,5 @@ { # example = pkgs.callPackage ./example { }; creality-print = pkgs.callPackage ./creality-print { }; + py-slvs = pkgs.callPackage ./py-slvs { }; } diff --git a/pkgs/py-slvs/default.nix b/pkgs/py-slvs/default.nix new file mode 100644 index 0000000..5482acc --- /dev/null +++ b/pkgs/py-slvs/default.nix @@ -0,0 +1,57 @@ +{ + description = "Blender CAD Sketcher"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + outputs = { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + devShells.default = pkgs.mkShell { + shellHook = '' + ''; + packages = [ + ( + let + py-slvs = pythonPkgs: + pythonPkgs.buildPythonPackage rec { + pname = "py-slvs"; + version = "1.0.6"; + + src = pythonPkgs.fetchPypi { + pname = "py_slvs"; + version = "1.0.6"; + sha256 = "sha256-U6T/aXy0JTC1ptL5oBmch0ytSPmIkRA8XOi31NpArnI="; + }; + + nativeBuildInputs = with pkgs; [swig]; + pyproject = true; + + propagatedBuildInputs = with pythonPkgs; [ + cmake + ninja + setuptools + scikit-build + ]; + + dontUseCmakeConfigure = true; + + meta = with pkgs.lib; { + description = "Python binding of SOLVESPACE geometry constraint solver"; + homepage = "https://github.com/realthunder/slvs_py"; + license = licenses.gpl3; + }; + }; + + blenderWithPySlvs = pkgs.blender.withPackages (p: [(py-slvs p)]); + in + blenderWithPySlvs + ) + ]; + }; + }); +}