diff --git a/GarandOS.svg b/GarandOS.svg new file mode 100644 index 0000000..1264b60 --- /dev/null +++ b/GarandOS.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index f1d02b7..f28c533 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +![GarandOS Logo](./GarandOS.svg) + +--- + # **GarandOS** Disclaimer: This configuration is a fork of [ZaneyOS](https://gitlab.com/Zaney/zaneyos), a wonderful configuration I had the pleasure of ~~stealing~~ forking almost a year ago for my laptop (version 2.2). Now that I've installed NIxOS on my main computer, I've installed the latest version (2.4), connected my repository, and am customizing it to suit my needs. My configuration won't be synchronized with the main project, as it serves as the foundation upon which I'm building my custom system. The original has been stripped of many unnecessary features, so I highly recommend checking out the original project and, like me, adapting it to your needs. If you like my configuration, fork it too and manage it yourself, as the project won't accept external pull requests. @@ -183,13 +187,9 @@ git add . - `profile` - graphics card profile, choose the one most suitable for your hardware. - `gitUsername` and `gitEmail` - required for proper git usage. - `extraMonitorSettings` - specify your monitor (cable, resolution, refresh rate. You can leave the other two options). -- `clock24h` - whether you want 24 or 12 hour clock. -- `browser` - browser package name opened with shortcut **SUPER + W**. -- `terminal` - terminal package name opened with shortcut **SUPER + Enter** - `keyboardLayout` and `consoleKeyMap` - keyboard layout (special characters ą,ę, etc.). +- `location` - your location. - `stylixImage` - default system wallpaper, based on which the graphical theme (stylix) will be generated. You can browse them in the `wallpapers` folder. -- `waybarChoice` - system top bar style. -- `animChoice` - system animation style. ### 5. Review module activation options diff --git a/flake.lock b/flake.lock index 5dc347d..ae30adc 100644 --- a/flake.lock +++ b/flake.lock @@ -28,26 +28,6 @@ "type": "github" } }, - "auto-cpufreq": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1769608722, - "narHash": "sha256-yWUG0Emd9EuqIZ8jQ6fxqf7USw7Gtcqb4+sBhn+S+Wg=", - "owner": "AdnanHodzic", - "repo": "auto-cpufreq", - "rev": "a11a98c46bf6a77d0c2e0ea8d87acef78507cae5", - "type": "github" - }, - "original": { - "owner": "AdnanHodzic", - "repo": "auto-cpufreq", - "type": "github" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -487,6 +467,26 @@ "type": "github" } }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769983098, + "narHash": "sha256-PKej3N1BxAoKzusrdWuS9gT8bXW0U/Zk8RkedsP3qYc=", + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "rev": "2a98d04b2f5e251935ba296c0d7dc374bdc5e32d", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": [ @@ -563,15 +563,14 @@ "root": { "inputs": { "affinity-nix": "affinity-nix", - "auto-cpufreq": "auto-cpufreq", "firefox-addons": "firefox-addons", "garandos-tui": "garandos-tui", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs", + "noctalia": "noctalia", "prismlauncher-cracked": "prismlauncher-cracked", - "stylix": "stylix", - "wrappers": "wrappers" + "stylix": "stylix" } }, "rust-analyzer-src": { @@ -740,26 +739,6 @@ "repo": "treefmt-nix", "type": "github" } - }, - "wrappers": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1769799671, - "narHash": "sha256-b1LwqiIjgNLw6/aJlOwIqe1mfqc4PQqeRpKOo5sFWu0=", - "owner": "lassulus", - "repo": "wrappers", - "rev": "8bef93dddd89a0b45486d5cd9f0bdd5ce8aceced", - "type": "github" - }, - "original": { - "owner": "lassulus", - "repo": "wrappers", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 76e4923..00d0071 100644 --- a/flake.nix +++ b/flake.nix @@ -21,8 +21,8 @@ }; }; - auto-cpufreq = { - url = "github:AdnanHodzic/auto-cpufreq"; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -54,17 +54,11 @@ url = "git+https://gitea.garandplg.com/GarandPLG/garandos-tui?ref=main"; inputs.nixpkgs.follows = "nixpkgs"; }; - - wrappers = { - url = "github:lassulus/wrappers"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { nixpkgs, nix-flatpak, - auto-cpufreq, garandos-tui, ... } @ inputs: let @@ -91,7 +85,6 @@ modules = [ ./profiles/${profile} nix-flatpak.nixosModules.nix-flatpak - auto-cpufreq.nixosModules.default garandos-tui.nixosModules.garandos-tui ]; }; diff --git a/hosts/Garand-Desktop/home-modules.nix b/hosts/Garand-Desktop/home-modules.nix index d806f93..dda1a64 100644 --- a/hosts/Garand-Desktop/home-modules.nix +++ b/hosts/Garand-Desktop/home-modules.nix @@ -20,7 +20,6 @@ _: { btop.enable = true; # Btop: a resource monitor for the terminal cava.enable = false; # Cava: terminal audio visualizer fastfetch.enable = true; # Fastfetch: a fast system information tool - peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal /* Communication and synchronization diff --git a/hosts/Garand-Desktop/variables.nix b/hosts/Garand-Desktop/variables.nix index 215be4d..3223cc4 100644 --- a/hosts/Garand-Desktop/variables.nix +++ b/hosts/Garand-Desktop/variables.nix @@ -23,22 +23,11 @@ # Inside the quotes, create a new line for each monitor. extraMonitorSettings = "monitor = DP-1,1920x1080@144,auto,1"; - # Waybar Settings - clock24h = true; - - # Program Options - # Set Default Browser (google-chrome-stable for google-chrome) - # This does NOT install your browser - # You need to install it by adding it to the `packages.nix` - # or as a flatpak - browser = "librewolf"; - - # Setting it here does not enable it. Kitty is installed by default - terminal = "kitty"; # Set Default System Terminal - keyboardLayout = "pl"; consoleKeyMap = "pl"; + location = "Żywiec, PL"; + # For Nvidia Prime support intelID = "PCI:1:0:0"; nvidiaID = "PCI:0:2:0"; @@ -53,44 +42,19 @@ # This will set your color palette # Default background # Add new images to ~/garandos/wallpapers - stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg; - #stylixImage = ../../wallpapers/DW_Pacts.jpg; - #stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg; - #stylixImage = ../../wallpapers/fire-nation.jpg; - #stylixImage = ../../wallpapers/four-elements.jpg; - #stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png; - #stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg; - #stylixImage = ../../wallpapers/jablon.jpg; - #stylixImage = ../../wallpapers/rammstein-log-two.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-one.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-three.jpg; - #stylixImage = ../../wallpapers/rammstein-one.jpg; - #stylixImage = ../../wallpapers/1346530.jpeg; - - # Set Waybar - # Available Options: - waybarChoice = ../../modules/home/waybar/waybar-curved.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix; - #waybarChoice = ../../modules/home/waybar/waybar-simple.nix; - # Throwback to GarandOS v1.0 - #waybarChoice = ../../modules/home/waybar/waybar-jerry.nix; - # Very colorful and bright colors - #waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix; - # DWM styled waybars from Matt at TheLinuxCast - #waybarChoice = ../../modules/home/waybar/waybar-dwm.nix; - #waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix; - - # Set Animation style - # Available options are: - # animations-def.nix (default) - # animations-end4.nix (end-4 project very fluid) - # animations-dynamic.nix (ml4w project) - # animations-moving.nix (ml4w project) - # animChoice = ../../modules/home/hyprland/animations-def.nix; - animChoice = ../../modules/home/hyprland/animations-end4.nix; - #animChoice = ../../modules/home/hyprland/animations-dynamic.nix; - #animChoice = ../../modules/home/hyprland/animations-moving.nix; + stylixImage = "attack-on-titan-mikasa-ackerman.jpg"; + #stylixImage = "DW_Pacts.jpg"; + #stylixImage = "edward-elric-fullmetal-alchemist.jpg"; + #stylixImage = "fire-nation.jpg"; + #stylixImage = "four-elements.jpg"; + #stylixImage = "fullmetal-alchemist-5120x2880-10399.png"; + #stylixImage = "Grounded_Wallpaper_4K.jpg"; + #stylixImage = "jablon.jpg"; + #stylixImage = "rammstein-log-two.jpg"; + #stylixImage = "rammstein-logo-one.jpg"; + #stylixImage = "rammstein-logo-three.jpg"; + #stylixImage = "rammstein-one.jpg"; + #stylixImage = "1346530.jpeg"; # Set network hostId if required (needed for zfs) # Otherwise leave as-is diff --git a/hosts/Garand-Laptop/home-modules.nix b/hosts/Garand-Laptop/home-modules.nix index d806f93..dda1a64 100644 --- a/hosts/Garand-Laptop/home-modules.nix +++ b/hosts/Garand-Laptop/home-modules.nix @@ -20,7 +20,6 @@ _: { btop.enable = true; # Btop: a resource monitor for the terminal cava.enable = false; # Cava: terminal audio visualizer fastfetch.enable = true; # Fastfetch: a fast system information tool - peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal /* Communication and synchronization diff --git a/hosts/Garand-Laptop/variables.nix b/hosts/Garand-Laptop/variables.nix index 15bd6f0..e321bae 100644 --- a/hosts/Garand-Laptop/variables.nix +++ b/hosts/Garand-Laptop/variables.nix @@ -23,22 +23,11 @@ # Inside the quotes, create a new line for each monitor. extraMonitorSettings = "monitor = eDP-1,1920x1080@60,auto,1"; - # Waybar Settings - clock24h = true; - - # Program Options - # Set Default Browser (google-chrome-stable for google-chrome) - # This does NOT install your browser - # You need to install it by adding it to the `packages.nix` - # or as a flatpak - browser = "librewolf"; - - # Setting it here does not enable it. Kitty is installed by default - terminal = "kitty"; # Set Default System Terminal - keyboardLayout = "pl"; consoleKeyMap = "pl"; + location = "Żywiec, PL"; + # For Nvidia Prime support intelID = "PCI:1:0:0"; nvidiaID = "PCI:0:2:0"; @@ -49,51 +38,23 @@ # Enable Printing Support printEnable = false; - # Themes, waybar and animation. - # Only uncomment your selection - # The others much be commented out. - # Set Stylix Image # This will set your color palette # Default background # Add new images to ~/garandos/wallpapers - stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg; - #stylixImage = ../../wallpapers/DW_Pacts.jpg; - #stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg; - #stylixImage = ../../wallpapers/fire-nation.jpg; - #stylixImage = ../../wallpapers/four-elements.jpg; - #stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png; - #stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg; - #stylixImage = ../../wallpapers/jablon.jpg; - #stylixImage = ../../wallpapers/rammstein-log-two.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-one.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-three.jpg; - #stylixImage = ../../wallpapers/rammstein-one.jpg; - #stylixImage = ../../wallpapers/1346530.jpeg; - - # Set Waybar - # Available Options: - waybarChoice = ../../modules/home/waybar/waybar-curved.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix; - #waybarChoice = ../../modules/home/waybar/waybar-simple.nix; - #waybarChoice = ../../modules/home/waybar/waybar-jerry.nix; - # Very colorful and bright colors - #waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix; - # DWM styled waybars from Matt at TheLinuxCast - #waybarChoice = ../../modules/home/waybar/waybar-dwm.nix; - #waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix; - - # Set Animation style - # Available options are: - # animations-def.nix (default) - # animations-end4.nix (end-4 project very fluid) - # animations-dynamic.nix (ml4w project) - # animations-moving.nix (ml4w project) - # animChoice = ../../modules/home/hyprland/animations-def.nix; - animChoice = ../../modules/home/hyprland/animations-end4.nix; - #animChoice = ../../modules/home/hyprland/animations-dynamic.nix; - #animChoice = ../../modules/home/hyprland/animations-moving.nix; + stylixImage = "attack-on-titan-mikasa-ackerman.jpg"; + #stylixImage = "DW_Pacts.jpg"; + #stylixImage = "edward-elric-fullmetal-alchemist.jpg"; + #stylixImage = "fire-nation.jpg"; + #stylixImage = "four-elements.jpg"; + #stylixImage = "fullmetal-alchemist-5120x2880-10399.png"; + #stylixImage = "Grounded_Wallpaper_4K.jpg"; + #stylixImage = "jablon.jpg"; + #stylixImage = "rammstein-log-two.jpg"; + #stylixImage = "rammstein-logo-one.jpg"; + #stylixImage = "rammstein-logo-three.jpg"; + #stylixImage = "rammstein-one.jpg"; + #stylixImage = "1346530.jpeg"; # Set network hostId if required (needed for zfs) # Otherwise leave as-is diff --git a/hosts/default/home-modules.nix b/hosts/default/home-modules.nix index d806f93..dda1a64 100644 --- a/hosts/default/home-modules.nix +++ b/hosts/default/home-modules.nix @@ -20,7 +20,6 @@ _: { btop.enable = true; # Btop: a resource monitor for the terminal cava.enable = false; # Cava: terminal audio visualizer fastfetch.enable = true; # Fastfetch: a fast system information tool - peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal /* Communication and synchronization diff --git a/hosts/default/variables.nix b/hosts/default/variables.nix index 6473a64..2f3057d 100644 --- a/hosts/default/variables.nix +++ b/hosts/default/variables.nix @@ -25,22 +25,11 @@ "; - # Waybar Settings - clock24h = true; - - # Program Options - # Set Default Browser (google-chrome-stable for google-chrome) - # This does NOT install your browser - # You need to install it by adding it to the `packages.nix` - # or as a flatpak - browser = "librewolf"; - - # Setting it here does not enable it. Kitty is installed by default - terminal = "kitty"; # Set Default System Terminal - keyboardLayout = "pl"; consoleKeyMap = "pl"; + location = "Warszawa, PL"; + # For Nvidia Prime support intelID = "PCI:1:0:0"; nvidiaID = "PCI:0:2:0"; @@ -59,44 +48,19 @@ # This will set your color palette # Default background # Add new images to ~/garandos/wallpapers - stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg; - #stylixImage = ../../wallpapers/DW_Pacts.jpg; - #stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg; - #stylixImage = ../../wallpapers/fire-nation.jpg; - #stylixImage = ../../wallpapers/four-elements.jpg; - #stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png; - #stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg; - #stylixImage = ../../wallpapers/jablon.jpg; - #stylixImage = ../../wallpapers/rammstein-log-two.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-one.jpg; - #stylixImage = ../../wallpapers/rammstein-logo-three.jpg; - #stylixImage = ../../wallpapers/rammstein-one.jpg; - #stylixImage = ../../wallpapers/1346530.jpeg; - - # Set Waybar - # Available Options: - waybarChoice = ../../modules/home/waybar/waybar-curved.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix; - #waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix; - #waybarChoice = ../../modules/home/waybar/waybar-simple.nix; - # Throwback to GarandOS v1.0 - #waybarChoice = ../../modules/home/waybar/waybar-jerry.nix; - # Very colorful and bright colors - #waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix; - # DWM styled waybars from Matt at TheLinuxCast - #waybarChoice = ../../modules/home/waybar/waybar-dwm.nix; - #waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix; - - # Set Animation style - # Available options are: - # animations-def.nix (default) - # animations-end4.nix (end-4 project very fluid) - # animations-dynamic.nix (ml4w project) - # animations-moving.nix (ml4w project) - animChoice = ../../modules/home/hyprland/animations-def.nix; - #animChoice = ../../modules/home/hyprland/animations-end4.nix; - #animChoice = ../../modules/home/hyprland/animations-dynamic.nix; - #animChoice = ../../modules/home/hyprland/animations-moving.nix; + stylixImage = "attack-on-titan-mikasa-ackerman.jpg"; + #stylixImage = "DW_Pacts.jpg"; + #stylixImage = "edward-elric-fullmetal-alchemist.jpg"; + #stylixImage = "fire-nation.jpg"; + #stylixImage = "four-elements.jpg"; + #stylixImage = "fullmetal-alchemist-5120x2880-10399.png"; + #stylixImage = "Grounded_Wallpaper_4K.jpg"; + #stylixImage = "jablon.jpg"; + #stylixImage = "rammstein-log-two.jpg"; + #stylixImage = "rammstein-logo-one.jpg"; + #stylixImage = "rammstein-logo-three.jpg"; + #stylixImage = "rammstein-one.jpg"; + #stylixImage = "1346530.jpeg"; # Set network hostId if required (needed for zfs) # Otherwise leave as-is diff --git a/modules/core/auto-cpufreq.nix b/modules/core/auto-cpufreq.nix deleted file mode 100644 index 838bef1..0000000 --- a/modules/core/auto-cpufreq.nix +++ /dev/null @@ -1,16 +0,0 @@ -_: { - programs.auto-cpufreq = { - enable = true; - settings = { - charger = { - governor = "performance"; - turbo = "auto"; - }; - - battery = { - governor = "powersave"; - turbo = "auto"; - }; - }; - }; -} diff --git a/modules/core/default.nix b/modules/core/default.nix index 4995b8d..3a1ab56 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -1,7 +1,6 @@ {inputs, ...}: { imports = [ ./packages - ./auto-cpufreq.nix ./boot.nix ./docker.nix ./flatpak.nix @@ -12,6 +11,7 @@ ./nfs.nix ./nh.nix ./printing.nix + ./quickshell.nix ./greetd.nix ./security.nix ./services.nix diff --git a/modules/core/packages/essentials.nix b/modules/core/packages/essentials.nix index 308fcc3..6ee900d 100644 --- a/modules/core/packages/essentials.nix +++ b/modules/core/packages/essentials.nix @@ -53,5 +53,20 @@ hunspell hunspellDicts.pl_PL hunspellDicts.en_US + # Noctalia Shell Dependencies + matugen + app2unit + gpu-screen-recorder + # hyprland + swww + grim + slurp + wl-clipboard + swappy + ydotool + hyprpolkitagent + hyprland-qtutils # needed for banners and ANR messages + # pyprland + pyprland ]; } diff --git a/modules/core/packages/programs.nix b/modules/core/packages/programs.nix index f8a5698..18af63f 100644 --- a/modules/core/packages/programs.nix +++ b/modules/core/packages/programs.nix @@ -9,7 +9,6 @@ _: { seahorse.enable = true; fuse.userAllowOther = true; mtr.enable = true; - hyprlock.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; diff --git a/modules/core/quickshell.nix b/modules/core/quickshell.nix new file mode 100644 index 0000000..b7d0651 --- /dev/null +++ b/modules/core/quickshell.nix @@ -0,0 +1,30 @@ +{pkgs, ...}: { + environment = { + systemPackages = with pkgs; [ + quickshell + + # Qt6 related kits(for slove Qt5Compat problem) + qt6.qt5compat + qt6.qtbase + qt6.qtquick3d + qt6.qtwayland + qt6.qtdeclarative + qt6.qtsvg + + # alternate options + # libsForQt5.qt5compat + kdePackages.qt5compat + libsForQt5.qt5.qtgraphicaleffects + ]; + # necessary environment variables + variables = { + QML_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml"; + QML2_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml"; + }; + # make sure the Qt application is working properly + sessionVariables = { + QT_QPA_PLATFORM = "wayland;xcb"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + }; + }; +} diff --git a/modules/core/services.nix b/modules/core/services.nix index 2418dae..a269864 100644 --- a/modules/core/services.nix +++ b/modules/core/services.nix @@ -1,4 +1,8 @@ -{profile, ...}: { +{ + profile, + pkgs, + ... +}: { # Services to start services = { libinput.enable = true; # Input Handling @@ -13,10 +17,11 @@ }; ports = [22]; }; - blueman.enable = true; # Bluetooth Support tumbler.enable = true; # Image/video preview - gnome.gnome-keyring.enable = true; - + gnome = { + gnome-keyring.enable = true; + evolution-data-server.enable = true; + }; smartd = { enable = if profile == "vm" @@ -53,5 +58,13 @@ ]; }; }; + upower = { + enable = true; + package = pkgs.upower; + }; + power-profiles-daemon = { + enable = true; + package = pkgs.power-profiles-daemon; + }; }; } diff --git a/modules/core/stylix.nix b/modules/core/stylix.nix index 3ed5d35..128f862 100644 --- a/modules/core/stylix.nix +++ b/modules/core/stylix.nix @@ -8,25 +8,7 @@ in { # Styling Options stylix = { enable = true; - image = stylixImage; - # base16Scheme = { - # base00 = "282936"; - # base01 = "3a3c4e"; - # base02 = "4d4f68"; - # base03 = "626483"; - # base04 = "62d6e8"; - # base05 = "e9e9f4"; - # base06 = "f1f2f8"; - # base07 = "f7f7fb"; - # base08 = "ea51b2"; - # base09 = "b45bcf"; - # base0A = "00f769"; - # base0B = "ebff87"; - # base0C = "a1efe4"; - # base0D = "62d6e8"; - # base0E = "b45bcf"; - # base0F = "00f769"; - # }; + image = ../../wallpapers/${stylixImage}; polarity = "dark"; opacity.terminal = 1.0; cursor = { @@ -36,16 +18,16 @@ in { }; fonts = { monospace = { - package = pkgs.nerd-fonts.jetbrains-mono; - name = "JetBrains Mono"; + package = pkgs.nerd-fonts.fira-mono; + name = "FiraCode Nerd Font Mono"; }; sansSerif = { - package = pkgs.montserrat; - name = "Montserrat"; + package = pkgs.nerd-fonts.fira-code; + name = "FiraCode Nerd Font Propo"; }; serif = { - package = pkgs.montserrat; - name = "Montserrat"; + package = pkgs.nerd-fonts.fira-code; + name = "FiraCode Nerd Font"; }; sizes = { applications = 12; diff --git a/modules/core/user.nix b/modules/core/user.nix index d68c920..be87df3 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -24,7 +24,11 @@ in { ; }; users.${username} = { - imports = [./../home ../../hosts/${host}/home-modules.nix]; + imports = [ + ./../home + ../../hosts/${host}/home-modules.nix + inputs.noctalia.homeModules.default + ]; home = { username = "${username}"; homeDirectory = "/home/${username}"; diff --git a/modules/home/bash/aliases.nix b/modules/home/bash/aliases.nix index 2033851..57d36e7 100644 --- a/modules/home/bash/aliases.nix +++ b/modules/home/bash/aliases.nix @@ -22,8 +22,8 @@ pm = "uv run manage.py"; f8 = "uv run flake8 ."; bbr = "bun --bun run"; + "ga." = "git add ."; mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt"; - zed = "MANGOHUD=0 /home/${username}/.local/bin/zed"; # Development aliases for nix flake nd = "nix develop"; diff --git a/modules/home/default.nix b/modules/home/default.nix index 85ce98e..e145da3 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -1,6 +1,4 @@ -{host, ...}: let - inherit (import ../../hosts/${host}/variables.nix) waybarChoice; -in { +_: { imports = [ ./bash ./chromium @@ -8,13 +6,9 @@ in { ./hyprland ./kitty ./librewolf - ./peaclock - ./rofi + ./noctalia ./scripts - ./swaync ./vscodium - waybarChoice - ./wlogout ./xdg ./zed ./anki.nix diff --git a/modules/home/fastfetch/garandos.png b/modules/home/fastfetch/garandos.png index a588b63..09ea857 100644 Binary files a/modules/home/fastfetch/garandos.png and b/modules/home/fastfetch/garandos.png differ diff --git a/modules/home/hyprland/animations-def.nix b/modules/home/hyprland/animations-def.nix deleted file mode 100644 index f15dd3d..0000000 --- a/modules/home/hyprland/animations-def.nix +++ /dev/null @@ -1,20 +0,0 @@ -_: { - wayland.windowManager.hyprland.settings.animations = { - enabled = true; - bezier = [ - "wind, -1.05, 0.9, 0.1, 1.05" - "winIn, -1.1, 1.1, 0.1, 1.1" - "winOut, -1.3, -0.3, 0, 1" - "liner, 0, 1, 1, 1" - ]; - animation = [ - "windows, 0, 6, wind, slide" - "windowsIn, 0, 6, winIn, slide" - "windowsOut, 0, 5, winOut, slide" - "windowsMove, 0, 5, wind, slide" - "border, 0, 1, liner" - "fade, 0, 10, default" - "workspaces, 0, 5, wind" - ]; - }; -} diff --git a/modules/home/hyprland/animations-dynamic.nix b/modules/home/hyprland/animations-dynamic.nix deleted file mode 100644 index 64bb7dc..0000000 --- a/modules/home/hyprland/animations-dynamic.nix +++ /dev/null @@ -1,22 +0,0 @@ -_: { - # name "Dynamic" - wayland.windowManager.hyprland.settings.animations = { - enabled = true; - bezier = [ - "wind, 0.05, 0.9, 0.1, 1.05" - "winIn, 0.1, 1.1, 0.1, 1.1" - "winOut, 0.3, -0.3, 0, 1" - "liner, 1, 1, 1, 1" - ]; - animation = [ - "windows, 1, 6, wind, slide" - "windowsIn, 1, 6, winIn, slide" - "windowsOut, 1, 5, winOut, slide" - "windowsMove, 1, 5, wind, slide" - "border, 1, 1, liner" - "borderangle, 1, 30, liner, loop" - "fade, 1, 10, default" - "workspaces, 1, 5, wind" - ]; - }; -} diff --git a/modules/home/hyprland/animations-moving.nix b/modules/home/hyprland/animations-moving.nix deleted file mode 100644 index 0b25c03..0000000 --- a/modules/home/hyprland/animations-moving.nix +++ /dev/null @@ -1,21 +0,0 @@ -_: { - # name "moving" - wayland.windowManager.hyprland.settings.animations = { - enabled = true; - bezier = [ - "overshot, 0.05, 0.9, 0.1, 1.05" - "smoothOut, 0.5, 0, 0.99, 0.99" - "smoothIn, 0.5, -0.5, 0.68, 1.5" - ]; - animation = [ - "windows, 1, 5, overshot, slide" - "windowsOut, 1, 3, smoothOut" - "windowsIn, 1, 3, smoothOut" - "windowsMove, 1, 4, smoothIn, slide" - "border, 1, 5, default" - "fade, 1, 5, smoothIn" - "fadeDim, 1, 5, smoothIn" - "workspaces, 1, 6, default" - ]; - }; -} diff --git a/modules/home/hyprland/animations-end4.nix b/modules/home/hyprland/animations.nix similarity index 98% rename from modules/home/hyprland/animations-end4.nix rename to modules/home/hyprland/animations.nix index a1365b2..ececa45 100644 --- a/modules/home/hyprland/animations-end4.nix +++ b/modules/home/hyprland/animations.nix @@ -1,5 +1,4 @@ _: { - # Name: END-4 wayland.windowManager.hyprland.settings.animations = { enabled = true; bezier = [ diff --git a/modules/home/hyprland/binds.nix b/modules/home/hyprland/binds.nix index 9804396..8a85883 100644 --- a/modules/home/hyprland/binds.nix +++ b/modules/home/hyprland/binds.nix @@ -1,165 +1,160 @@ { - host, + lib, username, ... }: let - inherit (import ../../../hosts/${host}/variables.nix) browser terminal; desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/"; + + mainBinds = [ + "SUPER, A, exec, anki #\"Flashcard learning application\"" + "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, G, exec, affinity-v3 #\"Graphics editor\"" + "SUPER, I, exec, iotas #\"Note-taking app\"" + "SUPER, J, exec, Jan #\"Local AI chat interface\"" + "SUPER, K, exec, galculator #\"Scientific calculator\"" + "SUPER, L, exec, logseq #\"Knowledge management tool\"" + "SUPER, M, exec, plexamp #\"Music player for Plex\"" + "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, Return, exec, kitty #\"Kitty terminal\"" + "SUPER, S, exec, steam #\"Steam Game launcher\"" + "SUPER, T, exec, thunar #\"File manager\"" + "SUPER, V, exec, codium #\"VS Codium\"" + "SUPER, W, exec, librewolf #\"Main Web browser (Librewolf)\"" + "SUPER, Z, exec, zeditor #\"Zed IDE\"" + ]; + + shiftBinds = [ + "SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\"" + "SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\"" + "SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\"" + "SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop #\"Facebook Messenger client\"" + "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, screenshootin #\"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\"" + ]; + + altBinds = [ + "SUPER ALT, C, exec, noctalia-shell ipc call controlCenter toggle #\"Toggle control center\"" + "SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop #\"Glance server panel\"" + "SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop #\"Mastodon social network client\"" + "SUPER ALT, P, exec, noctalia-shell ipc call settings toggle #\"Open settings panel\"" + "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\"" + ]; + + controlBinds = [ + "SUPER CONTROL, C, exec, noctalia-shell ipc call powerProfile 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, S, exec, signal-desktop #\"Signal encrypted messaging\"" + "SUPER CONTROL, P, exec, hyprpicker -a #\"Pick color from screen\"" + ]; + + windowManagementBinds = [ + "SUPER, F, fullscreen, #\"Toggle fullscreen mode\"" + "SUPER, Q, killactive, #\"Close active window\"" + "SUPER SHIFT, I, togglesplit, #\"Toggle split layout\"" + "SUPER SHIFT, F, togglefloating, #\"Toggle floating mode\"" + ]; + + windowFocusBinds = [ + "SUPER, down, movefocus, d #\"Move focus down\"" + "SUPER, left, movefocus, l #\"Move focus left\"" + "SUPER, right, movefocus, r #\"Move focus right\"" + "SUPER, up, movefocus, u #\"Move focus up\"" + ]; + + windowMovementBinds = [ + "SUPER SHIFT, down, movewindow, d #\"Move window down\"" + "SUPER SHIFT, left, movewindow, l #\"Move window left\"" + "SUPER SHIFT, right, movewindow, r #\"Move window right\"" + "SUPER SHIFT, up, movewindow, u #\"Move window up\"" + ]; + + windowSwapBinds = [ + "SUPER ALT, down, swapwindow, d #\"Swap active window with window below\"" + "SUPER ALT, left, swapwindow, l #\"Swap active window with window on the left\"" + "SUPER ALT, right, swapwindow, r #\"Swap active window with window on the right\"" + "SUPER ALT, up, swapwindow, u #\"Swap active window with window above\"" + ]; + + workspacesSwitchBinds = [ + "SUPER, 0, workspace, 10 #\"Switch to workspace 10\"" + "SUPER, 1, workspace, 1 #\"Switch to workspace 1\"" + "SUPER, 2, workspace, 2 #\"Switch to workspace 2\"" + "SUPER, 3, workspace, 3 #\"Switch to workspace 3\"" + "SUPER, 4, workspace, 4 #\"Switch to workspace 4\"" + "SUPER, 5, workspace, 5 #\"Switch to workspace 5\"" + "SUPER, 6, workspace, 6 #\"Switch to workspace 6\"" + "SUPER, 7, workspace, 7 #\"Switch to workspace 7\"" + "SUPER, 8, workspace, 8 #\"Switch to workspace 8\"" + "SUPER, 9, workspace, 9 #\"Switch to workspace 9\"" + "SUPER CONTROL, left, workspace, e-1 #\"Switch to previous workspace\"" + "SUPER CONTROL, right, workspace, e+1 #\"Switch to next workspace\"" + "SUPER, mouse_down, workspace, e+1 #\"Switch to next workspace with mouse\"" + "SUPER, mouse_up, workspace, e-1 #\"Switch to previous workspace with mouse\"" + ]; + + workspacesSwapBinds = [ + "SUPER SHIFT, 0, movetoworkspace, 10 #\"Move active window to workspace 10\"" + "SUPER SHIFT, 1, movetoworkspace, 1 #\"Move active window to workspace 1\"" + "SUPER SHIFT, 2, movetoworkspace, 2 #\"Move active window to workspace 2\"" + "SUPER SHIFT, 3, movetoworkspace, 3 #\"Move active window to workspace 3\"" + "SUPER SHIFT, 4, movetoworkspace, 4 #\"Move active window to workspace 4\"" + "SUPER SHIFT, 5, movetoworkspace, 5 #\"Move active window to workspace 5\"" + "SUPER SHIFT, 6, movetoworkspace, 6 #\"Move active window to workspace 6\"" + "SUPER SHIFT, 7, movetoworkspace, 7 #\"Move active window to workspace 7\"" + "SUPER SHIFT, 8, movetoworkspace, 8 #\"Move active window to workspace 8\"" + "SUPER SHIFT, 9, movetoworkspace, 9 #\"Move active window to workspace 9\"" + ]; + + systemMediaAndControllsBinds = [ + ",XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #\"Lower system volume\"" + ",XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #\"Mute audio output\"" + ",XF86AudioNext, exec, noctalia-shell ipc call media next #\"Next media track\"" + ",XF86AudioPause, exec, noctalia-shell ipc call media pause #\"Pause media playback\"" + ",XF86AudioPlay, exec, noctalia-shell ipc call media play #\"Play 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\"" + ]; + + mkBlock = header: lines: + lib.concatLines ( + ["# ${header}"] + ++ (map (l: "bind = ${l}") lines) + ); + + fullConfig = lib.concatLines [ + "" + (mkBlock "1. MAIN APPS" mainBinds) + (mkBlock "2. SHIFT APPS" shiftBinds) + (mkBlock "3. ALT APPS" altBinds) + (mkBlock "4. CONTROL APPS" controlBinds) + (mkBlock "5. WINDOW MANAGEMENT" windowManagementBinds) + (mkBlock "6. WINDOWS FOCUS" windowFocusBinds) + (mkBlock "7. WINDOWS MOVEMENT" windowMovementBinds) + (mkBlock "8. WINDOWS SWAP" windowSwapBinds) + (mkBlock "9. WORKSPACES SWITCH" workspacesSwitchBinds) + (mkBlock "10. WORKSPACES SWAP" workspacesSwapBinds) + (mkBlock "11. SYSTEM MEDIA & CONTROLS" systemMediaAndControllsBinds) + ]; in { wayland.windowManager.hyprland.settings = { - bind = [ - # ============================================================================= - # APLIKACJE - GŁÓWNE - # ============================================================================= - "SUPER, A, exec, anki" - "SUPER, B, exec, bitwarden" - "SUPER, C, exec, chromium" - "SUPER, D, exec, vesktop" - "SUPER, G, exec, affinity-v3" - "SUPER, I, exec, iotas" - "SUPER, J, exec, Jan" - "SUPER, L, exec, logseq" - "SUPER, M, exec, plexamp" - "SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop" - "SUPER, O, exec, obs" - "SUPER, P, exec, plex-desktop" - "SUPER, Return, exec, ${terminal}" - "SUPER, S, exec, steam" - "SUPER, T, exec, thunar" - "SUPER, V, exec, codium" - "SUPER, W, exec, ${browser}" - "SUPER, Z, exec, zeditor" - - # ============================================================================= - # APLIKACJE - Z SHIFT - # ============================================================================= - "SUPER SHIFT, B, exec, blueman-manager" - "SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop" - "SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop" - "SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop" - "SUPER SHIFT, N, exec, nextcloud" - "SUPER SHIFT, O, exec, onlyoffice-desktopeditors" - "SUPER SHIFT, Return, exec, rofi-launcher" - "SUPER SHIFT, T, exec, tutanota-desktop" - "SUPER SHIFT, W, exec, web-search" - - # ============================================================================= - # APLIKACJE - Z ALT - # ============================================================================= - "SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop" - "SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop" - "SUPER ALT, S, exec, slack" - "SUPER ALT, T, exec, gedit" - - # ============================================================================= - # APLIKACJE - Z CONTROL - # ============================================================================= - "SUPER CONTROL, G, exec, gimp" - "SUPER CONTROL, M, exec, mattermost-desktop" - "SUPER CONTROL, S, exec, signal-desktop" - - # ============================================================================= - # NARZĘDZIA SYSTEMOWE - # ============================================================================= - "SUPER, E, exec, emopicker9000" - "SUPER, K, exec, galculator" - "SUPER ALT, W, exec, wallsetter" - "SUPER CONTROL, P, exec, hyprpicker -a" - "SUPER SHIFT, K, exec, list-keybinds" - "SUPER SHIFT, P, exec, pavucontrol" - "SUPER SHIFT, S, exec, screenshootin" - - # ============================================================================= - # ZARZĄDZANIE OKNAMI - # ============================================================================= - "SUPER, Escape, exec, hyprlock" - "SUPER, F, fullscreen," - "SUPER, Q, killactive," - "SUPER CONTROL, Escape, exec, wlogout" - "SUPER SHIFT, Escape, exit," - "SUPER SHIFT, I, togglesplit," - "SUPER SHIFT, F, togglefloating," - - # ============================================================================= - # FOKUS OKIEN - # ============================================================================= - "SUPER, down, movefocus, d" - "SUPER, left, movefocus, l" - "SUPER, right, movefocus, r" - "SUPER, up, movefocus, u" - - # ============================================================================= - # PRZEMIESZCZANIE OKIEN - # ============================================================================= - "SUPER SHIFT, down, movewindow, d" - "SUPER SHIFT, left, movewindow, l" - "SUPER SHIFT, right, movewindow, r" - "SUPER SHIFT, up, movewindow, u" - - # ============================================================================= - # ZAMIANA OKIEN - # ============================================================================= - "SUPER ALT, down, swapwindow, d" - "SUPER ALT, left, swapwindow, l" - "SUPER ALT, right, swapwindow, r" - "SUPER ALT, up, swapwindow, u" - - # ============================================================================= - # WORKSPACES - PRZEŁĄCZANIE - # ============================================================================= - "SUPER, 0, workspace, 10" - "SUPER, 1, workspace, 1" - "SUPER, 2, workspace, 2" - "SUPER, 3, workspace, 3" - "SUPER, 4, workspace, 4" - "SUPER, 5, workspace, 5" - "SUPER, 6, workspace, 6" - "SUPER, 7, workspace, 7" - "SUPER, 8, workspace, 8" - "SUPER, 9, workspace, 9" - "SUPER CONTROL, left, workspace, e-1" - "SUPER CONTROL, right, workspace, e+1" - "SUPER, mouse_down, workspace, e+1" - "SUPER, mouse_up, workspace, e-1" - - # ============================================================================= - # WORKSPACES - PRZENOSZENIE OKIEN - # ============================================================================= - "SUPER SHIFT, 0, movetoworkspace, 10" - "SUPER SHIFT, 1, movetoworkspace, 1" - "SUPER SHIFT, 2, movetoworkspace, 2" - "SUPER SHIFT, 3, movetoworkspace, 3" - "SUPER SHIFT, 4, movetoworkspace, 4" - "SUPER SHIFT, 5, movetoworkspace, 5" - "SUPER SHIFT, 6, movetoworkspace, 6" - "SUPER SHIFT, 7, movetoworkspace, 7" - "SUPER SHIFT, 8, movetoworkspace, 8" - "SUPER SHIFT, 9, movetoworkspace, 9" - - # ============================================================================= - # MEDIA I KONTROLKI SYSTEMOWE - # ============================================================================= - ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - ",XF86AudioNext, exec, playerctl next" - ",XF86AudioPause, exec, playerctl play-pause" - ",XF86AudioPlay, exec, playerctl play-pause" - ",XF86AudioPrev, exec, playerctl previous" - ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" - ",XF86MonBrightnessDown, exec, brightnessctl set 5%-" - ",XF86MonBrightnessUp, exec, brightnessctl set +5%" - - # ============================================================================= - # NIEUŻYWANE KEYBINDY - # ============================================================================= - # "SUPER SHIFT, N, exec, swaync-client -rs" - # "SUPER, P, pseudo," - # "SUPER ALT,F, workspaceopt, allfloat" - # "SUPER SHIFT, SPACE, movetoworkspace, special" - # "SUPER, SPACE, togglespecialworkspace" - # "ALT,Tab,cyclenext" - # "ALT,Tab,bringactivetotop" - ]; + extraConfig = fullConfig; bindm = [ "SUPER, mouse:272, movewindow" diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix index ab286ca..57e6b4e 100644 --- a/modules/home/hyprland/default.nix +++ b/modules/home/hyprland/default.nix @@ -1,14 +1,11 @@ -{host, ...}: let - inherit (import ../../../hosts/${host}/variables.nix) animChoice; -in { +_: { imports = [ - animChoice + ./animations.nix ./binds.nix ./env.nix ./exec-once.nix ./hypridle.nix ./hyprland.nix - ./hyprlock.nix ./pyprland.nix ./windowrules.nix ]; diff --git a/modules/home/hyprland/env.nix b/modules/home/hyprland/env.nix index e848f36..d81a1b0 100644 --- a/modules/home/hyprland/env.nix +++ b/modules/home/hyprland/env.nix @@ -22,10 +22,6 @@ _: { "GDK_SCALE,1" "QT_SCALE_FACTOR,1" "EDITOR,nano" - # Set terminal and xdg_terminal_emulator to kitty - # To provent yazi from starting xterm when run from rofi menu - # You can set to your preferred terminal if you you like - # ToDo: Pull default terminal from config "TERMINAL,kitty" "XDG_TERMINAL_EMULATOR,kitty" ]; diff --git a/modules/home/hyprland/exec-once.nix b/modules/home/hyprland/exec-once.nix index b6e12f7..032c4f1 100644 --- a/modules/home/hyprland/exec-once.nix +++ b/modules/home/hyprland/exec-once.nix @@ -1,9 +1,4 @@ -{host, ...}: let - inherit - (import ../../../hosts/${host}/variables.nix) - stylixImage - ; -in { +_: { wayland.windowManager.hyprland.settings.exec-once = [ "wl-paste --type text --watch cliphist store" # Saves text "wl-paste --type image --watch cliphist store" # Saves images @@ -11,12 +6,10 @@ in { "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "systemctl --user start hyprpolkitagent" - "killall -q swww;sleep .5 && swww-daemon" - "killall -q waybar;sleep .5 && waybar" - "killall -q swaync;sleep .5 && swaync" - "#wallsetter &" - "pypr &" - "nm-applet --indicator" - "sleep 1.0 && swww img ${stylixImage}" + # "killall -q waybar" + # "pkill waybar" + # "killall -q swaync" + # "pkill swaync" + "noctalia-shell &" ]; } diff --git a/modules/home/hyprland/hypridle.nix b/modules/home/hyprland/hypridle.nix index e1036b0..5a65008 100644 --- a/modules/home/hyprland/hypridle.nix +++ b/modules/home/hyprland/hypridle.nix @@ -5,13 +5,8 @@ _: { general = { after_sleep_cmd = "hyprctl dispatch dpms on"; ignore_dbus_inhibit = false; - lock_cmd = "hyprlock"; }; listener = [ - { - timeout = 900; - on-timeout = "hyprlock"; - } { timeout = 1200; on-timeout = "hyprctl dispatch dpms off"; diff --git a/modules/home/hyprland/hyprland.nix b/modules/home/hyprland/hyprland.nix index 4bc4939..33ce7ab 100644 --- a/modules/home/hyprland/hyprland.nix +++ b/modules/home/hyprland/hyprland.nix @@ -94,10 +94,12 @@ in { decoration = { rounding = 10; + rounding_power = 2; blur = { enabled = true; size = 5; passes = 3; + vibrancy = 0.1696; ignore_opacity = false; new_optimizations = true; }; @@ -145,9 +147,7 @@ in { monitor=,preferred,auto,auto monitor=Virtual-1,1920x1080@60,auto,1 ${extraMonitorSettings} - # To enable blur on waybar uncomment the line below - # Thanks to SchotjeChrisman - #layerrule = blur,waybar + layerrule = blur on, blur_popups on, ignore_alpha 0.5, match:namespace noctalia-background-\.*$ "; }; } diff --git a/modules/home/hyprland/hyprlock.nix b/modules/home/hyprland/hyprlock.nix deleted file mode 100644 index 7feb66f..0000000 --- a/modules/home/hyprland/hyprlock.nix +++ /dev/null @@ -1,47 +0,0 @@ -{username, ...}: { - programs.hyprlock = { - enable = true; - settings = { - general = { - disable_loading_bar = true; - grace = 10; - hide_cursor = true; - no_fade_in = false; - }; - background = [ - { - path = "/home/${username}/Pictures/Wallpapers/four-elements.jpg"; - blur_passes = 3; - blur_size = 8; - } - ]; - image = [ - { - path = "/home/${username}/.config/face.jpg"; - size = 150; - border_size = 4; - border_color = "rgb(0C96F9)"; - rounding = -1; # Negative means circle - position = "0, 200"; - halign = "center"; - valign = "center"; - } - ]; - input-field = [ - { - size = "200, 50"; - position = "0, -80"; - monitor = ""; - dots_center = true; - fade_on_empty = false; - font_color = "rgb(CFE6F4)"; - inner_color = "rgb(657DC2)"; - outer_color = "rgb(0D0E15)"; - outline_thickness = 5; - placeholder_text = "Password..."; - shadow_passes = 2; - } - ]; - }; - }; -} diff --git a/modules/home/hyprland/windowrules.nix b/modules/home/hyprland/windowrules.nix index e89ab27..f46ec6d 100644 --- a/modules/home/hyprland/windowrules.nix +++ b/modules/home/hyprland/windowrules.nix @@ -30,11 +30,10 @@ _: { "tag +settings, match:class gnome-disks|wihotspot(-gui)?" "tag +settings, match:class [Rr]ofi" "tag +settings, match:class file-roller|org\.gnome\.FileRoller" - "tag +settings, match:class nm-applet|nm-connection-editor|blueman-manager" + "tag +settings, match:class nm-applet|nm-connection-editor" "tag +settings, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol" "tag +settings, match:class nwg-look|qt5ct|qt6ct|[Yy]ad" "tag +settings, match:class xdg-desktop-portal-gtk" - "tag +settings, match:class ?:blueman-manager-wrapped" "tag +settings, match:class nwg-displays" # Position and movement rules diff --git a/modules/home/noctalia/colors.nix b/modules/home/noctalia/colors.nix new file mode 100644 index 0000000..c9f001f --- /dev/null +++ b/modules/home/noctalia/colors.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + ... +}: let + stylix = config.stylix.base16Scheme; +in { + programs.noctalia-shell.colors = lib.mkForce { + mPrimary = "#${stylix.base04}"; + mOnPrimary = "#${stylix.base00}"; + + mSecondary = "#${stylix.base05}"; + mOnSecondary = "#${stylix.base00}"; + + mTertiary = "#${stylix.base03}"; + mOnTertiary = "#${stylix.base00}"; + + mError = "#${stylix.base02}"; + mOnError = "#${stylix.base00}"; + + mSurface = "#${stylix.base01}"; + mOnSurface = "#${stylix.base0E}"; + + mSurfaceVariant = "#${stylix.base00}"; + mOnSurfaceVariant = "#${stylix.base0A}"; + + mOutline = "#${stylix.base08}"; + mShadow = "#${stylix.base00}"; + + mOnHover = "#${stylix.base0B}"; + mHover = "#${stylix.base00}"; + }; +} diff --git a/modules/home/noctalia/default.nix b/modules/home/noctalia/default.nix new file mode 100644 index 0000000..f234e3c --- /dev/null +++ b/modules/home/noctalia/default.nix @@ -0,0 +1,21 @@ +{ + lib, + inputs, + system, + ... +}: { + programs.noctalia-shell = { + enable = true; + package = inputs.noctalia.packages.${system}.default.override { + calendarSupport = true; + }; + systemd.enable = true; + settings.settingsVersion = lib.mkForce 46; + }; + + imports = [ + ./settings + ./colors.nix + ./plugins.nix + ]; +} diff --git a/modules/home/noctalia/plugins.nix b/modules/home/noctalia/plugins.nix new file mode 100644 index 0000000..e96a533 --- /dev/null +++ b/modules/home/noctalia/plugins.nix @@ -0,0 +1,40 @@ +{lib, ...}: { + programs.noctalia-shell = lib.mkForce { + plugins = { + sources = [ + { + enabled = true; + name = "Noctalia Plugins"; + url = "https://github.com/noctalia-dev/noctalia-plugins"; + } + ]; + states = { + mini-docker = { + enabled = true; + sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; + }; + timer = { + enabled = true; + sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; + }; + keybind-cheatsheet = { + enabled = true; + sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; + }; + }; + version = 1; + }; + pluginSettings = { + mini-docker.refreshInterval = 5000; + timer.compactMode = true; + keybind-cheatsheet = { + niriConfigPath = "~/.config/niri/config.kdl"; + hyprlandConfigPath = "~/.config/hypr/hyprland.conf"; + modKeyVariable = "SUPER"; + windowHeight = 850; + windowWidth = 700; + autoHeight = true; + }; + }; + }; +} diff --git a/modules/home/noctalia/settings/app-launcher.nix b/modules/home/noctalia/settings/app-launcher.nix new file mode 100644 index 0000000..3da0c5c --- /dev/null +++ b/modules/home/noctalia/settings/app-launcher.nix @@ -0,0 +1,25 @@ +{lib, ...}: { + programs.noctalia-shell.settings.appLauncher = lib.mkForce { + enableClipboardHistory = true; + autoPasteClipboard = false; + enableClipPreview = true; + clipboardWrapText = true; + clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store"; + clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store"; + position = "center"; + pinnedApps = []; + useApp2Unit = true; + sortByMostUsed = true; + terminalCommand = "kitty -e"; + customLaunchPrefixEnabled = false; + customLaunchPrefix = ""; + viewMode = "list"; + showCategories = true; + iconMode = "native"; + showIconBackground = false; + enableSettingsSearch = true; + enableWindowsSearch = true; + ignoreMouseInput = false; + screenshotAnnotationTool = ""; + }; +} diff --git a/modules/home/noctalia/settings/audio.nix b/modules/home/noctalia/settings/audio.nix new file mode 100644 index 0000000..638b9e7 --- /dev/null +++ b/modules/home/noctalia/settings/audio.nix @@ -0,0 +1,11 @@ +{lib, ...}: { + programs.noctalia-shell.settings.audio = lib.mkForce { + "volumeStep" = 5; + "volumeOverdrive" = true; + "cavaFrameRate" = 144; + "visualizerType" = "linear"; + "mprisBlacklist" = []; + "preferredPlayer" = "mpv"; + "volumeFeedback" = false; + }; +} diff --git a/modules/home/noctalia/settings/bar/default.nix b/modules/home/noctalia/settings/bar/default.nix new file mode 100644 index 0000000..1572e07 --- /dev/null +++ b/modules/home/noctalia/settings/bar/default.nix @@ -0,0 +1,33 @@ +{ + lib, + username, + ... +}: { + programs.noctalia-shell.settings.bar = lib.mkForce { + barType = "simple"; + position = "top"; + monitors = []; + density = "default"; + showOutline = false; + showCapsule = true; + capsuleOpacity = 0; + backgroundOpacity = 0; + useSeparateOpacity = true; + floating = false; + marginVertical = 4; + marginHorizontal = 4; + frameThickness = 8; + frameRadius = 12; + outerCorners = true; + hideOnOverview = false; + displayMode = "always_visible"; + autoHideDelay = 500; + autoShowDelay = 150; + screenOverrides = []; + widgets = { + left = (import ./widgets/left.nix {}).left; + center = (import ./widgets/center.nix {}).center; + right = (import ./widgets/right.nix {inherit username;}).right; + }; + }; +} diff --git a/modules/home/noctalia/settings/bar/widgets/center.nix b/modules/home/noctalia/settings/bar/widgets/center.nix new file mode 100644 index 0000000..a501cbb --- /dev/null +++ b/modules/home/noctalia/settings/bar/widgets/center.nix @@ -0,0 +1,23 @@ +_: { + center = [ + { + id = "Workspace"; + characterCount = 2; + colorizeIcons = false; + emptyColor = "secondary"; + enableScrollWheel = true; + focusedColor = "primary"; + followFocusedScreen = false; + groupedBorderOpacity = 0; + hideUnoccupied = false; + iconScale = 1; + labelMode = "index"; + occupiedColor = "secondary"; + reverseScroll = false; + showApplications = true; + showBadge = true; + showLabelsOnlyWhenOccupied = true; + unfocusedIconsOpacity = 1; + } + ]; +} diff --git a/modules/home/noctalia/settings/bar/widgets/left.nix b/modules/home/noctalia/settings/bar/widgets/left.nix new file mode 100644 index 0000000..82c9d99 --- /dev/null +++ b/modules/home/noctalia/settings/bar/widgets/left.nix @@ -0,0 +1,57 @@ +_: { + left = [ + { + id = "Launcher"; + icon = "rocket"; + usePrimaryColor = true; + } + { + id = "Clock"; + customFont = ""; + formatHorizontal = "HH:mm:ss"; + formatVertical = "HH mm ss - ddd MMM d"; + tooltipFormat = "ddd MMM d HH:mm:ss"; + useCustomFont = false; + usePrimaryColor = false; + } + { + id = "SystemMonitor"; + compactMode = true; + diskPath = "/home"; + showCpuFreq = false; + showCpuTemp = false; + showCpuUsage = true; + showDiskAsFree = true; + showDiskUsage = true; + showGpuTemp = false; + showLoadAverage = false; + showMemoryAsPercent = false; + showMemoryUsage = true; + showNetworkStats = true; + showSwapUsage = false; + useMonospaceFont = true; + usePrimaryColor = false; + } + { + id = "plugin:mini-docker"; + } + { + id = "MediaMini"; + compactMode = true; + compactShowAlbumArt = true; + compactShowVisualizer = true; + hideMode = "hidden"; + hideWhenIdle = false; + maxWidth = 145; + panelShowAlbumArt = true; + panelShowVisualizer = true; + scrollingMode = "hover"; + showAlbumArt = true; + showArtistFirst = true; + showProgressRing = true; + showVisualizer = true; + useFixedWidth = false; + visualizerType = "linear"; + } + ]; +} diff --git a/modules/home/noctalia/settings/bar/widgets/right.nix b/modules/home/noctalia/settings/bar/widgets/right.nix new file mode 100644 index 0000000..8593e7b --- /dev/null +++ b/modules/home/noctalia/settings/bar/widgets/right.nix @@ -0,0 +1,61 @@ +{username, ...}: { + right = [ + { + id = "Tray"; + blacklist = []; + colorizeIcons = false; + drawerEnabled = false; + hidePassive = false; + pinned = []; + } + { + id = "plugin:keybind-cheatsheet"; + } + { + id = "plugin:timer"; + defaultSettings = { + compactMode = true; + defaultDuration = 0; + }; + } + { + id = "NotificationHistory"; + hideWhenZero = false; + hideWhenZeroUnread = false; + showUnreadBadge = true; + unreadBadgeColor = "primary"; + } + { + id = "Bluetooth"; + displayMode = "onhover"; + } + { + id = "Battery"; + deviceNativePath = "__default__"; + displayMode = "onhover"; + hideIfIdle = false; + hideIfNotDetected = true; + showNoctaliaPerformance = false; + showPowerProfiles = false; + warningThreshold = 30; + } + { + id = "Volume"; + displayMode = "alwaysShow"; + middleClickCommand = "pwvucontrol || pavucontrol"; + } + # { + # "id" = "Brightness"; + # "displayMode" = "onhover"; + # } + { + id = "ControlCenter"; + colorizeDistroLogo = false; + colorizeSystemIcon = "none"; + customIconPath = "/home/${username}/garandos/GarandOS.svg"; + enableColorization = false; + icon = "noctalia"; + useDistroLogo = false; + } + ]; +} diff --git a/modules/home/noctalia/settings/brightness.nix b/modules/home/noctalia/settings/brightness.nix new file mode 100644 index 0000000..518ace2 --- /dev/null +++ b/modules/home/noctalia/settings/brightness.nix @@ -0,0 +1,7 @@ +{lib, ...}: { + programs.noctalia-shell.settings.brightness = lib.mkForce { + brightnessStep = 5; + enforceMinimum = true; + enableDdcSupport = true; + }; +} diff --git a/modules/home/noctalia/settings/calendar.nix b/modules/home/noctalia/settings/calendar.nix new file mode 100644 index 0000000..d5cd351 --- /dev/null +++ b/modules/home/noctalia/settings/calendar.nix @@ -0,0 +1,16 @@ +{lib, ...}: { + programs.noctalia-shell.settings.calendar.cards = lib.mkForce [ + { + enabled = true; + id = "calendar-header-card"; + } + { + enabled = true; + id = "calendar-month-card"; + } + { + enabled = true; + id = "weather-card"; + } + ]; +} diff --git a/modules/home/noctalia/settings/color-schemes.nix b/modules/home/noctalia/settings/color-schemes.nix new file mode 100644 index 0000000..e7017e4 --- /dev/null +++ b/modules/home/noctalia/settings/color-schemes.nix @@ -0,0 +1,12 @@ +{lib, ...}: { + programs.noctalia-shell.settings.colorSchemes = lib.mkForce { + useWallpaperColors = false; + predefinedScheme = "Noctalia (default)"; + darkMode = true; + schedulingMode = "off"; + manualSunrise = "06:30"; + manualSunset = "18:30"; + generationMethod = "tonal-spot"; + monitorForColors = ""; + }; +} diff --git a/modules/home/noctalia/settings/control-center.nix b/modules/home/noctalia/settings/control-center.nix new file mode 100644 index 0000000..6724ddc --- /dev/null +++ b/modules/home/noctalia/settings/control-center.nix @@ -0,0 +1,62 @@ +{lib, ...}: { + programs.noctalia-shell.settings.controlCenter = lib.mkForce { + position = "close_to_bar_button"; + diskPath = "/home"; + shortcuts = { + left = [ + { + id = "Network"; + } + { + id = "Bluetooth"; + } + { + id = "WallpaperSelector"; + } + { + id = "NoctaliaPerformance"; + } + ]; + right = [ + { + id = "Notifications"; + } + { + id = "PowerProfile"; + } + { + id = "KeepAwake"; + } + { + id = "NightLight"; + } + ]; + }; + cards = [ + { + enabled = true; + id = "profile-card"; + } + { + enabled = true; + id = "shortcuts-card"; + } + { + enabled = true; + id = "audio-card"; + } + { + enabled = true; + id = "brightness-card"; + } + { + enabled = true; + id = "weather-card"; + } + { + enabled = true; + id = "media-sysmon-card"; + } + ]; + }; +} diff --git a/modules/home/noctalia/settings/default.nix b/modules/home/noctalia/settings/default.nix new file mode 100644 index 0000000..a84fe44 --- /dev/null +++ b/modules/home/noctalia/settings/default.nix @@ -0,0 +1,25 @@ +_: { + imports = [ + ./bar + ./notifications + ./app-launcher.nix + ./audio.nix + ./brightness.nix + ./calendar.nix + ./color-schemes.nix + ./control-center.nix + ./desktop-widgets.nix + ./dock.nix + ./general.nix + ./hooks.nix + ./location.nix + ./network.nix + ./night-light.nix + ./osd.nix + ./session-menu.nix + ./system-monitor.nix + ./templates.nix + ./ui.nix + ./wallpapers.nix + ]; +} diff --git a/modules/home/noctalia/settings/desktop-widgets.nix b/modules/home/noctalia/settings/desktop-widgets.nix new file mode 100644 index 0000000..a1a01ad --- /dev/null +++ b/modules/home/noctalia/settings/desktop-widgets.nix @@ -0,0 +1,7 @@ +{lib, ...}: { + programs.noctalia-shell.settings.desktop-widgets = lib.mkForce { + "enabled" = false; + "gridSnap" = false; + "monitorWidgets" = []; + }; +} diff --git a/modules/home/noctalia/settings/dock.nix b/modules/home/noctalia/settings/dock.nix new file mode 100644 index 0000000..510a94d --- /dev/null +++ b/modules/home/noctalia/settings/dock.nix @@ -0,0 +1,18 @@ +{lib, ...}: { + programs.noctalia-shell.settings.dock = lib.mkForce { + enabled = false; + position = "bottom"; + displayMode = "auto_hide"; + backgroundOpacity = 0; + floatingRatio = 1; + size = 1.5; + onlySameOutput = false; + monitors = []; + pinnedApps = []; + colorizeIcons = false; + pinnedStatic = false; + inactiveIndicators = false; + deadOpacity = 0.5; + animationSpeed = 1; + }; +} diff --git a/modules/home/noctalia/settings/general.nix b/modules/home/noctalia/settings/general.nix new file mode 100644 index 0000000..0743800 --- /dev/null +++ b/modules/home/noctalia/settings/general.nix @@ -0,0 +1,38 @@ +{ + lib, + host, + username, + ... +}: let + inherit (import ../../../../hosts/${host}/variables.nix) keyboardLayout; +in { + programs.noctalia-shell.settings.general = lib.mkForce { + avatarImage = "/home/${username}/.face.icon"; + dimmerOpacity = 0.2; + showScreenCorners = false; + forceBlackScreenCorners = false; + scaleRatio = 1; + radiusRatio = 2; + iRadiusRatio = 2; + boxRadiusRatio = 1; + screenRadiusRatio = 1; + animationSpeed = 1; + animationDisabled = false; + compactLockScreen = false; + lockOnSuspend = true; + showSessionButtonsOnLockScreen = true; + showHibernateOnLockScreen = false; + enableShadows = true; + shadowDirection = "bottom_right"; + shadowOffsetX = 2; + shadowOffsetY = 3; + language = "${keyboardLayout}"; + allowPanelsOnScreenWithoutBar = true; + showChangelogOnStartup = true; + telemetryEnabled = false; + enableLockScreenCountdown = true; + lockScreenCountdownDuration = 10000; + autoStartAuth = false; + allowPasswordWithFprintd = false; + }; +} diff --git a/modules/home/noctalia/settings/hooks.nix b/modules/home/noctalia/settings/hooks.nix new file mode 100644 index 0000000..13c44e7 --- /dev/null +++ b/modules/home/noctalia/settings/hooks.nix @@ -0,0 +1,13 @@ +{lib, ...}: { + programs.noctalia-shell.settings.hooks = lib.mkForce { + "enabled" = false; + "wallpaperChange" = ""; + "darkModeChange" = ""; + "screenLock" = ""; + "screenUnlock" = ""; + "performanceModeEnabled" = ""; + "performanceModeDisabled" = ""; + "startup" = ""; + "session" = ""; + }; +} diff --git a/modules/home/noctalia/settings/location.nix b/modules/home/noctalia/settings/location.nix new file mode 100644 index 0000000..d73bf3a --- /dev/null +++ b/modules/home/noctalia/settings/location.nix @@ -0,0 +1,22 @@ +{ + lib, + host, + ... +}: let + inherit (import ../../../../hosts/${host}/variables.nix) location; +in { + programs.noctalia-shell.settings.location = lib.mkForce { + name = "${location}"; + weatherEnabled = true; + weatherShowEffects = true; + useFahrenheit = false; + use12hourFormat = false; + showWeekNumberInCalendar = false; + showCalendarEvents = true; + showCalendarWeather = true; + analogClockInCalendar = false; + firstDayOfWeek = -1; + hideWeatherTimezone = false; + hideWeatherCityName = false; + }; +} diff --git a/modules/home/noctalia/settings/network.nix b/modules/home/noctalia/settings/network.nix new file mode 100644 index 0000000..c201bb9 --- /dev/null +++ b/modules/home/noctalia/settings/network.nix @@ -0,0 +1,10 @@ +{lib, ...}: { + programs.noctalia-shell.settings.network = lib.mkForce { + wifiEnabled = true; + bluetoothRssiPollingEnabled = true; + bluetoothRssiPollIntervalMs = 10000; + wifiDetailsViewMode = "grid"; + bluetoothDetailsViewMode = "grid"; + bluetoothHideUnnamedDevices = false; + }; +} diff --git a/modules/home/noctalia/settings/night-light.nix b/modules/home/noctalia/settings/night-light.nix new file mode 100644 index 0000000..829704e --- /dev/null +++ b/modules/home/noctalia/settings/night-light.nix @@ -0,0 +1,11 @@ +{lib, ...}: { + programs.noctalia-shell.settings.nightLight = lib.mkForce { + "enabled" = false; + "forced" = false; + "autoSchedule" = true; + "nightTemp" = "4177"; + "dayTemp" = "6500"; + "manualSunrise" = "06:30"; + "manualSunset" = "18:30"; + }; +} diff --git a/modules/home/noctalia/settings/notifications/default.nix b/modules/home/noctalia/settings/notifications/default.nix new file mode 100644 index 0000000..215cd08 --- /dev/null +++ b/modules/home/noctalia/settings/notifications/default.nix @@ -0,0 +1,33 @@ +{ + lib, + username, + ... +}: { + programs.noctalia-shell.settings.notifications = lib.mkForce { + enabled = true; + monitors = []; + location = "top_right"; + overlayLayer = true; + backgroundOpacity = 0; + respectExpireTimeout = false; + lowUrgencyDuration = 3; + normalUrgencyDuration = 8; + criticalUrgencyDuration = 15; + enableKeyboardLayoutToast = false; + saveToHistory = { + low = true; + normal = true; + critical = true; + }; + sounds = { + enabled = true; + volume = 0.5; + separateSounds = false; + criticalSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3"; + normalSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3"; + lowSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3"; + excludedApps = "discord,firefox,chrome,chromium,edge"; + }; + enableMediaToast = false; + }; +} diff --git a/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3 b/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3 new file mode 100644 index 0000000..e00c937 Binary files /dev/null and b/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3 differ diff --git a/modules/home/noctalia/settings/osd.nix b/modules/home/noctalia/settings/osd.nix new file mode 100644 index 0000000..c344fce --- /dev/null +++ b/modules/home/noctalia/settings/osd.nix @@ -0,0 +1,15 @@ +{lib, ...}: { + programs.noctalia-shell.settings.osd = lib.mkForce { + "enabled" = true; + "location" = "right"; + "autoHideMs" = 2000; + "overlayLayer" = true; + "backgroundOpacity" = 0; + "enabledTypes" = [ + 0 + 1 + 2 + ]; + "monitors" = []; + }; +} diff --git a/modules/home/noctalia/settings/session-menu.nix b/modules/home/noctalia/settings/session-menu.nix new file mode 100644 index 0000000..348d914 --- /dev/null +++ b/modules/home/noctalia/settings/session-menu.nix @@ -0,0 +1,49 @@ +{lib, ...}: { + programs.noctalia-shell.settings.sessionMenu = lib.mkForce { + enableCountdown = false; + countdownDuration = 10000; + position = "center"; + showHeader = true; + largeButtonsStyle = true; + largeButtonsLayout = "grid"; + showNumberLabels = true; + powerOptions = [ + { + action = "lock"; + command = ""; + countdownEnabled = true; + enabled = true; + } + { + action = "suspend"; + command = ""; + countdownEnabled = true; + enabled = true; + } + { + action = "hibernate"; + command = ""; + countdownEnabled = true; + enabled = true; + } + { + action = "reboot"; + command = ""; + countdownEnabled = true; + enabled = true; + } + { + action = "logout"; + command = ""; + countdownEnabled = true; + enabled = true; + } + { + action = "shutdown"; + command = ""; + countdownEnabled = true; + enabled = true; + } + ]; + }; +} diff --git a/modules/home/noctalia/settings/system-monitor.nix b/modules/home/noctalia/settings/system-monitor.nix new file mode 100644 index 0000000..a0c2567 --- /dev/null +++ b/modules/home/noctalia/settings/system-monitor.nix @@ -0,0 +1,34 @@ +{ + lib, + config, + ... +}: let + stylix = config.stylix.base16Scheme; +in { + programs.noctalia-shell.settings.systemMonitor = lib.mkForce { + cpuWarningThreshold = 80; + cpuCriticalThreshold = 90; + tempWarningThreshold = 80; + tempCriticalThreshold = 90; + gpuWarningThreshold = 80; + gpuCriticalThreshold = 90; + memWarningThreshold = 80; + memCriticalThreshold = 90; + swapWarningThreshold = 80; + swapCriticalThreshold = 90; + diskWarningThreshold = 80; + diskCriticalThreshold = 90; + cpuPollingInterval = 3000; + tempPollingInterval = 3000; + gpuPollingInterval = 3000; + enableDgpuMonitoring = false; + memPollingInterval = 3000; + diskPollingInterval = 30000; + networkPollingInterval = 3000; + loadAvgPollingInterval = 3000; + useCustomColors = true; + warningColor = "#${stylix.base03}"; + criticalColor = "#${stylix.base02}"; + externalMonitor = "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor"; + }; +} diff --git a/modules/home/noctalia/settings/templates.nix b/modules/home/noctalia/settings/templates.nix new file mode 100644 index 0000000..cb8a3f7 --- /dev/null +++ b/modules/home/noctalia/settings/templates.nix @@ -0,0 +1,6 @@ +{lib, ...}: { + programs.noctalia-shell.settings.templates = lib.mkForce { + activeTemplates = []; + enableUserTheming = false; + }; +} diff --git a/modules/home/noctalia/settings/ui.nix b/modules/home/noctalia/settings/ui.nix new file mode 100644 index 0000000..bee61a4 --- /dev/null +++ b/modules/home/noctalia/settings/ui.nix @@ -0,0 +1,17 @@ +{lib, ...}: { + programs.noctalia-shell.settings.ui = lib.mkForce { + fontDefault = "Fira Code"; + fontFixed = "Fira Mono for Powerline"; + fontDefaultScale = 1; + fontFixedScale = 1; + tooltipsEnabled = true; + panelBackgroundOpacity = 0.76; + panelsAttachedToBar = true; + settingsPanelMode = "attached"; + wifiDetailsViewMode = "grid"; + bluetoothDetailsViewMode = "grid"; + networkPanelView = "wifi"; + bluetoothHideUnnamedDevices = false; + boxBorderEnabled = false; + }; +} diff --git a/modules/home/noctalia/settings/wallpapers.nix b/modules/home/noctalia/settings/wallpapers.nix new file mode 100644 index 0000000..77b7aca --- /dev/null +++ b/modules/home/noctalia/settings/wallpapers.nix @@ -0,0 +1,47 @@ +{ + lib, + host, + username, + ... +}: let + inherit (import ../../../../hosts/${host}/variables.nix) stylixImage; +in { + programs.noctalia-shell.settings.wallpaper = lib.mkForce { + enabled = true; + overviewEnabled = false; + directory = "/home/${username}/Pictures/Wallpapers"; + monitorDirectories = []; + enableMultiMonitorDirectories = false; + showHiddenFiles = false; + viewMode = "single"; + setWallpaperOnAllMonitors = true; + fillMode = "crop"; + fillColor = "#000000"; + useSolidColor = false; + solidColor = "#1a1a2e"; + automationEnabled = false; + wallpaperChangeMode = "random"; + randomIntervalSec = 300; + transitionDuration = 1500; + transitionType = "random"; + transitionEdgeSmoothness = 0.05; + panelPosition = "follow_bar"; + hideWallpaperFilenames = false; + useWallhaven = false; + wallhavenQuery = ""; + wallhavenSorting = "relevance"; + wallhavenOrder = "desc"; + wallhavenCategories = "111"; + wallhavenPurity = "100"; + wallhavenRatios = ""; + wallhavenApiKey = ""; + wallhavenResolutionMode = "atleast"; + wallhavenResolutionWidth = ""; + wallhavenResolutionHeight = ""; + sortOrder = "name"; + }; + + home.file.".cache/noctalia/wallpapers.json".text = lib.mkForce (builtins.toJSON { + defaultWallpaper = ../../../../wallpapers/${stylixImage}; + }); +} diff --git a/modules/home/peaclock/default.nix b/modules/home/peaclock/default.nix deleted file mode 100644 index 6966d71..0000000 --- a/modules/home/peaclock/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - pkgs, - lib, - config, - inputs, - username, - ... -}: let -in { - options.peaclock.enable = lib.mkEnableOption "Peaclock"; - - config.home.packages = lib.mkIf config.peaclock.enable [ - (inputs.wrappers.lib.wrapPackage - { - inherit pkgs; - package = pkgs.peaclock; - flags = { - "--config-dir" = "/home/${username}/.peaclock"; - "--config" = "/home/${username}/.peaclock/config/digital"; - }; - }) - ]; - - imports = [./digital.nix]; -} diff --git a/modules/home/peaclock/digital.nix b/modules/home/peaclock/digital.nix deleted file mode 100644 index e6d4384..0000000 --- a/modules/home/peaclock/digital.nix +++ /dev/null @@ -1,61 +0,0 @@ -{config, ...}: { - home.file.".peaclock/config/digital" = { - # recursive = true; - text = let - colors = config.stylix.base16Scheme; - in '' - # peaclock - # digital config - # - # For more information, refer to the 'Configuration' and 'Commands' - # sections of the programs help output with '--help' or '-h'. - - # ----------------------------------------------------------------------------- - # general - # ----------------------------------------------------------------------------- - - block 2 1 - padding 2 1 - margin 2 1 - ratio 2 1 - date-padding 1 - locale 'pl_PL.utf8' - timezone 'Europe/Warsaw' - date '%a %b %d %p' - mode stopwatch - view digital - toggle padding - stopwatch start - timer 10m:0s - timer-exec 'notify-send -a peaclock "timer complete"' - rate-input 50 - rate-refresh 250 - rate-status 5000 - - # ----------------------------------------------------------------------------- - # toggles - # ----------------------------------------------------------------------------- - set hour-24 on - set seconds on - set date on - set auto-size on - set auto-ratio on - - # ----------------------------------------------------------------------------- - # styles - # ----------------------------------------------------------------------------- - style active-fg #${colors.base05} - style inactive-fg #${colors.base03} - style colon-fg #${colors.base07} - style active-bg #${colors.base0E} - style inactive-bg #${colors.base00} - style colon-bg #${colors.base00} - style date #${colors.base04} - style background #${colors.base00} - style text #${colors.base05} - style prompt #${colors.base09} - style success #${colors.base0A} - style error #${colors.base02} - ''; - }; -} diff --git a/modules/home/rofi/config-long.nix b/modules/home/rofi/config-long.nix deleted file mode 100644 index 4ca3cde..0000000 --- a/modules/home/rofi/config-long.nix +++ /dev/null @@ -1,55 +0,0 @@ -_: { - home.file.".config/rofi/config-long.rasi".text = '' - @import "~/.config/rofi/config.rasi" - * { - font: "JetBrainsMono Nerd Font Mono 12"; - } - window { - width: 750px; - border-radius: 10px; - } - mainbox { - orientation: vertical; - children: [ "inputbar", "listbox" ]; - } - listview { - lines: 13; - } - inputbar { - padding: 55px 30px; - background-color: transparent; - background-image: url("~/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg", width); - text-color: @foreground; - children: [ "textbox-prompt-colon", "entry" ]; - } - textbox-prompt-colon { - padding: 12px 20px; - border-radius: 100%; - background-color: @bg-alt; - text-color: @foreground; - } - entry { - expand: true; - padding: 12px 16px; - border-radius: 100%; - background-color: @bg-alt; - text-color: @foreground; - } - button { - padding: 2px; - border-radius: 100%; - } - element { - spacing: 2px; - padding: 2px; - border-radius: 100%; - } - textbox { - padding: 12px; - border-radius: 100%; - } - error-message { - border-radius: 0px; - } - ''; -} diff --git a/modules/home/rofi/default.nix b/modules/home/rofi/default.nix deleted file mode 100644 index 55e58e9..0000000 --- a/modules/home/rofi/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -_: { - imports = [ - ./config-long.nix - ./rofi.nix - ]; -} diff --git a/modules/home/rofi/rofi.nix b/modules/home/rofi/rofi.nix deleted file mode 100644 index d3a9fd8..0000000 --- a/modules/home/rofi/rofi.nix +++ /dev/null @@ -1,207 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs = { - rofi = { - enable = true; - package = pkgs.rofi; - extraConfig = { - modi = "drun,filebrowser,run"; - show-icons = true; - icon-theme = "Papirus"; - font = "JetBrainsMono Nerd Font Mono 12"; - drun-display-format = "{icon} {name}"; - display-drun = " Apps"; - display-run = " Run"; - display-filebrowser = " File"; - }; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - bg = mkLiteral "#${config.stylix.base16Scheme.base00}"; - bg-alt = mkLiteral "#${config.stylix.base16Scheme.base09}"; - foreground = mkLiteral "#${config.stylix.base16Scheme.base01}"; - selected = mkLiteral "#${config.stylix.base16Scheme.base08}"; - active = mkLiteral "#${config.stylix.base16Scheme.base0B}"; - text-selected = mkLiteral "#${config.stylix.base16Scheme.base00}"; - text-color = mkLiteral "#${config.stylix.base16Scheme.base05}"; - border-color = mkLiteral "#${config.stylix.base16Scheme.base0F}"; - urgent = mkLiteral "#${config.stylix.base16Scheme.base0E}"; - }; - "window" = { - transparency = "real"; - width = mkLiteral "1000px"; - location = mkLiteral "center"; - anchor = mkLiteral "center"; - fullscreen = false; - x-offset = mkLiteral "0px"; - y-offset = mkLiteral "0px"; - cursor = "default"; - enabled = true; - border-radius = mkLiteral "15px"; - background-color = mkLiteral "@bg"; - }; - "mainbox" = { - enabled = true; - spacing = mkLiteral "0px"; - orientation = mkLiteral "horizontal"; - children = map mkLiteral [ - "imagebox" - "listbox" - ]; - background-color = mkLiteral "transparent"; - }; - "imagebox" = { - padding = mkLiteral "20px"; - background-color = mkLiteral "transparent"; - background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)''; - orientation = mkLiteral "vertical"; - children = map mkLiteral [ - "inputbar" - "dummy" - "mode-switcher" - ]; - }; - "listbox" = { - spacing = mkLiteral "20px"; - padding = mkLiteral "20px"; - background-color = mkLiteral "transparent"; - orientation = mkLiteral "vertical"; - children = map mkLiteral [ - "message" - "listview" - ]; - }; - "dummy" = { - background-color = mkLiteral "transparent"; - }; - "inputbar" = { - enabled = true; - spacing = mkLiteral "10px"; - padding = mkLiteral "10px"; - border-radius = mkLiteral "10px"; - background-color = mkLiteral "@bg-alt"; - text-color = mkLiteral "@foreground"; - children = map mkLiteral [ - "textbox-prompt-colon" - "entry" - ]; - }; - "textbox-prompt-colon" = { - enabled = true; - expand = false; - str = ""; - background-color = mkLiteral "inherit"; - text-color = mkLiteral "inherit"; - }; - "entry" = { - enabled = true; - background-color = mkLiteral "inherit"; - text-color = mkLiteral "inherit"; - cursor = mkLiteral "text"; - placeholder = "Search"; - placeholder-color = mkLiteral "inherit"; - }; - "mode-switcher" = { - enabled = true; - spacing = mkLiteral "20px"; - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@foreground"; - }; - "button" = { - padding = mkLiteral "15px"; - border-radius = mkLiteral "10px"; - background-color = mkLiteral "@bg-alt"; - text-color = mkLiteral "inherit"; - cursor = mkLiteral "pointer"; - }; - "button selected" = { - background-color = mkLiteral "@selected"; - text-color = mkLiteral "@foreground"; - }; - "listview" = { - enabled = true; - columns = 1; - lines = 8; - cycle = true; - dynamic = true; - scrollbar = false; - layout = mkLiteral "vertical"; - reverse = false; - fixed-height = true; - fixed-columns = true; - spacing = mkLiteral "10px"; - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@foreground"; - cursor = "default"; - }; - "element" = { - enabled = true; - spacing = mkLiteral "15px"; - padding = mkLiteral "8px"; - border-radius = mkLiteral "10px"; - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@text-color"; - cursor = mkLiteral "pointer"; - }; - "element normal.normal" = { - background-color = mkLiteral "inherit"; - text-color = mkLiteral "@text-color"; - }; - "element normal.urgent" = { - background-color = mkLiteral "@urgent"; - text-color = mkLiteral "@text-color"; - }; - "element normal.active" = { - background-color = mkLiteral "inherit"; - text-color = mkLiteral "@text-color"; - }; - "element selected.normal" = { - background-color = mkLiteral "@selected"; - text-color = mkLiteral "@foreground"; - }; - "element selected.urgent" = { - background-color = mkLiteral "@urgent"; - text-color = mkLiteral "@text-selected"; - }; - "element selected.active" = { - background-color = mkLiteral "@urgent"; - text-color = mkLiteral "@text-selected"; - }; - "element-icon" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - size = mkLiteral "36px"; - cursor = mkLiteral "inherit"; - }; - "element-text" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - cursor = mkLiteral "inherit"; - vertical-align = mkLiteral "0.5"; - horizontal-align = mkLiteral "0.0"; - }; - "message" = { - background-color = mkLiteral "transparent"; - }; - "textbox" = { - padding = mkLiteral "15px"; - border-radius = mkLiteral "10px"; - background-color = mkLiteral "@bg-alt"; - text-color = mkLiteral "@foreground"; - vertical-align = mkLiteral "0.5"; - horizontal-align = mkLiteral "0.0"; - }; - "error-message" = { - padding = mkLiteral "15px"; - border-radius = mkLiteral "20px"; - background-color = mkLiteral "@bg"; - text-color = mkLiteral "@foreground"; - }; - }; - }; - }; -} diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index 37c694c..3ab8d39 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -1,34 +1,7 @@ -{ - pkgs, - username, - ... -}: { - home.packages = with pkgs; [ - # hyprland - swww - grim - slurp - wl-clipboard - swappy - ydotool - hyprpolkitagent - hyprland-qtutils # needed for banners and ANR messages - # pyprland - pyprland - - (import ./emopicker9000.nix {inherit pkgs;}) - (import ./hm-find.nix {inherit pkgs;}) - (import ./keybinds.nix {inherit pkgs username;}) - (import ./note.nix {inherit pkgs;}) - (import ./note-from-clipboard.nix {inherit pkgs;}) +{pkgs, ...}: { + home.packages = [ (import ./nvidia-offload.nix {inherit pkgs;}) - (import ./rofi-launcher.nix {inherit pkgs;}) + (import ./restart.noctalia.nix {inherit pkgs;}) (import ./screenshootin.nix {inherit pkgs;}) - (import ./task-waybar.nix {inherit pkgs;}) - (import ./wallsetter.nix { - inherit pkgs; - inherit username; - }) - (import ./web-search.nix {inherit pkgs;}) ]; } diff --git a/modules/home/scripts/emopicker9000.nix b/modules/home/scripts/emopicker9000.nix deleted file mode 100644 index b622cc3..0000000 --- a/modules/home/scripts/emopicker9000.nix +++ /dev/null @@ -1,22 +0,0 @@ -{pkgs}: -pkgs.writeShellScriptBin "emopicker9000" '' - # check if rofi is already running - if pidof rofi > /dev/null; then - pkill rofi - fi - - # Get user selection via wofi from emoji file. - chosen=$(cat $HOME/.config/.emoji | ${pkgs.rofi}/bin/rofi -i -dmenu -config ~/.config/rofi/config-long.rasi | awk '{print $1}') - - # Exit if none chosen. - [ -z "$chosen" ] && exit - - # If you run this command with an argument, it will automatically insert the - # character. Otherwise, show a message that the emoji has been copied. - if [ -n "$1" ]; then - ${pkgs.ydotool}/bin/ydotool type "$chosen" - else - printf "$chosen" | ${pkgs.wl-clipboard}/bin/wl-copy - ${pkgs.libnotify}/bin/notify-send "'$chosen' copied to clipboard." & - fi -'' diff --git a/modules/home/scripts/hm-find.nix b/modules/home/scripts/hm-find.nix deleted file mode 100644 index d997469..0000000 --- a/modules/home/scripts/hm-find.nix +++ /dev/null @@ -1,60 +0,0 @@ -{pkgs}: -pkgs.writeShellScriptBin "hm-find" '' - #!/usr/bin/env bash - - # Script Metadata - #=============================================== - # This script searches recent journalctl entries for Home Manager errors - # It identifies backup files that prevent rebuilds and allows removal. - # Author: Don Williams - # Creation Date: May 6th, 2025 - # Revision History: - #----------------------------------------------- - # 0.1 - 5/6/25 - Initial version - # 0.2 - 5/7/25 - Improved messaging, added log directory check - - # Display WARNING message - echo "===============================================" - echo " ⚠️ WARNING ⚠️ " - echo "===============================================" - echo "*** This script is experimental! ***" - echo "It will attempt to find old backup files that are preventing Home Manager from rebuilding." - echo "If conflicting files are found, you will be prompted to remove them." - echo "A log of any deletions will be stored in \$HOME/hm-logs." - echo "===============================================" - - # Define the time range (default: last 30 minutes) - TIME_RANGE="30m" - LOG_DIR="$HOME/hm-logs" - LOG_FILE="$LOG_DIR/hm-cleanup-$(date +'%Y-%m-%d_%H-%M-%S').log" - - # Ensure the log directory exists - if [ ! -d "$LOG_DIR" ]; then - echo "Creating log directory: $LOG_DIR" - mkdir -p "$LOG_DIR" - fi - - # Search journal logs for backup conflicts and extract file paths - FILES=$(journalctl --since "-$TIME_RANGE" -xe | grep hm-activate | awk -F "'|'" '/would be clobbered by backing up/ {print $2}') - - # Check if any files were found - if [ -z "$FILES" ]; then - echo "No conflicting backup files found in the last $TIME_RANGE." - exit 0 - fi - - # Display found backup files - echo "🚨 The following backup files are preventing Home Manager from rebuilding:" - echo "$FILES" | tr ' ' '\n' - - # Ask for user confirmation before deletion - read -p "❓ Do you want to remove these files? (y/N): " confirm - - if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then - echo "🗑️ Deleting files..." | tee -a "$LOG_FILE" - echo "$FILES" | xargs rm -v | tee -a "$LOG_FILE" - echo "✅ Cleanup completed at $(date)" | tee -a "$LOG_FILE" - else - echo "⛔ No files were removed." | tee -a "$LOG_FILE" - fi -'' diff --git a/modules/home/scripts/keybinds.nix b/modules/home/scripts/keybinds.nix deleted file mode 100644 index 8f61f1b..0000000 --- a/modules/home/scripts/keybinds.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - pkgs, - username, - ... -}: let - desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/"; -in - pkgs.writeShellScriptBin "list-keybinds" '' - # check if rofi is already running - if pidof rofi > /dev/null; then - pkill rofi - fi - - msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)' - keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind') - - # replace SUPER with SUPER and clean up paths - display_keybinds=$(echo "$keybinds" | sed 's/\SUPER//g' | sed 's|${desktopEntriesPath}/||g') - - # remove "bind=" and "bindm=" prefixes - display_keybinds=$(echo "$display_keybinds" | sed 's/^bind=//' | sed 's/^bindm=/🖱️/') - - # add + before CONTROL, SHIFT, ALT when they appear after removed SUPER - display_keybinds=$(echo "$display_keybinds" | sed 's/ CONTROL/ + CONTROL/g' | sed 's/ SHIFT/ + SHIFT/g' | sed 's/ ALT/ + ALT/g') - - # replace commas: first comma -> " +", second comma -> " =", remaining commas -> " ->" - display_keybinds=$(echo "$display_keybinds" | sed 's/,/ +/1' | sed 's/,/ =/1' | sed 's/,/ ->/g') - - # use rofi to display the keybinds with the modified content - echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg" - - '' diff --git a/modules/home/scripts/note-from-clipboard.nix b/modules/home/scripts/note-from-clipboard.nix deleted file mode 100644 index ddb767a..0000000 --- a/modules/home/scripts/note-from-clipboard.nix +++ /dev/null @@ -1,20 +0,0 @@ -{pkgs, ...}: -pkgs.writeShellScriptBin "note-from-clipboard" '' - #!/usr/bin/env bash - - # Check clipboard content type - clipboard_type=$(${pkgs.wl-clipboard}/bin/wl-paste --list-types | head -n 1) - - if [[ "$clipboard_type" == "text/plain"* ]]; then - # It's text, let's create a note - ${pkgs.wl-clipboard}/bin/wl-paste | note - if [ $? -eq 0 ]; then - ${pkgs.libnotify}/bin/notify-send -t 3000 "📝 Note Created" "Clipboard content added as a new note." - else - ${pkgs.libnotify}/bin/notify-send -t 5000 -u critical "❌ Note Creation Failed" "There was an error creating the note." - fi - else - # It's not text, so we do nothing and notify the user - ${pkgs.libnotify}/bin/notify-send -t 4000 -u low "📋 Note Skipped" "Clipboard does not contain text." - fi -'' diff --git a/modules/home/scripts/note.nix b/modules/home/scripts/note.nix deleted file mode 100644 index 43a1786..0000000 --- a/modules/home/scripts/note.nix +++ /dev/null @@ -1,244 +0,0 @@ -{pkgs, ...}: -pkgs.writeShellScriptBin "note" '' - - # Colors for nice output - RED='\033[0;31m' - GREEN='\033[0;32m' - YELLOW='\033[0;33m' - BLUE='\033[0;34m' - MAGENTA='\033[0;35m' - CYAN='\033[0;36m' - WHITE='\033[1;37m' - GRAY='\033[0;37m' - BOLD='\033[1m' - NC='\033[0m' # No Color - - # XDG-compliant notes directory and file - NOTES_DIR="$HOME/.local/share/notes" - NOTES_FILE="$NOTES_DIR/notes.txt" - - # Create notes directory if it doesn't exist - mkdir -p "$NOTES_DIR" - - # Function to display usage - show_usage() { - echo -e "''${BOLD}''${BLUE}📝 Note Manager''${NC}" - echo -e "''${GRAY}Usage:''${NC}" - echo -e " ''${CYAN}note''${NC} ''${YELLOW}''${NC} - Add a new note" - echo -e " ''${CYAN}note''${NC} - Display all notes" - echo -e " ''${CYAN}note del''${NC} ''${YELLOW}''${NC} - Delete note by number" - echo -e " ''${CYAN}note clear''${NC} - Clear all notes" - echo -e " ''${CYAN}echo 'text' | note''${NC} - Add note from stdin" - echo -e " ''${CYAN}cat file | note''${NC} - Add file contents as note" - echo "" - echo -e "''${GRAY}Examples:''${NC}" - echo -e " ''${GREEN}note call plumber tomorrow''${NC}" - echo -e " ''${GREEN}cat todo.txt | note''${NC}" - echo -e " ''${GREEN}note del 3''${NC}" - } - - # Function to add a note - add_note() { - local note_text="$1" - local timestamp=$(date '+%Y-%m-%d %H:%M:%S') - local date_only=$(date '+%Y-%m-%d') - - # Create notes file if it doesn't exist - touch "$NOTES_FILE" - - # Get next note number - local note_num=1 - if [ -f "$NOTES_FILE" ] && [ -s "$NOTES_FILE" ]; then - note_num=$(grep -E "^#[0-9]+" "$NOTES_FILE" | sed 's/^#\([0-9]*\).*/\1/' | sort -n | tail -1) - note_num=$((note_num + 1)) - fi - - # Add the note with proper formatting - { - echo "#$note_num [$timestamp]" - echo "$note_text" - echo "" - } >> "$NOTES_FILE" - - echo -e "''${GREEN}✓''${NC} Note #$note_num added ''${GRAY}($date_only)''${NC}" - } - - # Function to display all notes - display_notes() { - if [ ! -f "$NOTES_FILE" ] || [ ! -s "$NOTES_FILE" ]; then - echo -e "''${YELLOW}📝 No notes found''${NC}" - echo -e "''${GRAY}Use ''${CYAN}note ''${GRAY} to add your first note''${NC}" - return - fi - - echo -e "''${BOLD}''${BLUE}📝 Your Notes''${NC}" - echo -e "''${GRAY}📁 $NOTES_FILE''${NC}" - echo -e "''${GRAY}$(printf '%.0s─' {1..50})''${NC}" - - local in_note=false - local note_content="" - - while IFS= read -r line; do - # Check if line starts with # followed by numbers and space and [ - if echo "$line" | grep -q "^#[0-9][0-9]* \["; then - # Print previous note content if exists - if [ "$in_note" = true ] && [ -n "$note_content" ]; then - echo -e "$note_content" - echo "" - fi - - # Extract note number and timestamp - local num=$(echo "$line" | sed 's/^#\([0-9]*\) \[.*/\1/') - local timestamp=$(echo "$line" | sed 's/^#[0-9]* \[\(.*\)\]/\1/') - local date_part=$(echo "$timestamp" | cut -d' ' -f1) - local time_part=$(echo "$timestamp" | cut -d' ' -f2) - - echo -e "''${BOLD}''${CYAN}#$num''${NC} ''${GRAY}[$date_part ''${YELLOW}$time_part''${GRAY}]''${NC}" - in_note=true - note_content="" - elif [ -n "$line" ] && [ "$in_note" = true ]; then - # Accumulate note content - if [ -z "$note_content" ]; then - note_content="''${WHITE}$line''${NC}" - else - note_content="$note_content\n''${WHITE}$line''${NC}" - fi - elif [ -z "$line" ] && [ "$in_note" = true ]; then - # End of current note - if [ -n "$note_content" ]; then - echo -e "$note_content" - echo "" - fi - in_note=false - note_content="" - fi - done < "$NOTES_FILE" - - # Print last note if file doesn't end with empty line - if [ "$in_note" = true ] && [ -n "$note_content" ]; then - echo -e "$note_content" - echo "" - fi - - local total_notes=$(grep -c "^#[0-9]" "$NOTES_FILE") - echo -e "''${GRAY}$(printf '%.0s─' {1..50})''${NC}" - echo -e "''${GRAY}Total: ''${BOLD}$total_notes''${NC} ''${GRAY}notes''${NC}" - } - - # Function to delete a note - delete_note() { - local note_num="$1" - - if [ ! -f "$NOTES_FILE" ] || [ ! -s "$NOTES_FILE" ]; then - echo -e "''${RED}✗''${NC} No notes found" - return 1 - fi - - if ! echo "$note_num" | grep -q "^[0-9][0-9]*$"; then - echo -e "''${RED}✗''${NC} Invalid note number: $note_num" - return 1 - fi - - # Check if note exists - if ! grep -q "^#$note_num " "$NOTES_FILE"; then - echo -e "''${RED}✗''${NC} Note #$note_num not found" - return 1 - fi - - # Create temporary file without the specified note - local temp_file=$(mktemp) - local skip_lines=false - - while IFS= read -r line; do - if echo "$line" | grep -q "^#[0-9][0-9]* "; then - local current_num=$(echo "$line" | sed 's/^#\([0-9]*\) .*/\1/') - if [ "$current_num" = "$note_num" ]; then - skip_lines=true - continue - else - skip_lines=false - fi - fi - - if [ "$skip_lines" = false ]; then - echo "$line" >> "$temp_file" - elif [ -z "$line" ]; then - # Stop skipping when we hit an empty line (end of note) - skip_lines=false - fi - done < "$NOTES_FILE" - - mv "$temp_file" "$NOTES_FILE" - echo -e "''${GREEN}✓''${NC} Note #$note_num deleted" - } - - # Function to clear all notes - clear_notes() { - if [ ! -f "$NOTES_FILE" ] || [ ! -s "$NOTES_FILE" ]; then - echo -e "''${YELLOW}📝 No notes to clear''${NC}" - return - fi - - local total_notes=$(grep -c "^#[0-9]" "$NOTES_FILE") - echo -e "''${YELLOW}⚠''${NC} This will delete all $total_notes notes. Are you sure? ''${GRAY}[y/N]''${NC}" - read -r confirmation - - if echo "$confirmation" | grep -qi "^y"; then - > "$NOTES_FILE" - echo -e "''${GREEN}✓''${NC} All notes cleared" - else - echo -e "''${BLUE}ℹ''${NC} Operation cancelled" - fi - } - - # Main script logic - main() { - # Check if input is being piped - if [ ! -t 0 ]; then - # Read from stdin (pipe) - local piped_content="" - while IFS= read -r line; do - if [ -z "$piped_content" ]; then - piped_content="$line" - else - piped_content="$piped_content"$'\n'"$line" - fi - done - - if [ -n "$piped_content" ]; then - add_note "$piped_content" - else - echo -e "''${RED}✗''${NC} No input received from pipe" - exit 1 - fi - return - fi - - # Handle command line arguments - case "$1" in - "") - display_notes - ;; - "del") - if [ -z "$2" ]; then - echo -e "''${RED}✗''${NC} Please specify note number to delete" - echo -e "''${GRAY}Usage: ''${CYAN}note del ''${NC}" - exit 1 - fi - delete_note "$2" - ;; - "clear") - clear_notes - ;; - "help"|"--help"|"-h") - show_usage - ;; - *) - # Everything else is treated as note content - add_note "$*" - ;; - esac - } - - main "$@" -'' diff --git a/modules/home/scripts/restart.noctalia b/modules/home/scripts/restart.noctalia new file mode 100644 index 0000000..747c18a --- /dev/null +++ b/modules/home/scripts/restart.noctalia @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Restart the Noctalia QuickShell session by terminating only the noctalia-shell +# processes, avoiding any signals to unrelated process groups (e.g. Hyprland). + +log() { printf "[restart.noctalia] %s\n" "$*"; } + +list_target_pids() { + # Collect only PIDs whose command explicitly runs noctalia-shell + # - direct wrapper: ".../noctalia-shell" + # - quickshell/qs with "-c noctalia-shell" + ps -eo pid=,cmd= \ + | ${GREP:-grep} -E "(^|/)(noctalia-shell)( |$)|(^| )((qs|quickshell))( | ).*-c( |=)?noctalia-shell( |$)" \ + | awk '{print $1}' +} + +terminate_targets() { + local pids left tries + mapfile -t pids < <(list_target_pids || true) + + if ((${#pids[@]} > 0)); then + kill -TERM "${pids[@]}" 2>/dev/null || true + fi + + # Wait up to ~3s for clean exit + for tries in {1..15}; do + mapfile -t left < <(list_target_pids || true) + ((${#left[@]} == 0)) && break + sleep 0.2 + done + + # Force kill leftovers only (do not touch anything else) + if ((${#left[@]} > 0)); then + kill -KILL "${left[@]}" 2>/dev/null || true + fi +} + +start_noctalia() { + # Prefer the noctalia-shell wrapper to ensure proper env and runtime flags + if command -v noctalia-shell >/dev/null 2>&1; then + nohup setsid noctalia-shell >/dev/null 2>&1 & + elif command -v quickshell >/dev/null 2>&1; then + nohup setsid quickshell -c noctalia-shell >/dev/null 2>&1 & + elif command -v qs >/dev/null 2>&1; then + nohup setsid qs -c noctalia-shell >/dev/null 2>&1 & + else + echo "Error: noctalia-shell/quickshell/qs not found in PATH" >&2 + exit 1 + fi +} + +terminate_targets +start_noctalia diff --git a/modules/home/scripts/restart.noctalia.nix b/modules/home/scripts/restart.noctalia.nix new file mode 100644 index 0000000..d229149 --- /dev/null +++ b/modules/home/scripts/restart.noctalia.nix @@ -0,0 +1,24 @@ +{pkgs, ...}: let + binPath = pkgs.lib.makeBinPath [ + pkgs.coreutils + pkgs.procps + pkgs.psmisc + pkgs.gnugrep + pkgs.findutils + pkgs.util-linux + pkgs.bash + ]; + script = builtins.readFile ./restart.noctalia; +in + pkgs.writeShellScriptBin "restart.noctalia" '' + set -euo pipefail + export PATH=${binPath}:$PATH + + tmp_script=$(mktemp) + trap 'rm -f "$tmp_script"' EXIT + cat > "$tmp_script" <<'BASH_EOF' + ${script} + BASH_EOF + chmod +x "$tmp_script" + exec ${pkgs.bash}/bin/bash "$tmp_script" "$@" + '' diff --git a/modules/home/scripts/rofi-launcher.nix b/modules/home/scripts/rofi-launcher.nix deleted file mode 100644 index b1a3eb2..0000000 --- a/modules/home/scripts/rofi-launcher.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs}: -pkgs.writeShellScriptBin "rofi-launcher" '' - # check if rofi is already running - if pidof rofi > /dev/null; then - pkill rofi - fi - rofi -show drun -'' diff --git a/modules/home/scripts/task-waybar.nix b/modules/home/scripts/task-waybar.nix deleted file mode 100644 index 46b079c..0000000 --- a/modules/home/scripts/task-waybar.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs}: -pkgs.writeShellScriptBin "task-waybar" '' - sleep 0.1 - ${pkgs.swaynotificationcenter}/bin/swaync-client -t & -'' diff --git a/modules/home/scripts/wallsetter.nix b/modules/home/scripts/wallsetter.nix deleted file mode 100644 index a2ae7d5..0000000 --- a/modules/home/scripts/wallsetter.nix +++ /dev/null @@ -1,23 +0,0 @@ -{pkgs, ...}: -pkgs.writeShellScriptBin "wallsetter" '' - - TIMEOUT=720 - - for pid in $(pidof -o %PPID -x wallsetter); do - kill $pid - done - - if ! [ -d ~/Pictures/Wallpapers ]; then notify-send -t 5000 "~/Pictures/Wallpapers does not exist" && exit 1; fi - if [ $(ls -1 ~/Pictures/Wallpapers | wc -l) -lt 1 ]; then notify-send -t 9000 "The wallpaper folder is expected to have more than 1 image. Exiting Wallsetter." && exit 1; fi - - while true; do - while [ "$WALLPAPER" == "$PREVIOUS" ]; do - WALLPAPER=$(find ~/Pictures/Wallpapers -name '*' | awk '!/.git/' | tail -n +2 | shuf -n 1) - done - - PREVIOUS=$WALLPAPER - - ${pkgs.swww}/bin/swww img "$WALLPAPER" --transition-type random --transition-step 1 --transition-fps 60 - sleep $TIMEOUT - done -'' diff --git a/modules/home/scripts/web-search.nix b/modules/home/scripts/web-search.nix deleted file mode 100644 index e58fa05..0000000 --- a/modules/home/scripts/web-search.nix +++ /dev/null @@ -1,59 +0,0 @@ -{pkgs}: -pkgs.writeShellScriptBin "web-search" '' - # check if rofi is already running - if pidof rofi > /dev/null; then - pkill rofi - fi - - declare -A URLS - - URLS=( - [" Search"]="https://search.garandplg.com/search?q=" - ["❄️ Nix Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&query=" - ["❄️ Nix Options"]="https://search.nixos.org/options?query=" - ["❄️ Nix Wiki"]="https://wiki.nixos.org/w/index.php?search=" - ["❄️ Home Manager Options"]="https://home-manager-options.extranix.com/release=master?query=" - [" Kalkulator walutowy EUR"]="https://www.money.pl/pieniadze/kalkulator/?currencyFrom=EUR¤cyTo=PLN&amount=" - ["\$ Kalkulator walutowy USD"]="https://www.money.pl/pieniadze/kalkulator/?currencyFrom=USD¤cyTo=PLN&amount=" - [" YouTube"]="https://www.youtube.com/results?search_query=" - [" Wikipedia PL"]="https://pl.wikipedia.org/w/index.php?search=" - [" StackOverflow"]="https://stackoverflow.com/search?q=" - [" Eneba"]="https://www.eneba.com/pl/store/all?text=" - [" Kinguin"]="https://www.kinguin.net/listing?active=1&hideUnavailable=0&type=kinguin?phrase=" - [" Instant Gaming"]="https://www.instant-gaming.com/pl/search/?q=" - [" Morele"]="https://www.morele.net/wyszukiwarka/?q=" - [" X-kom"]="https://www.x-kom.pl/szukaj?q=" - [" Komputrnik"]="https://www.komputronik.pl/search/category/1?q=" - [" Allegro"]="https://allegro.pl/listing?string=" - ) - - # List for rofi - gen_list() { - for i in "''${!URLS[@]}" - do - echo "$i" - done - } - - main() { - # Pass the list to rofi - platform=$( (gen_list) | ${pkgs.rofi}/bin/rofi -dmenu -config ~/.config/rofi/config-long.rasi ) - - if [[ -n "$platform" ]]; then - query=$( (echo ) | ${pkgs.rofi}/bin/rofi -dmenu -config ~/.config/rofi/config-long.rasi ) - - if [[ -n "$query" ]]; then - url=''${URLS[$platform]}$query - xdg-open "$url" - else - exit - fi - else - exit - fi - } - - main - - exit 0 -'' diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index 006ac78..0ad4135 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -1,10 +1,7 @@ {host, ...}: { stylix.targets = { librewolf.profileNames = ["${host}"]; - waybar.enable = false; - rofi.enable = false; hyprland.enable = false; - hyprlock.enable = false; vscode.enable = false; zed.enable = false; vesktop.enable = false; @@ -12,5 +9,6 @@ enable = true; platform = "qtct"; }; + noctalia-shell.enable = true; }; } diff --git a/modules/home/swaync/default.nix b/modules/home/swaync/default.nix deleted file mode 100644 index 2abdb15..0000000 --- a/modules/home/swaync/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: { - services.swaync = { - enable = true; - package = pkgs.swaynotificationcenter; - }; - - imports = [ - ./settings.nix - ./style.nix - ]; -} diff --git a/modules/home/swaync/settings.nix b/modules/home/swaync/settings.nix deleted file mode 100644 index f279fb4..0000000 --- a/modules/home/swaync/settings.nix +++ /dev/null @@ -1,59 +0,0 @@ -_: { - services.swaync.settings = { - positionX = "right"; - positionY = "top"; - layer = "overlay"; - control-center-margin-top = 10; - control-center-margin-bottom = 10; - control-center-margin-right = 10; - control-center-margin-left = 10; - notification-icon-size = 64; - notification-body-image-height = 100; - notification-body-image-width = 200; - timeout = 10; - timeout-low = 5; - timeout-critical = 0; - fit-to-screen = false; - control-center-width = 500; - control-center-height = 1025; - notification-window-width = 500; - keyboard-shortcuts = true; - image-visibility = "when-available"; - transition-time = 200; - hide-on-clear = false; - hide-on-action = true; - script-fail-notify = true; - widget-config = { - title = { - text = "Notification Center"; - clear-all-button = true; - button-text = "󰆴 Clear All"; - }; - dnd = { - text = "Do Not Disturb"; - }; - label = { - max-lines = 1; - text = "Notification Center"; - }; - mpris = { - image-size = 96; - image-radius = 7; - }; - volume = { - label = "󰕾"; - }; - backlight = { - label = "󰃟"; - }; - }; - widgets = [ - "title" - "mpris" - "volume" - "backlight" - "dnd" - "notifications" - ]; - }; -} diff --git a/modules/home/swaync/style.nix b/modules/home/swaync/style.nix deleted file mode 100644 index 893b8e6..0000000 --- a/modules/home/swaync/style.nix +++ /dev/null @@ -1,251 +0,0 @@ -{config, ...}: { - services.swaync.style = '' - * { - font-family: JetBrainsMono Nerd Font Mono; - font-weight: bold; - } - .control-center .notification-row:focus, - .control-center .notification-row:hover { - opacity: 0.9; - background: #${config.lib.stylix.colors.base00} - } - .notification-row { - outline: none; - margin: 10px; - padding: 0; - } - .notification { - background: transparent; - padding: 0; - margin: 0px; - } - .notification-content { - background: #${config.lib.stylix.colors.base00}; - padding: 10px; - border-radius: 5px; - border: 2px solid #${config.lib.stylix.colors.base0D}; - margin: 0; - } - .notification-default-action { - margin: 0; - padding: 0; - border-radius: 5px; - } - .close-button { - background: #${config.lib.stylix.colors.base08}; - color: #${config.lib.stylix.colors.base00}; - text-shadow: none; - padding: 0; - border-radius: 5px; - margin-top: 5px; - margin-right: 5px; - } - .close-button:hover { - box-shadow: none; - background: #${config.lib.stylix.colors.base0D}; - transition: all .15s ease-in-out; - border: none - } - .notification-action { - border: 2px solid #${config.lib.stylix.colors.base0D}; - border-top: none; - border-radius: 5px; - } - .notification-default-action:hover, - .notification-action:hover { - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base0B} - } - .notification-default-action { - border-radius: 5px; - margin: 0px; - } - .notification-default-action:not(:only-child) { - border-bottom-left-radius: 7px; - border-bottom-right-radius: 7px - } - .notification-action:first-child { - border-bottom-left-radius: 10px; - background: #${config.lib.stylix.colors.base00} - } - .notification-action:last-child { - border-bottom-right-radius: 10px; - background: #${config.lib.stylix.colors.base00} - } - .inline-reply { - margin-top: 8px - } - .inline-reply-entry { - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base05}; - caret-color: #${config.lib.stylix.colors.base05}; - border: 1px solid #${config.lib.stylix.colors.base09}; - border-radius: 5px - } - .inline-reply-button { - margin-left: 4px; - background: #${config.lib.stylix.colors.base00}; - border: 1px solid #${config.lib.stylix.colors.base09}; - border-radius: 5px; - color: #${config.lib.stylix.colors.base05} - } - .inline-reply-button:disabled { - background: initial; - color: #${config.lib.stylix.colors.base03}; - border: 1px solid transparent - } - .inline-reply-button:hover { - background: #${config.lib.stylix.colors.base00} - } - .body-image { - margin-top: 6px; - background-color: #${config.lib.stylix.colors.base05}; - border-radius: 5px - } - .summary { - font-size: 16px; - font-weight: 700; - background: transparent; - color: rgba(158, 206, 106, 1); - text-shadow: none - } - .time { - font-size: 16px; - font-weight: 700; - background: transparent; - color: #${config.lib.stylix.colors.base05}; - text-shadow: none; - margin-right: 18px - } - .body { - font-size: 15px; - font-weight: 400; - background: transparent; - color: #${config.lib.stylix.colors.base05}; - text-shadow: none - } - .control-center { - background: #${config.lib.stylix.colors.base00}; - border: 2px solid #${config.lib.stylix.colors.base0C}; - border-radius: 5px; - } - .control-center-list { - background: transparent - } - .control-center-list-placeholder { - opacity: .5 - } - .floating-notifications { - background: transparent - } - .blank-window { - background: alpha(black, 0) - } - .widget-title { - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base00}; - padding: 5px 10px; - margin: 10px 10px 5px 10px; - font-size: 1.5rem; - border-radius: 5px; - } - .widget-title>button { - font-size: 1rem; - color: #${config.lib.stylix.colors.base05}; - text-shadow: none; - background: #${config.lib.stylix.colors.base00}; - box-shadow: none; - border-radius: 5px; - } - .widget-title>button:hover { - background: #${config.lib.stylix.colors.base08}; - color: #${config.lib.stylix.colors.base00}; - } - .widget-dnd { - background: #${config.lib.stylix.colors.base00}; - padding: 5px 10px; - margin: 10px 10px 5px 10px; - border-radius: 5px; - font-size: large; - color: #${config.lib.stylix.colors.base0B}; - } - .widget-dnd>switch { - border-radius: 5px; - /* border: 1px solid #${config.lib.stylix.colors.base0B}; */ - background: #${config.lib.stylix.colors.base0B}; - } - .widget-dnd>switch:checked { - background: #${config.lib.stylix.colors.base08}; - border: 1px solid #${config.lib.stylix.colors.base08}; - } - .widget-dnd>switch slider { - background: #${config.lib.stylix.colors.base00}; - border-radius: 5px - } - .widget-dnd>switch:checked slider { - background: #${config.lib.stylix.colors.base00}; - border-radius: 5px - } - .widget-label { - margin: 10px 10px 5px 10px; - } - .widget-label>label { - font-size: 1rem; - color: #${config.lib.stylix.colors.base05}; - } - .widget-mpris { - color: #${config.lib.stylix.colors.base05}; - padding: 5px 10px; - margin: 10px 10px 5px 10px; - border-radius: 5px; - } - .widget-mpris > box > button { - border-radius: 5px; - } - .widget-mpris-player { - padding: 5px 10px; - margin: 10px - } - .widget-mpris-title { - font-weight: 700; - font-size: 1.25rem - } - .widget-mpris-subtitle { - font-size: 1.1rem - } - .widget-menubar>box>.menu-button-bar>button { - border: none; - background: transparent - } - .topbar-buttons>button { - border: none; - background: transparent - } - .widget-volume { - background: #${config.lib.stylix.colors.base01}; - padding: 5px; - margin: 10px 10px 5px 10px; - border-radius: 5px; - font-size: x-large; - color: #${config.lib.stylix.colors.base05}; - } - .widget-volume>box>button { - background: #${config.lib.stylix.colors.base0B}; - border: none - } - .per-app-volume { - background-color: #${config.lib.stylix.colors.base00}; - padding: 4px 8px 8px; - margin: 0 8px 8px; - border-radius: 5px; - } - .widget-backlight { - background: #${config.lib.stylix.colors.base01}; - padding: 5px; - margin: 10px 10px 5px 10px; - border-radius: 5px; - font-size: x-large; - color: #${config.lib.stylix.colors.base05} - } - ''; -} diff --git a/modules/home/waybar/waybar-curved.nix b/modules/home/waybar/waybar-curved.nix deleted file mode 100644 index 33e46fe..0000000 --- a/modules/home/waybar/waybar-curved.nix +++ /dev/null @@ -1,277 +0,0 @@ -{ - pkgs, - lib, - host, - config, - ... -}: let - betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; - inherit (import ../../../hosts/${host}/variables.nix) clock24h; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - modules-center = ["hyprland/workspaces"]; - modules-left = [ - "custom/startmenu" - "hyprland/window" - "pulseaudio" - "cpu" - "memory" - "idle_inhibitor" - ]; - modules-right = [ - "custom/hyprbindings" - "custom/notification" - "custom/exit" - "battery" - "tray" - "clock" - ]; - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "clock" = { - format = - if clock24h == true - then '' {:L%H:%M}'' - else '' {:L%I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "hyprland/window" = { - max-length = 22; - separate-outputs = false; - rewrite = { - "" = " 🙈 No Windows? "; - }; - }; - "memory" = { - interval = 5; - format = " {}%"; - tooltip = true; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - }; - "disk" = { - format = " {free}"; - tooltip = true; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownOctets}"; - format-wifi = "{icon} {signalStrength}%"; - format-disconnected = "󰤮"; - tooltip = false; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "sleep 0.1 && pavucontrol"; - }; - "custom/exit" = { - tooltip = false; - format = ""; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = ""; - # exec = "rofi -show drun"; - on-click = "sleep 0.1 && rofi-launcher"; - }; - "custom/hyprbindings" = { - tooltip = false; - format = "󱕴"; - on-click = "sleep 0.1 && list-keybinds"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "sleep 0.1 && task-waybar"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - } - ]; - style = concatStrings [ - '' - * { - font-family: JetBrainsMono Nerd Font Mono; - font-size: 16px; - border-radius: 0px; - border: none; - min-height: 0px; - } - window#waybar { - background: rgba(0,0,0,0); - } - #workspaces { - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base01}; - margin: 4px 4px; - padding: 5px 5px; - border-radius: 16px; - } - #workspaces button { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - opacity: 0.5; - transition: ${betterTransition}; - } - #workspaces button.active { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - transition: ${betterTransition}; - opacity: 1.0; - min-width: 40px; - } - #workspaces button:hover { - font-weight: bold; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - opacity: 0.8; - transition: ${betterTransition}; - } - tooltip { - background: #${config.lib.stylix.colors.base00}; - border: 1px solid #${config.lib.stylix.colors.base08}; - border-radius: 12px; - } - tooltip label { - color: #${config.lib.stylix.colors.base08}; - } - #window, #pulseaudio, #cpu, #memory, #idle_inhibitor { - font-weight: bold; - margin: 4px 0px; - margin-left: 7px; - padding: 0px 18px; - background: #${config.lib.stylix.colors.base04}; - color: #${config.lib.stylix.colors.base00}; - border-radius: 24px 10px 24px 10px; - } - #custom-startmenu { - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base02}; - font-size: 28px; - margin: 0px; - padding: 0px 30px 0px 15px; - border-radius: 0px 0px 40px 0px; - } - #custom-hyprbindings, #network, #battery, - #custom-notification, #tray, #custom-exit { - font-weight: bold; - background: #${config.lib.stylix.colors.base0F}; - color: #${config.lib.stylix.colors.base00}; - margin: 4px 0px; - margin-right: 7px; - border-radius: 10px 24px 10px 24px; - padding: 0px 18px; - } - #clock { - font-weight: bold; - color: #0D0E15; - background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C}); - margin: 0px; - padding: 0px 15px 0px 30px; - border-radius: 0px 0px 0px 40px; - } - '' - ]; - }; - } diff --git a/modules/home/waybar/waybar-ddubs-2.nix b/modules/home/waybar/waybar-ddubs-2.nix deleted file mode 100644 index 398cb44..0000000 --- a/modules/home/waybar/waybar-ddubs-2.nix +++ /dev/null @@ -1,385 +0,0 @@ -{ - pkgs, - lib, - ... -}: let - terminal = "kitty"; - base00 = "0F1419"; - base01 = "131721"; - base03 = "3E4B59"; - base05 = "E6E1CF"; - base06 = "E6E1CF"; - base07 = "F3F4F5"; - base08 = "F07178"; - base09 = "FF8F40"; - base0A = "FFB454"; - base0B = "B8CC52"; - base0C = "95E6CB"; - base0D = "59C2FF"; - base0E = "D2A6FF"; - base0F = "E6B673"; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - - modules-left = [ - "custom/startmenu" - "tray" - "hyprland/window" - ]; - modules-center = ["hyprland/workspaces"]; - modules-right = [ - "idle_inhibitor" - "custom/notification" - "pulseaudio" - "battery" - "clock" - "custom/exit" - ]; - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "clock" = { - format = '' {:%H:%M}''; - # ''{: %I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }{calendar}"; - }; - "hyprland/window" = { - max-length = 60; - separate-outputs = false; - }; - "memory" = { - interval = 5; - format = " {}%"; - tooltip = true; - on-click = "${terminal} -e btop"; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - on-click = "${terminal} -e btop"; - }; - "disk" = { - format = " {free}"; - tooltip = true; - # Not working with garandos window open then closes - #on-click = "${terminal} -e sh -c df -h ; read"; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownBits}"; - format-wifi = " {bandwidthDownBits}"; - format-disconnected = "󰤮"; - tooltip = false; - on-click = "${terminal} -e btop"; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "pavucontrol"; - }; - "custom/exit" = { - tooltip = false; - format = "⏻"; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = " "; - # exec = "rofi -show drun"; - on-click = "rofi -show drun"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = " "; - deactivated = " "; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "swaync-client -t"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - } - ]; - style = concatStrings [ - '' - * { - font-size: 16px; - font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif; - font-weight: bold; - } - window#waybar { - /* - - background-color: rgba(26,27,38,0); - border-bottom: 1px solid rgba(26,27,38,0); - border-radius: 0px; - color: #${base0F}; - */ - - background-color: rgba(26,27,38,0); - border-bottom: 1px solid rgba(26,27,38,0); - border-radius: 0px; - color: #${base0F}; - } - #workspaces { - /* - Eternal - background: linear-gradient(180deg, #${base00}, #${base01}); - margin: 5px 5px 5px 0px; - padding: 0px 10px; - border-radius: 0px 15px 15px 0px; - border: 0px; - font-style: normal; - color: #${base00}; - */ - background: linear-gradient(45deg, #${base01}, #${base01}); - margin: 5px; - padding: 0px 1px; - border-radius: 15px; - border: 0px; - font-style: normal; - color: #${base00}; - } - #workspaces button { - padding: 0px 5px; - margin: 4px 3px; - border-radius: 15px; - border: 0px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 0.5; - transition: all 0.3s ease-in-out; - } - #workspaces button.active { - padding: 0px 5px; - margin: 4px 3px; - border-radius: 15px; - border: 0px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 1.0; - min-width: 40px; - transition: all 0.3s ease-in-out; - } - #workspaces button:hover { - border-radius: 15px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 0.8; - } - tooltip { - background: #${base00}; - border: 1px solid #${base0E}; - border-radius: 10px; - } - tooltip label { - color: #${base07}; - } - #window { - /* - Eternal - color: #${base05}; - background: #${base00}; - border-radius: 15px; - margin: 5px; - padding: 2px 20px; - */ - margin: 5px; - padding: 2px 20px; - color: #${base05}; - background: #${base01}; - border-radius: 15px 15px 15px 15px; - } - #memory { - color: #${base0F}; - /* - Eternal - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - */ - background: #${base01}; - margin: 5px; - padding: 2px 20px; - border-radius: 15px 15px 15px 15px; - } - #clock { - color: #${base0B}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #idle_inhibitor { - color: #${base0A}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 3px; - padding: 2px 20px; - } - #cpu { - color: #${base07}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #disk { - color: #${base0F}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #battery { - color: #${base08}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #network { - color: #${base09}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #tray { - color: #${base05}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 15px; - } - #pulseaudio { - color: #${base0D}; - /* - Eternal - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - */ - background: #${base01}; - margin: 4px; - padding: 2px 20px; - border-radius: 15px 15px 15px 15px; - } - #custom-notification { - color: #${base0C}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #custom-startmenu { - color: #${base0E}; - background: #${base00}; - border-radius: 0px 15px 15px 0px; - margin: 5px 5px 5px 0px; - padding: 2px 20px; - } - #idle_inhibitor { - color: #${base09}; - background: #${base00}; - border-radius: 15px 15px 15px 15px; - margin: 5px; - padding: 2px 20px; - } - #custom-exit { - color: #${base0E}; - background: #${base00}; - border-radius: 15px 0px 0px 15px; - margin: 5px 0px 5px 5px; - padding: 2px 20px; - } - '' - ]; - }; - } diff --git a/modules/home/waybar/waybar-ddubs.nix b/modules/home/waybar/waybar-ddubs.nix deleted file mode 100644 index 08edf50..0000000 --- a/modules/home/waybar/waybar-ddubs.nix +++ /dev/null @@ -1,283 +0,0 @@ -{ - pkgs, - lib, - host, - config, - ... -}: let - betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; - inherit (import ../../../hosts/${host}/variables.nix) clock24h; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - modules-center = ["hyprland/workspaces"]; - modules-left = [ - "custom/startmenu" - "hyprland/window" - "pulseaudio" - "cpu" - "memory" - "idle_inhibitor" - ]; - modules-right = [ - "custom/hyprbindings" - "custom/notification" - "custom/exit" - "battery" - "tray" - "clock" - ]; - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "clock" = { - format = - if clock24h == true - then '' {:L%H:%M}'' - else '' {:L%I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "hyprland/window" = { - max-length = 22; - separate-outputs = false; - rewrite = { - "" = " 🙈 No Windows? "; - }; - }; - "memory" = { - interval = 5; - format = " {}%"; - tooltip = true; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - }; - "disk" = { - format = " {free}"; - tooltip = true; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownOctets}"; - format-wifi = "{icon} {signalStrength}%"; - format-disconnected = "󰤮"; - tooltip = false; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "sleep 0.1 && pavucontrol"; - }; - "custom/exit" = { - tooltip = false; - format = ""; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = ""; - # exec = "rofi -show drun"; - #on-click = "sleep 0.1 && rofi-launcher"; - on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200"; - }; - "custom/hyprbindings" = { - tooltip = false; - format = "󱕴"; - on-click = "sleep 0.1 && list-keybinds"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "sleep 0.1 && task-waybar"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - } - ]; - style = concatStrings [ - '' - * { - font-family: JetBrainsMono Nerd Font Mono; - font-size: 18px; - border-radius: 0px; - border: none; - min-height: 0px; - } - window#waybar { - background: rgba(0,0,0,0); - } - #workspaces { - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base01}; - margin: 4px 4px; - padding: 5px 5px; - border-radius: 16px; - } - #workspaces button { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - opacity: 0.5; - transition: ${betterTransition}; - } - #workspaces button.active { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - transition: ${betterTransition}; - opacity: 1.0; - min-width: 40px; - } - #workspaces button:hover { - font-weight: bold; - border-radius: 16px; - color: #${config.lib.stylix.colors.base00}; - background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); - opacity: 0.8; - transition: ${betterTransition}; - } - tooltip { - background: #${config.lib.stylix.colors.base00}; - border: 1px solid #${config.lib.stylix.colors.base08}; - border-radius: 12px; - } - tooltip label { - color: #${config.lib.stylix.colors.base08}; - } - #window, #pulseaudio, #cpu, #memory, #idle_inhibitor { - font-weight: bold; - margin: 4px 0px; - margin-left: 7px; - padding: 0px 18px; - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base08}; - border-radius: 8px 8px 8px 8px; - } - #idle_inhibitor { - font-size: 28px; - } - #custom-startmenu { - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base02}; - font-size: 22px; - margin: 0px; - padding: 0px 5px 0px 5px; - border-radius: 16px 16px 16px 16px; - } - #custom-hyprbindings, #network, #battery, - #custom-notification, #tray, #custom-exit { - /* font-weight: bold; */ - font-size: 20px; - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base08}; - margin: 4px 0px; - margin-right: 7px; - border-radius: 8px 8px 8px 8px; - padding: 0px 18px; - } - #clock { - font-weight: bold; - font-size: 16px; - color: #0D0E15; - background: linear-gradient(90deg, #${config.lib.stylix.colors.base0B}, #${config.lib.stylix.colors.base02}); - margin: 0px; - padding: 0px 5px 0px 5px; - border-radius: 16px 16px 16px 16px; - } - '' - ]; - }; - } diff --git a/modules/home/waybar/waybar-dwm-2.nix b/modules/home/waybar/waybar-dwm-2.nix deleted file mode 100644 index d7dc247..0000000 --- a/modules/home/waybar/waybar-dwm-2.nix +++ /dev/null @@ -1,494 +0,0 @@ -{ - config, - pkgs, - ... -}: { - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = { - mainBar = { - layer = "top"; - "modules-left" = [ - "hyprland/workspaces" - "temperature" - "hyprland/window" - ]; - "modules-center" = ["custom/spacer"]; - "modules-right" = [ - "tray" - "cpu" - "memory" - "idle_inhibitor" - "clock" - "pulseaudio" - "bluetooth" - ]; - "hyprland/window" = { - format = "{title}"; - "max-length" = 333; - "seperate-outputs" = true; - }; - clock = { - format = "{:%I:%M %a %d}"; - "tooltip-format" = "{calendar}"; - calendar = { - mode = "month"; - "mode-mon-col" = 3; - "on-scroll" = 1; - "on-click-right" = "mode"; - format = { - months = "{}"; - days = "{}"; - weeks = "{%W}"; - weekdays = "{}"; - today = "{}"; - }; - }; - actions = { - "on-click-middle" = "mode"; - "on-click-right" = "shift_up"; - "on-click" = "shift_down"; - }; - }; - cpu = { - format = "󰯳 {usage}%"; - }; - memory = { - format = "󰍛 {}%"; - interval = 1; - }; - "custom/gpu-util" = { - exec = "./scripts/gpu-util"; - format = "󰯿 {}"; - interval = 1; - }; - "custom/gpu-temp" = { - exec = "./scripts/gpu-temp"; - format = " {}"; - interval = 1; - }; - temperature = { - "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input"; - "critical-threshold" = 80; - format = " {temperatureC}°C"; - interval = 1; - }; - "hyprland/workspaces" = { - format = "{icon}"; - "active-only" = false; - "sort-by-number" = false; - "on-click" = "activate"; - "all-outputs" = false; - "format-icons" = { - "1" = "1"; - "2" = "2"; - "3" = "3"; - "4" = "4"; - "5" = "5"; - "6" = "6"; - "7" = "7"; - "8" = "8"; - "9" = "9"; - "10" = "10"; - }; - }; - network = { - format = "󰤭 Off"; - "format-wifi" = "{essid} ({signalStrength}%)"; - "format-ethernet" = "󰈀"; - "format-disconnected" = "󰤭 Disconnected"; - "tooltip-format" = "{ifname} via {gwaddr} "; - "tooltip-format-wifi" = "{essid}({signalStrength}%)  "; - "tooltip-format-ethernet" = "󰈀 {ifname}"; - "tooltip-format-disconnected" = "Disconnected"; - }; - pulseaudio = { - format = "{icon} {volume}% {format_source}"; - "format-bluetooth" = "{icon} {volume}% {format_source}"; - "format-bluetooth-muted" = "󰖁 {format_source}"; - "format-muted" = "󰖁 {format_source}"; - "format-source" = " {volume}%"; - "format-source-muted" = ""; - "format-icons" = { - headphone = ""; - phone = ""; - portable = ""; - default = [ - "" - "" - "" - ]; - }; - "on-click-left" = "pavucontrol"; - input = true; - }; - "custom/playerctl" = { - format = "{icon} {}"; - "return-type" = "json"; - "max-length" = 333; - exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} ~ {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; - "on-click-middle" = "playerctl play-pause"; - "on-click" = "playerctl previous"; - "on-click-right" = "playerctl next"; - "format-icons" = { - Playing = ""; - Paused = ""; - }; - }; - tray = { - format = "{icon}"; - "icon-size" = 14; - spacing = 5; - }; - idle_inhibitor = { - format = "{icon}"; - "format-icons" = { - activated = "󱠛"; - deactivated = "󱤱"; - }; - }; - "custom/subs" = { - format = "󰗃 {}"; - exec = "/usr/local/bin/subsfile.sh"; - "on-click" = "vivaldi-stable https://youtube.com/thelinuxcast"; - "restart-interval" = 1; - }; - "custom/spacer" = { - format = " "; - }; - "wlr/taskbar" = { - format = "{name}"; - "icon-size" = 14; - "icon-theme" = "Numix-Circle"; - "tooltip-format" = "{title}"; - "on-click" = "activate"; - "on-click-middle" = "close"; - "ignore-list" = ["Alacritty"]; - "app_ids-mapping" = { - firefoxdeveloperedition = "firefox-developer-edition"; - }; - rewrite = { - "Firefox Web Browser" = "Firefox"; - "Foot Server" = "Terminal"; - }; - }; - bluetooth = { - "on-click" = "./scripts/bluetooth-control"; - "on-click-right" = "./scripts/rofi-bluetooth"; - "on-click-middle" = "./scripts/rofi-bluetooth"; - format = "{icon}"; - interval = 15; - "format-icons" = { - on = ""; - off = "󰂲"; - disabled = "󰂲"; - connected = ""; - }; - "tooltip-format" = "{device_alias} {status}"; - }; - }; - }; - style = '' - @define-color background #${config.stylix.base16Scheme.base00}; - @define-color foreground #${config.stylix.base16Scheme.base05}; - @define-color border #${config.stylix.base16Scheme.base02}; - @define-color color1 #${config.stylix.base16Scheme.base01}; - @define-color color2 #${config.stylix.base16Scheme.base02}; - @define-color color3 #${config.stylix.base16Scheme.base03}; - @define-color color4 #${config.stylix.base16Scheme.base04}; - @define-color color5 #${config.stylix.base16Scheme.base05}; - @define-color color6 #${config.stylix.base16Scheme.base06}; - @define-color color7 #${config.stylix.base16Scheme.base07}; - @define-color color8 #${config.stylix.base16Scheme.base08}; - @define-color color9 #${config.stylix.base16Scheme.base09}; - @define-color color10 #${config.stylix.base16Scheme.base0A}; - @define-color color11 #${config.stylix.base16Scheme.base0B}; - @define-color color12 #${config.stylix.base16Scheme.base0C}; - @define-color color13 #${config.stylix.base16Scheme.base0D}; - @define-color color14 #${config.stylix.base16Scheme.base0E}; - @define-color color15 #${config.stylix.base16Scheme.base0F}; - - * { - min-height: 0; - margin: 0; - padding: 0; - font-family: "JetBrains Mono Nerd Font"; - font-size: 14pt; - font-weight: 700; - padding-bottom: 0px; - } - - tooltip { - background: @background; - border: 2px solid @border; - } - - #window { - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 7px; - background-color: @color14; - color: #282828; - } - - window#waybar.empty #window { - background-color: transparent; - border-bottom: none; - border-right: none; - } - - window#waybar { - background-color:@color14; - color: @color2; - } - - /* Workspaces */ - - #workspaces { - margin: 0px 0px 0px 0px; - padding: 0px; - background-color: @background; - color: @color7; - } - - #workspaces button { - margin: 0px 0px 0px 0px; - padding-left: 3px; - padding-right: 9px; - background-color: @background; - color: @color7; - } - - #workspaces button.active { - padding: 0 2px 0 1px; - color: @color3; - } - - #workspaces button.urgent { - color: @color9; - } - - #custom-gpu-util { - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 10px; - background-color: @background; - color: @foreground; - } - - #tray { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - background-color: @background; - color: @foreground; - } - - #idle_inhibitor { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 12px; - background-color: @background; - color: @foreground; - } - - #idle_inhibitor.activated { - color: @color9; - } - - #network { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 12px; - background-color: @background; - color: @color11; - } - - #network.linked { - color: @color6; - } - #network.disconnected, - #network.disabled { - color: @color4; - } - - #custom-subs { - color: @foreground; - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 12px; - border-bottom: 2px solid @background; - border-right: 2px solid @background; - border-color: @color8; - background-color: @color13; - } - - #custom-cliphist { - color: @color14; - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 12px; - background-color: @background; - } - - #custom-gpu-temp, - #custom-clipboard { - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 10px; - color: @foreground; - background-color: @background; - } - - #cpu { - margin: 0px 0px 0px 0px; - padding-left: 6px; - padding-right: 6px; - color: @foreground; - background-color: @background; - } - - #custom-cpuicon { - margin: 0px 0px 0px 0px; - padding: 0px 10px 0px 10px; - color: @color14; - background-color: @background; - } - - #custom-diskicon { - margin: 0px 0px 0px 0; - padding: 0 10px 0 10px; - color: @color2; - background-color: @background; - } - - #disk { - margin: 0px 0px 0px 0; - padding-left: 0px; - padding-right: 0px; - color: @foreground; - background-color: @background; - } - - #custom-notification { - background-color: @background; - color: @color15; - padding: 0 12px; - margin-right: 0px; - font-size: 14px; - font-family: "JetBrainsMono Nerd Font"; - } - - #custom-memoryicon { - margin: 0px 0px 0px 0px; - color: @color4; - padding: 0 11px 0 7px; - background-color: @background; - } - - #memory { - margin: 0px 0px 0px 0px; - padding-left: 5px; - padding-right: 10px; - color: @color4; - background-color: @background; - } - - #custom-tempicon { - margin: 0px 0px 0px 0px; - color: @color10; - padding: 0 11px 0 8px; - background-color: @background; - } - - #temperature { - margin: 0px 0px 0px 0px; - padding-left: 5px; - padding-right: 10px; - color: @color10; - background-color: @background; - } - - #custom-playerctl { - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 10px; - color: @foreground; - background-color: @background; - } - - #battery, - #backlight, - #bluetooth, - #pulseaudio { - margin-top: 0px; - margin-bottom: 0px; - color: @foreground; - background-color: @background; - } - - #pulseaudio { - margin-top: 0px; - margin-bottom: 0px; - color: @color15; - background-color: @background; - } - - #battery, - #bluetooth { - margin-left: 0px; - margin-right: 0px; - padding-left: 0px; - padding-right: 2px; - } - - #backlight, - #pulseaudio { - margin-right: 0px; - margin-left: 0px; - padding-left: 10px; - padding-right: 7.5px; - } - - #clock { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - color: @color6; - background-color: @background; - } - - #custom-clockicon { - margin: 0px 0 0px 0px; - color: @color6; - padding: 0 5px 0 10px; - background-color: @background; - } - - #taskbar { - padding: 0 3px; - margin: 0 0px; - color: #ffffff; - background-color: rgba(120,118,117,0.3); - } - #taskbar button { - padding: 0 0 0 3px; - margin: 0px 0px; - color: #ffffff; - background-color: rgba(120,118,117,0.1); - } - #taskbar button.active { - background-color: rgba(120,118,117,0.8); - } - - #mode { - margin: 0px 5px 0px 5px; - padding-left: 10px; - padding-right: 10px; - background-color: @background; - color: @color9; - } - ''; - }; -} diff --git a/modules/home/waybar/waybar-dwm.nix b/modules/home/waybar/waybar-dwm.nix deleted file mode 100644 index 5efe5e3..0000000 --- a/modules/home/waybar/waybar-dwm.nix +++ /dev/null @@ -1,442 +0,0 @@ -{ - config, - pkgs, - ... -}: { - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = { - mainBar = { - layer = "top"; - "modules-left" = [ - "hyprland/workspaces" - "hyprland/window" - ]; - "modules-center" = ["clock"]; - "modules-right" = [ - "tray" - "cpu" - "memory" - "idle_inhibitor" - "pulseaudio" - "bluetooth" - ]; - "hyprland/window" = { - format = "{title}"; - "max-length" = 333; - "seperate-outputs" = true; - }; - clock = { - format = "{:%I:%M %a %d}"; - "tooltip-format" = "{calendar}"; - calendar = { - mode = "month"; - "mode-mon-col" = 3; - "on-scroll" = 1; - "on-click-right" = "mode"; - format = { - months = "{}"; - days = "{}"; - weeks = "{%W}"; - weekdays = "{}"; - today = "{}"; - }; - }; - actions = { - "on-click-middle" = "mode"; - "on-click-right" = "shift_up"; - "on-click" = "shift_down"; - }; - }; - cpu = { - format = "󰯳 {usage}%"; - }; - memory = { - format = "󰍛 {}%"; - interval = 1; - }; - "custom/gpu-util" = { - exec = "./scripts/gpu-util"; - format = "󰯿 {}"; - interval = 1; - }; - "custom/gpu-temp" = { - exec = "./scripts/gpu-temp"; - format = " {}"; - interval = 1; - }; - temperature = { - "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input"; - "critical-threshold" = 80; - format = " {temperatureC}°C"; - interval = 1; - }; - "hyprland/workspaces" = { - format = "{icon}"; - "active-only" = false; - "sort-by-number" = true; - "on-click" = "activate"; - "all-outputs" = false; - "format-icons" = { - "1" = "1"; - "2" = "2"; - "3" = "3"; - "4" = "4"; - "5" = "5"; - "6" = "6"; - "7" = "7"; - "8" = "8"; - "9" = "9"; - "10" = "10"; - }; - }; - network = { - format = "󰤭 Off"; - "format-wifi" = "{essid} ({signalStrength}%)"; - "format-ethernet" = "󰈀"; - "format-disconnected" = "󰤭 Disconnected"; - "tooltip-format" = "{ifname} via {gwaddr} "; - "tooltip-format-wifi" = "{essid}({signalStrength}%)  "; - "tooltip-format-ethernet" = "󰈀 {ifname}"; - "tooltip-format-disconnected" = "Disconnected"; - }; - pulseaudio = { - format = "{icon} {volume}% {format_source}"; - "format-bluetooth" = "{icon} {volume}% {format_source}"; - "format-bluetooth-muted" = "󰖁 {format_source}"; - "format-muted" = "󰖁 {format_source}"; - "format-source" = " {volume}%"; - "format-source-muted" = ""; - "format-icons" = { - headphone = ""; - phone = ""; - portable = ""; - default = [ - "" - "" - "" - ]; - }; - "on-click-left" = "pavucontrol"; - input = true; - }; - "custom/playerctl" = { - format = "{icon} {}"; - "return-type" = "json"; - "max-length" = 333; - exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} ~ {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; - "on-click-middle" = "playerctl play-pause"; - "on-click" = "playerctl previous"; - "on-click-right" = "playerctl next"; - "format-icons" = { - Playing = ""; - Paused = ""; - }; - }; - tray = { - format = "{icon}"; - "icon-size" = 14; - spacing = 5; - }; - idle_inhibitor = { - format = "{icon}"; - "format-icons" = { - activated = "󱠛"; - deactivated = "󱤱"; - }; - }; - "custom/subs" = { - format = "󰗃 {}"; - exec = "/usr/local/bin/subsfile.sh"; - "on-click" = "vivaldi-stable https://youtube.com/thelinuxcast"; - "restart-interval" = 1; - }; - "custom/spacer" = { - format = " "; - }; - "wlr/taskbar" = { - format = "{name}"; - "icon-size" = 14; - "icon-theme" = "Numix-Circle"; - "tooltip-format" = "{title}"; - "on-click" = "activate"; - "on-click-middle" = "close"; - "ignore-list" = ["Alacritty"]; - "app_ids-mapping" = { - firefoxdeveloperedition = "firefox-developer-edition"; - }; - rewrite = { - "Firefox Web Browser" = "Firefox"; - "Foot Server" = "Terminal"; - }; - }; - bluetooth = { - "on-click" = "./scripts/bluetooth-control"; - "on-click-right" = "./scripts/rofi-bluetooth"; - "on-click-middle" = "./scripts/rofi-bluetooth"; - format = "{icon}"; - interval = 15; - "format-icons" = { - on = ""; - off = "󰂲"; - disabled = "󰂲"; - connected = ""; - }; - "tooltip-format" = "{device_alias} {status}"; - }; - }; - }; - style = '' - @define-color bg #${config.stylix.base16Scheme.base00}; - @define-color fg #${config.stylix.base16Scheme.base05}; - @define-color lbg #${config.stylix.base16Scheme.base01}; - @define-color yellow #${config.stylix.base16Scheme.base0A}; - @define-color lavender #${config.stylix.base16Scheme.base0E}; - @define-color peach #${config.stylix.base16Scheme.base0A}; - @define-color red #${config.stylix.base16Scheme.base08}; - @define-color green #${config.stylix.base16Scheme.base0B}; - @define-color blue #${config.stylix.base16Scheme.base0D}; - @define-color border #${config.stylix.base16Scheme.base02}; - - * { - min-height: 0; - margin: 0px 0px 0px 0px; - padding: 0; - border-radius: 7px; - font-family: "JetBrains Mono Nerd Font"; - font-size: 10pt; - font-weight: 700; - padding-bottom: 0px; - } - - tooltip { - background: @bg; - border-radius: 7px; - border: 2px solid @border; - } - - #window { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 7px; - border-radius: 3px; - border-color: @lbg; - background-color: @yellow; - color: @bg; - } - - window#waybar.empty #window { - background-color: @bg; - border-bottom: none; - border-right: none; - } - - window#waybar { - background-color: @bg; - color: @lavender; - } - - /* Workspaces */ - @keyframes button_activate { - from { opacity: .3 } - to { opacity: 1.; } - } - - #workspaces { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding: 1px; - background-color: @bg; - color: @bg; - } - - #workspaces button { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding-left: 3px; - padding-right: 9px; - background-color: @bg; - color: @fg; - } - - #workspaces button.active { - background-color:@blue; - color: @bg; - } - - #workspaces button.urgent { - color: #F38BA8; - } - - #workspaces button:hover { - border: solid transparent; - } - - #custom-gpu-util { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 7px; - background-color: @bg; - color: @fg; - } - - #tray { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding-left: 10px; - padding-right: 10px; - background-color: @bg; - color: @fg; - } - - #idle_inhibitor { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - background-color: @bg; - color: @fg; - } - - #network { - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 7px; - background-color: @bg; - color: @lavender; - } - - #network.linked { - color: @peach; - } - #network.disconnected, - #network.disabled { - color: @red; - } - - #custom-subs { - color: @fg; - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - border-bottom: 2px solid @bg; - border-right: 2px solid @bg; - border-color: @lbg; - background-color: @red; - } - - #custom-spacer { - background-color: @yellow; - } - - #custom-cliphist { - color: @peach; - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - background-color: @bg; - } - - #custom-gpu-temp, - #cpu, - #memory, - #custom-clipboard, - #temperature { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @fg; - background-color: @bg; - } - - #custom-playerctl { - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @fg; - background-color: @bg; - } - - #battery, - #backlight, - #bluetooth, - #pulseaudio { - margin-top: 5px; - margin-bottom: 2px; - color: @fg; - background-color: @bg; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - - #battery, - #bluetooth { - margin-left: 0px; - margin-right: 5px; - padding-left: 7.5px; - padding-right: 10px; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - - #backlight, - #pulseaudio { - margin-right: 0px; - margin-left: 5px; - padding-left: 10px; - padding-right: 7.5px; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - - #clock { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @bg; - background-color: @green; - } - - #taskbar { - border-radius: 0px 0px 0px 0; - padding: 0 3px; - margin: 0 0px; - color: #ffffff; - background-color: rgba(120,118,117,0.3); - } - #taskbar button { - border-radius: 0px 0px 0px 0px; - padding: 0 0 0 3px; - margin: 3px 1; - color: #ffffff; - background-color: rgba(120,118,117,0.1); - } - #taskbar button.active { - background-color: rgba(120,118,117,0.8); - } - - #mode { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - background-color: @bg; - color: @peach; - } - ''; - }; -} diff --git a/modules/home/waybar/waybar-jerry.nix b/modules/home/waybar/waybar-jerry.nix deleted file mode 100644 index 994f922..0000000 --- a/modules/home/waybar/waybar-jerry.nix +++ /dev/null @@ -1,391 +0,0 @@ -{ - pkgs, - lib, - ... -}: let - terminal = "kitty"; - base00 = "0F1419"; - base01 = "131721"; - base03 = "3E4B59"; - base05 = "E6E1CF"; - base06 = "E6E1CF"; - base07 = "F3F4F5"; - base08 = "F07178"; - base09 = "FF8F40"; - base0A = "FFB454"; - base0B = "B8CC52"; - base0C = "95E6CB"; - base0D = "59C2FF"; - base0E = "D2A6FF"; - base0F = "E6B673"; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - - modules-center = [ - "network" - "pulseaudio" - "cpu" - "hyprland/workspaces" - "memory" - "disk" - "clock" - ]; # Eterna: [ "hyprland/window" ] - modules-left = [ - "custom/startmenu" - "hyprland/window" - ]; # Eternal: [ "hyprland/workspaces" "cpu" "memory" "network" ] - modules-right = [ - "tray" - "idle_inhibitor" - "custom/notification" - "battery" - "custom/exit" - ]; # Eternal: [ "idle_inhibitor" "pulseaudio" "clock" "custom/notification" "tray" ] - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "clock" = { - format = '' {:%H:%M}''; - # ''{: %I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }{calendar}"; - }; - "hyprland/window" = { - max-length = 60; - separate-outputs = false; - }; - "memory" = { - interval = 5; - format = " {}%"; - tooltip = true; - on-click = "${terminal} -e btop"; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - on-click = "${terminal} -e btop"; - }; - "disk" = { - format = " {free}"; - tooltip = true; - # Not working with garandos window open then closes - #on-click = "${terminal} -e sh -c df -h ; read"; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownBits}"; - format-wifi = " {bandwidthDownBits}"; - format-disconnected = "󰤮"; - tooltip = false; - on-click = "${terminal} -e btop"; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "pavucontrol"; - }; - "custom/exit" = { - tooltip = false; - format = "⏻"; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = " "; - # exec = "rofi -show drun"; - on-click = "rofi -show drun"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = " "; - deactivated = " "; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "swaync-client -t"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - } - ]; - style = concatStrings [ - '' - * { - font-size: 16px; - font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif; - font-weight: bold; - } - window#waybar { - /* - - background-color: rgba(26,27,38,0); - border-bottom: 1px solid rgba(26,27,38,0); - border-radius: 0px; - color: #${base0F}; - */ - - background-color: rgba(26,27,38,0); - border-bottom: 1px solid rgba(26,27,38,0); - border-radius: 0px; - color: #${base0F}; - } - #workspaces { - /* - Eternal - background: linear-gradient(180deg, #${base00}, #${base01}); - margin: 5px 5px 5px 0px; - padding: 0px 10px; - border-radius: 0px 15px 50px 0px; - border: 0px; - font-style: normal; - color: #${base00}; - */ - background: linear-gradient(45deg, #${base01}, #${base01}); - margin: 5px; - padding: 0px 1px; - border-radius: 15px; - border: 0px; - font-style: normal; - color: #${base00}; - } - #workspaces button { - padding: 0px 5px; - margin: 4px 3px; - border-radius: 15px; - border: 0px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 0.5; - transition: all 0.3s ease-in-out; - } - #workspaces button.active { - padding: 0px 5px; - margin: 4px 3px; - border-radius: 15px; - border: 0px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 1.0; - min-width: 40px; - transition: all 0.3s ease-in-out; - } - #workspaces button:hover { - border-radius: 15px; - color: #${base00}; - background: linear-gradient(45deg, #${base0D}, #${base0E}); - opacity: 0.8; - } - tooltip { - background: #${base00}; - border: 1px solid #${base0E}; - border-radius: 10px; - } - tooltip label { - color: #${base07}; - } - #window { - /* - Eternal - color: #${base05}; - background: #${base00}; - border-radius: 15px; - margin: 5px; - padding: 2px 20px; - */ - margin: 5px; - padding: 2px 20px; - color: #${base05}; - background: #${base01}; - border-radius: 50px 15px 50px 15px; - } - #memory { - color: #${base0F}; - /* - Eternal - background: #${base00}; - border-radius: 50px 15px 50px 15px; - margin: 5px; - padding: 2px 20px; - */ - background: #${base01}; - margin: 5px; - padding: 2px 20px; - border-radius: 15px 50px 15px 50px; - } - #clock { - color: #${base0B}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #idle_inhibitor { - color: #${base0A}; - background: #${base00}; - border-radius: 50px 15px 50px 15px; - margin: 5px; - padding: 2px 20px; - } - #cpu { - color: #${base07}; - background: #${base00}; - border-radius: 50px 15px 50px 15px; - margin: 5px; - padding: 2px 20px; - } - #disk { - color: #${base0F}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #battery { - color: #${base08}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #network { - color: #${base09}; - background: #${base00}; - border-radius: 50px 15px 50px 15px; - margin: 5px; - padding: 2px 20px; - } - #tray { - color: #${base05}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #pulseaudio { - color: #${base0D}; - /* - Eternal - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - */ - background: #${base01}; - margin: 4px; - padding: 2px 20px; - border-radius: 50px 15px 50px 15px; - } - #custom-notification { - color: #${base0C}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #custom-startmenu { - color: #${base0E}; - background: #${base00}; - border-radius: 0px 15px 50px 0px; - margin: 5px 5px 5px 0px; - padding: 2px 20px; - } - #idle_inhibitor { - color: #${base09}; - background: #${base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; - } - #custom-exit { - color: #${base0E}; - background: #${base00}; - border-radius: 15px 0px 0px 50px; - margin: 5px 0px 5px 5px; - padding: 2px 20px; - } - '' - ]; - }; - } diff --git a/modules/home/waybar/waybar-nekodyke.nix b/modules/home/waybar/waybar-nekodyke.nix deleted file mode 100755 index c7a07dc..0000000 --- a/modules/home/waybar/waybar-nekodyke.nix +++ /dev/null @@ -1,306 +0,0 @@ -{ - pkgs, - lib, - host, - config, - ... -}: let - betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; - inherit (import ../../../hosts/${host}/variables.nix) clock24h; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - margin-top = 6; - margin-left = 6; - margin-right = 6; - modules-center = ["hyprland/workspaces"]; - modules-left = [ - "custom/startmenu" - "cpu" - "memory" - "temperature" - "disk" - "hyprland/window" - "idle_inhibitor" - ]; - modules-right = [ - "pulseaudio" - "battery" - "custom/hyprbindings" - "custom/notification" - "clock" - "tray" - ]; - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "pulseaudio/slider" = { - min = 0; - max = 100; - orientation = "horizontal"; - }; - "temperature" = { - format = " {temperatureC}°C "; - }; - "clock" = { - format = - if clock24h == true - then '' {:L%H:%M}'' - else '' {:L%I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "hyprland/window" = { - max-length = 22; - separate-outputs = false; - rewrite = { - "" = " 🙈 No Windows? "; - }; - }; - "memory" = { - interval = 5; - icon-size = 20; - format = " {}%"; - tooltip = true; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - }; - "disk" = { - format = "󱛟 {free}"; - tooltip = true; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownOctets}"; - format-wifi = "{icon} {signalStrength}%"; - format-disconnected = "󰤮"; - tooltip = false; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "sleep 0.1 && pavucontrol"; - scroll-step = 2; - }; - "custom/exit" = { - tooltip = false; - format = ""; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = ""; - # exec = "rofi -show drun"; - #on-click = "sleep 0.1 && rofi-launcher"; - on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200"; - }; - "custom/hyprbindings" = { - tooltip = false; - format = "󱕴"; - on-click = "sleep 0.1 && list-keybinds"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "sleep 0.1 && task-waybar"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - } - ]; - style = concatStrings [ - '' - * { - font-family: JetBrainsMono Nerd Font Mono; - font-size: 18px; - border-radius: 0px; - border: none; - min-height: 0px; - margin: 0px; - } - window#waybar { - background: #${config.lib.stylix.colors.base00}; - padding: 2px; - border-radius: 4px; - } - #workspaces { - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base00}; - border: 2px solid #${config.lib.stylix.colors.base0B}; - margin: 2px 4px; - padding: 5px 5px; - border-radius: 4px; - } - #workspaces button { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 16px; - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base00}; - - } - #workspaces button.active { - font-weight: bold; - padding: 0px 5px; - margin: 0px 3px; - border-radius: 4px; - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base0B}; - transition: ${betterTransition}; - opacity: 1.0; - min-width: 40px; - } - #workspaces button:hover { - font-weight: bold; - border-radius: 4px; - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base0B}; - opacity: 0.8; - } - tooltip { - background: #${config.lib.stylix.colors.base00}; - border: 1px solid #${config.lib.stylix.colors.base08}; - border-radius: 12px; - } - tooltip label { - color: #${config.lib.stylix.colors.base08}; - } - #window, #pulseaudio, #temperature, #cpu, #memory, #idle_inhibitor, #disk { - font-weight: bold; - margin: 2px 0px; - margin-right: 7px; - padding: 0px 18px; - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base0B}; - border: 2px solid #${config.lib.stylix.colors.base0B}; - border-radius: 4px; - } - #idle_inhibitor { - font-size: 28px; - } - #custom-startmenu { - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base0B}; - font-size: 22px; - padding: 0px 5px 0px 5px; - border-radius: 4px; - padding: 0px 8px; - margin: 0px; - margin-right:7px; - - } - #custom-hyprbindings, #network, #battery, - #custom-notification, #clock, #custom-exit { - /* font-weight: bold; */ - font-size: 20px; - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base0B}; - margin: 2px 0px; - margin-right: 7px; - border: 2px solid #${config.lib.stylix.colors.base0B}; - border-radius: 4px; - padding: 0px 12px; - } - #tray{ - font-weight: bold; - font-size: 16px; - margin: 0px; - background: #${config.lib.stylix.colors.base0B}; - color: #${config.lib.stylix.colors.base00}; - border: 2px solid #${config.lib.stylix.colors.base0B}; - padding: 0px 18px; - margin: 0px 0px; - border-radius: 4px; - } - '' - ]; - }; - } diff --git a/modules/home/waybar/waybar-simple.nix b/modules/home/waybar/waybar-simple.nix deleted file mode 100644 index 04f1ae0..0000000 --- a/modules/home/waybar/waybar-simple.nix +++ /dev/null @@ -1,305 +0,0 @@ -{ - pkgs, - lib, - host, - config, - ... -}: let - inherit (import ../../../hosts/${host}/variables.nix) clock24h; -in - with lib; { - # Configure & Theme Waybar - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = [ - { - layer = "top"; - position = "top"; - modules-center = ["hyprland/workspaces"]; - modules-left = [ - "custom/startmenu" - "custom/arrow6" - "pulseaudio" - "cpu" - "memory" - "idle_inhibitor" - "custom/arrow7" - "hyprland/window" - ]; - modules-right = [ - "custom/arrow4" - "custom/hyprbindings" - "custom/arrow3" - "custom/notification" - "custom/arrow3" - "custom/exit" - "battery" - "custom/arrow2" - "tray" - "custom/arrow1" - "clock" - ]; - - "hyprland/workspaces" = { - format = "{name}"; - format-icons = { - default = " "; - active = " "; - urgent = " "; - }; - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; - "clock" = { - format = - if clock24h == true - then '' {:L%H:%M}'' - else '' {:L%I:%M %p}''; - tooltip = true; - tooltip-format = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "hyprland/window" = { - max-length = 22; - separate-outputs = false; - rewrite = { - "" = " 🙈 No Windows? "; - }; - }; - "memory" = { - interval = 5; - format = " {}%"; - tooltip = true; - }; - "cpu" = { - interval = 5; - format = " {usage:2}%"; - tooltip = true; - }; - "disk" = { - format = " {free}"; - tooltip = true; - }; - "network" = { - format-icons = [ - "󰤯" - "󰤟" - "󰤢" - "󰤥" - "󰤨" - ]; - format-ethernet = " {bandwidthDownOctets}"; - format-wifi = "{icon} {signalStrength}%"; - format-disconnected = "󰤮"; - tooltip = false; - }; - "tray" = { - spacing = 12; - }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "sleep 0.1 && pavucontrol"; - }; - "custom/exit" = { - tooltip = false; - format = ""; - on-click = "sleep 0.1 && wlogout"; - }; - "custom/startmenu" = { - tooltip = false; - format = ""; - on-click = "sleep 0.1 && rofi-launcher"; - }; - "custom/hyprbindings" = { - tooltip = false; - format = "󱕴"; - on-click = "sleep 0.1 && list-keybinds"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; - }; - tooltip = "true"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon} {}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "sleep 0.1 && task-waybar"; - escape = true; - }; - "battery" = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-charging = "󰂄 {capacity}%"; - format-plugged = "󱘖 {capacity}%"; - format-icons = [ - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - on-click = ""; - tooltip = false; - }; - "custom/arrow1" = { - format = ""; - }; - "custom/arrow2" = { - format = ""; - }; - "custom/arrow3" = { - format = ""; - }; - "custom/arrow4" = { - format = ""; - }; - "custom/arrow5" = { - format = ""; - }; - "custom/arrow6" = { - format = ""; - }; - "custom/arrow7" = { - format = ""; - }; - } - ]; - style = concatStrings [ - '' - * { - font-family: JetBrainsMono Nerd Font Mono; - font-size: 14px; - border-radius: 0px; - border: none; - min-height: 0px; - } - window#waybar { - background: #${config.lib.stylix.colors.base00}; - color: #${config.lib.stylix.colors.base05}; - } - #workspaces button { - padding: 0px 5px; - background: transparent; - color: #${config.lib.stylix.colors.base04}; - } - #workspaces button.active { - color: #${config.lib.stylix.colors.base08}; - } - #workspaces button:hover { - color: #${config.lib.stylix.colors.base08}; - } - tooltip { - background: #${config.lib.stylix.colors.base00}; - border: 1px solid #${config.lib.stylix.colors.base05}; - border-radius: 12px; - } - tooltip label { - color: #${config.lib.stylix.colors.base05}; - } - #window { - padding: 0px 10px; - } - #pulseaudio, #cpu, #memory, #idle_inhibitor { - padding: 0px 10px; - background: #${config.lib.stylix.colors.base04}; - color: #${config.lib.stylix.colors.base00}; - } - #custom-startmenu { - color: #${config.lib.stylix.colors.base02}; - padding: 0px 14px; - font-size: 20px; - background: #${config.lib.stylix.colors.base0B}; - } - #custom-hyprbindings, #network, #battery, - #custom-notification, #custom-exit { - background: #${config.lib.stylix.colors.base0F}; - color: #${config.lib.stylix.colors.base00}; - padding: 0px 10px; - } - #tray { - background: #${config.lib.stylix.colors.base02}; - color: #${config.lib.stylix.colors.base00}; - padding: 0px 10px; - } - #clock { - font-weight: bold; - padding: 0px 10px; - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base0E}; - } - #custom-arrow1 { - font-size: 24px; - color: #${config.lib.stylix.colors.base0E}; - background: #${config.lib.stylix.colors.base02}; - } - #custom-arrow2 { - font-size: 24px; - color: #${config.lib.stylix.colors.base02}; - background: #${config.lib.stylix.colors.base0F}; - } - #custom-arrow3 { - font-size: 24px; - color: #${config.lib.stylix.colors.base00}; - background: #${config.lib.stylix.colors.base0F}; - } - #custom-arrow4 { - font-size: 24px; - color: #${config.lib.stylix.colors.base0F}; - background: transparent; - } - #custom-arrow6 { - font-size: 24px; - color: #${config.lib.stylix.colors.base0B}; - background: #${config.lib.stylix.colors.base04}; - } - #custom-arrow7 { - font-size: 24px; - color: #${config.lib.stylix.colors.base04}; - background: transparent; - } - '' - ]; - }; - } diff --git a/modules/home/wlogout/default.nix b/modules/home/wlogout/default.nix deleted file mode 100644 index efc67e6..0000000 --- a/modules/home/wlogout/default.nix +++ /dev/null @@ -1,105 +0,0 @@ -{config, ...}: { - programs.wlogout = { - enable = true; - layout = [ - { - label = "shutdown"; - action = "sleep 1; systemctl poweroff"; - text = "Shutdown"; - keybind = "s"; - } - { - "label" = "reboot"; - "action" = "sleep 1; systemctl reboot"; - "text" = "Reboot"; - "keybind" = "r"; - } - { - "label" = "logout"; - "action" = "sleep 1; hyprctl dispatch exit"; - "text" = "Exit"; - "keybind" = "e"; - } - { - "label" = "suspend"; - "action" = "sleep 1; systemctl suspend"; - "text" = "Suspend"; - "keybind" = "u"; - } - { - "label" = "lock"; - "action" = "sleep 1; hyprlock"; - "text" = "Lock"; - "keybind" = "l"; - } - { - "label" = "hibernate"; - "action" = "sleep 1; systemctl hibernate"; - "text" = "Hibernate"; - "keybind" = "h"; - } - ]; - style = '' - * { - font-family: "JetBrainsMono NF", FontAwesome, sans-serif; - background-image: none; - transition: 20ms; - } - window { - background-color: rgba(12, 12, 12, 0.1); - } - button { - color: #${config.lib.stylix.colors.base05}; - font-size:20px; - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - border-style: solid; - background-color: rgba(12, 12, 12, 0.3); - border: 3px solid #${config.lib.stylix.colors.base05}; - box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); - } - button:focus, - button:active, - button:hover { - color: #${config.lib.stylix.colors.base0B}; - background-color: rgba(12, 12, 12, 0.5); - border: 3px solid #${config.lib.stylix.colors.base0B}; - } - #logout { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/logout.png")); - } - #suspend { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/suspend.png")); - } - #shutdown { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/shutdown.png")); - } - #reboot { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/reboot.png")); - } - #lock { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/lock.png")); - } - #hibernate { - margin: 10px; - border-radius: 20px; - background-image: image(url("icons/hibernate.png")); - } - ''; - }; - home.file.".config/wlogout/icons" = { - source = ./icons; - recursive = true; - }; -} diff --git a/modules/home/wlogout/icons/hibernate.png b/modules/home/wlogout/icons/hibernate.png deleted file mode 100644 index bf2b001..0000000 Binary files a/modules/home/wlogout/icons/hibernate.png and /dev/null differ diff --git a/modules/home/wlogout/icons/lock.png b/modules/home/wlogout/icons/lock.png deleted file mode 100644 index da59b10..0000000 Binary files a/modules/home/wlogout/icons/lock.png and /dev/null differ diff --git a/modules/home/wlogout/icons/logout.png b/modules/home/wlogout/icons/logout.png deleted file mode 100644 index 8a25922..0000000 Binary files a/modules/home/wlogout/icons/logout.png and /dev/null differ diff --git a/modules/home/wlogout/icons/reboot.png b/modules/home/wlogout/icons/reboot.png deleted file mode 100644 index e5fd221..0000000 Binary files a/modules/home/wlogout/icons/reboot.png and /dev/null differ diff --git a/modules/home/wlogout/icons/shutdown.png b/modules/home/wlogout/icons/shutdown.png deleted file mode 100644 index 663ca03..0000000 Binary files a/modules/home/wlogout/icons/shutdown.png and /dev/null differ diff --git a/modules/home/wlogout/icons/suspend.png b/modules/home/wlogout/icons/suspend.png deleted file mode 100644 index af099b9..0000000 Binary files a/modules/home/wlogout/icons/suspend.png and /dev/null differ diff --git a/modules/home/xdg/default.nix b/modules/home/xdg/default.nix index 900a78e..0e40358 100644 --- a/modules/home/xdg/default.nix +++ b/modules/home/xdg/default.nix @@ -3,6 +3,7 @@ _: { enable = true; mime.enable = true; mimeApps.enable = true; + configFile."mimeapps.list".force = true; }; imports = [