diff --git a/configuration.nix b/configuration.nix index d2f6de8..712b1c6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -53,7 +53,7 @@ in { nixpkgs.config.allowUnfree = true; - powerManagement.powertop.enable = true; + services.tlp.enable = true; # Disable mutable Users, any option can only be set by the nix config users.mutableUsers = false; diff --git a/data/hyprland/config.nix b/data/hyprland/config.nix index f92bb39..7920f19 100644 --- a/data/hyprland/config.nix +++ b/data/hyprland/config.nix @@ -65,7 +65,7 @@ MOD: TAGS: pkgs: bind=${MOD},t,exec,kitty bind=${MOD} + SHIFT,Escape,exit - exec-once=bash -c "${pkgs.waybar}/bin/waybar >/tmp/waybar_error.log" + exec-once=bash -c "waybar >/tmp/waybar_error.log" '' + builtins.concatStringsSep "\n" (map ( x: '' diff --git a/data/waybar/style.css b/data/waybar/style.css new file mode 100644 index 0000000..8426843 --- /dev/null +++ b/data/waybar/style.css @@ -0,0 +1,284 @@ +* { +/* `otf-font-awesome` is required to be installed for icons */ +font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; +font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, #battery.plugged { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#workspaces button.active { + background-color: #9c27b0; +} diff --git a/flake.lock b/flake.lock index 0b5f8dc..0c065e8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679480702, - "narHash": "sha256-npuRD61YmxUPitI1TqKwlxLrU6iGl5E+BPT196LgUDo=", + "lastModified": 1680114304, + "narHash": "sha256-XymtLu8G2nzenjDUWI7XV2MMHztvPkEZUFpwmZFcxVM=", "owner": "nix-community", "repo": "home-manager", - "rev": "363c46b2480f1b73ec37cf68caac61f5daa82a2e", + "rev": "0e065e1b6f0776ebbacea9dcbc977af7bc9eddc0", "type": "github" }, "original": { @@ -124,11 +124,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1679540877, - "narHash": "sha256-IXlqiwRXymvVcnkggboCWaB09GhHh+F78xqssmt6IAM=", + "lastModified": 1680132864, + "narHash": "sha256-KcgGLM0za/04IFKz0Afz/T1NGUWhmnSJDTIip/CzNOo=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "471ac474a1f6d32c07bf36cdf3840dab03f93f39", + "rev": "b88de63abb41bfb8c07638e6277982503638c29d", "type": "github" }, "original": { @@ -192,11 +192,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679437018, - "narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=", + "lastModified": 1679944645, + "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e", + "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", "type": "github" }, "original": { diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 4582055..f1cca1e 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -37,6 +37,4 @@ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - # high-resolution display - fonts.optimizeForVeryHighDPI = lib.mkDefault true; } diff --git a/modules/pipewire.nix b/modules/pipewire.nix index a8e6da7..1ec9b31 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -20,23 +20,6 @@ alsa.enable = true; jack.enable = true; pulse.enable = true; - config = { - pipewire."context.properties"."default.clock.allowed-rates" = [ - 44100 - 48000 - 88200 - 96000 - 176400 - 192000 - 358000 - 384000 - 716000 - 768000 - ]; - pipewire-pulse."stream.properties"."resample.quality" = 15; - client."stream.properties"."resample.quality" = 15; - client-rt."stream.properties"."resample.quality" = 15; - }; }; sound.enable = true; diff --git a/users/common/graphical/hyprland.nix b/users/common/graphical/hyprland.nix index 694d12b..2ae8d06 100644 --- a/users/common/graphical/hyprland.nix +++ b/users/common/graphical/hyprland.nix @@ -51,11 +51,7 @@ in { }; }; }; - style = '' - #workspaces button.active { - background-color: #9c27b0; - } - ''; + style = ../../../data/waybar/style.css; }; wayland.windowManager.hyprland = { diff --git a/users/common/shells/zsh.nix b/users/common/shells/zsh.nix index 2ee6aeb..5908909 100644 --- a/users/common/shells/zsh.nix +++ b/users/common/shells/zsh.nix @@ -45,8 +45,8 @@ src = pkgs.fetchFromGitHub { owner = "zdharma-continuum"; repo = "fast-syntax-highlighting"; - rev = "5521b083f8979ad40be2137d7a46bfa51c8d666a"; - sha256 = "0ki5dl3gvmcl1kr9smx0949303dxzwadz7r4abj7ivj3284xxk44"; + rev = "371591a7b6f0f3c9501c52a7b566addbfd804d09"; + sha256 = "125kp7rzq9yf565h6crkr8fyvrz867jjwlx0w2dbhas9p1id978l"; }; } ];