diff --git a/README.md b/README.md index 53b899c..770b3e0 100644 --- a/README.md +++ b/README.md @@ -430,7 +430,6 @@ The macros in the layout generate combinations involving `CTRL`, `ALT`, `SUPER`, | Row 2, Col 2 | Change audio output (`CTRL + ALT + SHIFT + 0`) | | Row 2, Col 3 | Special characters (`CTRL + SUPER + 5`) | | 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`) | The physical layout file contains additional transparent/unused positions, but the bindings above are the active shortcuts documented for the macropad. diff --git a/modules/hardware/hardwareUtils.nix b/modules/hardware/hardwareUtils.nix index 3c24867..a506469 100644 --- a/modules/hardware/hardwareUtils.nix +++ b/modules/hardware/hardwareUtils.nix @@ -11,6 +11,7 @@ _: { }) syswatch ]; + services.fwupd.enable = true; # update device firmware }; flake.nixosModules.hardwareUtils-desktop = {pkgs-unstable, ...}: { environment.systemPackages = with pkgs-unstable; [ @@ -20,5 +21,6 @@ _: { }) syswatch ]; + services.fwupd.enable = true; # update device firmware }; } diff --git a/modules/utilities/epfl.nix b/modules/utilities/epfl.nix index 81c469f..32dc2fd 100644 --- a/modules/utilities/epfl.nix +++ b/modules/utilities/epfl.nix @@ -1,38 +1,36 @@ -_: { +{self, ...}: { flake.nixosModules.epfl = {pkgs, ...}: { environment.systemPackages = with pkgs; [ openconnect + self.packages.${pkgs.system}.custom-mountEpflDrive ]; }; - flake.nixosModules.cs-119l = {pkgs, ...}: - let - user = "YOUR_USERNAME"; + flake.nixosModules.cs-119l = {pkgs, ...}: let + user = "tomasr"; home = "/home/${user}"; src = "${home}/epfl/cs-119l-ICC/"; - dst = "${home}/kdrive/Travaille/2 - Bachelor/Information, calcul, communication CS-119l/"; - in - { + dst = "${home}/kdrive/Travail/2 - Bachelor/BA1/Information, calcul, communication CS-119l/code/"; + in { environment.systemPackages = with pkgs; [ vscode-fhs ]; systemd.services.sync-cs119l-to-kdrive = { description = "Sync CS-119l ICC to kDrive"; - + serviceConfig = { Type = "oneshot"; User = user; - - ExecStart = - "${pkgs.rsync}/bin/rsync -a '${src}' '${dst}'"; + + ExecStart = "${pkgs.rsync}/bin/rsync -a '${src}' '${dst}'"; }; }; - + systemd.timers.sync-cs119l-to-kdrive = { description = "Sync CS-119l ICC to kDrive every Thursday and Friday evening"; - - wantedBy = [ "timers.target" ]; - + + wantedBy = ["timers.target"]; + timerConfig = { OnCalendar = [ "Thu *-*-* 20:00:00" @@ -42,4 +40,26 @@ _: { }; }; }; + perSystem = {pkgs, ...}: { + packages.custom-mountEpflDrive = pkgs.writeShellApplication { + name = "custom-mountEpflDrive"; + runtimeInputs = with pkgs; [ + rclone + libnotify + ]; + text = '' + REMOTE_NAME="epfl" + MOUNT_POINT="$HOME/epfl/drive" + + if rclone listremotes | rg "^''${REMOTE_NAME}:"; then + echo "Mounting ''${REMOTE_NAME}..." + rclone mount "''${REMOTE_NAME}:" "$MOUNT_POINT" --vfs-cache-mode writes --allow-non-empty & + else + notify-send "rclone mount failed" \ + "Remote ''${REMOTE_NAME} not found.\nConfigure rclone and create the dir ~/epfl/drive/ or comment out the exec line in hyprland.lua." + echo "Remote ''${REMOTE_NAME} not found. Configure rclone or comment out the exec line in hyprland.lua." + fi + ''; + }; + }; } diff --git a/other/hyprland/hyprland.lua b/other/hyprland/hyprland.lua index f57dfa8..abf9846 100644 --- a/other/hyprland/hyprland.lua +++ b/other/hyprland/hyprland.lua @@ -322,7 +322,7 @@ hl.bind(mod .. " + CTRL + 3", hl.dsp.exec_cmd("pavucontrol")) hl.bind("CTRL + SHIFT + ALT + 0", hl.dsp.exec_cmd("kitty --hold --class \"custom-changeAudioOutput\" --name \"Select audio output\" zsh -c \"custom-changeAudioOutput\"")) hl.bind(mod .. " + CTRL + 5", hl.dsp.exec_cmd("gnome-characters")) hl.bind("CTRL + ALT + 8", hl.dsp.exec_cmd("hyprpicker | tee >(wl-copy) | cliphist store")) -hl.bind("CTRL + ALT + 0", hl.dsp.exec_cmd("custom-tomato")) +-- hl.bind("CTRL + ALT + 0", hl.dsp.exec_cmd("custom-tomato")) hl.bind("CTRL + ALT + 2", hl.dsp.exec_cmd("custom-bottom")) hl.bind("CTRL + ALT + 9", hl.dsp.exec_cmd("anki")) @@ -940,6 +940,7 @@ hl.on("hyprland.start", function() hl.exec_cmd("awww img WALLPAPER/PATH/PLACEHOLDER") hl.exec_cmd("awww-daemon") hl.exec_cmd("custom-checkKdrive && custom-mountkdrive") + hl.exec_cmd("custom-mountEpflDrive") hl.exec_cmd("custom-gitnotify") hl.exec_cmd("sleep 4 & caelestia-shell") hl.exec_cmd("sleep 20 && ngcp pull --automatic")