diff --git a/nixos/configuration.nix b/nixos/configuration.nix
index 2d93072..7a63b92 100644
--- a/nixos/configuration.nix
+++ b/nixos/configuration.nix
@@ -132,7 +132,6 @@
kdenlive
system-config-printer
libreoffice
- helvum
killall
nix-output-monitor
eza
@@ -258,134 +257,134 @@
security.polkit.enable = true;
#programs.thunar = {
- # enable = true;
- # plugins = with pkgs.xfce; [
- # thunar-archive-plugin
- # thunar-volman
- # ];
- # };
- #programs.xfconf.enable = true; # so thunar can save config
- #services.gvfs.enable = true; # Mount, trash, and other functionalities
- #services.tumbler.enable = true; # Thumbnail support for images
+ # enable = true;
+ # plugins = with pkgs.xfce; [
+ # thunar-archive-plugin
+ # thunar-volman
+ # ];
+ # };
+ #programs.xfconf.enable = true; # so thunar can save config
+ #services.gvfs.enable = true; # Mount, trash, and other functionalities
+ #services.tumbler.enable = true; # Thumbnail support for images
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- jack.enable = true;
- };
-
- home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
- extraSpecialArgs = {
- inherit pkgs;
- inherit hwconfig;
- inherit first-nixos-install;
- inherit inputs;
- };
- };
- stylix = {
- enable = true;
- image = "${./modules/hyprland/wallpaper.jpg}";
- autoEnable = true;
- opacity = {
- desktop = 0.5;
- };
- targets = {
- gtk.enable = true;
- plymouth = {
+ security.rtkit.enable = true;
+ services.pipewire = {
enable = true;
- #logo = ./fastfetch/nixos.png;
- logoAnimated = false;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ jack.enable = true;
};
- };
- fonts = {
- sizes = {
- applications = 14;
- desktop = 12;
- popups = 12;
- terminal = 16;
+
+ home-manager = {
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ extraSpecialArgs = {
+ inherit pkgs;
+ inherit hwconfig;
+ inherit first-nixos-install;
+ inherit inputs;
+ };
+ };
+ stylix = {
+ enable = true;
+ image = "${./modules/hyprland/wallpaper.jpg}";
+ autoEnable = true;
+ opacity = {
+ desktop = 0.5;
+ };
+ targets = {
+ gtk.enable = true;
+ plymouth = {
+ enable = true;
+ #logo = ./fastfetch/nixos.png;
+ logoAnimated = false;
+ };
+ };
+ fonts = {
+ sizes = {
+ applications = 14;
+ desktop = 12;
+ popups = 12;
+ terminal = 16;
+ };
+ };
+ polarity = "dark";
+ base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
};
- };
- polarity = "dark";
- base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
- };
- programs.bash = {
- shellAliases = {
- ls = "${pkgs.eza}/bin/eza --icons=always";
- };
- };
+ programs.bash = {
+ shellAliases = {
+ ls = "${pkgs.eza}/bin/eza --icons=always";
+ };
+ };
- #printing
- services.printing.enable = true;
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
+ #printing
+ services.printing.enable = true;
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
- #services.flatpak.enable = true;
- #services.flatpak.packages = [
- # "flathub:app/org.kde.dolphin//stable"
- # ];
+ #services.flatpak.enable = true;
+ #services.flatpak.packages = [
+ # "flathub:app/org.kde.dolphin//stable"
+ # ];
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
- kk.steam.enable = hwconfig.system == "x86_64-linux";
+ kk.steam.enable = hwconfig.system == "x86_64-linux";
- # List services that you want to enable:
+ # List services that you want to enable:
- # Enable the OpenSSH daemon.
- services.openssh = {
- enable = true;
- # require public key authentication for better security
- settings.PasswordAuthentication = false;
- settings.KbdInteractiveAuthentication = false;
- settings.PermitRootLogin = "no";
- extraConfig = "HostKey ${config.sops.secrets."ssh_keys/${hwconfig.hostname}".path}";
- };
+ # Enable the OpenSSH daemon.
+ services.openssh = {
+ enable = true;
+ # require public key authentication for better security
+ settings.PasswordAuthentication = false;
+ settings.KbdInteractiveAuthentication = false;
+ settings.PermitRootLogin = "no";
+ extraConfig = "HostKey ${config.sops.secrets."ssh_keys/${hwconfig.hostname}".path}";
+ };
- # Open ports in the firewall.
- networking.firewall.allowedTCPPorts = [ 22 ];
- networking.firewall.allowedUDPPorts = [ 22 ];
- # Or disable the firewall altogether.
- #networking.firewall.enable = false;
+ # Open ports in the firewall.
+ networking.firewall.allowedTCPPorts = [ 22 ];
+ networking.firewall.allowedUDPPorts = [ 22 ];
+ # Or disable the firewall altogether.
+ #networking.firewall.enable = false;
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "24.05"; # Did you read the comment?
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "24.05"; # Did you read the comment?
- nix = {
- settings = {
- experimental-features = [
- "nix-command"
- "flakes"
- ];
- auto-optimise-store = true;
- substituters = [
- "https://hyprland.cachix.org"
- "https://nix-gaming.cachix.org"
- "https://nix-community.cachix.org"
- ];
- trusted-public-keys = [
- "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
- "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
- "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
- ];
- };
- };
+ nix = {
+ settings = {
+ experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
+ auto-optimise-store = true;
+ substituters = [
+ "https://hyprland.cachix.org"
+ "https://nix-gaming.cachix.org"
+ "https://nix-community.cachix.org"
+ ];
+ trusted-public-keys = [
+ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
+ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
+ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
+ ];
+ };
+ };
}
diff --git a/nixos/modules/hyprland/default.nix b/nixos/modules/hyprland/default.nix
index 8d258cd..533b798 100644
--- a/nixos/modules/hyprland/default.nix
+++ b/nixos/modules/hyprland/default.nix
@@ -16,13 +16,13 @@
swaynotificationcenter
libnotify
swww
- #wofi
hyprpicker
networkmanagerapplet
hyprlock
wlogout
hypridle
- pavucontrol
+ qpwgraph
+ pwvucontrol
brightnessctl
satty
grim
diff --git a/nixos/modules/hyprland/waybar.nix b/nixos/modules/hyprland/waybar.nix
index bd2fa41..efff28c 100644
--- a/nixos/modules/hyprland/waybar.nix
+++ b/nixos/modules/hyprland/waybar.nix
@@ -1,180 +1,180 @@
{ pkgs, lib, hwconfig, ... }:
let
- battery = (import ./battery-status.nix {inherit pkgs; inherit hwconfig;});
+battery = (import ./battery-status.nix {inherit pkgs; inherit hwconfig;});
in
{
programs.waybar = {
enable = true;
#systemd.enable = true;
- #window#waybar {
- # background: transparent;
- #border-bottom: none;
+ #window#waybar {
+ # background: transparent;
+ #border-bottom: none;
#}
#${builtins.readFile "${pkgs.waybar}/etc/xdg/waybar/style.css"}
- style = ''
- ${builtins.readFile ./waybarstyle.css}
-
- * {
+ style = ''
+ ${builtins.readFile ./waybarstyle.css}
+
+ * {
font-size: 15px;
- }
- '';
- settings = [{
- height = 36;
- layer = "top";
- position = "top";
- tray = { spacing = 3; };
- modules-center = [
- #"hyprland/window"
- "clock"
- ];
- modules-left = [
- "hyprland/workspaces"
-# "hyprland/window"
- ];
- modules-right = [
- "pulseaudio"
- #"network"
- #"cpu"
- #"memory"
- #"temperature"
- "hyprland/language"
- ] ++ lib.optional battery.available "custom/battery"
- ++ [
- "tray"
- "custom/notification"
- #"custom/disablehypridle"
- "custom/power"
- ];
- battery = {
- format = " {time} {icon} ";
- format-alt = " {capacity}% {icon} ";
- format-charging = " {capacity}% ";
- format-icons = [ "" "" "" "" "" ];
- format-plugged = " {capacity}% ";
- states = {
- critical = 10;
- warning = 20;
- };
- };
- "custom/battery" = {
- exec ="${pkgs.writeShellScriptBin "battery-widget" ''
- ${battery.labelAdaptive}
- ${battery.labelPercent}
- ''}/bin/battery-widget";
- interval = 20;
- tooltip = true;
- };
- clock = {
- format-alt = "{:%d-%m-%Y}";
- tooltip-format = "{:%d-%m-%Y | %H:%M}";
- };
- cpu = {
- format = "{usage}% ";
- tooltip = false;
- };
- "hyprland/language" = {
- format = " {}";
- };
- memory = { format = "{}% "; };
- network = {
- interval = 1;
- format-alt = "{ifname}: {ipaddr}/{cidr}";
- format-disconnected = "Disconnected ⚠";
- format-ethernet = "{ifname}: {ipaddr}/{cidr} up: {bandwidthUpBits} down: {bandwidthDownBits}";
- format-linked = "{ifname} (No IP) ";
- #format-wifi = "{signalStrength}% ";
- format-wifi = "{signalStrength}% ";
- tooltip-format = "{essid} ({signalStrength}%) ";
- };
- pulseaudio = {
- format = "{volume}% {icon} {format_source}";
- format-bluetooth = "{volume}% {icon} {format_source}";
- format-bluetooth-muted = " {icon} {format_source}";
- format-icons = {
- car = "";
- default = [ "" "" "" ];
- handsfree = "";
- headphones = "";
- headset = "";
- phone = "";
- portable = "";
- };
- format-muted = " {format_source}";
- format-source = "{volume}% ";
- format-source-muted = "";
- on-click = "pavucontrol";
- };
- "hyprland/submap" = { format = ''{}''; };
- temperature = {
- critical-threshold = 80;
- format = "{temperatureC}°C {icon}";
- format-icons = [ "" "" "" ];
- };
-
- "hyprland/workspaces" = {
- disable-scroll = true;
- all-outputs = true;
- warp-on-scroll = true;
- format = "{name}{icon}";
- format-icons = {
- urgent = "";
- active = "";
- default = "";
- };
- #persistent-workspaces = {
- # "*" = 3;
- #};
- };
-
- "custom/power" = {
- format = "⏻ ";
- tooltip = false;
- #menu = "on-click";
- #menu-file = ./power_menu.xml;
- #menu-actions = {
- # shutdown = "shutdown -h now";
- # reboot = "reboot";
- # suspend = "systemctl suspend";
- # hibernate = "systemctl hibernate";
- #};
- on-click = "wlogout";
- };
-
- "custom/notification" = {
- tooltip = false;
- format = "{icon}";
- format-icons = {
- notification = " ⬤";
- none = " ";
- dnd-notification = " ⬤";
- dnd-none = " ";
- };
- return-type = "json";
- exec-if = "which swaync-client";
- exec = "swaync-client -swb";
- on-click = "sleep 0.1 && swaync-client -t -sw";
- on-click-right = "sleep 0.1 && swaync-client -d -sw";
- escape = true;
- };
-
- "custom/disablehypridle" = {
- exec = ''
- if pgrep -x "hypridle" > /dev/null; then
- echo "{\"text\": \" \", \"tooltip\": \"Hypridle is running\", \"class\": \"active\"}";
- else
- echo "{\"text\": \" \", \"tooltip\": \"Hypridle is not running\", \"class\": \"inactive\"}";
- fi
+ }
'';
- return-type = "json";
- on-click = ''
- if pgrep -x "hypridle" > /dev/null; then
- pkill hypridle
- else
- hypridle &
- fi
- '';
- };
- }];
+ settings = [{
+ height = 36;
+ layer = "top";
+ position = "top";
+ tray = { spacing = 3; };
+ modules-center = [
+ #"hyprland/window"
+ "clock"
+ ];
+ modules-left = [
+ "hyprland/workspaces"
+ # "hyprland/window"
+ ];
+ modules-right = [
+ "pulseaudio"
+ #"network"
+ #"cpu"
+ #"memory"
+ #"temperature"
+ "hyprland/language"
+ ] ++ lib.optional battery.available "custom/battery"
+ ++ [
+ "tray"
+ "custom/notification"
+ #"custom/disablehypridle"
+ "custom/power"
+ ];
+ battery = {
+ format = " {time} {icon} ";
+ format-alt = " {capacity}% {icon} ";
+ format-charging = " {capacity}% ";
+ format-icons = [ "" "" "" "" "" ];
+ format-plugged = " {capacity}% ";
+ states = {
+ critical = 10;
+ warning = 20;
+ };
+ };
+ "custom/battery" = {
+ exec ="${pkgs.writeShellScriptBin "battery-widget" ''
+ ${battery.labelAdaptive}
+ ${battery.labelPercent}
+ ''}/bin/battery-widget";
+ interval = 20;
+ tooltip = true;
+ };
+ clock = {
+ format-alt = "{:%d-%m-%Y}";
+ tooltip-format = "{:%d-%m-%Y | %H:%M}";
+ };
+ cpu = {
+ format = "{usage}% ";
+ tooltip = false;
+ };
+ "hyprland/language" = {
+ format = " {}";
+ };
+ memory = { format = "{}% "; };
+ network = {
+ interval = 1;
+ format-alt = "{ifname}: {ipaddr}/{cidr}";
+ format-disconnected = "Disconnected ⚠";
+ format-ethernet = "{ifname}: {ipaddr}/{cidr} up: {bandwidthUpBits} down: {bandwidthDownBits}";
+ format-linked = "{ifname} (No IP) ";
+ #format-wifi = "{signalStrength}% ";
+ format-wifi = "{signalStrength}% ";
+ tooltip-format = "{essid} ({signalStrength}%) ";
+ };
+ pulseaudio = {
+ format = "{volume}% {icon} {format_source}";
+ format-bluetooth = "{volume}% {icon} {format_source}";
+ format-bluetooth-muted = " {icon} {format_source}";
+ format-icons = {
+ car = "";
+ default = [ "" "" "" ];
+ handsfree = "";
+ headphones = "";
+ headset = "";
+ phone = "";
+ portable = "";
+ };
+ format-muted = " {format_source}";
+ format-source = "{volume}% ";
+ format-source-muted = "";
+ on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol";
+ };
+ "hyprland/submap" = { format = ''{}''; };
+ temperature = {
+ critical-threshold = 80;
+ format = "{temperatureC}°C {icon}";
+ format-icons = [ "" "" "" ];
+ };
+
+ "hyprland/workspaces" = {
+ disable-scroll = true;
+ all-outputs = false;
+ warp-on-scroll = true;
+ format = "{name}{icon} ";
+ format-icons = {
+ urgent = "";
+ active = "";
+ default = "";
+ };
+ #persistent-workspaces = {
+ # "*" = 3;
+ #};
+ };
+
+ "custom/power" = {
+ format = "⏻ ";
+ tooltip = false;
+ #menu = "on-click";
+ #menu-file = ./power_menu.xml;
+ #menu-actions = {
+ # shutdown = "shutdown -h now";
+ # reboot = "reboot";
+ # suspend = "systemctl suspend";
+ # hibernate = "systemctl hibernate";
+ #};
+ on-click = "wlogout";
+ };
+
+ "custom/notification" = {
+ tooltip = false;
+ format = "{icon}";
+ format-icons = {
+ notification = " ⬤";
+ none = " ";
+ dnd-notification = " ⬤";
+ dnd-none = " ";
+ };
+ return-type = "json";
+ exec-if = "which swaync-client";
+ exec = "swaync-client -swb";
+ on-click = "sleep 0.1 && swaync-client -t -sw";
+ on-click-right = "sleep 0.1 && swaync-client -d -sw";
+ escape = true;
+ };
+
+ "custom/disablehypridle" = {
+ exec = ''
+ if pgrep -x "hypridle" > /dev/null; then
+ echo "{\"text\": \" \", \"tooltip\": \"Hypridle is running\", \"class\": \"active\"}";
+ else
+ echo "{\"text\": \" \", \"tooltip\": \"Hypridle is not running\", \"class\": \"inactive\"}";
+ fi
+ '';
+ return-type = "json";
+ on-click = ''
+ if pgrep -x "hypridle" > /dev/null; then
+ pkill hypridle
+ else
+ hypridle &
+ fi
+ '';
+ };
+ }];
};
}