snapshot pre-cleanup-2026-05-23T19-39-41Z

This commit is contained in:
2026-05-23 23:32:28 +02:00
parent c8ee6d85fe
commit 30e8029a6b
35 changed files with 353 additions and 229 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
{ inputs, ... }: {
{ ... }: {
flake.nixosModules.anki = { pkgs, ... }: {
environment.systemPackages = [
(pkgs.anki.withAddons [
+1 -33
View File
@@ -3,8 +3,7 @@
environment.systemPackages = with pkgs; [
chromium # used only to flash the firmware on my framework laptop 16 (keyboard.frame.work) as only chromium based browser support webHID.
pkgs-unstable.tor-browser
self.packages.custom-librewolfprofiles
(pkgs.callPackage ../../modules/scripts/librewolfprofiles.nix {}) # fzf librewolf profile selector
self.packages.${pkgs.system}.custom-librewolfprofiles
];
};
flake.homeModules.librewolf = { ... }: {
@@ -645,35 +644,4 @@
};
};
};
flake.packages.custom-librewolfprofiles = { pkgs, ... }:
# fzf librewolf profile selector
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
View File
@@ -11,6 +11,7 @@
self.packages.${pkgs.system}.custom-dontkillsteam # kill app (if not steam or tomato-c
self.packages.${pkgs.system}.custom-killall # kill all windows except focused window
xdg-utils
home-manager
];
# enable hyprland WM
programs.hyprland = {
+16 -20
View File
@@ -1,11 +1,17 @@
{ self, ...}: {
{ pkgs-unstable, ...}: { # for some reason perSystem can't expose pkgs-unstable so we need to expose it here
# -----------------------------------------------------
# Here are a bunch of scripts that interact with hyprland
# Some are still used. Some are broken. Some are deprecated. But I do still keep them in case I want to go back to old tools
# -----------------------------------------------------
perSystem = { pkgs, ... }: let
wallpaper1 = ../../assets/wallpaper1.jpg;
wallpaper2 = ../../assets/wallpaper2.jpg;
wallpaper3 = ../../assets/wallpaper3.jpg;
wallpaper4 = ../../assets/wallpaper4.jpg;
wallpaper5 = ../../assets/wallpaper5.jpg;
in {
# kills the app, but when it's steam or custom-pomodoro
flake.packages.custom-dontkillsteam = { pkgs, ... }:
pkgs.writeShellApplication {
packages.custom-dontkillsteam = pkgs.writeShellApplication {
name = "custom-dontkillsteam";
runtimeInputs = with pkgs; [
hyprland
@@ -21,12 +27,11 @@
'';
};
flake.packages.custom-killall = { pkgs, pkgs-unstable, ...}:
pkgs.writeShellApplication {
packages.custom-killall = pkgs.writeShellApplication {
name = "custom-killall";
runtimeInputs = with pkgs; [
pkgs-unstable.hyprland
jq
runtimeInputs = [
pkgs.hyprland # for some reason pkgs-unstable doesn't work here
pkgs.jq
];
text = ''
active_workspace_id=$(hyprctl activeworkspace -j | jq -r '.id')
@@ -39,15 +44,7 @@
xargs -r kill
'';
};
flake.packages.custom-wallpaper = { pkgs, ... }:
let
wallpaper1 = ../../assets/wallpaper1.jpg;
wallpaper2 = ../../assets/wallpaper2.jpg;
wallpaper3 = ../../assets/wallpaper3.jpg;
wallpaper4 = ../../assets/wallpaper4.jpg;
wallpaper5 = ../../assets/wallpaper5.jpg;
in
pkgs.writeShellApplication {
packages.custom-wallpaper = pkgs.writeShellApplication {
name = "custom-wallpaper";
runtimeInputs = with pkgs; [
socat
@@ -84,8 +81,7 @@
socat -U - UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock | while read -r line; do handle "$line"; done
'';
};
flake.packages.custom-launch = { pkgs, ... }:
pkgs.writeShellApplication {
packages.custom-launch = pkgs.writeShellApplication {
# used for the terminal autostart. Needs to get cleared and recall fastfetch so that the bar from oh-my-zsh get resized
# unused
name = "custom-launch";
@@ -98,4 +94,4 @@
zsh
'';
};
}
};}
+4 -5
View File
@@ -11,8 +11,8 @@
enable = true;
};
};
flake.packages.custom-checkKdrive = { pkgs, ... }:
pkgs.writeShellApplication {
perSystem = { pkgs, ... }: {
packages.custom-checkKdrive = pkgs.writeShellApplication {
name = "custom-checkKdrive";
runtimeInputs = with pkgs; [
rclone
@@ -46,8 +46,7 @@
fi
'';
};
flake.packages.custom-mountkdrive = { pkgs, ... }:
pkgs.writeShellApplication {
packages.custom-mountkdrive = pkgs.writeShellApplication {
name = "custom-mountkdrive";
runtimeInputs = with pkgs; [
rclone
@@ -67,4 +66,4 @@
fi
'';
};
}
};}
+4 -5
View File
@@ -26,8 +26,8 @@
};
};
};
flake.packages.custom-obsidianbackup = {pkgs, ...}:
pkgs.writeShellApplication {
perSystem = {pkgs, ...}: {
packages.custom-obsidianbackup = pkgs.writeShellApplication {
name = "custom-obsidianbackup";
runtimeInputs = with pkgs; [
rclone
@@ -84,8 +84,7 @@
'';
};
# this might be broken after dendritic nix. As it searched for the obsidian.nix to get list of vaults
flake.packages.custom-obsidianvaults = {pkgs, ...}:
pkgs.writeShellApplication {
packages.custom-obsidianbvaults = pkgs.writeShellApplication {
name = "custom-obsidianvaults";
runtimeInputs = with pkgs; [
zsh
@@ -123,4 +122,4 @@
exit
'';
};
}
};}
+5 -7
View File
@@ -13,9 +13,9 @@
recursive = true;
};
};
flake.packages.QS-notifycache = {writeShellApplication, ...}:
perSystem = {pkgs, ...}: {
# creates and maintains cache file for the notification history
writeShellApplication {
packages.QS-notifycache = pkgs.writeShellApplication {
name = "QS-notifycache";
text = ''
CACHE="$HOME/.cache/notify_history"
@@ -25,8 +25,7 @@
echo "Notification history initialized at $(date)" >> "$CACHE"
'';
};
flake.packages.QS-notifyhistory = {writeShellApplication, ...}:
writeShellApplication {
packages.QS-notifyhistory = pkgs.writeShellApplication {
name = "QS-notifyhistory";
text = ''
app="$1"
@@ -51,8 +50,7 @@
} >> "$HOME/.cache/notify_history"
'';
};
flake.packages.QS-sysinfo = { pkgs, ... }:
pkgs.writeShellApplication {
packages.QS-sysinfo = pkgs.writeShellApplication {
name = "QS-sysinfo";
runtimeInputs = with pkgs; [
ripgrep
@@ -122,4 +120,4 @@
echo "{\"cpu\":\"$cpu\",\"temp\":\"$temp\",\"fan\":\"$fan\",\"mem\":\"$mem\",\"disk\":\"$disk\",\"power\":\"$power\",\"down\":\"$down_speed\",\"up\":\"$up_speed\"}"
'';
};
}
};}
+3 -3
View File
@@ -694,8 +694,8 @@
'';
};
};
flake.packages.custom-weatherwaybar = { pkgs, ... }:
pkgs.writeShellApplication {
perSystem = { pkgs, ... }: {
packages.custom-weatherwaybar = pkgs.writeShellApplication {
name = "custom-weatherwaybar";
runtimeInputs = with pkgs; [
curl
@@ -713,4 +713,4 @@
"$TEXT1" "$TEXT2" "$TEXT3"
'';
};
}
};}
+8 -14
View File
@@ -53,10 +53,10 @@
};
# };
};
flake.packages.batteryNotify = { pkgs, ... }: let
perSystem = { pkgs, ... }: let
NotifySound = ../../assets/battery_notify.mp3;
in
pkgs.writeShellApplication {
in {
packages.custom-batterynotify = pkgs.writeShellApplication {
# taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License
name = "custom-batterynotify";
@@ -122,10 +122,7 @@
done
'';
};
flake.packages.batteryWarning = { pkgs, ...}: let
NotifySound = ../../assets/battery_notify.mp3;
in
pkgs.writeShellApplication {
packages.custom-batterywarning = pkgs.writeShellApplication {
# taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License
name = "custom-batterywarning";
runtimeInputs = with pkgs; [
@@ -165,13 +162,12 @@
done
'';
};
flake.packages.qtbatticon = { pkgs, ... }:
# because cbatticon, batticonplus and other things didn't work.
# chatGpt did this.
# https://chatgpt.com/c/69da11b3-ba24-8331-b7b0-a58a72e69d42
# at your risk and perils
# click on the icon to get a notification with state, percentage and wattage
pkgs.stdenv.mkDerivation {
packages.qtbatticon = pkgs.stdenv.mkDerivation {
pname = "qtbatticon";
version = "1.0";
@@ -336,8 +332,7 @@
'';
};
# This was replaced by caelestia shell's Game Mode
flake.packages.custom-performance = { pkgs, ...}:
pkgs.writeShellApplication {
packages.custom-performance = pkgs.writeShellApplication {
name = "custom-performance";
runtimeInputs = with pkgs; [
hyprland
@@ -367,8 +362,7 @@
'';
};
# Old script that was used for the battery. Might not work.
flake.packages.custom-olddeprecatedbatterynotify = { pkgs, ... }:
pkgs.writeShellApplication {
packages.custom-olddeprecatedbatterynotify = pkgs.writeShellApplication {
name = "custom-olddeprecatedbatterynotify";
runtimeInputs = with pkgs; [
@@ -433,7 +427,7 @@
sleep "$INTERVAL"
done
'';
};
};};
flake.homeModules.cbatticon = { ... }: {
# don't works. some GTK error. I let it here if someday, someone is interest in this shit.
# ChatGPT half baked a replacement that works on my system.
+2 -2
View File
@@ -1,5 +1,5 @@
{ inputs, ...}: {
flake.nixosModule.bluetooth = {pkgs, ...}: {
{ ...}: {
flake.nixosModules.bluetooth = {pkgs, ...}: {
hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [
blueman # GTK-based Bluetooth Manager
+2 -2
View File
@@ -1,11 +1,11 @@
{ ... }: {
flake.nixosModule.disk = { pkgs, ... }: {
flake.nixosModules.disk = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
gnome-disk-utility
udiskie
];
};
flake.nixosModule.disk-laptop = { ... }: {
flake.nixosModules.disk-laptop = { ... }: {
# i found swap necessary when running nixpkgs review
swapDevices = [
{
+36 -12
View File
@@ -1,7 +1,13 @@
{ inputs, self, ...}: {
flake.nixosConfiguration.laptop = inputs.nixpkgs.lib.nixosSystem {
flake.nixosConfigurations.laptop = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit (self) pkgs pkgs-unstable;
};
modules = with self.nixosModules; [
# keep this alphabetically organised
#inputs.home-manager.nixosModules.home-manager
inputs.home-manager.nixosModules.default
# keep this alphabetically organised
anki
audioAndMedia
autoCleanup-laptop
@@ -24,6 +30,7 @@
IO
kdrive
latex
laptop
ly
mullvad
networking
@@ -34,11 +41,20 @@
printer
udev
user
];
};
flake.homeConfiguration.tomasr = inputs.home-manager.lib.homeManagerConfiguration {
];};
flake.homeConfigurations.tomasr = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
pkgs-unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; };
# system = "x86_64-linux";
#specialArgs = {
# inherit (self) pkgs pkgs-unstable;
#};
extraSpecialArgs = {
pkgs-unstable =
import inputs.nixpkgs-unstable {
system = "x86_64-linux";
};
};
modules = with self.homeModules; [
anki
cursor
@@ -58,8 +74,8 @@
sbb-tui
ssh
thunderbird
tomasrModule
vivify
tomasr
vivify
zoxide
zsh
zsh-laptop
@@ -74,19 +90,27 @@
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment?
home-manager.users.USERNAME = self.homeModules.USERNAMEModule;
#home-manager.users.tomasr = self.home.Configurations.tomasr;
#home-manager.nixosModule.home-manager.users.tomasr = self.homeConfigurations.tomasr;
home-manager.users.tomasr = {
imports = [
self.homeModules.tomasr
];
};
};
flake.nixosModules.home-manager-laptop = { ... }: {
flake.nixosModules.home-manager-laptop = { pkgs, ... }: {
imports = [
inputs.home-manager.nixosModules.default # import official home-manager NixOS module
];
# Warning. Git is used in case I break everything up. It already saved me once
environment.systemPackages = [ pkgs.git ];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
};
flake.homeModules.tomasrModule = { ... }: {
flake.homeModules.tomasr = { ... }: {
imports = [
inputs.caelestia-shell.homeManagerModules.default
];
+120
View File
@@ -0,0 +1,120 @@
}[[{ inputs, self, ...}: {
flake.nixosConfigurations.laptop = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit (self) pkgs pkgs-unstable;
};
modules = with self.nixosModules; [
# keep this alphabetically organised
anki
audioAndMedia
autoCleanup-laptop
autoUpdate-laptop
battery-laptop
bluetooth
bootloader-laptop
browsers
caelestia
development
documentation
disk
disk-laptop
fonts
games
hardware-configuration-laptop
hardwareUtils-laptop
home-manager-laptop
hyprland
IO
kdrive
latex
laptop
ly
mullvad
networking
notifications
office
#ollama
otherUtils
printer
udev
user
];
flake.homeConfiguration.tomasr = inputs.home-manager.lib.homeManagerConfiguration {
system = "x86_64-linux";
specialArgs = {
inherit (self) pkgs pkgs-unstable;
};
modules = with self.homeModules; [
anki
cursor
eza
fastfetch
git
gtk
hyprland
hyprland-laptop
kitty
librewolf
mullvad
neovim
oh-my-zsh
ripgrep
rofi
sbb-tui
ssh
thunderbird
tomasr
vivify
zoxide
zsh
zsh-laptop
];
};
flake.nixosModules.laptop = { ... }: {
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment?
home-manager.users.tomasr = self.homeModules.tomasr;
};
flake.nixosModules.home-manager-laptop = { ... }: {
imports = [
inputs.home-manager.nixosModules.default # import official home-manager NixOS module
];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
};
flake.homeModules.tomasr = { ... }: {
imports = [
inputs.caelestia-shell.homeManagerModules.default
];
home.username = "tomasr";
home.homeDirectory = "/home/tomasr";
home.sessionVariables = {
EDITOR = "neovim";
TERMINAL = "kitty";
};
# Required for Home Manager
home.stateVersion = "25.11"; # match your Home Manager release
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
};
}
+8
View File
@@ -0,0 +1,8 @@
{ inputs, ... }: {
flake.modules.nixos.common = { ... }: {
imports = [ inputs.home-manager.nixosModules.default ];
};
}
+1 -1
View File
@@ -1,5 +1,5 @@
{ ... }: {
flake.nixModules.user = {
flake.nixosModules.user = {
pkgs,
pkgs-unstable,
...
+3 -2
View File
@@ -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
'';
};
};
}
+4 -2
View File
@@ -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
'';
};
};
}
+3 -3
View File
@@ -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
'';
};
};
}
+3 -3
View File
@@ -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)})")
'';
}
};}
+3 -2
View File
@@ -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
'';
};
};
}
+3 -3
View File
@@ -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
'';
};
}
};}
+9 -15
View File
@@ -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";
};
});
}
};}
+10 -16
View File
@@ -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";
};
});
}
}; }
+16 -27
View File
@@ -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";
};
});
}
};}
+8
View File
@@ -0,0 +1,8 @@
{
systems = [
"x86_64-linux"
#"aarch64-linux"
#"x86_64-darwin"
#"aarch64-darwin"
];
}
-9
View File
@@ -1,9 +0,0 @@
{inputs, ...}: {
flake.nixosModules.test = { pkgs, ...}: {
programs.firefox.enable = true;
environment.systemPackages = with pkgs; [
vim
];
};
}
+3 -3
View File
@@ -41,8 +41,8 @@
source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server";
};
};
flake.packages.custom-changeAudioOutput = { pkgs, ...}:
pkgs.writeShellApplication {
perSystem = { pkgs, ...}: {
packages.custom-changeAudioOutput = pkgs.writeShellApplication {
name = "custom-changeAudioOutput";
runtimeInputs = with pkgs; [
fzf
@@ -57,4 +57,4 @@
pkill -f "kitty.*Select audio output"
'';
};
}
};}
+3 -3
View File
@@ -44,8 +44,8 @@
};
};
};
flake.packages.custom-cleanNix-laptop = {pkgs, ...}:
pkgs.writeShellApplication {
perSystem = { pkgs, ... }: {
packages.custom-cleanNix-laptop = pkgs.writeShellApplication {
name = "custom-cleanNix";
runtimeInputs = with pkgs; [
@@ -115,4 +115,4 @@
rm -f "$ERROR_FILE"
'';
};
}
};}
+3 -3
View File
@@ -44,8 +44,8 @@
};
};
};
flake.packages.custom-autoupdate-laptop = {pkgs, ...}:
pkgs.writeShellApplication {
perSystem = {pkgs, ...}: {
packages.custom-autoupdate-laptop = pkgs.writeShellApplication {
name = "custom-autoupdate";
runtimeInputs = with pkgs; [
@@ -106,4 +106,4 @@
rm -f "$ERROR_FILE"
'';
};
}
};}
@@ -13,8 +13,8 @@
self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone
];
};
flake.packages.custom-checkMatrix = { pkgs, ...}:
pkgs.writeShellApplication {
perSystem = { pkgs, ...}: {
packages.custom-checkMatrix = pkgs.writeShellApplication {
name = "custom-checkMatrix";
runtimeInputs = with pkgs; [
@@ -33,8 +33,7 @@
fi
'';
};
flake.packages.custom-gitnotify = { pkgs, ...}:
pkgs.writeShellApplication {
packages.custom-gitnotify = pkgs.writeShellApplication {
name = "custom-gitnotify";
runtimeInputs = with pkgs; [
git
@@ -59,4 +58,4 @@
fi
'';
};
}
};}
+4 -5
View File
@@ -14,8 +14,8 @@
self.packages.${pkgs.system}.custom-manix
];
};
flake.packages.custom-man = { pkgs, ... }:
pkgs.writeShellApplication {
perSystem = { pkgs, ... }: {
packages.custom-man = pkgs.writeShellApplication {
name = "custom-man";
runtimeInputs = with pkgs; [
man
@@ -52,8 +52,7 @@
| xargs man
'';
};
flake.packages.custom-manix = { pkgs, ... }:
pkgs.writeShellApplication {
packages.custom-manix = pkgs.writeShellApplication {
name = "custom-manix";
runtimeInputs = with pkgs; [
manix
@@ -90,4 +89,4 @@
| xargs manix
'';
};
}
};}
+3 -3
View File
@@ -35,10 +35,10 @@
statix
];
};
flake.packages.custom-trimmer = { pkgs, ... }:
perSystem = { pkgs, ... }: {
# https://gist.github.com/MaxwellDupre/3077cd229490cf93ecab08ef2a79c852
# better garbage collector
pkgs.writeShellApplication {
packages.custom-trimmer = pkgs.writeShellApplication {
name = "custom-trimmer";
runtimeInputs = with pkgs; [
nix
@@ -298,4 +298,4 @@
'';
};
}
};}
+3 -3
View File
@@ -1,4 +1,4 @@
{ ... }: {
{ self, ... }: {
flake.nixosModules.otherUtils = # try to keep packages here at a minium. Preferably use a dedicated file
{
pkgs,
@@ -19,8 +19,8 @@
mailcap
fuzzel
usbutils # used for lsusb
(pkgs.callPackage ../../modules/scripts/tomato.nix {})
(pkgs.callPackage ../../modules/scripts/syllabes.nix {}) # python script to get number of syllabes in french
self.packages.${pkgs.system}.custom-tomato
self.packages.${pkgs.system}.custom-syllabes
pkgs-unstable.bitwarden-desktop
fluffychat # matrix client
];