diff --git a/README.md b/README.md
index e0e4ca7..92bedb4 100644
--- a/README.md
+++ b/README.md
@@ -164,15 +164,15 @@ If you **don’t have the physical macropad**, the table below shows which keybi
| Macropad Key | Linked Action (Hyprland keybinding) |
| ------------ | -------------------------------------------- |
| Row 1, Col 1 | Kill all apps except focused (`Ctrl+$mod+6`) |
-| Row 2, Col 1 | Performance mode (`Ctrl+Alt+7`) |
-| Row 3, Col 1 | Do not disturb (`Ctrl+$mod+4` |
-| Row 4, Col 1 | Notification center (`Ctrl+Alt+1`) |
-| Row 3, Col 2 | Special characters (`Ctrl+$mod+3`) |
-| Row 3, Col 3 | Color picker (`Ctrl+Alt+8`) |
-| Row 4, Col 1 | Notification center toggle (`Ctrl+Alt+1`) |
-| Row 4, Col 2 | System monitor (`Ctrl+Alt+2`) |
-| Row 4, Col 3 | Pomodoro timer (`Ctrl+Alt+0`) |
-| Row 4, Col 6 | Launch Anki (`Ctrl+Alt+9`) |
+| Row 1, Col 2 | Performance mode (`Ctrl+Alt+7`) |
+| Row 1, Col 3 | Do not disturb (`Ctrl+$mod+4` |
+| Row 1, Col 4 | Notification center (`Ctrl+Alt+1`) |
+| Row 2, Col 1 | Pulseaudio control (`Ctrl+$mod+3`) |
+| Row 2, Col 2 | Change audio output (`Ctrl+Alt+Shift+0`) |
+| Row 2, Col 3 | Special characters (`Ctrl+$mod+3`) |
+| Row 2, Col 4 | Color picker (`Ctrl+Alt+8`) |
+| Row 3, Col 1 | Pomodoro timer (`Ctrl+Alt+0`) |
+| Row 4, Col 1 | Launch Anki (`Ctrl+Alt+9`) |
> Positions are labeled as `[row, column]` starting from top-left `[1,1]`.
> Each macro calls a script or application from this configuration.
diff --git a/flake.lock b/flake.lock
index 07f8afd..a3fc25c 100755
--- a/flake.lock
+++ b/flake.lock
@@ -11,11 +11,11 @@
]
},
"locked": {
- "lastModified": 1778125502,
- "narHash": "sha256-QAAO9RCR6byVJi50l8RMVJWzrsNYbXonfR6tqU93vIQ=",
+ "lastModified": 1778644647,
+ "narHash": "sha256-iQIu4b5by8B3qKeigungSIgRoJg9HS1NiIZwqIbCGYk=",
"owner": "caelestia-dots",
"repo": "cli",
- "rev": "7b8a4281aa8b2b12745de531cce0c65d87aea2e5",
+ "rev": "2ce6213698d1cfa15b4b067d35c3cda634f443dd",
"type": "github"
},
"original": {
@@ -33,11 +33,11 @@
"quickshell": "quickshell"
},
"locked": {
- "lastModified": 1778381004,
- "narHash": "sha256-JwIlrajiY74obxyTMu/Ym6wOEQaCjpHwfziPK+E5u3Q=",
+ "lastModified": 1778986249,
+ "narHash": "sha256-6vIBRLIy41LDrm/ahTcrEj6pBB+oji7bP/5RY9Or0GA=",
"owner": "caelestia-dots",
"repo": "shell",
- "rev": "2ca4ad4a434e91e73504debd5225e66dc5ebb2b6",
+ "rev": "cf18cea3dad28ddda2f151b1b42a66f2fba1f84a",
"type": "github"
},
"original": {
@@ -53,11 +53,11 @@
]
},
"locked": {
- "lastModified": 1778606796,
- "narHash": "sha256-P2krpSkFVYJ89bgsnAZ9RtQiGwiTW77sfSJp9SEDscM=",
+ "lastModified": 1778905220,
+ "narHash": "sha256-ox/5IHc8uwy6UTw6N7Shp6uCHIgu/S2PsWeuXsOHSo8=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "e1fd7350f4410972bcb8c42a697d8c924ffe642a",
+ "rev": "d1686dc7d36cbd1234cb226ad6ef97e882716acb",
"type": "github"
},
"original": {
@@ -119,11 +119,11 @@
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1778794387,
- "narHash": "sha256-BL04pOS9453Awkeb9f90XBJXBSkWxN+vB7HIgnL0iMM=",
+ "lastModified": 1778869304,
+ "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "8a1b0127302ea51e05bf4ea5a291743fac442406",
+ "rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
"type": "github"
},
"original": {
@@ -157,11 +157,11 @@
]
},
"locked": {
- "lastModified": 1778222427,
- "narHash": "sha256-6GFiP611nEJvtm+m03sMyfaVIJ9QOCi//hS+PPKyyPA=",
+ "lastModified": 1778488696,
+ "narHash": "sha256-QSWgYuZUCNUJ/cxmaq83WkcT7lHQDDfsPVgH+96kIl0=",
"ref": "refs/heads/master",
- "rev": "d1760ed1f31c02a95b37a9bf4084129c829ebe7f",
- "revCount": 817,
+ "rev": "7d1c9a9c6721606b129829134d6f614f015621e2",
+ "revCount": 818,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
diff --git a/flake.nix b/flake.nix
index 5e98fe8..0ba02c0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,17 +15,13 @@
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
microPlugins-vivify = {
- url = "git+https://codeberg.org/gibbert/micro-vivify";
- flake = false;
+ url = "git+https://codeberg.org/gibbert/micro-vivify";
+ flake = false;
};
};
outputs = {
- self,
nixpkgs,
nixpkgs-unstable,
- home-manager,
- nixos-grub-themes,
- caelestia-shell,
...
} @ inputs: let
system = "x86_64-linux";
@@ -41,10 +37,9 @@
pkgs-unstable = import nixpkgs-unstable {
inherit system;
-
+
config.allowUnfreePredicate = mkUnfreePredicate;
};
-
in {
nixosConfigurations = {
laptop = nixpkgs.lib.nixosSystem {
diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix
index ecd1f49..e7c72b3 100755
--- a/hosts/laptop/configuration.nix
+++ b/hosts/laptop/configuration.nix
@@ -3,10 +3,6 @@
# and in the NixOS manual (accessible by running ‘nixos-help’).
{
# nixd says that those attributes are not used. The are used in the imported file. Do not remove.
- config,
- pkgs,
- pkgs-unstable,
- libs,
inputs,
...
}: {
@@ -18,13 +14,16 @@
#../../modules/nixos/ly.nix
../../modules/nixos/ly.nix
../../modules/nixos/anki.nix
- ../../modules/nixos/nixUtils.nix ../../hostsModules/laptop/nixos/nixUtils.nix
+ ../../modules/nixos/nixUtils.nix
+ ../../hostsModules/laptop/nixos/nixUtils.nix
../../hostsModules/laptop/nixos/udev.nix
- ../../modules/nixos/disk.nix ../../hostsModules/laptop/nixos/disk.nix
+ ../../modules/nixos/disk.nix
+ ../../hostsModules/laptop/nixos/disk.nix
../../modules/nixos/printer.nix
../../hostsModules/laptop/nixos/ollama.nix # llm config
../../modules/nixos/mullvad.nix # vpn config
../../hostsModules/laptop/nixos/autoUpdate.nix # auto update the flakes. Handles notification via libnotify and matrix-commander-rs
+ ../../hostsModules/laptop/nixos/autoCleanup.nix # uses alexandra deadnix and statix to clean the whole config
../../hostsModules/laptop/nixos/bootloader.nix
../../hostsModules/laptop/nixos/networking.nix # firewall, ssh, networkmanager, etc.
../../modules/nixos/bluetooth.nix
@@ -35,7 +34,8 @@
../../modules/nixos/fonts.nix
../../modules/nixos/latex.nix
../../modules/nixos/development.nix
- ../../modules/nixos/user.nix ../../hostsModules/laptop/nixos/user.nix
+ ../../modules/nixos/user.nix
+ ../../hostsModules/laptop/nixos/user.nix
../../modules/nixos/notifications.nix
../../modules/nixos/browser.nix
../../modules/nixos/theme.nix # install theming packages and some quickshell stuff
@@ -43,7 +43,7 @@
../../modules/nixos/otherUtils.nix
../../modules/nixos/office.nix
];
-
+
# 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. It‘s perfectly fine and recommended to leave
diff --git a/hosts/laptop/hardware-configuration.nix b/hosts/laptop/hardware-configuration.nix
index 5702a78..b5be1ea 100755
--- a/hosts/laptop/hardware-configuration.nix
+++ b/hosts/laptop/hardware-configuration.nix
@@ -4,7 +4,6 @@
{
config,
lib,
- pkgs,
modulesPath,
...
}: {
diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix
index b903d09..580a71c 100755
--- a/hosts/laptop/home.nix
+++ b/hosts/laptop/home.nix
@@ -1,9 +1,4 @@
-{
- config,
- pkgs,
- inputs,
- ...
-}: {
+{inputs, ...}: {
# every import imports a specific module for an app. This module contains the enabling of this app and its settings.
# So if you want to add an home-manager app create a module which enables it and configures it and import it.
imports = [
diff --git a/hostsModules/laptop/home-manager/hyprland.nix b/hostsModules/laptop/home-manager/hyprland.nix
index 0b80f2b..bac5d9b 100644
--- a/hostsModules/laptop/home-manager/hyprland.nix
+++ b/hostsModules/laptop/home-manager/hyprland.nix
@@ -1,11 +1,4 @@
-{
- config,
- pkgs,
- pkgs-unstable,
- ...
-}:
-
-{
+_: {
wayland.windowManager.hyprland.settings = {
exec-once = [
"qtbatticon" # custom battery tray
diff --git a/hostsModules/laptop/home-manager/zsh.nix b/hostsModules/laptop/home-manager/zsh.nix
index cc383e7..a21f803 100644
--- a/hostsModules/laptop/home-manager/zsh.nix
+++ b/hostsModules/laptop/home-manager/zsh.nix
@@ -1,12 +1,8 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.zsh = {
shellAliases = {
- snrt = "git -C ~/nixos add -A && time sudo nixos-rebuild test --flake ~/nixos/#laptop";
- snrs = "git -C ~/nixos add -A && time sudo nixos-rebuild switch --flake ~/nixos/#laptop";
+ snrt = "git -C ~/nixos add -A && time sudo nixos-rebuild test --flake ~/nixos/#laptop && pkill shell || true && pkill caelestia-shell || true && caelestia-shell -n > /dev/null 2>&1 & disown";
+ snrs = "git -C ~/nixos add -A && time sudo nixos-rebuild switch --flake ~/nixos/#laptop && pkill shell || true && pkill caelestia-shell || true && caelestia-shell -n > /dev/null 2>&1 & disown";
};
};
}
diff --git a/hostsModules/laptop/nixos/autoCleanup.nix b/hostsModules/laptop/nixos/autoCleanup.nix
new file mode 100644
index 0000000..8d0de9e
--- /dev/null
+++ b/hostsModules/laptop/nixos/autoCleanup.nix
@@ -0,0 +1,45 @@
+{pkgs, ...}: {
+ # Ensure your script is available system-wide
+ environment.systemPackages = [
+ (pkgs.callPackage ../scripts/cleanNix.nix {})
+ ];
+ users.users.tomasr = {
+ linger = true; # lingering is required
+ };
+
+ systemd.user.services.custom-cleanNix = {
+ description = "NixOS configuration auto cleanup";
+
+ serviceConfig = {
+ Type = "oneshot";
+
+ ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
+
+ # safety for long rebuilds
+ TimeoutStartSec = "45min";
+ TimeoutStopSec = "10min";
+
+ # avoid overlap
+ RemainAfterExit = true;
+
+ # tweaks that should make the system run normally during the rebuilds
+ Nice = 10;
+ IOSchedulingClass = "best-effort";
+ IOSchedulingPriority = 7;
+ };
+ };
+
+ # Systemd USER timer
+ systemd.user.timers.custom-cleanNix = {
+ wantedBy = ["timers.target"];
+
+ timerConfig = {
+ OnCalendar = "Sat *-*-* 20:00:00"; # runs saturday night. If for whatever reason something breaks. I have whole sunday to fix it.
+
+ Persistent = true; # if it happens during shutted down
+
+ # avoids thundering herd on boot
+ RandomizedDelaySec = "2h";
+ };
+ };
+}
diff --git a/hostsModules/laptop/nixos/autoUpdate.nix b/hostsModules/laptop/nixos/autoUpdate.nix
index eb46b5d..4919da4 100644
--- a/hostsModules/laptop/nixos/autoUpdate.nix
+++ b/hostsModules/laptop/nixos/autoUpdate.nix
@@ -1,12 +1,10 @@
-{ pkgs, ... }:
-
-{
+{pkgs, ...}: {
# Ensure your script is available system-wide
environment.systemPackages = [
(pkgs.callPackage ../scripts/autoUpdate.nix {})
];
users.users.tomasr = {
- linger = true; # lingering is required
+ linger = true; # lingering is required
};
systemd.user.services.custom-autoupdate = {
@@ -33,7 +31,7 @@
# Systemd USER timer
systemd.user.timers.custom-autoupdate = {
- wantedBy = [ "timers.target" ];
+ wantedBy = ["timers.target"];
timerConfig = {
OnCalendar = "Fri *-*-* 20:00:00"; # runs friday night. If for whatever reason something breaks. I have whole week-end to fix it.
diff --git a/hostsModules/laptop/nixos/battery.nix b/hostsModules/laptop/nixos/battery.nix
index 1cacc63..d334045 100644
--- a/hostsModules/laptop/nixos/battery.nix
+++ b/hostsModules/laptop/nixos/battery.nix
@@ -2,7 +2,8 @@
{
lib,
config,
- ...}:
+ ...
+}:
# we just activate tlp unconditonally
#let
# cfg = config.custom;
diff --git a/hostsModules/laptop/nixos/bootloader.nix b/hostsModules/laptop/nixos/bootloader.nix
index f58aaf2..c36b37f 100644
--- a/hostsModules/laptop/nixos/bootloader.nix
+++ b/hostsModules/laptop/nixos/bootloader.nix
@@ -2,8 +2,7 @@
inputs,
pkgs,
...
-}:
-{
+}: {
# grub theme
boot.loader.grub = {
theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme
diff --git a/hostsModules/laptop/nixos/disk.nix b/hostsModules/laptop/nixos/disk.nix
index c794a1f..1781598 100644
--- a/hostsModules/laptop/nixos/disk.nix
+++ b/hostsModules/laptop/nixos/disk.nix
@@ -1,13 +1,7 @@
-{
- config,
- pkgs,
- pkgs-unstable,
- libs,
- inputs,
- ...
-}: {
+_: {
# i found swap necessary when running nixpkgs review
- swapDevices = [{
+ swapDevices = [
+ {
device = "/swapfile";
size = 16384; # 16 GB
}
diff --git a/hostsModules/laptop/nixos/hardwareUtils.nix b/hostsModules/laptop/nixos/hardwareUtils.nix
index 7b3a1ee..6edd5a9 100644
--- a/hostsModules/laptop/nixos/hardwareUtils.nix
+++ b/hostsModules/laptop/nixos/hardwareUtils.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# used for the framework 16 laptop
framework-tool
diff --git a/hostsModules/laptop/nixos/networking.nix b/hostsModules/laptop/nixos/networking.nix
index 427c276..3fff075 100644
--- a/hostsModules/laptop/nixos/networking.nix
+++ b/hostsModules/laptop/nixos/networking.nix
@@ -1,14 +1,9 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
- wget
- networkmanagerapplet # NetworkManager control applet
- inetutils # collections of network programs such as telnet
-
-];
+ wget
+ networkmanagerapplet # NetworkManager control applet
+ inetutils # collections of network programs such as telnet
+ ];
#networking.Name = "nixos"; # Define your hostname.
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
diff --git a/hostsModules/laptop/nixos/nixUtils.nix b/hostsModules/laptop/nixos/nixUtils.nix
index 838e561..df13ddd 100644
--- a/hostsModules/laptop/nixos/nixUtils.nix
+++ b/hostsModules/laptop/nixos/nixUtils.nix
@@ -1,7 +1,4 @@
-{
- ...
-}:
-{
+_: {
# nixpkgs-review crashed my laptop multiple times.
nix.settings.max-jobs = 2;
nix.settings.cores = 2;
diff --git a/hostsModules/laptop/nixos/ollama.nix b/hostsModules/laptop/nixos/ollama.nix
index f9658bf..b879210 100644
--- a/hostsModules/laptop/nixos/ollama.nix
+++ b/hostsModules/laptop/nixos/ollama.nix
@@ -1,7 +1,4 @@
-{
- pkgs-unstable,
- ...
-}: {
+{pkgs-unstable, ...}: {
services.ollama = {
enable = true;
package = pkgs-unstable.ollama-vulkan;
@@ -11,15 +8,18 @@
#loadModels = [ "mistral:7b" ]; # don't forget the :xxxxx for ex: "mixtral" don't work
#syncModels = true;
};
- systemd.services.ollama.serviceConfig.ExecStartPost = [ # use this to auto download models
- "${pkgs-unstable.ollama-vulkan}/bin/ollama pull mistral:7b"
+ systemd.services.ollama.serviceConfig.ExecStartPost = [
+ # use this to auto download models
+ "${pkgs-unstable.ollama-vulkan}/bin/ollama pull mistral:7b"
];
- /*services.open-webui = {
+ /*
+ services.open-webui = {
enable = true;
port = 8080;
environment = {
OLLAMA_BASE_URL = "http://127.0.0.1:11434";
WEBUI_AUTH = "True";
};
- };*/
+ };
+ */
}
diff --git a/hostsModules/laptop/nixos/udev.nix b/hostsModules/laptop/nixos/udev.nix
index b89c224..e5600b2 100644
--- a/hostsModules/laptop/nixos/udev.nix
+++ b/hostsModules/laptop/nixos/udev.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
# udev with only the necessary rules. See udev.nix to get all the rules
services.udev.extraRules = ''
# adapted from here https://wiki.nixos.org/wiki/Keychron_M6
diff --git a/hostsModules/laptop/nixos/user.nix b/hostsModules/laptop/nixos/user.nix
index be1f3a4..f28310a 100644
--- a/hostsModules/laptop/nixos/user.nix
+++ b/hostsModules/laptop/nixos/user.nix
@@ -1,7 +1,4 @@
# configuration is in ../../../modules/nixos/user.nix
-{
- ...
-}:
-{
+_: {
home-manager.users.tomasr = ../../../hosts/laptop/home.nix;
}
diff --git a/hostsModules/laptop/qt/qtbatticon.nix b/hostsModules/laptop/qt/qtbatticon.nix
index 9caf25a..a91eb2a 100644
--- a/hostsModules/laptop/qt/qtbatticon.nix
+++ b/hostsModules/laptop/qt/qtbatticon.nix
@@ -4,7 +4,6 @@
# at your risk and perils
# click on the icon to get a notification with state, percentage and wattage
{
- lib,
stdenv,
qt6,
pkg-config,
diff --git a/hostsModules/laptop/scripts/autoUpdate.nix b/hostsModules/laptop/scripts/autoUpdate.nix
index 5828ede..887f5e1 100644
--- a/hostsModules/laptop/scripts/autoUpdate.nix
+++ b/hostsModules/laptop/scripts/autoUpdate.nix
@@ -1,7 +1,4 @@
-{
- pkgs,
- ...
-}:
+{pkgs, ...}:
pkgs.writeShellApplication {
name = "custom-autoupdate";
@@ -29,8 +26,8 @@ pkgs.writeShellApplication {
# update lock only
nix flake update --flake "$FLAKE_DIR"
- if sudo nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then
-
+ if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
+
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
git -C "$FLAKE_DIR" add flake.lock
git -C "$FLAKE_DIR" commit -m "flake.lock: autoupdate-$TIME"
@@ -57,7 +54,9 @@ pkgs.writeShellApplication {
git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME"
fi
-
+
+ git -C "$FLAKE_DIR" tag -d "pre-autoupdate-$TIME" # removes the tag
+
rm -f "$ERROR_FILE"
'';
}
diff --git a/hostsModules/laptop/scripts/checkMatrix.nix b/hostsModules/laptop/scripts/checkMatrix.nix
index 177ca7a..46e9a74 100644
--- a/hostsModules/laptop/scripts/checkMatrix.nix
+++ b/hostsModules/laptop/scripts/checkMatrix.nix
@@ -1,5 +1,4 @@
-{ pkgs }:
-
+{pkgs}:
pkgs.writeShellApplication {
name = "custom-checkMatrix";
diff --git a/hostsModules/laptop/scripts/cleanNix.nix b/hostsModules/laptop/scripts/cleanNix.nix
new file mode 100644
index 0000000..d5515c2
--- /dev/null
+++ b/hostsModules/laptop/scripts/cleanNix.nix
@@ -0,0 +1,71 @@
+{pkgs, ...}:
+pkgs.writeShellApplication {
+ name = "custom-cleanNix";
+
+ runtimeInputs = with pkgs; [
+ git
+ nixos-rebuild
+ matrix-commander-rs
+ libnotify
+ alejandra
+ deadnix
+ ];
+
+ text = ''
+ set -e
+
+ FLAKE_DIR="/home/tomasr/nixos"
+ FLAKE="$FLAKE_DIR#laptop"
+ TIME=$(date -u +"%Y-%m-%dT%H-%M-%SZ")
+
+ ERROR_FILE=$(mktemp)
+
+ # snapshot current state
+ git -C "$FLAKE_DIR" add -A
+ git -C "$FLAKE_DIR" commit --allow-empty -m "snapshot pre-cleanup-$TIME"
+ git -C "$FLAKE_DIR" tag "pre-cleanup-$TIME" HEAD
+
+ # the echos are to separate what each one is doing. Just for curiosity
+ echo "deadnix scans your Nix code and removes or reports unused (dead) variables and bindings"
+ deadnix --edit "$FLAKE_DIR" # removes unused code
+ echo "--------------------------------------------------------------"
+ echo "statix lints your Nix code to find stylistic issues, bad patterns, and potential mistakes."
+ statix fix "$FLAKE_DIR" # check other linting issues
+ echo "--------------------------------------------------------------"
+ echo "alejandra formats your Nix code consistently according to a strict, opinionated style."
+ alejandra "$FLAKE_DIR" # formats the config
+ echo "--------------------------------------------------------------"
+
+ if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
+
+ if ! git -C "$FLAKE_DIR" diff --quiet HEAD; then
+ git -C "$FLAKE_DIR" add -A
+ git -C "$FLAKE_DIR" commit -m "Auto: cleanup-$TIME"
+ git -C "$FLAKE_DIR" push
+
+ notify-send "Nix auto cleanup" "Everything OK"
+
+ matrix-commander-rs --verbose -m "Nix auto cleanup. Everything OK.
@notificationbot_0000" \
+ --html \
+ -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU"
+ else
+ notify-send "Nix auto cleanup" "No changes"
+ git -C "$FLAKE_DIR" push
+ fi
+
+ else
+ ERROR_MSG=$(cat "$ERROR_FILE")
+
+ notify-send -u critical "Nix auto cleanup" "FAILED"
+
+ matrix-commander-rs --verbose -m "Nix auto cleanup failed.
Error:
$ERROR_MSG
@notificationbot_0000" \
+ --html \
+ -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU"
+
+ git -C "$FLAKE_DIR" reset --hard "pre-cleanup-$TIME"
+ fi
+ git -C "$FLAKE_DIR" tag -d "pre-cleanup-$TIME" # removes the tag
+
+ rm -f "$ERROR_FILE"
+ '';
+}
diff --git a/modules/home-manager/.OLDneovim.nix b/modules/home-manager/.OLDneovim.nix
index 392060e..ded0ff3 100644
--- a/modules/home-manager/.OLDneovim.nix
+++ b/modules/home-manager/.OLDneovim.nix
@@ -1,5 +1,4 @@
# OLD Deprecated.
-
{
config,
pkgs,
diff --git a/modules/home-manager/anki.nix b/modules/home-manager/anki.nix
index 21d9dd3..9d91c71 100644
--- a/modules/home-manager/anki.nix
+++ b/modules/home-manager/anki.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.anki = {
# we enable system wide with nixpkgs because it offers some addon configuration. We just use this for some config
#enable = true;
diff --git a/modules/home-manager/batsignal.nix b/modules/home-manager/batsignal.nix
index fa02b0c..ebf8cd8 100644
--- a/modules/home-manager/batsignal.nix
+++ b/modules/home-manager/batsignal.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
services.batsignal = {
enable = true;
};
diff --git a/modules/home-manager/caelestia.nix b/modules/home-manager/caelestia.nix
index c6ae216..b3475ee 100644
--- a/modules/home-manager/caelestia.nix
+++ b/modules/home-manager/caelestia.nix
@@ -1,17 +1,11 @@
-{
- config,
- pkgs,
- pkgs-unstable,
- caelestia-shell,
- ...
-}: let
+_: let
sisyphe = ../../assets/sisyphe.gif;
pepe-music = ../../assets/pepe-music.gif;
in {
- home.file.".local/state/caelestia/wallpaper/path.txt" = { # dummy file. Does nothing. Prevent an error
+ home.file.".local/state/caelestia/wallpaper/path.txt" = {
+ # dummy file. Does nothing. Prevent an error
enable = true;
text = "${sisyphe}";
-
};
home.file.".face" = {
# this is were caelestia will search for profiles pictures
@@ -516,7 +510,7 @@ in {
};
theme = {
enableTerm = false; # we do it manually by adapting our kitty config
- enableHypr = true;
+ enableHypr = false; # this seems to add the splash
enableDiscord = true;
enableSpicetify = true;
enableFuzzel = true; #what's that?
diff --git a/modules/home-manager/cbatticon.nix b/modules/home-manager/cbatticon.nix
index d00a5ae..b919435 100644
--- a/modules/home-manager/cbatticon.nix
+++ b/modules/home-manager/cbatticon.nix
@@ -1,11 +1,7 @@
# 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.
# see ../qt/qtbatticon
-{
- config,
- pkgs,
- ...
-}: {
+_: {
services.cbatticon = {
enable = true;
lowLevelPercent = 20;
diff --git a/modules/home-manager/cursor.nix b/modules/home-manager/cursor.nix
index dbb6bb5..aa91337 100644
--- a/modules/home-manager/cursor.nix
+++ b/modules/home-manager/cursor.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+{pkgs, ...}: {
home.pointerCursor = {
hyprcursor.enable = true;
enable = true;
diff --git a/modules/home-manager/eza.nix b/modules/home-manager/eza.nix
index 4899959..a04e29f 100644
--- a/modules/home-manager/eza.nix
+++ b/modules/home-manager/eza.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}:
+_:
# ls replacement
# see ./zsh.nix for the alias (usefull to se default flags)
{
diff --git a/modules/home-manager/fastfetch.nix b/modules/home-manager/fastfetch.nix
index c892b37..4658bb0 100644
--- a/modules/home-manager/fastfetch.nix
+++ b/modules/home-manager/fastfetch.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
# Adapted from https://github.com/dacrab/fastfetch-config/blob/main/config.jsonc
programs.fastfetch = {
enable = true;
diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix
index d1734ab..0136aa5 100644
--- a/modules/home-manager/git.nix
+++ b/modules/home-manager/git.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.git = {
enable = true;
settings = {
diff --git a/modules/home-manager/gtk.nix b/modules/home-manager/gtk.nix
index 078f319..85a0b7c 100644
--- a/modules/home-manager/gtk.nix
+++ b/modules/home-manager/gtk.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+{pkgs, ...}: {
# gtk config
gtk.theme = {
enable = true;
diff --git a/modules/home-manager/hypridle.nix b/modules/home-manager/hypridle.nix
index c2ee302..c6e049a 100644
--- a/modules/home-manager/hypridle.nix
+++ b/modules/home-manager/hypridle.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
services.hypridle = {
enable = true;
settings = {
diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix
index 9a92b51..0ec1988 100644
--- a/modules/home-manager/hyprland.nix
+++ b/modules/home-manager/hyprland.nix
@@ -1,9 +1,4 @@
-{
- config,
- pkgs,
- pkgs-unstable,
- ...
-}: let
+{pkgs-unstable, ...}: let
wallpaper = ../../assets/wallpaper1.jpg;
in {
#refer to https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/
@@ -161,8 +156,9 @@ in {
"Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar"
"Ctrl+$mod, 4, exec, caelestia shell notifs toggleDnd"
"Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol
- "Ctrl+$mod, 5, exec, gnome-characters" # pos 2 2 special chars
- "Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store" # pos 3 2 colorpicker
+ "Ctrl+Shift+Alt, 0, exec, kitty --hold --class \"custom-changeAudioOutput\" --name \"Select audio output\" zsh -c \"custom-changeAudioOutput\"" # pos 2 2 change audio output fzf
+ "Ctrl+$mod, 5, exec, gnome-characters" # pos 3 2 special chars
+ "Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store" # pos 4 2 colorpicker
"Ctrl+Alt, 0, exec, custom-tomato" # pos 1 3 pomodoro app
"Ctrl+Alt, 2, exec, custom-bottom" # pos 2 3 btm (like htop but cleaner)
"Ctrl+Alt, 9, exec, anki"
@@ -212,12 +208,12 @@ in {
#"wl-paste --type image --watch cliphist store" # clipboard store image data
"custom-batterynotify"
"custom-batterywarning"
- "birdtray" # thunderbird tray app
+ #"birdtray" # thunderbird tray app # curently broken
#wallpapers/b
"swww img ${wallpaper}"
"swww-daemon"
"sleep 1 && custom-wallpaper"
- "sleep 5 && custom-checkKdrive && custom-mountkdrive" # checks if the remote works and mount it
+ "custom-checkKdrive && custom-mountkdrive" # checks if the remote works and mount it
#"waybar"
"custom-gitnotify"
"custom-checkMatrix" # checks if matrix-commander-rs is connected which is important for other stuff
@@ -328,6 +324,7 @@ in {
# theme
decoration = {
dim_special = 0.3;
+ rounding = 18;
blur = {
special = true;
enabled = true;
@@ -338,8 +335,8 @@ in {
};
};
general = {
- gaps_in = 3;
- gaps_out = 8;
+ gaps_in = 5;
+ gaps_out = 15;
border_size = 4;
"col.active_border" = "rgba(ca6702ff) rgba(ecd3a0ff) 45deg";
"col.inactive_border" = "rgba(f1dca7d9) rgba(ffe1a8d9) 45deg";
@@ -372,8 +369,8 @@ in {
"2, layout:scrolling, layoutopt:direction:right"
"name:special, layout:scrolling"
# used for smart gaps along some windowrules
- "w[tv1], gapsout:1, gapsin:1"
- "f[1], gapsout:1, gapsin:1"
+ #"w[tv1], gapsout:1, gapsin:1"
+ #"f[1], gapsout:1, gapsin:1"
];
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
@@ -432,13 +429,15 @@ in {
"float on, match:class ^(vlc)$"
"float on, match:class ^(eog)$"
"float on, size 400 175, match:class ^(custom-librewolfprofiles)$"
+ "float on, size 1050 200, match:class ^(custom-changeAudioOutput)$"
"float on, size 400 175, match:class ^(custom-obsidianvaults)$"
"float on, size 600 600, match:initial_class ^(custom-pomodoro)$"
"float on, size 1500 800, match:initial_class ^(custom-bottom)$"
- "border_size 2, match:float 0, match:workspace w[tv1]"
- "rounding 1, match:float 0, match:workspace w[tv1]"
- "border_size 2, match:float 0, match:workspace f[1]"
- "rounding 1, match:float 0, match:workspace f[1]"
+ # smart gaps/border is ugly with caelestia-shell
+ #"border_size 2, match:float 0, match:workspace w[tv1]"
+ #"rounding 1, match:float 0, match:workspace w[tv1]"
+ #"border_size 2, match:float 0, match:workspace f[1]"
+ #"rounding 1, match:float 0, match:workspace f[1]"
];
# add a float for tomato when in kitty
#"plugin:imgborders:noimgborders, tag:noborder"
diff --git a/modules/home-manager/kitty.nix b/modules/home-manager/kitty.nix
index 8d80550..5255897 100644
--- a/modules/home-manager/kitty.nix
+++ b/modules/home-manager/kitty.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.kitty = {
enable = true;
#font.name = nerd-fonts._0xproto;
diff --git a/modules/home-manager/librewolf.nix b/modules/home-manager/librewolf.nix
index 0097dd7..edfacff 100644
--- a/modules/home-manager/librewolf.nix
+++ b/modules/home-manager/librewolf.nix
@@ -1,9 +1,5 @@
# adapted from https://github.com/contre95/dotfiles/blob/main/dotfiles/nixos/programs/librewolf.nix
-{
- pkgs,
- config,
- ...
-}: {
+_: {
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = 1;
MOZ_USE_XINPUT2 = 1;
@@ -138,7 +134,7 @@
};
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
- installation_mode = "blocked";
+ installation_mode = "force_installed";
};
"{08d5243b-4236-4a27-984b-1ded22ce01c3}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/3729287/gruvboxgruvboxgruvboxgruvboxgr-1.0.xpi";
@@ -310,19 +306,19 @@
}
{
name = "Signs of AI writing";
- tags = [ "ai" "write"];
+ tags = ["ai" "write"];
keyword = "AI writing";
url = "https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing";
}
{
name = "nixpkgs-review-gha";
- tags = [ "nixpkgs-review" "gha" ];
+ tags = ["nixpkgs-review" "gha"];
keyword = "nixpkgs-review";
url = "https://github.com/tomasriveral/nixpkgs-review-gha/actions/workflows/review.yml";
}
{
name = "nixpkgs tracker";
- tags = [ "nixpkgs" "tracker" ];
+ tags = ["nixpkgs" "tracker"];
keyword = "nixpkgs tracker";
url = "https://nixpk.gs/pr-tracker.html";
}
diff --git a/modules/home-manager/micro.nix b/modules/home-manager/micro.nix
index 1a4bc63..ffd5cb8 100644
--- a/modules/home-manager/micro.nix
+++ b/modules/home-manager/micro.nix
@@ -1,6 +1,4 @@
{
- config,
- pkgs,
pkgs-unstable,
inputs,
...
@@ -21,26 +19,26 @@
enable = true;
force = true;
text = ''
-local buffer = import("micro/buffer")
-local shell = import("micro/shell")
+ local buffer = import("micro/buffer")
+ local shell = import("micro/shell")
-function vivifyOpen(buf)
- local cursor = buf:GetActiveCursor()
- local line = cursor.Loc.Y + 1
+ function vivifyOpen(buf)
+ local cursor = buf:GetActiveCursor()
+ local line = cursor.Loc.Y + 1
- shell.ExecCommand("viv", string.format("%s:%d", buf.AbsPath, line))
-end
+ shell.ExecCommand("viv", string.format("%s:%d", buf.AbsPath, line))
+ end
-function onBufferOpen(buf)
- if os.getenv("MICRO_VIVIFY") ~= "1" then
- return
- end
+ function onBufferOpen(buf)
+ if os.getenv("MICRO_VIVIFY") ~= "1" then
+ return
+ end
- -- only run for real files (not help/log/etc)
- if buf.Type.Kind == buffer.BTDefault then
- vivifyOpen(buf)
- end
-end
-'';
+ -- only run for real files (not help/log/etc)
+ if buf.Type.Kind == buffer.BTDefault then
+ vivifyOpen(buf)
+ end
+ end
+ '';
};
}
diff --git a/modules/home-manager/mullvad.nix b/modules/home-manager/mullvad.nix
index c0b9a5b..d5c01ad 100644
--- a/modules/home-manager/mullvad.nix
+++ b/modules/home-manager/mullvad.nix
@@ -1,7 +1,5 @@
# see also ../nixos/mullvad.nix
-{
- ...
-}: {
+_: {
programs.mullvad-vpn = {
enable = true;
# see https://github.com/mullvad/mullvadvpn-app/blob/main/desktop/packages/mullvad-vpn/src/main/gui-settings.ts for options
diff --git a/modules/home-manager/neovim.nix b/modules/home-manager/neovim.nix
index 88bf199..95a6d2f 100644
--- a/modules/home-manager/neovim.nix
+++ b/modules/home-manager/neovim.nix
@@ -1,9 +1,4 @@
-{
- config,
- pkgs,
- pkgs-unstable,
- ...
-}: {
+{pkgs-unstable, ...}: {
programs.neovim = {
enable = true;
vimAlias = false;
@@ -257,7 +252,7 @@
vim.keymap.set("n", "e", function()
local clients = vim.lsp.get_clients({ name = "ltex" })
-
+
if #clients > 0 then
-- Stop LTeX
for _, client in ipairs(clients) do
@@ -336,26 +331,26 @@
cmd = { "ltex-ls-plus" },
filetypes = { "markdown", "text", "tex", "plaintex" },
on_attach = on_attach,
-
+
settings = {
ltex = {
language = "fr",
-
+
enabled = {
"markdown",
"text",
"tex",
"plaintex",
},
-
+
completionEnabled = true,
diagnosticSeverity = "information",
-
+
additionalRules = {
enablePickyRules = false,
motherTongue = "fr",
},
-
+
dictionary = {
["fr"] = {
"icelle",
@@ -483,9 +478,9 @@
vim.keymap.set("n", "t", function()
local line = vim.api.nvim_get_current_line()
-
+
local result = vim.fn.system({ "custom-syllabes" }, line)
-
+
print(vim.trim(result))
end, { desc = "Count syllables (current line)" })
-- =========================
diff --git a/modules/home-manager/obsidian.nix b/modules/home-manager/obsidian.nix
index 685e624..938145d 100644
--- a/modules/home-manager/obsidian.nix
+++ b/modules/home-manager/obsidian.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.obsidian = {
enable = true;
diff --git a/modules/home-manager/oh-my-posh.nix b/modules/home-manager/oh-my-posh.nix
index 7cc8211..317b214 100644
--- a/modules/home-manager/oh-my-posh.nix
+++ b/modules/home-manager/oh-my-posh.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.oh-my-posh = {
enable = true;
enableZshIntegration = true;
diff --git a/modules/home-manager/oh-my-zsh.nix b/modules/home-manager/oh-my-zsh.nix
index e404420..24095b9 100644
--- a/modules/home-manager/oh-my-zsh.nix
+++ b/modules/home-manager/oh-my-zsh.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.zsh.oh-my-zsh = {
enable = true;
theme = "jonathan";
diff --git a/modules/home-manager/other/desktopEntries.nix b/modules/home-manager/other/desktopEntries.nix
index 6836d2c..41e8bbb 100644
--- a/modules/home-manager/other/desktopEntries.nix
+++ b/modules/home-manager/other/desktopEntries.nix
@@ -1,6 +1,4 @@
-{
- ...
-}:
+_:
# see ../../docs/printing.md
{
home.file.".local/share/applications/org.quickshell.desktop" = {
@@ -27,6 +25,6 @@
Icon=printer
Categories=Utility;
StartupNotify=true
- '';
+ '';
};
}
diff --git a/modules/home-manager/other/user.nix b/modules/home-manager/other/user.nix
index 5e66367..d35901b 100644
--- a/modules/home-manager/other/user.nix
+++ b/modules/home-manager/other/user.nix
@@ -1,7 +1,4 @@
-{
- ...
-}:
-{
+_: {
home.username = "tomasr";
home.homeDirectory = "/home/tomasr";
diff --git a/modules/home-manager/quickshell.nix b/modules/home-manager/quickshell.nix
index bee6d55..e2aedb1 100644
--- a/modules/home-manager/quickshell.nix
+++ b/modules/home-manager/quickshell.nix
@@ -1,9 +1,5 @@
# pulled from https://codeberg.org/zacoons/rivendell-hyprdots
-{
- config,
- pkgs,
- ...
-}: {
+_: {
qt.enable = true;
programs.quickshell = {
systemd.enable = true;
diff --git a/modules/home-manager/rclone.nix b/modules/home-manager/rclone.nix
index 18ca66b..43797f5 100644
--- a/modules/home-manager/rclone.nix
+++ b/modules/home-manager/rclone.nix
@@ -1,7 +1,4 @@
-{
- pkgs-unstable,
- ...
-}: {
+{pkgs-unstable, ...}: {
programs.rclone = {
enable = true;
package = pkgs-unstable.rclone;
diff --git a/modules/home-manager/ripgrep.nix b/modules/home-manager/ripgrep.nix
index 4e7e52e..03dfed6 100644
--- a/modules/home-manager/ripgrep.nix
+++ b/modules/home-manager/ripgrep.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.ripgrep = {
enable = true;
arguments = [
diff --git a/modules/home-manager/rofi.nix b/modules/home-manager/rofi.nix
index 9bd6fed..d4bf2be 100644
--- a/modules/home-manager/rofi.nix
+++ b/modules/home-manager/rofi.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.rofi = {
enable = true;
theme = "gruvbox-dark-hard";
diff --git a/modules/home-manager/sbb-tui.nix b/modules/home-manager/sbb-tui.nix
index 48ea119..6d379e2 100644
--- a/modules/home-manager/sbb-tui.nix
+++ b/modules/home-manager/sbb-tui.nix
@@ -1,32 +1,29 @@
-{
- pkgs-unstable,
- ...
-}: {
+_: {
home.packages = [
#pkgs-unstable.sbb-tui
- ];
+ ];
home.file.".config/sbb-tui/config.yaml" = {
enable = true;
-# Gruvbox (from https://github.com/Necrom4/sbb-tui/blob/master/docs/themes.md)
+ # Gruvbox (from https://github.com/Necrom4/sbb-tui/blob/master/docs/themes.md)
text = ''
-ui:
- nerdfont: true
- theme:
- text: "#EBDBB2"
- textMuted: "#928374"
- error: "#FB4934"
- warning: "#FB4934"
- borderFocused: "#FABD2F"
- borderUnfocused: "#504945"
- badgeKeyFg: "#282828"
- badgeKeyBg: "#FABD2F"
- badgeVehicleFg: "#EBDBB2"
- badgeVehicleBg: "#458588"
- badgeModelFg: "#282828"
- badgeModelBg: "#FB4934"
- badgeCompanyFg: "#282828"
- badgeCompanyBg: "#EBDBB2"
- logo: "#EBDBB2"
-'';
+ ui:
+ nerdfont: true
+ theme:
+ text: "#EBDBB2"
+ textMuted: "#928374"
+ error: "#FB4934"
+ warning: "#FB4934"
+ borderFocused: "#FABD2F"
+ borderUnfocused: "#504945"
+ badgeKeyFg: "#282828"
+ badgeKeyBg: "#FABD2F"
+ badgeVehicleFg: "#EBDBB2"
+ badgeVehicleBg: "#458588"
+ badgeModelFg: "#282828"
+ badgeModelBg: "#FB4934"
+ badgeCompanyFg: "#282828"
+ badgeCompanyBg: "#EBDBB2"
+ logo: "#EBDBB2"
+ '';
};
}
diff --git a/modules/home-manager/ssh.nix b/modules/home-manager/ssh.nix
index 2c48548..8201c23 100644
--- a/modules/home-manager/ssh.nix
+++ b/modules/home-manager/ssh.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.ssh = {
enable = true;
enableDefaultConfig = false; # will be removed in the futur. Removes evaluation warning
diff --git a/modules/home-manager/swaylock.nix b/modules/home-manager/swaylock.nix
index f4c15be..226a296 100644
--- a/modules/home-manager/swaylock.nix
+++ b/modules/home-manager/swaylock.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.swaylock = {
enable = true;
settings = {
diff --git a/modules/home-manager/swaync.nix b/modules/home-manager/swaync.nix
index 21963f0..f89e51e 100644
--- a/modules/home-manager/swaync.nix
+++ b/modules/home-manager/swaync.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
services.swaync = {
enable = true;
};
diff --git a/modules/home-manager/thunderbird.nix b/modules/home-manager/thunderbird.nix
index c05482b..767b475 100644
--- a/modules/home-manager/thunderbird.nix
+++ b/modules/home-manager/thunderbird.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.thunderbird = {
enable = true;
profiles.tomasr = {
diff --git a/modules/home-manager/vivify.nix b/modules/home-manager/vivify.nix
index 1074d4f..06238ee 100644
--- a/modules/home-manager/vivify.nix
+++ b/modules/home-manager/vivify.nix
@@ -1,26 +1,23 @@
-{
- pkgs-unstable,
- ...
-}: {
+{pkgs-unstable, ...}: {
home.file.".config/vivify/config.json" = {
enable = true;
text = ''
-{
- "browserOptions": {
- "name": "qutebrowser",
- "arguments": ["-T"]
- }
- }'';
-};
-home.packages = [
- pkgs-unstable.vivify
-];
-programs.qutebrowser = {
- enable = true;
- settings = {
- auto_save.session = false;
- changelog_after_upgrade = "never";
- content.cookies.accept = "never";
+ {
+ "browserOptions": {
+ "name": "qutebrowser",
+ "arguments": ["-T"]
+ }
+ }'';
+ };
+ home.packages = [
+ pkgs-unstable.vivify
+ ];
+ programs.qutebrowser = {
+ enable = true;
+ settings = {
+ auto_save.session = false;
+ changelog_after_upgrade = "never";
+ content.cookies.accept = "never";
+ };
};
-};
}
diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix
index cdbf56e..8a0c935 100644
--- a/modules/home-manager/waybar.nix
+++ b/modules/home-manager/waybar.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.waybar = {
enable = true;
settings = [
diff --git a/modules/home-manager/wlogout.nix b/modules/home-manager/wlogout.nix
index 3184d9d..08b6a91 100644
--- a/modules/home-manager/wlogout.nix
+++ b/modules/home-manager/wlogout.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: let
+_: let
wallpaper = ../../assets/wallpaper1.jpg;
lock = ../../assets/lock.png;
lock-hover = ../../assets/lock-hover.png;
diff --git a/modules/home-manager/zoxide.nix b/modules/home-manager/zoxide.nix
index ec3fd0d..32ffebc 100644
--- a/modules/home-manager/zoxide.nix
+++ b/modules/home-manager/zoxide.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.zoxide = {
enable = true;
enableZshIntegration = true;
diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix
index 27fbd99..1f5bbc8 100644
--- a/modules/home-manager/zsh.nix
+++ b/modules/home-manager/zsh.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+_: {
programs.zsh = {
enable = true;
autosuggestion.enable = true;
diff --git a/modules/nixos/.lyBROKEN.nix b/modules/nixos/.lyBROKEN.nix
index 860bb9c..e36c697 100644
--- a/modules/nixos/.lyBROKEN.nix
+++ b/modules/nixos/.lyBROKEN.nix
@@ -1,4 +1,4 @@
-{...}: {
+_: {
services.displayManager.ly = {
enable = true;
settings = {
diff --git a/modules/nixos/IO.nix b/modules/nixos/IO.nix
index a820e9e..f9fa255 100644
--- a/modules/nixos/IO.nix
+++ b/modules/nixos/IO.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
# Configure keymap in X11
services.xserver.xkb = {
layout = "ch";
diff --git a/modules/nixos/anki.nix b/modules/nixos/anki.nix
index 0f4f7bb..e396d06 100644
--- a/modules/nixos/anki.nix
+++ b/modules/nixos/anki.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
(pkgs.anki.withAddons [
(pkgs.ankiAddons.recolor.withConfig {
diff --git a/modules/nixos/audioAndMedia.nix b/modules/nixos/audioAndMedia.nix
index f363e8b..d6bef91 100644
--- a/modules/nixos/audioAndMedia.nix
+++ b/modules/nixos/audioAndMedia.nix
@@ -1,9 +1,4 @@
-{
- pkgs,
- pkgs-unstable,
- ...
-}:
-{
+{pkgs, ...}: {
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
@@ -20,6 +15,7 @@
#media-session.enable = true;
};
environment.systemPackages = with pkgs; [
+ (pkgs.callPackage ../../modules/scripts/changeAudioOutput.nix {})
kdePackages.okular
kdePackages.dolphin
pulseaudio # sound server
diff --git a/modules/nixos/bluetooth.nix b/modules/nixos/bluetooth.nix
index 9892a08..8934420 100644
--- a/modules/nixos/bluetooth.nix
+++ b/modules/nixos/bluetooth.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [
blueman # GTK-based Bluetooth Manager
diff --git a/modules/nixos/browser.nix b/modules/nixos/browser.nix
index 63ad142..b06bc32 100644
--- a/modules/nixos/browser.nix
+++ b/modules/nixos/browser.nix
@@ -4,8 +4,7 @@
pkgs,
pkgs-unstable,
...
-}:
-{
+}: {
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
diff --git a/modules/nixos/development.nix b/modules/nixos/development.nix
index 5e1f9d4..8d803d4 100644
--- a/modules/nixos/development.nix
+++ b/modules/nixos/development.nix
@@ -2,8 +2,7 @@
pkgs,
pkgs-unstable,
...
-}:
-{
+}: {
programs.nix-ld.enable = true; #Run unpatched dynamic binaries on NixOS. For example lets run ./a.out from gcc
environment.systemPackages = with pkgs; [
gcc
@@ -16,7 +15,7 @@
scipy
]))
python313Packages.pygments # used for ccat (comment of colorize plugin from oh-my-zsh)
- pkg-config
+ pkg-config
gdb
raylib
glfw # raylib and some dependecies
diff --git a/modules/nixos/disk.nix b/modules/nixos/disk.nix
index 0b9dbff..97d8c5a 100644
--- a/modules/nixos/disk.nix
+++ b/modules/nixos/disk.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
gnome-disk-utility
udiskie # removable disk automounter for udisks
@@ -10,6 +6,6 @@
];
# removes rclone error
- programs.fuse.userAllowOther = true;
+ programs.fuse.userAllowOther = true;
programs.fuse.enable = true;
}
diff --git a/modules/nixos/documentation.nix b/modules/nixos/documentation.nix
index 756d132..a06b79c 100644
--- a/modules/nixos/documentation.nix
+++ b/modules/nixos/documentation.nix
@@ -1,11 +1,8 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
documentation.man.generateCaches = true; # used for the man script
- environment.pathsToLink = [ # see https://wiki.nixos.org/wiki/Documentation_Gaps#How_do_manpages_work?_Or:_environment.pathsToLink_and_buildEnv
+ environment.pathsToLink = [
+ # see https://wiki.nixos.org/wiki/Documentation_Gaps#How_do_manpages_work?_Or:_environment.pathsToLink_and_buildEnv
"/share/applications"
"/share/xdg-desktop-portal"
];
diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix
index 1f7e00c..2d816ff 100644
--- a/modules/nixos/fonts.nix
+++ b/modules/nixos/fonts.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
# fonts
fonts.packages = with pkgs; [
nerd-fonts._0xproto
diff --git a/modules/nixos/latex.nix b/modules/nixos/latex.nix
index f69b66d..e9787bc 100644
--- a/modules/nixos/latex.nix
+++ b/modules/nixos/latex.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
texlab
ltex-ls-plus
diff --git a/modules/nixos/ly.nix b/modules/nixos/ly.nix
index a497150..0aff326 100644
--- a/modules/nixos/ly.nix
+++ b/modules/nixos/ly.nix
@@ -1,4 +1,4 @@
-{...}: {
+_: {
# a minimal ly config as the big config (ly.nix) didnt worked
services.displayManager.ly = {
enable = true;
diff --git a/modules/nixos/mullvad.nix b/modules/nixos/mullvad.nix
index e635f0c..2ca7e01 100644
--- a/modules/nixos/mullvad.nix
+++ b/modules/nixos/mullvad.nix
@@ -1,8 +1,5 @@
# see also ../home-manager/mullvad.nix
-{
- pkgs-unstable,
- ...
-}: {
+{pkgs-unstable, ...}: {
services.mullvad-vpn = {
enable = true;
package = pkgs-unstable.mullvad-vpn;
diff --git a/modules/nixos/nixUtils.nix b/modules/nixos/nixUtils.nix
index fdf6108..41eca06 100644
--- a/modules/nixos/nixUtils.nix
+++ b/modules/nixos/nixUtils.nix
@@ -21,12 +21,14 @@
nix.settings.experimental-features = ["nix-command" "flakes"];
environment.systemPackages = with pkgs-unstable; [
- nixpkgs-review
- nixfmt-tree
- treefmt
- nixd
- deadnix
- alejandra
- vimPluginsUpdater # used for building plugins
+ nixpkgs-review
+ nixfmt-tree
+ treefmt
+ nixd
+ deadnix
+ alejandra
+ vimPluginsUpdater # used for building plugins
+ nix-index
+ statix
];
}
diff --git a/modules/nixos/notifications.nix b/modules/nixos/notifications.nix
index cdbcf74..2d382fb 100644
--- a/modules/nixos/notifications.nix
+++ b/modules/nixos/notifications.nix
@@ -1,9 +1,5 @@
# notifications server is set by caelestia-shell. See ../home-manager/caelestia.nix
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
libnotify # Library that sends desktop notifications to a notification daemon
socat # Utility for bidirectional data transfer between two independent data channels (used to communicate between hyprland and swww to change wallpapers dinamically)
@@ -15,6 +11,5 @@
(pkgs.callPackage ../../hostsModules/laptop/scripts/checkMatrix.nix {})
(pkgs.callPackage ../../modules/scripts/gitnotify.nix {}) # check if git is set up
(pkgs.callPackage ../../modules/scripts/checkKdrive.nix {}) # check if kdrive is set up with rclone
-
];
}
diff --git a/modules/nixos/office.nix b/modules/nixos/office.nix
index 674f9a2..4159c11 100644
--- a/modules/nixos/office.nix
+++ b/modules/nixos/office.nix
@@ -1,8 +1,4 @@
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
libreoffice
birdtray
diff --git a/modules/nixos/otherUtils.nix b/modules/nixos/otherUtils.nix
index 48945c4..825d605 100644
--- a/modules/nixos/otherUtils.nix
+++ b/modules/nixos/otherUtils.nix
@@ -3,8 +3,7 @@
pkgs,
pkgs-unstable,
...
-}:
-{
+}: {
environment.systemPackages = with pkgs; [
gnome-calculator
snapshot
diff --git a/modules/nixos/printer.nix b/modules/nixos/printer.nix
index 1a9994f..5a24a15 100644
--- a/modules/nixos/printer.nix
+++ b/modules/nixos/printer.nix
@@ -1,15 +1,11 @@
-{
- config,
- pkgs,
- ...
-}: {
+{pkgs, ...}: {
#https://wiki.nixos.org/wiki/Printing
- services.avahi = {
+ services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
-
+
# Enable CUPS to print documents.
services.printing = {
enable = true;
@@ -23,21 +19,21 @@
];
};
services.ipp-usb.enable = true;
- environment.systemPackages = with pkgs; [
+ environment.systemPackages = with pkgs; [
kdePackages.print-manager
ghostscript
hplipWithPlugin
];
-hardware.printers = {
- ensurePrinters = [
- {
- name = "HP_OfficeJet_Pro_7740";
- location = "Home";
- deviceUri = "hp:/usb/OfficeJet_Pro_7740_series";
- model = "drv:///hp/hpcups.drv/hp-officejet_pro_7740_series.ppd";
- }
- ];
+ hardware.printers = {
+ ensurePrinters = [
+ {
+ name = "HP_OfficeJet_Pro_7740";
+ location = "Home";
+ deviceUri = "hp:/usb/OfficeJet_Pro_7740_series";
+ model = "drv:///hp/hpcups.drv/hp-officejet_pro_7740_series.ppd";
+ }
+ ];
- ensureDefaultPrinter = "HP_OfficeJet_Pro_7740";
-};
+ ensureDefaultPrinter = "HP_OfficeJet_Pro_7740";
+ };
}
diff --git a/modules/nixos/theme.nix b/modules/nixos/theme.nix
index 25e98f2..de6bada 100644
--- a/modules/nixos/theme.nix
+++ b/modules/nixos/theme.nix
@@ -1,14 +1,10 @@
# most of the themeing are in the home-manager modules. This just installs some packages needed
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
qt.enable = true;
# to resolve this https://wiki.nixos.org/wiki/Home_Manager#I_cannot_set_GNOME_or_Gtk_themes_via_Home_Manager
programs.dconf.enable = true;
-
+
environment.systemPackages = with pkgs; [
swww #wallpaper daemon
gruvbox-gtk-theme
diff --git a/modules/nixos/user.nix b/modules/nixos/user.nix
index 35cec27..693cf1a 100644
--- a/modules/nixos/user.nix
+++ b/modules/nixos/user.nix
@@ -3,8 +3,7 @@
pkgs-unstable,
inputs,
...
-}:
-{
+}: {
services.dbus.enable = true;
security.polkit.enable = true;
home-manager = {
@@ -42,13 +41,21 @@
services.upower.enable = true;
# removes need for password for nixos-rebuild
- security.sudo.extraRules = [
+ security.sudo.extraRules = [
{
- users = [ "tomasr" ];
+ users = ["tomasr"];
commands = [
{
command = "/run/current-system/sw/bin/nixos-rebuild";
- options = [ "NOPASSWD" ];
+ options = ["NOPASSWD"];
+ }
+ {
+ command = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
+ options = ["NOPASSWD"];
+ }
+ {
+ command = "${pkgs-unstable.nixos-rebuild}/bin/nixos-rebuild";
+ options = ["NOPASSWD"];
}
];
}
diff --git a/modules/nixos/windowManager.nix b/modules/nixos/windowManager.nix
index 3dde05a..c608e28 100644
--- a/modules/nixos/windowManager.nix
+++ b/modules/nixos/windowManager.nix
@@ -3,8 +3,7 @@
pkgs-unstable,
pkgs,
...
-}:
-{
+}: {
# Enable the X11 windowing system.
services.xserver.enable = true;
@@ -27,7 +26,7 @@
xwayland.enable = true;
};
- xdg.portal = {
+ xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-wlr
diff --git a/modules/packages/labplot.nix b/modules/packages/labplot.nix
index 5c2331a..465e103 100644
--- a/modules/packages/labplot.nix
+++ b/modules/packages/labplot.nix
@@ -7,9 +7,7 @@
extra-cmake-modules,
shared-mime-info,
wrapQtAppsHook,
-
qtbase,
-
karchive,
kcompletion,
kconfig,
@@ -24,9 +22,7 @@
ktextwidgets,
kxmlgui,
syntax-highlighting,
-
gsl,
-
poppler,
fftw,
hdf5,
@@ -41,7 +37,6 @@
qtserialport,
discount,
}:
-
stdenv.mkDerivation rec {
pname = "labplot";
version = "2.10.1";
@@ -121,7 +116,7 @@ stdenv.mkDerivation rec {
lgpl3Plus
mit
];
- maintainers = [ "tomasriveral" ];
+ maintainers = ["tomasriveral"];
mainProgram = "labplot2";
platforms = lib.platforms.unix;
};
diff --git a/modules/packages/plint.nix b/modules/packages/plint.nix
index 6622506..0ab8397 100644
--- a/modules/packages/plint.nix
+++ b/modules/packages/plint.nix
@@ -1,10 +1,10 @@
-{ lib
-, python3Packages
-, fetchFromGitLab
-, frhyme
-, haspirater
+{
+ lib,
+ python3Packages,
+ fetchFromGitLab,
+ frhyme,
+ haspirater,
}:
-
python3Packages.buildPythonApplication rec {
pname = "plint";
diff --git a/modules/packages/sbb-tui.nix b/modules/packages/sbb-tui.nix
index 5b19420..f5c2c48 100644
--- a/modules/packages/sbb-tui.nix
+++ b/modules/packages/sbb-tui.nix
@@ -3,9 +3,8 @@
buildGoModule,
fetchFromGitHub,
nix-update-script,
- versionCheckHook
+ versionCheckHook,
}:
-
buildGoModule (finalAttrs: {
pname = "sbb-tui";
version = "1.14.2";
@@ -24,21 +23,21 @@ buildGoModule (finalAttrs: {
"-w"
"-X main.version=${finalAttrs.version}"
];
-
+
allowGoReference = true;
doCheck = true;
- nativeCheckInputs = [ versionCheckHook ];
+ nativeCheckInputs = [versionCheckHook];
- passthru.updateScript = nix-update-script { };
+ passthru.updateScript = 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 ];
+ maintainers = with lib.maintainers; [tomasrivera];
mainProgram = "sbb-tui";
};
})
diff --git a/modules/packages/vivify.nix b/modules/packages/vivify.nix
index 36b01b3..2df2a57 100644
--- a/modules/packages/vivify.nix
+++ b/modules/packages/vivify.nix
@@ -10,7 +10,6 @@
zip,
file,
}:
-
stdenv.mkDerivation (finalAttrs: {
pname = "vivify";
version = "0.14.0";
@@ -49,11 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
wrapProgram $out/bin/viv \
--prefix PATH : ${
- lib.makeBinPath [
- nodejs
- file
- ]
- }
+ lib.makeBinPath [
+ nodejs
+ file
+ ]
+ }
'';
nativeBuildInputs = [
@@ -69,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
# (segmentation fault)
dontStrip = true;
- passthru.updateScript = nix-update-script { };
+ passthru.updateScript = nix-update-script {};
meta = {
description = "Live Markdown viewer";
@@ -81,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
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 ];
+ maintainers = with lib.maintainers; [skohtv];
platforms = lib.platforms.linux;
mainProgram = "viv";
};
diff --git a/modules/packages/z13ctl.nix b/modules/packages/z13ctl.nix
index 212f7cf..f3a835f 100644
--- a/modules/packages/z13ctl.nix
+++ b/modules/packages/z13ctl.nix
@@ -3,7 +3,6 @@
buildGoModule,
fetchFromGitHub,
}:
-
buildGoModule {
pname = "z13ctl";
version = "1.1.6";
@@ -17,7 +16,7 @@ buildGoModule {
vendorHash = "sha256-ftkcianIR36PNAoMOVuk4lUr7goWUcHhjyNseUraJU0=";
- subPackages = [ "." ];
+ subPackages = ["."];
__structuredAttrs = true;
@@ -27,6 +26,6 @@ buildGoModule {
license = licenses.asl20;
platforms = platforms.linux;
mainProgram = "z13ctl";
- maintainers = with maintainers; [ badheuristic ];
+ maintainers = with maintainers; [badheuristic];
};
}
diff --git a/modules/scripts/changeAudioOutput.nix b/modules/scripts/changeAudioOutput.nix
new file mode 100644
index 0000000..3e1aadb
--- /dev/null
+++ b/modules/scripts/changeAudioOutput.nix
@@ -0,0 +1,22 @@
+{
+ writeShellApplication,
+ fzf,
+ pulseaudio,
+ jq,
+ ...
+}:
+writeShellApplication {
+ name = "custom-changeAudioOutput";
+ runtimeInputs = [
+ fzf
+ pulseaudio
+ jq
+ ];
+ text = ''
+ select=$(pactl -f json list sinks | jq -r '.[].name' | fzf)
+ if [[ -n "$select" ]]; then
+ pactl set-default-sink "$select"
+ fi
+ pkill -f "kitty.*Select audio output"
+ '';
+}
diff --git a/modules/scripts/checkKdrive.nix b/modules/scripts/checkKdrive.nix
index a7160a0..2a7f515 100644
--- a/modules/scripts/checkKdrive.nix
+++ b/modules/scripts/checkKdrive.nix
@@ -13,21 +13,29 @@ writeShellApplication {
libnotify
];
text = ''
-set +e
-output=$(rclone lsd kdrive: 2>&1)
-status=$?
+ # waits for an internet connection. It pings both Google DNS and Cloudfare dns in case one of them is down
+ until ping -c1 -W1 1.1.1.1 >/dev/null 2>&1 || \
+ ping -c1 -W1 8.8.8.8 >/dev/null 2>&1
+ do
+ sleep 1
+ done
-set -e
+ set +e
-if [ $status -eq 0 ]; then
- echo "kdrive OK"
-else
- echo "kdrive rclone failed with error: $output"
- notify-send "rclone kdrive failed" "$output"
- matrix-commander-rs --verbose -m "rclone kdrive failed.
Error: $output
@notificationbot_0000" \
- --html \
- -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU"
-fi
+ output=$(rclone lsd kdrive: 2>&1)
+ status=$?
+
+ set -e
+
+ if [ $status -eq 0 ]; then
+ echo "kdrive OK"
+ else
+ echo "kdrive rclone failed with error: $output"
+ notify-send "rclone kdrive failed" "$output"
+ matrix-commander-rs --verbose -m "rclone kdrive failed.
Error: $output
@notificationbot_0000" \
+ --html \
+ -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU"
+ fi
'';
}
diff --git a/modules/scripts/librewolfprofiles.nix b/modules/scripts/librewolfprofiles.nix
index b12c34b..5715086 100644
--- a/modules/scripts/librewolfprofiles.nix
+++ b/modules/scripts/librewolfprofiles.nix
@@ -1,7 +1,6 @@
{
writeShellApplication,
zsh,
- kitty,
fzf,
...
}:
diff --git a/modules/scripts/performance-mode.nix b/modules/scripts/performance-mode.nix
index 204cf17..c9bd99a 100644
--- a/modules/scripts/performance-mode.nix
+++ b/modules/scripts/performance-mode.nix
@@ -1,11 +1,5 @@
# used for the terminal autostart. Needs to get cleared and recall fastfetch so that the bar from oh-my-zsh get resized
-{
- writeShellApplication,
- hyprland,
- gawk,
- libnotify,
- ...
-}:
+{writeShellApplication, ...}:
writeShellApplication {
name = "custom-performance";
runtimeInputs = [
diff --git a/modules/scripts/syllabes.nix b/modules/scripts/syllabes.nix
index cb7ec98..4655f9a 100644
--- a/modules/scripts/syllabes.nix
+++ b/modules/scripts/syllabes.nix
@@ -1,29 +1,33 @@
-{ pkgs, python3Packages, ... }:
-
+{
+ pkgs,
+ python3Packages,
+ ...
+}:
pkgs.writers.writePython3Bin "custom-syllabes" {
libraries = [
python3Packages.pyphen
];
} ''
-import sys
-import pyphen
+ import sys
+ import pyphen
-dic = pyphen.Pyphen(lang="fr")
+ dic = pyphen.Pyphen(lang="fr")
-text = sys.stdin.read().strip()
+ text = sys.stdin.read().strip()
-chunks = []
-total = 0
+ chunks = []
+ total = 0
-for w in text.split():
- hyphenated = dic.inserted(w)
- parts = hyphenated.split("-")
- chunks.append("/".join(parts))
- total += len(parts)
+ for w in text.split():
+ hyphenated = dic.inserted(w)
+ parts = hyphenated.split("-")
+ chunks.append("/".join(parts))
+ total += len(parts)
-print(f"{total} ({'/'.join(chunks)})")
+ print(f"{total} ({'/'.join(chunks)})")
''
-/* used IPA but had a deprecated dependency
+/*
+ used IPA but had a deprecated dependency
{ pkgs, python3Packages, ... }:
pkgs.writers.writePython3Bin "custom-syllabes" {
@@ -56,8 +60,10 @@ for word in text.split():
chunks.append(f"{word}/{ipa}")
print(f"{total} ({' | '.join(chunks)})")
-''*/
-/*{ pkgs, ... }:
+''
+*/
+/*
+ { pkgs, ... }:
let
lexique = pkgs.fetchurl {
@@ -170,4 +176,6 @@ def main():
if __name__ == "__main__":
main()
-''*/
+''
+*/
+
diff --git a/other/kblayouts/framework_laptop_16_rgb_macropad.layout.json b/other/kblayouts/framework_laptop_16_rgb_macropad.layout.json
index dced4ef..e8350ee 100644
--- a/other/kblayouts/framework_laptop_16_rgb_macropad.layout.json
+++ b/other/kblayouts/framework_laptop_16_rgb_macropad.layout.json
@@ -12,7 +12,7 @@
"{+KC_LCTL}{+KC_LALT}7{-KC_LALT}{-KC_LCTL}",
"{+KC_LCTL}{+KC_LALT}8{-KC_LALT}{-KC_LCTL}",
"{+KC_LCTL}{+KC_LALT}9{-KC_LALT}{-KC_LCTL}",
- "",
+ "{+KC_LCTL}{+KC_LSFT}{+KC_LALT}0{-KC_LALT}{-KC_LSFT}{-KC_LCTL}",
"",
"",
"",
@@ -25,19 +25,19 @@
"MACRO(0)",
"MACRO(9)",
"KC_NO",
- "MACRO(5)",
+ "MACRO(10)",
"MACRO(1)",
"KC_NO",
"KC_NO",
"KC_NO",
+ "MACRO(5)",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
"MACRO(8)",
"KC_NO",
"KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
"MACRO(6)",
"MACRO(7)",
"KC_NO",