Fixed mako; added visicut

This commit is contained in:
Jurn Wubben 2025-07-27 23:12:03 +02:00
parent f79aa0d5d6
commit 0ece7c4a29
5 changed files with 64 additions and 9 deletions

View file

@ -7,6 +7,7 @@
imports = [ imports = [
inputs.git-hooks-nix.flakeModule inputs.git-hooks-nix.flakeModule
./hosts ./hosts
./pkgs
]; ];
perSystem = { perSystem = {

View file

@ -2,14 +2,17 @@
pkgs, pkgs,
lib, lib,
osConfig, osConfig,
self,
... ...
}: { }: {
home.packages = lib.mkIf osConfig.niksos.desktop.apps [ home.packages =
lib.optionals osConfig.niksos.desktop.apps [
pkgs.spotify pkgs.spotify
pkgs.signal-desktop pkgs.signal-desktop
pkgs.bambu-studio pkgs.bambu-studio
pkgs.gimp pkgs.gimp
pkgs.inkscape pkgs.inkscape
pkgs.thunderbird pkgs.thunderbird
]; ]
++ lib.optional osConfig.niksos.hardware.portable.enable self.packages.${pkgs.system}.visicut;
} }

View file

@ -3,6 +3,6 @@
in { in {
services.mako = { services.mako = {
inherit (osConfig.programs.hyprland) enable; inherit (osConfig.programs.hyprland) enable;
settings.default_timeout = 5000; settings.default-timeout = 5000;
}; };
} }

8
pkgs/default.nix Normal file
View file

@ -0,0 +1,8 @@
{
systems = ["x86_64-linux"];
perSystem = {pkgs, ...}: {
packages = {
visicut = pkgs.callPackage ./visicut {};
};
};
}

43
pkgs/visicut/default.nix Normal file
View file

@ -0,0 +1,43 @@
{
appimageTools,
fetchurl,
lib,
}: let
pname = "VisiCut";
version = "2.1";
src = fetchurl {
url = "https://github.com/t-oster/VisiCut/releases/download/${version}/VisiCut-${version}+devel-x86_64.AppImage";
hash = "sha256-Mq6Rjozshwk8asY+5egScQ5TkoxzRnWlZ9p0WeEOoiE=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
postExtract = ''
substituteInPlace $out/${desktopFile} --replace-fail 'Exec=visicut' 'Exec=${pname}'
'';
};
desktopFile = "VisiCut.desktop";
iconFile = "visicut.png";
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/${desktopFile} $out/share/applications/${desktopFile}
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/128x128/apps/${iconFile} \
$out/share/icons/hicolor/128x128/apps/${iconFile}
'';
meta = {
description = "A userfriendly tool to prepare, save and send Jobs to Lasercutters.";
homepage = "https://visicut.org/";
downloadPage = "https://github.com/t-oster/VisiCut/releases/";
license = lib.licenses.lgpl3;
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
# maintainers = with lib.maintainers; [onny];
mainProgram = "VisiCut";
platforms = ["x86_64-linux"];
};
}