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
+14 -9
View File
@@ -24,22 +24,27 @@
import-tree.url = "github:vic/import-tree"; # imports ./modules recursively import-tree.url = "github:vic/import-tree"; # imports ./modules recursively
}; };
outputs = inputs @ { flake-parts, ... }: outputs = inputs @ { flake-parts, ... }:
/*@ inputs: let flake-parts.lib.mkFlake { inherit inputs; }
({
flake = let
system = "x86_64-linux";
unfreePkgs = [ unfreePkgs = [
"hplip" "hplip"
"vivify.vim" "vivify.vim"
"cheatsheet.nvim" "cheatsheet.nvim"
]; ];
mkUnfreePredicate = pkg: mkUnfreePredicate = pkg:
builtins.elem (nixpkgs.lib.getName pkg) unfreePkgs; builtins.elem (inputs.nixpkgs.lib.getName pkg) unfreePkgs;
mkPkgs = nixpkgsInput:
pkgs-unstable = import nixpkgs-unstable { import nixpkgsInput {
inherit system; inherit system;
config.allowUnfreePredicate = mkUnfreePredicate; config.allowUnfreePredicate = mkUnfreePredicate;
}; };
in */ pkgs = mkPkgs inputs.nixpkgs;
flake-parts.lib.mkFlake { inherit inputs; } pkgs-unstable = mkPkgs inputs.nixpkgs-unstable;
(inputs.import-tree ./modules); in {
inherit pkgs pkgs-unstable;
};
}
// (inputs.import-tree ./modules));
} }
+1 -1
View File
@@ -1,4 +1,4 @@
{ inputs, ... }: { { ... }: {
flake.nixosModules.anki = { pkgs, ... }: { flake.nixosModules.anki = { pkgs, ... }: {
environment.systemPackages = [ environment.systemPackages = [
(pkgs.anki.withAddons [ (pkgs.anki.withAddons [
+1 -33
View File
@@ -3,8 +3,7 @@
environment.systemPackages = with pkgs; [ 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. 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 pkgs-unstable.tor-browser
self.packages.custom-librewolfprofiles self.packages.${pkgs.system}.custom-librewolfprofiles
(pkgs.callPackage ../../modules/scripts/librewolfprofiles.nix {}) # fzf librewolf profile selector
]; ];
}; };
flake.homeModules.librewolf = { ... }: { 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-dontkillsteam # kill app (if not steam or tomato-c
self.packages.${pkgs.system}.custom-killall # kill all windows except focused window self.packages.${pkgs.system}.custom-killall # kill all windows except focused window
xdg-utils xdg-utils
home-manager
]; ];
# enable hyprland WM # enable hyprland WM
programs.hyprland = { 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 # 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 # 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 # kills the app, but when it's steam or custom-pomodoro
flake.packages.custom-dontkillsteam = { pkgs, ... }: packages.custom-dontkillsteam = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-dontkillsteam"; name = "custom-dontkillsteam";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
hyprland hyprland
@@ -21,12 +27,11 @@
''; '';
}; };
flake.packages.custom-killall = { pkgs, pkgs-unstable, ...}: packages.custom-killall = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-killall"; name = "custom-killall";
runtimeInputs = with pkgs; [ runtimeInputs = [
pkgs-unstable.hyprland pkgs.hyprland # for some reason pkgs-unstable doesn't work here
jq pkgs.jq
]; ];
text = '' text = ''
active_workspace_id=$(hyprctl activeworkspace -j | jq -r '.id') active_workspace_id=$(hyprctl activeworkspace -j | jq -r '.id')
@@ -39,15 +44,7 @@
xargs -r kill xargs -r kill
''; '';
}; };
flake.packages.custom-wallpaper = { pkgs, ... }: packages.custom-wallpaper = pkgs.writeShellApplication {
let
wallpaper1 = ../../assets/wallpaper1.jpg;
wallpaper2 = ../../assets/wallpaper2.jpg;
wallpaper3 = ../../assets/wallpaper3.jpg;
wallpaper4 = ../../assets/wallpaper4.jpg;
wallpaper5 = ../../assets/wallpaper5.jpg;
in
pkgs.writeShellApplication {
name = "custom-wallpaper"; name = "custom-wallpaper";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
socat 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 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, ... }: packages.custom-launch = pkgs.writeShellApplication {
pkgs.writeShellApplication {
# used for the terminal autostart. Needs to get cleared and recall fastfetch so that the bar from oh-my-zsh get resized # used for the terminal autostart. Needs to get cleared and recall fastfetch so that the bar from oh-my-zsh get resized
# unused # unused
name = "custom-launch"; name = "custom-launch";
@@ -98,4 +94,4 @@
zsh zsh
''; '';
}; };
} };}
+4 -5
View File
@@ -11,8 +11,8 @@
enable = true; enable = true;
}; };
}; };
flake.packages.custom-checkKdrive = { pkgs, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-checkKdrive = pkgs.writeShellApplication {
name = "custom-checkKdrive"; name = "custom-checkKdrive";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
rclone rclone
@@ -46,8 +46,7 @@
fi fi
''; '';
}; };
flake.packages.custom-mountkdrive = { pkgs, ... }: packages.custom-mountkdrive = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-mountkdrive"; name = "custom-mountkdrive";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
rclone rclone
@@ -67,4 +66,4 @@
fi fi
''; '';
}; };
} };}
+4 -5
View File
@@ -26,8 +26,8 @@
}; };
}; };
}; };
flake.packages.custom-obsidianbackup = {pkgs, ...}: perSystem = {pkgs, ...}: {
pkgs.writeShellApplication { packages.custom-obsidianbackup = pkgs.writeShellApplication {
name = "custom-obsidianbackup"; name = "custom-obsidianbackup";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
rclone rclone
@@ -84,8 +84,7 @@
''; '';
}; };
# this might be broken after dendritic nix. As it searched for the obsidian.nix to get list of vaults # this might be broken after dendritic nix. As it searched for the obsidian.nix to get list of vaults
flake.packages.custom-obsidianvaults = {pkgs, ...}: packages.custom-obsidianbvaults = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-obsidianvaults"; name = "custom-obsidianvaults";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
zsh zsh
@@ -123,4 +122,4 @@
exit exit
''; '';
}; };
} };}
+5 -7
View File
@@ -13,9 +13,9 @@
recursive = true; recursive = true;
}; };
}; };
flake.packages.QS-notifycache = {writeShellApplication, ...}: perSystem = {pkgs, ...}: {
# creates and maintains cache file for the notification history # creates and maintains cache file for the notification history
writeShellApplication { packages.QS-notifycache = pkgs.writeShellApplication {
name = "QS-notifycache"; name = "QS-notifycache";
text = '' text = ''
CACHE="$HOME/.cache/notify_history" CACHE="$HOME/.cache/notify_history"
@@ -25,8 +25,7 @@
echo "Notification history initialized at $(date)" >> "$CACHE" echo "Notification history initialized at $(date)" >> "$CACHE"
''; '';
}; };
flake.packages.QS-notifyhistory = {writeShellApplication, ...}: packages.QS-notifyhistory = pkgs.writeShellApplication {
writeShellApplication {
name = "QS-notifyhistory"; name = "QS-notifyhistory";
text = '' text = ''
app="$1" app="$1"
@@ -51,8 +50,7 @@
} >> "$HOME/.cache/notify_history" } >> "$HOME/.cache/notify_history"
''; '';
}; };
flake.packages.QS-sysinfo = { pkgs, ... }: packages.QS-sysinfo = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "QS-sysinfo"; name = "QS-sysinfo";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
ripgrep ripgrep
@@ -122,4 +120,4 @@
echo "{\"cpu\":\"$cpu\",\"temp\":\"$temp\",\"fan\":\"$fan\",\"mem\":\"$mem\",\"disk\":\"$disk\",\"power\":\"$power\",\"down\":\"$down_speed\",\"up\":\"$up_speed\"}" 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, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-weatherwaybar = pkgs.writeShellApplication {
name = "custom-weatherwaybar"; name = "custom-weatherwaybar";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
curl curl
@@ -713,4 +713,4 @@
"$TEXT1" "$TEXT2" "$TEXT3" "$TEXT1" "$TEXT2" "$TEXT3"
''; '';
}; };
} };}
+8 -14
View File
@@ -53,10 +53,10 @@
}; };
# }; # };
}; };
flake.packages.batteryNotify = { pkgs, ... }: let perSystem = { pkgs, ... }: let
NotifySound = ../../assets/battery_notify.mp3; NotifySound = ../../assets/battery_notify.mp3;
in in {
pkgs.writeShellApplication { packages.custom-batterynotify = pkgs.writeShellApplication {
# taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License # taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License
name = "custom-batterynotify"; name = "custom-batterynotify";
@@ -122,10 +122,7 @@
done done
''; '';
}; };
flake.packages.batteryWarning = { pkgs, ...}: let packages.custom-batterywarning = pkgs.writeShellApplication {
NotifySound = ../../assets/battery_notify.mp3;
in
pkgs.writeShellApplication {
# taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License # taken and adapted https://github.com/miniMinn24/Battery_Notify with MIT License
name = "custom-batterywarning"; name = "custom-batterywarning";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -165,13 +162,12 @@
done done
''; '';
}; };
flake.packages.qtbatticon = { pkgs, ... }:
# because cbatticon, batticonplus and other things didn't work. # because cbatticon, batticonplus and other things didn't work.
# chatGpt did this. # chatGpt did this.
# https://chatgpt.com/c/69da11b3-ba24-8331-b7b0-a58a72e69d42 # https://chatgpt.com/c/69da11b3-ba24-8331-b7b0-a58a72e69d42
# at your risk and perils # at your risk and perils
# click on the icon to get a notification with state, percentage and wattage # click on the icon to get a notification with state, percentage and wattage
pkgs.stdenv.mkDerivation { packages.qtbatticon = pkgs.stdenv.mkDerivation {
pname = "qtbatticon"; pname = "qtbatticon";
version = "1.0"; version = "1.0";
@@ -336,8 +332,7 @@
''; '';
}; };
# This was replaced by caelestia shell's Game Mode # This was replaced by caelestia shell's Game Mode
flake.packages.custom-performance = { pkgs, ...}: packages.custom-performance = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-performance"; name = "custom-performance";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
hyprland hyprland
@@ -367,8 +362,7 @@
''; '';
}; };
# Old script that was used for the battery. Might not work. # Old script that was used for the battery. Might not work.
flake.packages.custom-olddeprecatedbatterynotify = { pkgs, ... }: packages.custom-olddeprecatedbatterynotify = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-olddeprecatedbatterynotify"; name = "custom-olddeprecatedbatterynotify";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -433,7 +427,7 @@
sleep "$INTERVAL" sleep "$INTERVAL"
done done
''; '';
}; };};
flake.homeModules.cbatticon = { ... }: { flake.homeModules.cbatticon = { ... }: {
# don't works. some GTK error. I let it here if someday, someone is interest in this shit. # 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. # 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; hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
blueman # GTK-based Bluetooth Manager 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; [ environment.systemPackages = with pkgs; [
gnome-disk-utility gnome-disk-utility
udiskie udiskie
]; ];
}; };
flake.nixosModule.disk-laptop = { ... }: { flake.nixosModules.disk-laptop = { ... }: {
# i found swap necessary when running nixpkgs review # i found swap necessary when running nixpkgs review
swapDevices = [ swapDevices = [
{ {
+33 -9
View File
@@ -1,6 +1,12 @@
{ inputs, self, ...}: { { 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; [ modules = with self.nixosModules; [
#inputs.home-manager.nixosModules.home-manager
inputs.home-manager.nixosModules.default
# keep this alphabetically organised # keep this alphabetically organised
anki anki
audioAndMedia audioAndMedia
@@ -24,6 +30,7 @@
IO IO
kdrive kdrive
latex latex
laptop
ly ly
mullvad mullvad
networking networking
@@ -34,11 +41,20 @@
printer printer
udev udev
user user
]; ];};
}; flake.homeConfigurations.tomasr = inputs.home-manager.lib.homeManagerConfiguration {
flake.homeConfiguration.tomasr = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; }; 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; [ modules = with self.homeModules; [
anki anki
cursor cursor
@@ -58,7 +74,7 @@
sbb-tui sbb-tui
ssh ssh
thunderbird thunderbird
tomasrModule tomasr
vivify vivify
zoxide zoxide
zsh zsh
@@ -74,19 +90,27 @@
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment? 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 = [ imports = [
inputs.home-manager.nixosModules.default # import official home-manager NixOS module 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 = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
}; };
}; };
flake.homeModules.tomasrModule = { ... }: { flake.homeModules.tomasr = { ... }: {
imports = [ imports = [
inputs.caelestia-shell.homeManagerModules.default 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,
pkgs-unstable, pkgs-unstable,
... ...
+3 -2
View File
@@ -1,6 +1,6 @@
{ ... }: { { ... }: {
flake.packages.custom-bottom = { pkgs, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-bottom = pkgs.writeShellApplication {
name = "custom-bottom"; name = "custom-bottom";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
kitty 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 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 # useless. Just use hyprpicker
name = "custom-colorpicker"; name = "custom-colorpicker";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -70,4 +71,5 @@
pkill -RTMIN+1 waybar pkill -RTMIN+1 waybar
''; '';
}; };
};
} }
+3 -3
View File
@@ -1,6 +1,6 @@
{ ... }: { { ... }: {
flake.packages.custom-cowsay = { pkgs, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-cowsay = pkgs.writeShellApplication {
name = "custom-cowsay"; name = "custom-cowsay";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
cowsay cowsay
@@ -80,4 +80,4 @@
''; '';
# reduce terminal size for actually # 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. # counts how many syllabes in a string.
# not perfect. Does not handle silents e in french # not perfect. Does not handle silents e in french
# but that's what I use for writing poetry # 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; [ libraries = with pkgs; [
python3Packages.pyphen python3Packages.pyphen
]; ];
@@ -27,4 +27,4 @@
print(f"{total} ({'/'.join(chunks)})") print(f"{total} ({'/'.join(chunks)})")
''; '';
} };}
+3 -2
View File
@@ -1,7 +1,7 @@
{ ... }: { ... }:
{ {
flake.packages.custom-tomato = { pkgs, ... }: perSystem = { pkgs, ...}: {
pkgs.writeShellApplication { packages.custom-tomato = pkgs.writeShellApplication {
name = "custom-tomato"; name = "custom-tomato";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
kitty kitty
@@ -11,4 +11,5 @@
kitty --class "custom-pomodoro" --name "custom-pomodoro" -e tomato kitty --class "custom-pomodoro" --name "custom-pomodoro" -e tomato
''; '';
}; };
};
} }
+3 -3
View File
@@ -1,7 +1,7 @@
{ ... }: { ... }:
{ {
flake.packages.custom-weather = { pkgs, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-weather = pkgs.writeShellApplication {
name = "custom-weather"; name = "custom-weather";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
curl curl
@@ -13,4 +13,4 @@
done done
''; '';
}; };
} };}
+9 -15
View File
@@ -1,16 +1,10 @@
{ ... }: { { ... }: {
flake.packages.dejaManuallyDerived = { perSystem = { pkgs, pkgs-unstable, ...}: {
lib, packages.dejaManuallyDerived = pkgs-unstable.buildGoModule (finalAttrs: {
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "deja"; pname = "deja";
version = "0.2.6"; version = "0.2.6";
__structuredAttrs = true; __structuredAttrs = true;
src = fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "Giammarco-Ferranti"; owner = "Giammarco-Ferranti";
repo = "deja"; repo = "deja";
tag = "v${finalAttrs.version}"; tag = "v${finalAttrs.version}";
@@ -27,17 +21,17 @@
doCheck = true; doCheck = true;
nativeCheckInputs = [versionCheckHook]; nativeCheckInputs = [pkgs.versionCheckHook];
passthru.updateScript = nix-update-script {}; passthru.updateScript = pkgs.nix-update-script {};
meta = { meta = {
description = "Predictive inline shell autosuggestions for zsh"; description = "Predictive inline shell autosuggestions for zsh";
homepage = "https://github.com/Giammarco-Ferranti/deja"; homepage = "https://github.com/Giammarco-Ferranti/deja";
license = lib.licenses.mit; license = pkgs.lib.licenses.mit;
platforms = lib.platforms.unix; platforms = pkgs.lib.platforms.unix;
maintainers = with lib.maintainers; [tomasrivera]; maintainers = with pkgs.lib.maintainers; [tomasrivera];
mainProgram = "deja"; mainProgram = "deja";
}; };
}); });
} };}
+10 -16
View File
@@ -1,20 +1,14 @@
{ ... }: { { ... }: {
flake.packages.sbb-tuiManuallyDerived = { perSystem = { pkgs, pkgs-unstable, ... }: {
lib, packages.sbb-tuiManuallyDerived = pkgs-unstable.buildGoModule (finalAttrs: {
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "sbb-tui"; pname = "sbb-tui";
version = "1.14.2"; version = "1.14.2";
__structuredAttrs = true; __structuredAttrs = true;
src = fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "Necrom4"; owner = "Necrom4";
repo = "sbb-tui"; repo = "sbb-tui";
tag = "v${finalAttrs.version}"; tag = "v${finalAttrs.version}";
hash = lib.fakeHash; hash = pkgs.lib.fakeHash;
}; };
vendorHash = "sha256-K4DOu3rfSlKAa5JNKCzWWpnWZlXXxtN5Po7p1Spqe1w="; vendorHash = "sha256-K4DOu3rfSlKAa5JNKCzWWpnWZlXXxtN5Po7p1Spqe1w=";
@@ -29,17 +23,17 @@
doCheck = true; doCheck = true;
nativeCheckInputs = [versionCheckHook]; nativeCheckInputs = [pkgs.versionCheckHook];
passthru.updateScript = nix-update-script {}; passthru.updateScript = pkgs.nix-update-script {};
meta = { meta = {
description = "TUI client for Switzerland's public transport timetables, inspired by SBB/CFF/FFS app"; description = "TUI client for Switzerland's public transport timetables, inspired by SBB/CFF/FFS app";
homepage = "https://github.com/Necrom4/sbb-tui"; homepage = "https://github.com/Necrom4/sbb-tui";
license = lib.licenses.mit; license = pkgs.lib.licenses.mit;
platforms = lib.platforms.unix; platforms = pkgs.lib.platforms.unix;
maintainers = with lib.maintainers; [tomasrivera]; maintainers = with pkgs.lib.maintainers; [tomasrivera];
mainProgram = "sbb-tui"; mainProgram = "sbb-tui";
}; };
}); });
} }; }
+16 -27
View File
@@ -1,28 +1,17 @@
{ ... }: { { ... }: {
flake.packages.vivifyManuallyDerived = { perSystem = { pkgs, nodejs, ... }: {
lib, packages.vivifyManuallyDerived = pkgs.stdenv.mkDerivation (finalAttrs: {
stdenv,
nix-update-script,
fetchYarnDeps,
fetchFromGitHub,
yarnConfigHook,
npmHooks,
nodejs,
zip,
file,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vivify"; pname = "vivify";
version = "0.14.0"; version = "0.14.0";
src = fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "jannis-baum"; owner = "jannis-baum";
repo = "Vivify"; repo = "Vivify";
tag = "v${finalAttrs.version}"; tag = "v${finalAttrs.version}";
hash = "sha256-CszMG+c0bNHfXWqcI3b4iGpeFJ+FmzHDzxflPS+wEe0="; hash = "sha256-CszMG+c0bNHfXWqcI3b4iGpeFJ+FmzHDzxflPS+wEe0=";
}; };
yarnOfflineCache = fetchYarnDeps { yarnOfflineCache = pkgs.fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock"; yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-svgEanFiBSQn0TdTuB0CnLR71lkANABEaDiKB+Vc0Rc="; hash = "sha256-svgEanFiBSQn0TdTuB0CnLR71lkANABEaDiKB+Vc0Rc=";
}; };
@@ -33,13 +22,13 @@
yarn install yarn install
substituteInPlace node_modules/.bin/tsc \ 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 \ 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 \ 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 make VIV_VERSION=${finalAttrs.version} linux
@@ -49,14 +38,14 @@
wrapProgram $out/bin/viv \ wrapProgram $out/bin/viv \
--prefix PATH : ${ --prefix PATH : ${
lib.makeBinPath [ pkgs.lib.makeBinPath [
nodejs pkgs.nodejs
file pkgs.file
] ]
} }
''; '';
nativeBuildInputs = [ nativeBuildInputs = with pkgs; [
yarnConfigHook yarnConfigHook
npmHooks.npmInstallHook npmHooks.npmInstallHook
zip zip
@@ -69,7 +58,7 @@
# (segmentation fault) # (segmentation fault)
dontStrip = true; dontStrip = true;
passthru.updateScript = nix-update-script {}; passthru.updateScript = pkgs.nix-update-script {};
meta = { meta = {
description = "Live Markdown viewer"; description = "Live Markdown viewer";
@@ -80,10 +69,10 @@
''; '';
homepage = "https://github.com/jannis-baum/Vivify"; homepage = "https://github.com/jannis-baum/Vivify";
changelog = "https://github.com/jannis-baum/Vivify/releases/tag/v${finalAttrs.src.tag}"; changelog = "https://github.com/jannis-baum/Vivify/releases/tag/v${finalAttrs.src.tag}";
license = lib.licenses.gpl3; license = pkgs.lib.licenses.gpl3;
maintainers = with lib.maintainers; [skohtv]; maintainers = with pkgs.lib.maintainers; [skohtv];
platforms = lib.platforms.linux; platforms = pkgs.lib.platforms.linux;
mainProgram = "viv"; 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"; source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server";
}; };
}; };
flake.packages.custom-changeAudioOutput = { pkgs, ...}: perSystem = { pkgs, ...}: {
pkgs.writeShellApplication { packages.custom-changeAudioOutput = pkgs.writeShellApplication {
name = "custom-changeAudioOutput"; name = "custom-changeAudioOutput";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
fzf fzf
@@ -57,4 +57,4 @@
pkill -f "kitty.*Select audio output" pkill -f "kitty.*Select audio output"
''; '';
}; };
} };}
+3 -3
View File
@@ -44,8 +44,8 @@
}; };
}; };
}; };
flake.packages.custom-cleanNix-laptop = {pkgs, ...}: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-cleanNix-laptop = pkgs.writeShellApplication {
name = "custom-cleanNix"; name = "custom-cleanNix";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -115,4 +115,4 @@
rm -f "$ERROR_FILE" rm -f "$ERROR_FILE"
''; '';
}; };
} };}
+3 -3
View File
@@ -44,8 +44,8 @@
}; };
}; };
}; };
flake.packages.custom-autoupdate-laptop = {pkgs, ...}: perSystem = {pkgs, ...}: {
pkgs.writeShellApplication { packages.custom-autoupdate-laptop = pkgs.writeShellApplication {
name = "custom-autoupdate"; name = "custom-autoupdate";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -106,4 +106,4 @@
rm -f "$ERROR_FILE" rm -f "$ERROR_FILE"
''; '';
}; };
} };}
@@ -13,8 +13,8 @@
self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone
]; ];
}; };
flake.packages.custom-checkMatrix = { pkgs, ...}: perSystem = { pkgs, ...}: {
pkgs.writeShellApplication { packages.custom-checkMatrix = pkgs.writeShellApplication {
name = "custom-checkMatrix"; name = "custom-checkMatrix";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
@@ -33,8 +33,7 @@
fi fi
''; '';
}; };
flake.packages.custom-gitnotify = { pkgs, ...}: packages.custom-gitnotify = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-gitnotify"; name = "custom-gitnotify";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
git git
@@ -59,4 +58,4 @@
fi fi
''; '';
}; };
} };}
+4 -5
View File
@@ -14,8 +14,8 @@
self.packages.${pkgs.system}.custom-manix self.packages.${pkgs.system}.custom-manix
]; ];
}; };
flake.packages.custom-man = { pkgs, ... }: perSystem = { pkgs, ... }: {
pkgs.writeShellApplication { packages.custom-man = pkgs.writeShellApplication {
name = "custom-man"; name = "custom-man";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
man man
@@ -52,8 +52,7 @@
| xargs man | xargs man
''; '';
}; };
flake.packages.custom-manix = { pkgs, ... }: packages.custom-manix = pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "custom-manix"; name = "custom-manix";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
manix manix
@@ -90,4 +89,4 @@
| xargs manix | xargs manix
''; '';
}; };
} };}
+3 -3
View File
@@ -35,10 +35,10 @@
statix statix
]; ];
}; };
flake.packages.custom-trimmer = { pkgs, ... }: perSystem = { pkgs, ... }: {
# https://gist.github.com/MaxwellDupre/3077cd229490cf93ecab08ef2a79c852 # https://gist.github.com/MaxwellDupre/3077cd229490cf93ecab08ef2a79c852
# better garbage collector # better garbage collector
pkgs.writeShellApplication { packages.custom-trimmer = pkgs.writeShellApplication {
name = "custom-trimmer"; name = "custom-trimmer";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
nix 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 flake.nixosModules.otherUtils = # try to keep packages here at a minium. Preferably use a dedicated file
{ {
pkgs, pkgs,
@@ -19,8 +19,8 @@
mailcap mailcap
fuzzel fuzzel
usbutils # used for lsusb usbutils # used for lsusb
(pkgs.callPackage ../../modules/scripts/tomato.nix {}) self.packages.${pkgs.system}.custom-tomato
(pkgs.callPackage ../../modules/scripts/syllabes.nix {}) # python script to get number of syllabes in french self.packages.${pkgs.system}.custom-syllabes
pkgs-unstable.bitwarden-desktop pkgs-unstable.bitwarden-desktop
fluffychat # matrix client fluffychat # matrix client
]; ];