Compare commits

...

3 commits

Author SHA1 Message Date
0dd4f4c956 Flake: add school role to Archie 2023-09-28 00:34:42 +02:00
3746b5356e School: install PSeInt 2023-09-28 00:33:22 +02:00
29e7ab4516 Flake: add PSeInt package 2023-09-28 00:24:37 +02:00
3 changed files with 58 additions and 2 deletions

View file

@ -63,7 +63,11 @@ outputs = { self, nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager-
export PS1="$PS1(toast-configs)> "
'';
};
packages = {
x86_64-linux = with import nixpkgs-unstable { system = "x86_64-linux"; }; {
pseint = callPackage ./pkgs/pseint.nix {};
};
};
nixosConfigurations = {
Archie = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
@ -82,6 +86,7 @@ outputs = { self, nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager-
./roles/desktop
./roles/kde
./roles/gaming
./roles/school
./machines/Archie
];
};

50
pkgs/pseint.nix Normal file
View file

@ -0,0 +1,50 @@
{ stdenv
, lib
, fetchurl
, wxGTK32
, libX11
, libglvnd
, libGLU
, gsettings-desktop-schemas
, makeBinaryWrapper
, wrapGAppsHook
}:
# Based on https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pseint
stdenv.mkDerivation rec {
pname = "pseint";
version = "20230517";
src = fetchurl {
url = "https://netactuate.dl.sourceforge.net/project/${pname}/${version}/${pname}-src-${version}.tgz";
hash = "sha256-8zc7CtDQ9RjXLAVQTigstPqdDJsR8ffBopxBFzVP+eI=";
};
enableParallelBuilding = true;
buildInputs = [ wxGTK32 libglvnd libGLU libX11 gsettings-desktop-schemas ];
nativeBuildInputs = [ makeBinaryWrapper wrapGAppsHook ];
# Build for linux
makeFlags = [ "ARCH=lnx" ];
installPhase = ''
runHook preInstall
mkdir -p $out/opt/${pname}/ $out/bin/
cp -rv bin/* $out/opt/${pname}/
makeBinaryWrapper $out/opt/${pname}/pseint $out/bin/pseint
runHook postInstall
'';
meta = with lib; {
description = "A tool for learning programming basis with a simple spanish pseudocode";
homepage = "https://pseint.sourceforge.net/";
downloadPage = "https://pseint.sourceforge.net/index.php?page=descargas.php";
changelog = "https://pseint.sourceforge.net/index.php?page=cambios.php";
# Website says GPLv2, so I'm assuming I need to use gpl2Only
license = lib.licenses.gpl2Only;
platforms = platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, flakeSelf, ... }:
{
imports = [
@ -7,5 +7,6 @@
environment.systemPackages = with pkgs; [
dia
flakeSelf.packages.x86_64-linux.pseint
];
}