mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-08-12 02:28:37 +02:00
snapshot pre-cleanup-2026-05-23T19-39-41Z
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{ ... }: {
|
||||
flake.packages.custom-bottom = { pkgs, ... }:
|
||||
pkgs.writeShellApplication {
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.custom-bottom = pkgs.writeShellApplication {
|
||||
name = "custom-bottom";
|
||||
runtimeInputs = with pkgs; [
|
||||
kitty
|
||||
@@ -10,4 +10,5 @@
|
||||
kitty --class "custom-bottom" -o font_size=10 --name "custom-bottom" -e btm --theme gruvbox --disable-click --disable_advanced_kill --enable_cache_memory -g -R -T
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ ... }: {
|
||||
flake.packages.custom-colorpicker = { pkgs, ... }:
|
||||
pkgs.writeShellApplication {
|
||||
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.custom-colorpicker = pkgs.writeShellApplication {
|
||||
# useless. Just use hyprpicker
|
||||
name = "custom-colorpicker";
|
||||
runtimeInputs = with pkgs; [
|
||||
@@ -70,4 +71,5 @@
|
||||
pkill -RTMIN+1 waybar
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ ... }: {
|
||||
flake.packages.custom-cowsay = { pkgs, ... }:
|
||||
pkgs.writeShellApplication {
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.custom-cowsay = pkgs.writeShellApplication {
|
||||
name = "custom-cowsay";
|
||||
runtimeInputs = with pkgs; [
|
||||
cowsay
|
||||
@@ -80,4 +80,4 @@
|
||||
'';
|
||||
# reduce terminal size for actually
|
||||
};
|
||||
}
|
||||
};}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{ ... }: {
|
||||
perSystem = { pkgs, ... }: {
|
||||
# fzf librewolf profile selector
|
||||
packages.custom-librewolfprofiles = pkgs.writeShellApplication {
|
||||
name = "custom-librewolfprofiles";
|
||||
runtimeInputs = with pkgs; [
|
||||
zsh
|
||||
fzf
|
||||
];
|
||||
text = ''
|
||||
# List of profiles
|
||||
profiles=("work" "other" "private window")
|
||||
|
||||
# Use fzf to select
|
||||
selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select LibreWolf profile:")
|
||||
|
||||
# If user cancels, exit
|
||||
[[ -z "$selected" ]] && exit 0
|
||||
|
||||
# Launch LibreWolf detached, keeping environment
|
||||
if [[ "$selected" == "private window" ]]; then
|
||||
setsid librewolf --private-window --no-remote >/dev/null 2>&1 &
|
||||
pkill -f "kitty.*Select LibreWolf profile"
|
||||
else
|
||||
setsid librewolf -P "$selected" --no-remote >/dev/null 2>&1 &
|
||||
pkill -f "kitty.*Select LibreWolf profile"
|
||||
fi
|
||||
|
||||
# Exit the kitty terminal after selection
|
||||
exit
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.packages.custom-syllabes = { pkgs, ... }:
|
||||
perSystem = { pkgs, ... }: {
|
||||
# counts how many syllabes in a string.
|
||||
# not perfect. Does not handle silents e in french
|
||||
# but that's what I use for writing poetry
|
||||
pkgs.writers.writePython3Bin "custom-syllabes" {
|
||||
packages.custom-syllabes = pkgs.writers.writePython3Bin "custom-syllabes" {
|
||||
libraries = with pkgs; [
|
||||
python3Packages.pyphen
|
||||
];
|
||||
@@ -27,4 +27,4 @@
|
||||
|
||||
print(f"{total} ({'/'.join(chunks)})")
|
||||
'';
|
||||
}
|
||||
};}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.packages.custom-tomato = { pkgs, ... }:
|
||||
pkgs.writeShellApplication {
|
||||
perSystem = { pkgs, ...}: {
|
||||
packages.custom-tomato = pkgs.writeShellApplication {
|
||||
name = "custom-tomato";
|
||||
runtimeInputs = with pkgs; [
|
||||
kitty
|
||||
@@ -11,4 +11,5 @@
|
||||
kitty --class "custom-pomodoro" --name "custom-pomodoro" -e tomato
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.packages.custom-weather = { pkgs, ... }:
|
||||
pkgs.writeShellApplication {
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.custom-weather = pkgs.writeShellApplication {
|
||||
name = "custom-weather";
|
||||
runtimeInputs = with pkgs; [
|
||||
curl
|
||||
@@ -13,4 +13,4 @@
|
||||
done
|
||||
'';
|
||||
};
|
||||
}
|
||||
};}
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
{ ... }: {
|
||||
flake.packages.dejaManuallyDerived = {
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
perSystem = { pkgs, pkgs-unstable, ...}: {
|
||||
packages.dejaManuallyDerived = pkgs-unstable.buildGoModule (finalAttrs: {
|
||||
pname = "deja";
|
||||
version = "0.2.6";
|
||||
__structuredAttrs = true;
|
||||
src = fetchFromGitHub {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Giammarco-Ferranti";
|
||||
repo = "deja";
|
||||
tag = "v${finalAttrs.version}";
|
||||
@@ -27,17 +21,17 @@
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeCheckInputs = [versionCheckHook];
|
||||
nativeCheckInputs = [pkgs.versionCheckHook];
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
passthru.updateScript = pkgs.nix-update-script {};
|
||||
|
||||
meta = {
|
||||
description = "Predictive inline shell autosuggestions for zsh";
|
||||
homepage = "https://github.com/Giammarco-Ferranti/deja";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [tomasrivera];
|
||||
license = pkgs.lib.licenses.mit;
|
||||
platforms = pkgs.lib.platforms.unix;
|
||||
maintainers = with pkgs.lib.maintainers; [tomasrivera];
|
||||
mainProgram = "deja";
|
||||
};
|
||||
});
|
||||
}
|
||||
};}
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
{ ... }: {
|
||||
flake.packages.sbb-tuiManuallyDerived = {
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
perSystem = { pkgs, pkgs-unstable, ... }: {
|
||||
packages.sbb-tuiManuallyDerived = pkgs-unstable.buildGoModule (finalAttrs: {
|
||||
pname = "sbb-tui";
|
||||
version = "1.14.2";
|
||||
__structuredAttrs = true;
|
||||
src = fetchFromGitHub {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Necrom4";
|
||||
repo = "sbb-tui";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = lib.fakeHash;
|
||||
hash = pkgs.lib.fakeHash;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-K4DOu3rfSlKAa5JNKCzWWpnWZlXXxtN5Po7p1Spqe1w=";
|
||||
@@ -29,17 +23,17 @@
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeCheckInputs = [versionCheckHook];
|
||||
nativeCheckInputs = [pkgs.versionCheckHook];
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
passthru.updateScript = pkgs.nix-update-script {};
|
||||
|
||||
meta = {
|
||||
description = "TUI client for Switzerland's public transport timetables, inspired by SBB/CFF/FFS app";
|
||||
homepage = "https://github.com/Necrom4/sbb-tui";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [tomasrivera];
|
||||
license = pkgs.lib.licenses.mit;
|
||||
platforms = pkgs.lib.platforms.unix;
|
||||
maintainers = with pkgs.lib.maintainers; [tomasrivera];
|
||||
mainProgram = "sbb-tui";
|
||||
};
|
||||
});
|
||||
}
|
||||
}; }
|
||||
|
||||
@@ -1,28 +1,17 @@
|
||||
{ ... }: {
|
||||
flake.packages.vivifyManuallyDerived = {
|
||||
lib,
|
||||
stdenv,
|
||||
nix-update-script,
|
||||
fetchYarnDeps,
|
||||
fetchFromGitHub,
|
||||
yarnConfigHook,
|
||||
npmHooks,
|
||||
nodejs,
|
||||
zip,
|
||||
file,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
perSystem = { pkgs, nodejs, ... }: {
|
||||
packages.vivifyManuallyDerived = pkgs.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vivify";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "jannis-baum";
|
||||
repo = "Vivify";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CszMG+c0bNHfXWqcI3b4iGpeFJ+FmzHDzxflPS+wEe0=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnOfflineCache = pkgs.fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-svgEanFiBSQn0TdTuB0CnLR71lkANABEaDiKB+Vc0Rc=";
|
||||
};
|
||||
@@ -33,13 +22,13 @@
|
||||
yarn install
|
||||
|
||||
substituteInPlace node_modules/.bin/tsc \
|
||||
--replace-fail '/usr/bin/env node' '${lib.getExe nodejs}'
|
||||
--replace-fail '/usr/bin/env node' '${pkgs.lib.getExe nodejs}'
|
||||
|
||||
substituteInPlace node_modules/.bin/webpack \
|
||||
--replace-fail '/usr/bin/env node' '${lib.getExe nodejs}'
|
||||
--replace-fail '/usr/bin/env node' '${pkgs.lib.getExe nodejs}'
|
||||
|
||||
substituteInPlace node_modules/.bin/postject \
|
||||
--replace-fail '/usr/bin/env node' '${lib.getExe nodejs}'
|
||||
--replace-fail '/usr/bin/env node' '${pkgs.lib.getExe nodejs}'
|
||||
|
||||
make VIV_VERSION=${finalAttrs.version} linux
|
||||
|
||||
@@ -49,14 +38,14 @@
|
||||
|
||||
wrapProgram $out/bin/viv \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
nodejs
|
||||
file
|
||||
pkgs.lib.makeBinPath [
|
||||
pkgs.nodejs
|
||||
pkgs.file
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
nativeBuildInputs = with pkgs; [
|
||||
yarnConfigHook
|
||||
npmHooks.npmInstallHook
|
||||
zip
|
||||
@@ -69,7 +58,7 @@
|
||||
# (segmentation fault)
|
||||
dontStrip = true;
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
passthru.updateScript = pkgs.nix-update-script {};
|
||||
|
||||
meta = {
|
||||
description = "Live Markdown viewer";
|
||||
@@ -80,10 +69,10 @@
|
||||
'';
|
||||
homepage = "https://github.com/jannis-baum/Vivify";
|
||||
changelog = "https://github.com/jannis-baum/Vivify/releases/tag/v${finalAttrs.src.tag}";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [skohtv];
|
||||
platforms = lib.platforms.linux;
|
||||
license = pkgs.lib.licenses.gpl3;
|
||||
maintainers = with pkgs.lib.maintainers; [skohtv];
|
||||
platforms = pkgs.lib.platforms.linux;
|
||||
mainProgram = "viv";
|
||||
};
|
||||
});
|
||||
}
|
||||
};}
|
||||
|
||||
Reference in New Issue
Block a user