Initial commit

This commit is contained in:
JuliusFreudenberger 2025-01-14 01:29:24 +01:00
commit b0a95003b7
57 changed files with 1561 additions and 0 deletions

6
pkgs/default.nix Normal file
View file

@ -0,0 +1,6 @@
pkgs: rec {
rofirefox = pkgs.callPackage ./rofirefox {};
nemo-nextcloud = pkgs.callPackage ./nemo-nextcloud {};
dlrg-fonts = pkgs.callPackage ./dlrg-fonts {};
i3-scrot = pkgs.callPackage ./i3-scrot {};
}

View file

@ -0,0 +1,31 @@
{ stdenv, lib, requireFile, pkgs }: let
in
stdenv.mkDerivation rec {
name = "dlrg-fonts";
version = "0-unstable-2019-11-19";
src = requireFile {
name = "DLRG-Schriftart.zip";
hash = "sha256-z+VH8rIeAsJhbqfRh57ryXj+RYU0kWbLcpIivbXA0sk=";
url = "https://dlrg.net/apps/dokumente?page=assetService&noheader=1&aid=1709&v=o&file=DLRG%20Schriftart.zip";
};
unpackPhase = ''
runHook preUnpack
${pkgs.unzip}/bin/unzip $src
runHook postUnpack
'';
installPhase = ''
runHook preInstall
install -Dm644 *.TTF -t $out/share/fonts/truetype
runHook postInstall
'';
meta = with lib; {
platforms = platforms.all;
};
}

40
pkgs/i3-scrot/default.nix Normal file
View file

@ -0,0 +1,40 @@
{ stdenv
, lib
, fetchFromGitLab
, bash
, scrot
, xdg-user-dirs
, libnotify
, xclip
, makeWrapper
}: let
pname = "i3-scrot";
in
stdenv.mkDerivation rec {
name = pname;
version = "1-unstable-a6f3fa1c";
src = fetchFromGitLab {
owner = "packages/extra";
repo = pname;
domain = "gitlab.manjaro.org";
rev = "a6f3fa1cb127b0ae8c08cfd1fccd55c9ac07abd4";
sha256 = "sha256-1tbZnMLrMYV3IJa9LLve3kdZ+dxXiSyN0orgvIm1sR0=";
};
buildInputs = [ bash scrot libnotify xclip ];
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
cp i3-scrot $out/bin/i3-scrot
chmod +x $out/bin/i3-scrot
wrapProgram $out/bin/i3-scrot \
--prefix PATH : ${lib.makeBinPath [ bash scrot xdg-user-dirs libnotify xclip ]}
'';
meta = with lib; {
platforms = platforms.all;
};
}

View file

@ -0,0 +1,57 @@
{
symlinkJoin,
lib,
makeWrapper,
nemo,
nemo-python,
nextcloud-client,
python3,
extensions ? [ ],
useDefaultExtensions ? true,
}:
let
selectedExtensions =
extensions
++ lib.optionals useDefaultExtensions [
# We keep this in sync with a default Mint installation
# Right now (only) nemo-share is missing
nemo-python
];
nemoPythonExtensionsDeps = lib.concatMap (x: x.nemoPythonExtensionDeps or [ ]) selectedExtensions;
in
symlinkJoin {
name = "nemo-with-extensions-${nemo.version}";
paths = [ nemo ] ++ selectedExtensions;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
for f in $(find $out/bin/ $out/libexec/ -type l -not -path "*/.*"); do
wrapProgram "$f" \
--set "NEMO_EXTENSION_DIR" "$out/${nemo.extensiondir}" \
--set "NEMO_PYTHON_EXTENSION_DIR" "${nextcloud-client}/share/nemo-python/extensions" \
--set "NEMO_PYTHON_SEARCH_PATH" "${python3.pkgs.makePythonPath nemoPythonExtensionsDeps}"
done
# Don't populate the same nemo actions twice when having this globally installed
# https://github.com/NixOS/nixpkgs/issues/190781#issuecomment-1365601853
rm -r $out/share/nemo/actions
# Point to wrapped binary in all service files
for file in "share/dbus-1/services/nemo.FileManager1.service" \
"share/dbus-1/services/nemo.service"
do
rm "$out/$file"
substitute "${nemo}/$file" "$out/$file" \
--replace "${nemo}" "$out"
done
'';
meta = builtins.removeAttrs nemo.meta [
"name"
"outputsToInstall"
"position"
];
}

View file

@ -0,0 +1,14 @@
diff --git a/rofirefox.sh b/rofirefox.sh
index e217a30..85068c1 100644
--- a/rofirefox.sh
+++ b/rofirefox.sh
@@ -2,7 +2,7 @@
CONFIG_PATH=~/.mozilla/firefox/profiles.ini
-choice=$(awk -F "=" '/Name/ { print $2 }' $CONFIG_PATH | sort | rofi -dmenu -p "Select a profile...")
+choice=$(awk -F "=" '/Name/ { print $2 }' $CONFIG_PATH | sort | rofi -dmenu -p "Select a profile... " -i)
if [ "$choice" != "" ]; then
firefox -P $choice &
else

View file

@ -0,0 +1,42 @@
{ stdenv
, lib
, fetchFromGitHub
, bash
, gawk
, firefox
, rofi
, makeWrapper
}: let
pname = "rofirefox";
in
stdenv.mkDerivation rec {
name = pname;
version = "cc14b76";
src = fetchFromGitHub {
owner = "ethmtrgt";
repo = pname;
rev = "cc14b76c4cea3263bd8c421f479089503271847b";
sha256 = "ngtK31X9XyLKoHBfI8SOYbzyvW/LQBE9kq0wNhnxnP0=";
};
buildInputs = [ bash gawk firefox rofi ];
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
patches = [
./case-sensitivity.patch
];
installPhase = ''
mkdir -p $out/bin
cp rofirefox.sh $out/bin/rofirefox
chmod +x $out/bin/rofirefox
wrapProgram $out/bin/rofirefox \
--prefix PATH : ${lib.makeBinPath [ bash gawk firefox rofi ]}
'';
meta = with lib; {
platforms = platforms.all;
};
}