diff --git a/flake.lock b/flake.lock index be75699..ea1b87a 100644 --- a/flake.lock +++ b/flake.lock @@ -17,11 +17,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1781331278, - "narHash": "sha256-8IM7jJnnkhbKDbq39q4BS+DbE5CrsT4UhFtmcUDvVjE=", + "lastModified": 1783987500, + "narHash": "sha256-KvQSG1KJMIoKDx1UY1Ps98MA+oKcVmeE1WPWXG3B4w8=", "owner": "mrshmllow", "repo": "affinity-nix", - "rev": "f112cdef13bbd13e1067e72804c18c7622357547", + "rev": "fe12b087f518cd5c2cd03fcc63f30cd78108bc35", "type": "github" }, "original": { @@ -116,11 +116,11 @@ }, "crane": { "locked": { - "lastModified": 1780532242, - "narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=", + "lastModified": 1783203018, + "narHash": "sha256-G6R9IT/xwFuu+CYBWDUAok6AdC4ERC4ZfPPFtEpxnZE=", "owner": "ipetkov", "repo": "crane", - "rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37", + "rev": "80db5bdc391be8a1794f6d8a2d56e3a84ebcede2", "type": "github" }, "original": { @@ -138,11 +138,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1781086641, - "narHash": "sha256-2oBncBeL671Tf6TnYqk36ebkfPHNYPKwz5at8NcrpvI=", + "lastModified": 1782900513, + "narHash": "sha256-GHrsl1+ysDFgmDQtQSqWS7TiYD2Q58VlwLvnf1+crJM=", "owner": "nix-community", "repo": "fenix", - "rev": "640606300f74b4891bfa1a51f5756450f9fdc7f1", + "rev": "16810aa8f4ad89ca480b1513774e8b6f485fe368", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1781323358, - "narHash": "sha256-W8SFmaIEW4tP4jQ48EJSSVnO8s4gZ1j1D4K22tW9pd8=", + "lastModified": 1784174539, + "narHash": "sha256-pe7fP3E7nyqVIus9O//9SwyeLKThT7+4Rtlz3yIvcAk=", "owner": "rycee", "repo": "nur-expressions", - "rev": "89503b569dd29491d5c58bf41c244253fcd3d2b3", + "rev": "6b421f3c29e6b8c282edfe5f8c9802506506e267", "type": "gitlab" }, "original": { @@ -245,11 +245,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -320,17 +320,16 @@ "git-hooks": { "inputs": { "flake-compat": "flake-compat_2", - "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "lastModified": 1783008725, + "narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", + "rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe", "type": "github" }, "original": { @@ -339,26 +338,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -383,11 +362,11 @@ ] }, "locked": { - "lastModified": 1781305496, - "narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=", + "lastModified": 1784129366, + "narHash": "sha256-N5JiyICSeQF14x+OQebNyPpYowOT9Rs1iKyeCylSzOA=", "owner": "nix-community", "repo": "home-manager", - "rev": "c87a39aa979acc4848016d2220c6238390d84779", + "rev": "165228b0efefc3e635e5174020c40ea64271dc25", "type": "github" }, "original": { @@ -456,11 +435,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1784007870, - "narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=", + "lastModified": 1784120854, + "narHash": "sha256-KesHgItiZPgGX740axSiQLcIQ8D24MDqNpkKYWIek8k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698", + "rev": "753cc8a3a87467296ddd1fa93f0cc3e81120ee46", "type": "github" }, "original": { @@ -472,11 +451,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1777168982, - "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "lastModified": 1782614948, + "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", "type": "github" }, "original": { @@ -505,15 +484,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "noctalia-qs": "noctalia-qs" + ] }, "locked": { - "lastModified": 1780889763, - "narHash": "sha256-18kh968u0hhtDyECo0FBnlEnJLDxs0uB5H5QbWA9P3I=", + "lastModified": 1784210019, + "narHash": "sha256-DfE6kFtK8RG4I9EQplJzUUjb16CG1alx5rprs2cibE0=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "57be32b0a81471ef6c5dceff6faad23b534ec7f8", + "rev": "cb15ce1c85a5e8c652f8aabc3ccd6f266b344e57", "type": "github" }, "original": { @@ -522,29 +500,6 @@ "type": "github" } }, - "noctalia-qs": { - "inputs": { - "nixpkgs": [ - "noctalia", - "nixpkgs" - ], - "systems": "systems", - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1780799499, - "narHash": "sha256-YloRtLqJabzYUWvdLyh67zH4DZrR3kQj+dlQJwLPmPM=", - "owner": "noctalia-dev", - "repo": "noctalia-qs", - "rev": "f308426239665e3bc3d624014e9295b2ae2f58ff", - "type": "github" - }, - "original": { - "owner": "noctalia-dev", - "repo": "noctalia-qs", - "type": "github" - } - }, "nur": { "inputs": { "flake-parts": [ @@ -639,11 +594,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1781005730, - "narHash": "sha256-3Bn47a+Vs2/ltQfTU2ApWqy5kYNmF+RaTEJs0A/H2pA=", + "lastModified": 1782864348, + "narHash": "sha256-NVYhLbaefeIUftPlo3kS6qr0xd8eFJRodEiaHrvFKR4=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "587ce15e272b94d4f0a69d695e3718a02c24667e", + "rev": "0d381ca097a8e0375a19387874d952c0a230ac4f", "type": "github" }, "original": { @@ -683,18 +638,18 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1781018772, - "narHash": "sha256-C+cGIUaC6dqfwTbI+BwCd572PbESGA3WYxR1sLTqxkY=", + "lastModified": 1784059683, + "narHash": "sha256-q5MZrmKlg9A4ORx3EQcr7qkuidMU1gVZ+xJ3nCK+xgc=", "owner": "danth", "repo": "stylix", - "rev": "a378e4c09031fb15a4d65da88aa628f71fc52f6b", + "rev": "c8ccc31f3ea29dc3eb5b54945e5eb549529491d6", "type": "github" }, "original": { @@ -705,31 +660,16 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -816,28 +756,6 @@ "repo": "treefmt-nix", "type": "github" } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "noctalia", - "noctalia-qs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1780220602, - "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "db947814a175b7ca6ded66e21383d938df01c227", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } } }, "root": "root", diff --git a/hosts/Garand-Desktop/home-modules.nix b/hosts/Garand-Desktop/home-modules.nix index 816cd3c..f905e78 100644 --- a/hosts/Garand-Desktop/home-modules.nix +++ b/hosts/Garand-Desktop/home-modules.nix @@ -79,17 +79,17 @@ _: { }; }; - /* - Noctalia-shell plugins - */ - nooctalia-plugins = { - mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks - timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center. - keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors. - kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect - screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings - screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri - ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support - tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop. - }; + # /* + # Noctalia-shell plugins + # */ + # noctalia-plugins = { + # mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks + # timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center. + # keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors. + # kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect + # screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings + # screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri + # ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support + # tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop. + # }; } diff --git a/hosts/Garand-Laptop/home-modules.nix b/hosts/Garand-Laptop/home-modules.nix index 5cbbd81..d28754d 100644 --- a/hosts/Garand-Laptop/home-modules.nix +++ b/hosts/Garand-Laptop/home-modules.nix @@ -82,7 +82,7 @@ _: { /* Noctalia-shell plugins */ - nooctalia-plugins = { + noctalia-plugins = { mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center. keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors. diff --git a/hosts/default/home-modules.nix b/hosts/default/home-modules.nix index e542af0..7dfa0fd 100644 --- a/hosts/default/home-modules.nix +++ b/hosts/default/home-modules.nix @@ -82,7 +82,7 @@ _: { /* Noctalia-shell plugins */ - nooctalia-plugins = { + noctalia-plugins = { mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center. keybind-cheatsheet.enable = false; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors. diff --git a/modules/core/packages/appimages/helium.nix b/modules/core/packages/appimages/helium.nix index 510151d..affdcc6 100644 --- a/modules/core/packages/appimages/helium.nix +++ b/modules/core/packages/appimages/helium.nix @@ -37,3 +37,4 @@ in }; } # https://github.com/imputnet/helium-linux/releases/download/0.11.7.1/helium-0.11.7.1-x86_64.AppImage + diff --git a/modules/core/user.nix b/modules/core/user.nix index e1d5c06..825d462 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -11,6 +11,7 @@ keyboardLayout, gitEmail, location, + stylixImage, ... }: { imports = [inputs.home-manager.nixosModules.home-manager]; @@ -31,6 +32,7 @@ gitEmail gitUsername location + stylixImage ; }; users.${username} = { @@ -43,6 +45,7 @@ username = "${username}"; homeDirectory = "/home/${username}"; stateVersion = "25.11"; + pointerCursor.enable = true; shell.enableFishIntegration = if shell == "fish" then true diff --git a/modules/home/default.nix b/modules/home/default.nix index b1dbfcc..d7fee7e 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -7,7 +7,8 @@ _: { ./hyprland ./kitty ./librewolf - ./noctalia-shell + ./noctalia + # ./noctalia-shell ./obsidian ./scripts ./vscodium @@ -27,6 +28,7 @@ _: { ./lutris.nix ./mangohud.nix ./nextcloud.nix + ./nixpkgs.nix ./obs-studio.nix ./ollama.nix ./onlyoffice.nix diff --git a/modules/home/hyprland/binds.nix b/modules/home/hyprland/binds.nix index d332cd7..29f3900 100644 --- a/modules/home/hyprland/binds.nix +++ b/modules/home/hyprland/binds.nix @@ -10,8 +10,8 @@ "SUPER, B, exec, bitwarden #\"Password manager\"" "SUPER, C, exec, chromium #\"Ungoogled Chromium\"" "SUPER, D, exec, vesktop #\"Discord client\"" - "SUPER, E, exec, noctalia-shell ipc call launcher emoji #\"Emoji picker\"" - "SUPER, Escape, exec, noctalia-shell ipc call lockScreen lock #\"Lock the screen\"" + "SUPER, E, exec, noctalia msg panel-toggle launcher \"/emo \" #\"Emoji picker\"" + "SUPER, Escape, exec, noctalia msg session lock #\"Lock the screen\"" "SUPER, G, exec, affinity-v3 #\"Graphics editor\"" "SUPER, H, exec, helium #\"Helium web browser\"" "SUPER, I, exec, iotas #\"Note-taking app\"" @@ -22,7 +22,7 @@ "SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop #\"GarandCloud client\"" "SUPER, O, exec, onlyoffice-desktopeditors #\"Office suite\"" "SUPER, P, exec, plex-desktop #\"Plex media player\"" - "SUPER, R, exec, noctalia-shell ipc call plugin:screen-recorder saveReplay #\"Save Replay\"" + "SUPER, R, exec, noctalia msg plugin noctalia/screen_recorder:service all replay-save #\"Save Replay\"" "SUPER, Return, exec, kitty #\"Kitty terminal\"" "SUPER, S, exec, steam #\"Steam Game launcher\"" "SUPER, T, exec, thunar #\"File manager\"" @@ -34,43 +34,43 @@ shiftBinds = [ "SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\"" "SUPER SHIFT, E, exec, evolution #\"Personal information management application\"" - "SUPER SHIFT, Escape, exec, noctalia-shell ipc call sessionMenu toggle #\"Open Session Menu\"" + "SUPER SHIFT, Escape, exec, noctalia msg panel-toggle session #\"Open Session Menu\"" "SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\"" "SUPER SHIFT, J, exec, dex ${desktopEntriesPath}/jellyfinClient.desktop #\"Jellyfin PWA\"" - "SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\"" + # "SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\"" "SUPER SHIFT, M, exec, plexamp #\"Music player for Plex\"" "SUPER SHIFT, N, exec, nextcloud #\"Nextcloud desktop sync client\"" "SUPER SHIFT, O, exec, obs #\"Open Broadcaster Software\"" - "SUPER SHIFT, P, exec, noctalia-shell ipc call volume togglePanel #\"Toggle volume control panel\"" - "SUPER SHIFT, R, exec, restart-noctalia #\"Restart Noctalia shell\"" - "SUPER SHIFT, Return, exec, noctalia-shell ipc call launcher toggle #\"Toggle application launcher\"" - "SUPER SHIFT, S, exec, noctalia-shell ipc call plugin:screenshot takeScreenshot region #\"Take screenshot\"" + "SUPER SHIFT, P, exec, pavucontrol #\"Toggle volume control panel\"" + "SUPER SHIFT, R, exec, noctalia msg config-reload #\"Restart Noctalia shell\"" + "SUPER SHIFT, Return, exec, noctalia msg panel-toggle launcher #\"Toggle application launcher\"" + "SUPER SHIFT, S, exec, noctalia msg screenshot-region #\"Take screenshot\"" "SUPER SHIFT, T, exec, tutanota-desktop #\"Tutanota encrypted email client\"" - "SUPER SHIFT, V, exec, noctalia-shell ipc call launcher clipboard #\"Open clipboard manager\"" + "SUPER SHIFT, V, exec, noctalia msg panel-toggle clipboard #\"Open clipboard manager\"" ]; altBinds = [ - "SUPER ALT, C, exec, noctalia-shell ipc call controlCenter toggle #\"Toggle control center\"" + "SUPER ALT, C, exec, noctalia msg panel-toggle control-center [tab] #\"Toggle control center\"" "SUPER ALT, F, exec, finamp #\"Jellyfin music client\"" "SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop #\"Glance server panel\"" "SUPER ALT, K, exec, kdenlive #\"Video editing software\"" "SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop #\"Mastodon social network client\"" - "SUPER ALT, N, exec, noctalia-shell ipc call plugin:ntfy-notifications toggle #\"Open ntfy panel\"" + # "SUPER ALT, N, exec, noctalia-shell ipc call plugin:ntfy-notifications toggle #\"Open ntfy panel\"" "SUPER ALT, O, exec, obsidian #\"Notes app\"" - "SUPER ALT, P, exec, noctalia-shell ipc call settings toggle #\"Open settings panel\"" - "SUPER ALT, R, exec, noctalia-shell ipc call plugin:screen-recorder toggleReplay #\"Toggle Replay\"" + "SUPER ALT, P, exec, noctalia msg settings-open #\"Open settings panel\"" + "SUPER ALT, R, exec, noctalia msg plugin noctalia/screen_recorder:service all replay-toggle #\"Toggle Replay\"" "SUPER ALT, S, exec, slack #\"Slack team communication tool\"" "SUPER ALT, T, exec, gedit #\"GNOME text editor\"" - "SUPER ALT, W, exec, noctalia-shell ipc call wallpaper toggle #\"Toggle wallpaper\"" + "SUPER ALT, W, exec, noctalia msg panel-toggle wallpaper #\"Toggle wallpaper\"" ]; controlBinds = [ - "SUPER CONTROL, C, exec, noctalia-shell ipc call powerProfile cycle #\"Cycle through power profiles\"" + "SUPER CONTROL, C, exec, noctalia msg power-cycle #\"Cycle through power profiles\"" "SUPER CONTROL, G, exec, gimp #\"GNU Image Manipulation Program\"" "SUPER CONTROL, M, exec, mattermost-desktop #\"Mattermost team chat client\"" - "SUPER CONTROL, N, exec, noctalia-shell ipc call plugin:ntfy-notifications refresh #\"Refresh ntfy\"" + # "SUPER CONTROL, N, exec, noctalia-shell ipc call plugin:ntfy-notifications refresh #\"Refresh ntfy\"" "SUPER CONTROL, O, exec, dex ${desktopEntriesPath}/openWebUI.desktop #\"My own AI chat interface\"" - "SUPER CONTROL, R, exec, noctalia-shell ipc call plugin:screen-recorder toggle #\"Toogle screen recording\"" + "SUPER CONTROL, R, exec, noctalia msg plugin noctalia/screen_recorder:service all toggle #\"Toogle screen recording\"" "SUPER CONTROL, S, exec, signal-desktop #\"Signal encrypted messaging\"" "SUPER CONTROL, T, exec, tsukimi #\"A simple Emby/Jellyfin Client\"" "SUPER CONTROL, P, exec, hyprpicker -a #\"Pick color from screen\"" @@ -135,15 +135,15 @@ ]; systemMediaAndControllsBinds = [ - ",XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #\"Lower system volume\"" - ",XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #\"Mute audio output\"" - ",XF86AudioMicMute, exec, noctalia-shell ipc call volume muteInput #\"Mute audio input\"" - ",XF86AudioNext, exec, noctalia-shell ipc call media next #\"Next media track\"" - ",XF86AudioPlay, exec, noctalia-shell ipc call media playPause #\"Play/Pause media\"" - ",XF86AudioPrev, exec, noctalia-shell ipc call media previous #\"Previous media track\"" - ",XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #\"Raise system volume\"" - ",XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease #\"Decrease screen brightness\"" - ",XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase #\"Increase screen brightness\"" + ",XF86AudioLowerVolume, exec, noctalia msg volume-down #\"Lower system volume\"" + ",XF86AudioMute, exec, noctalia msg volume-mute #\"Mute audio output\"" + ",XF86AudioMicMute, exec, noctalia msg mic-mute #\"Mute audio input\"" + ",XF86AudioNext, exec, noctalia msg media next #\"Next media track\"" + ",XF86AudioPlay, exec, noctalia msg media toggle #\"Play/Pause media\"" + ",XF86AudioPrev, exec, noctalia msg media previous #\"Previous media track\"" + ",XF86AudioRaiseVolume, exec, noctalia msg volume-up #\"Raise system volume\"" + ",XF86MonBrightnessDown, exec, noctalia msg brightness-down #\"Decrease screen brightness\"" + ",XF86MonBrightnessUp, exec, noctalia msg brightness-up #\"Increase screen brightness\"" ]; mkBlock = header: lines: diff --git a/modules/home/hyprland/exec-once.nix b/modules/home/hyprland/exec-once.nix index 8fdbc88..19b4e83 100644 --- a/modules/home/hyprland/exec-once.nix +++ b/modules/home/hyprland/exec-once.nix @@ -3,7 +3,7 @@ _: { "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "systemctl --user start hyprpolkitagent" - "noctalia-shell" + "noctalia" "wl-paste --type text --watch cliphist store" # Saves text "wl-paste --type image --watch cliphist store" # Saves images ]; diff --git a/modules/home/nixpkgs.nix b/modules/home/nixpkgs.nix new file mode 100644 index 0000000..3365789 --- /dev/null +++ b/modules/home/nixpkgs.nix @@ -0,0 +1,8 @@ +_: { + nixpkgs.config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-40.10.5" + ]; + }; +} diff --git a/modules/home/noctalia-shell/plugins.nix b/modules/home/noctalia-shell/plugins.nix index 9fc95b5..b490785 100644 --- a/modules/home/noctalia-shell/plugins.nix +++ b/modules/home/noctalia-shell/plugins.nix @@ -5,7 +5,7 @@ }: let sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; in { - options.nooctalia-plugins = { + options.noctalia-plugins = { mini-docker.enable = lib.mkEnableOption "Mini docker plugin"; timer.enable = lib.mkEnableOption "Timer plugin"; keybind-cheatsheet.enable = lib.mkEnableOption "Keybind cheatsheet plugin"; @@ -26,35 +26,35 @@ in { } ]; states = { - mini-docker = lib.mkIf config.nooctalia-plugins.mini-docker.enable { + mini-docker = lib.mkIf config.noctalia-plugins.mini-docker.enable { enabled = true; sourceUrl = sourceUrl; }; - timer = lib.mkIf config.nooctalia-plugins.timer.enable { + timer = lib.mkIf config.noctalia-plugins.timer.enable { enabled = true; sourceUrl = sourceUrl; }; - keybind-cheatsheet = lib.mkIf config.nooctalia-plugins.keybind-cheatsheet.enable { + keybind-cheatsheet = lib.mkIf config.noctalia-plugins.keybind-cheatsheet.enable { enabled = true; sourceUrl = sourceUrl; }; - kde-connect = lib.mkIf config.nooctalia-plugins.kde-connect.enable { + kde-connect = lib.mkIf config.noctalia-plugins.kde-connect.enable { enabled = true; sourceUrl = sourceUrl; }; - screen-recorder = lib.mkIf config.nooctalia-plugins.screen-recorder.enable { + screen-recorder = lib.mkIf config.noctalia-plugins.screen-recorder.enable { enabled = true; sourceUrl = sourceUrl; }; - screenshot = lib.mkIf config.nooctalia-plugins.screenshot.enable { + screenshot = lib.mkIf config.noctalia-plugins.screenshot.enable { enabled = true; sourceUrl = sourceUrl; }; - ntfy-notifications = lib.mkIf config.nooctalia-plugins.ntfy-notifications.enable { + ntfy-notifications = lib.mkIf config.noctalia-plugins.ntfy-notifications.enable { enabled = true; sourceUrl = sourceUrl; }; - tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable { + tailscale = lib.mkIf config.noctalia-plugins.tailscale.enable { enabled = true; sourceUrl = sourceUrl; }; diff --git a/modules/home/noctalia/default.nix b/modules/home/noctalia/default.nix new file mode 100644 index 0000000..4c5ebf6 --- /dev/null +++ b/modules/home/noctalia/default.nix @@ -0,0 +1,21 @@ +{ + inputs, + system, + ... +}: { + programs.noctalia = { + enable = true; + package = inputs.noctalia.packages.${system}.default; + }; + + imports = [ + ./settings + ]; +} +# { +# ... +# }: { +# programs.noctalia.settings = { +# }; +# } + diff --git a/modules/home/noctalia/settings/audio.nix b/modules/home/noctalia/settings/audio.nix new file mode 100644 index 0000000..1b39a88 --- /dev/null +++ b/modules/home/noctalia/settings/audio.nix @@ -0,0 +1,8 @@ +{username, ...}: { + programs.noctalia.settings.audio = { + enable_overdrive = true; + enable_sounds = true; + notification_sound = "/home/${username}/garandos/modules/home/noctalia/settings/notification/payday-2-new-objective-sound-effect.wav"; + sound_volume = 0.1; + }; +} diff --git a/modules/home/noctalia/settings/bar.nix b/modules/home/noctalia/settings/bar.nix new file mode 100644 index 0000000..8646e43 --- /dev/null +++ b/modules/home/noctalia/settings/bar.nix @@ -0,0 +1,33 @@ +_: { + programs.noctalia.settings.bar = { + enabled = true; + background_opacity = 0.0; + widget_spacing = 10; + margin_ends = 0; + scale = 0.95; + font_family = "FiraCode Nerd Font"; + + start = [ + "launcher" + "spacer_2" + "clock" + "spacer_3" + "cpu" + "ram" + "network_rx" + "network_tx" + "sysmon" + ]; + center = ["workspaces"]; + end = [ + "tray" + "notifications" + "bluetooth" + "battery" + "recorder" + "volume" + "network" + "control-center" + ]; + }; +} diff --git a/modules/home/noctalia/settings/calendar.nix b/modules/home/noctalia/settings/calendar.nix new file mode 100644 index 0000000..2839d7e --- /dev/null +++ b/modules/home/noctalia/settings/calendar.nix @@ -0,0 +1,12 @@ +{gitEmail, ...}: { + programs.noctalia.settings.calendar = { + enabled = true; + account."home_nextcloud" = { + name = "Kalendarz"; + provider = "custom"; + server_url = "https://nextcloud.garandplg.com/remote.php/dav"; + type = "caldav"; + username = "${gitEmail}"; + }; + }; +} diff --git a/modules/home/noctalia/settings/default.nix b/modules/home/noctalia/settings/default.nix new file mode 100644 index 0000000..ebbeb0c --- /dev/null +++ b/modules/home/noctalia/settings/default.nix @@ -0,0 +1,13 @@ +_: { + imports = [ + ./notification + ./plugins + ./audio.nix + ./bar.nix + ./calendar.nix + ./location.nix + ./shell.nix + ./wallpaper.nix + ./widget.nix + ]; +} diff --git a/modules/home/noctalia/settings/location.nix b/modules/home/noctalia/settings/location.nix new file mode 100644 index 0000000..4c0e5b7 --- /dev/null +++ b/modules/home/noctalia/settings/location.nix @@ -0,0 +1,6 @@ +{location, ...}: { + programs.noctalia.settings.location = { + auto_locate = false; + address = "${location}"; + }; +} diff --git a/modules/home/noctalia/settings/notification/default.nix b/modules/home/noctalia/settings/notification/default.nix new file mode 100644 index 0000000..d5d01d8 --- /dev/null +++ b/modules/home/noctalia/settings/notification/default.nix @@ -0,0 +1,7 @@ +_: { + programs.noctalia.settings.notification = { + enable_daemon = true; + show_app_name = true; + show_actions = true; + }; +} diff --git a/modules/home/noctalia/settings/notification/payday-2-new-objective-sound-effect.wav b/modules/home/noctalia/settings/notification/payday-2-new-objective-sound-effect.wav new file mode 100644 index 0000000..7269af8 Binary files /dev/null and b/modules/home/noctalia/settings/notification/payday-2-new-objective-sound-effect.wav differ diff --git a/modules/home/noctalia/settings/plugins/default.nix b/modules/home/noctalia/settings/plugins/default.nix new file mode 100644 index 0000000..4b63a11 --- /dev/null +++ b/modules/home/noctalia/settings/plugins/default.nix @@ -0,0 +1,9 @@ +_: { + programs.noctalia.settings.plugins = { + enabled = ["noctalia/timer" "noctalia/screen_recorder"]; + }; + + imports = [ + ./screen-recorder.nix + ]; +} diff --git a/modules/home/noctalia/settings/plugins/screen-recorder.nix b/modules/home/noctalia/settings/plugins/screen-recorder.nix new file mode 100644 index 0000000..e70b087 --- /dev/null +++ b/modules/home/noctalia/settings/plugins/screen-recorder.nix @@ -0,0 +1,15 @@ +_: { + programs.noctalia.settings.plugin_settings."noctalia/screen_recorder" = { + audio_codec = "flac"; + audio_source = "both"; + color_range = "full"; + hide_inactive = true; + quality = "ultra"; + replay_duration = 60; + replay_enabled = true; + replay_storage = "disk"; + resolution = "1920x1080"; + video_codec = "hevc"; + video_source = "focused"; + }; +} diff --git a/modules/home/noctalia/settings/shell.nix b/modules/home/noctalia/settings/shell.nix new file mode 100644 index 0000000..b30922f --- /dev/null +++ b/modules/home/noctalia/settings/shell.nix @@ -0,0 +1,14 @@ +{username, ...}: { + programs.noctalia.settings.shell = { + app_icon_colorize = true; + avatar_path = "/home/${username}/garandos/modules/home/hyprland/face.jpg"; + corner_radius_scale = 2.0; + lang = "pl"; + launch_apps_as_systemd_services = true; + screen_time_enabled = true; + time_format = "{:%H:%M:%S}"; + panel.open_near_click_control_center = true; + screen_corners.enabled = true; + screenshot.confirm_region = true; + }; +} diff --git a/modules/home/noctalia/settings/wallpaper.nix b/modules/home/noctalia/settings/wallpaper.nix new file mode 100644 index 0000000..deed77c --- /dev/null +++ b/modules/home/noctalia/settings/wallpaper.nix @@ -0,0 +1,12 @@ +{ + username, + stylixImage, + ... +}: let + wallpapersPath = "/home/${username}/Pictures/Wallpapers"; +in { + programs.noctalia.settings = { + lockscreen.wallpaper = "${wallpapersPath}/${stylixImage}"; + wallpaper.enabled = true; + }; +} diff --git a/modules/home/noctalia/settings/widget.nix b/modules/home/noctalia/settings/widget.nix new file mode 100644 index 0000000..9ab899c --- /dev/null +++ b/modules/home/noctalia/settings/widget.nix @@ -0,0 +1,50 @@ +{username, ...}: { + programs.noctalia.settings.widget = { + battery.display_mode = "graphic"; + + bluetooth.hide_when_no_connected_device = true; + + clock.format = "{:%H:%M:%S}"; + + control-center = { + custom_image = "/home/${username}/garandos/GarandOS.svg"; + scale = 1.3; + }; + + cpu.display = "text"; + + launcher.glyph = "rocket"; + + media.title_scroll = "on_hover"; + + network.show_label = false; + + network_rx = { + display = "text"; + network_speed_compact = true; + }; + + network_tx = { + display = "text"; + network_speed_compact = true; + }; + + ram.display = "text"; + + recorder.type = "noctalia/screen_recorder:recorder"; + + spacer_2.type = "spacer"; + + spacer_3.type = "spacer"; + + sysmon = { + display = "text"; + path = "/home"; + stat = "disk_pct"; + }; + + tray.hidden = ["nm-applet" "Easy Effects"]; + + workspaces.scale = 1.1; + }; +} diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index a213736..a5be140 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -30,6 +30,7 @@ }; noctalia-shell.enable = true; + noctalia.enable = true; gtk = { enable = true;