diff --git a/configuration.nix b/configuration.nix index a5b6d81..e27e21e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -70,117 +70,89 @@ backupFileExtension = "not-nix"; # Add this line users.jeremy = { pkgs, ... }: { home.stateVersion = "25.11"; - # wayland.windowManager.hyprland = { # Configure hyprland - # enable = true; - # settings = { - # general = { - # gaps_in = 0; - # gaps_out = 0; - # border_size = 2; - # }; - # decoration = { - # rounding = 10; - # # active_opacity = 0.9; - # # inactive_opacity = 0.8; - # # blur = { - # # enabled = true; - # # size = 10; - # # passes = 3; - # # vibrancy = 1; - # # new_optimizations = true; - # # ignore_opacity = true; - # # noise = 0; - # # brightness = 0.9; - # # }; - # }; - # misc = { - # key_press_enables_dpms = true; - # mouse_move_enables_dpms = true; - # }; - # "$mainMod" = "SUPER"; - # bind = [ - # "$mainMod, C, exec, alacritty" - # "$mainMod, Q, killactive," - # "$mainMod, grave, exec, rofi -show drun" - # "$mainMod, F, fullscreen" - # "$mainMod, V, togglefloating," - # ",F4, exec, rofi -show combi -combi-modes 'drun,filebrowser'" - # "$mainMod, A, togglesplit" - # ", PRINT, exec, hyprshot -zm region -o ~/pics/screenshots/" - # "SHIFT, PRINT, exec, hyprshot -zm window -o ~/pics/screenshots/" - # "SUPER, PRINT, exec, hyprshot -zm output -o ~/pics/screenshots/" - # "$mainMod, N, exec, codium ~/etc/nixos/configuration.nix" - # "$mainMod, L, exec, sleep 1s; hyprctl dispatch dpms off" # screen off + + + programs.waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 24; + margin-top = 0; + margin-left = 0; + margin-right = 0; + spacing = 4; + + modules-left = [ "niri/workspaces" "niri/window" ]; + modules-center = []; + modules-right = [ "cpu" "memory" "tray" "battery" "pulseaudio" "clock" ]; + + "niri/workspaces" = { + format = "{index}"; + active-only = true; + }; + + "clock" = { + format = "{:%H:%M | %a %d}"; + tooltip-format = "{:%Y %B}\n{calendar}"; + }; + + "pulseaudio" = { + format = "{icon} {volume}%"; + format-muted = "󰝟"; + format-icons = { + default = [ "󰕿" "󰖀" "󰕾" ]; + }; + on-click = "pavucontrol"; + }; + + "cpu" = { format = " {usage}%"; }; + "memory" = { format = "󰍛 {percentage}%"; }; - # # Move between windows - # "$mainMod, h, movefocus, l" - # "$mainMod, j, movefocus, d" - # "$mainMod, k, movefocus, u" - # "$mainMod, l, movefocus, r" - - # # Switch workspaces with mainMod + [0-9] - # "$mainMod, 1, workspace, 1" - # "$mainMod, 2, workspace, 2" - # "$mainMod, 3, workspace, 3" - # "$mainMod, 4, workspace, 4" - # "$mainMod, 5, workspace, 5" - # "$mainMod, 6, workspace, 6" - # "$mainMod, 7, workspace, 7" - # "$mainMod, 8, workspace, 8" - # "$mainMod, 9, workspace, 9" - # "$mainMod, 0, workspace, 10" - - # # Move active window to a workspace with mainMod + SHIFT + [0-9] - # "$mainMod SHIFT, 1, movetoworkspace, 1" - # "$mainMod SHIFT, 2, movetoworkspace, 2" - # "$mainMod SHIFT, 3, movetoworkspace, 3" - # "$mainMod SHIFT, 4, movetoworkspace, 4" - # "$mainMod SHIFT, 5, movetoworkspace, 5" - # "$mainMod SHIFT, 6, movetoworkspace, 6" - # "$mainMod SHIFT, 7, movetoworkspace, 7" - # "$mainMod SHIFT, 8, movetoworkspace, 8" - # "$mainMod SHIFT, 9, movetoworkspace, 9" - # "$mainMod SHIFT, 0, movetoworkspace, 10" - # ]; - # bindm = [ - # "$mainMod, mouse:272, movewindow" - # "$mainMod, mouse:273, resizewindow" - # ]; - # binde = [ - # ", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+" - # ", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-" - # ]; - # bindl = [ - # ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - # ]; - # monitor = [ - # "DP-2, 2560x1440@170, 0x0, 1" - # "HDMI-A-1, 2560x1440@144, 2560x0, 1" - # ]; - # windowrulev2 = [ - # "tile, initialClass:^(Godot)$, initialTitle: ^(Godot)$" - # "float, class:^(Godot)$, title:^(?!(.*Godot)).*$" - # "float, initialTitle:^(Godot)$, class:^(?!(Godot)).*$" - # ]; - # exec-once = [ - # "swaybg -i ~/.wallpaper -m fill" - # "nextcloud --background" - # ]; - # }; - # }; - - # wayland.windowManager.sway = { - # enable = true; - # config = rec { - # modifier = "Mod4"; - # # Use kitty as default terminal - # terminal = "kitty"; - # startup = [ - # # Launch Firefox on start - # {command = "firefox";} - # ]; - # }; - # }; + "battery" = { + states = { critical = 15; }; + format = "{icon} {capacity}%"; + format-icons = [ "󰁺" "󰁼" "󰁾" "󰂀" "󰁹" ]; + }; + }; + }; + + style = '' + * { + font-family: "JetBrainsMono Nerd Font"; + font-size: 15px; + border: none; + border-radius: 0; + } + + window#waybar { + background: #000; + color: #cdd6f4; + } + + #workspaces button { + padding: 0 8px; + color: #bac2de; + } + + #workspaces button.focused { + color: #7fc8ff; + background: rgba(127, 200, 255, 0.1); + border-bottom: 2px solid #7fc8ff; + } + + #clock, #cpu, #memory, #pulseaudio, #battery { + padding: 0 10px; + margin: 4px 2px; + } + + #clock { + font-weight: bold; + color: #89b4fa; + } + ''; + }; programs.neovim = { # Configure nvim enable = true; @@ -213,58 +185,6 @@ } ]; }; - # programs.rofi = { # Rofi config - # enable = true; - # theme = "dmenu"; - # font = "sans-serif"; - # package = pkgs.rofi; - # modes = [ - # "drun" - # "run" - # "window" - # "ssh" - # ]; - # extraConfig = { - # show-icons = true; - # display-drun = ""; - # drun-display-format = "{name}"; - # }; - # }; - # programs.waybar.enable = true; - # programs.waybar.settings.main = { - # layer = "top"; - # position = "top"; - # reload_style_on_change = true; - # modules-left = []; - # modules-center = ["hyprland/workspaces"]; - # modules-right = [ - # "tray" - # "bluetooth" - # "network" - # "clock" - # ]; - # }; - # home.pointerCursor = - # let - # getFrom = url: hash: name: { - # gtk.enable = true; - # x11.enable = true; - # name = name; - # size = 48; - # package = - # pkgs.runCommand "moveUp" {} '' - # mkdir -p $out/share/icons - # ln -s ${pkgs.fetchzip { - # url = url; - # hash = hash; - # }} $out/share/icons/${name} - # ''; - # }; - # in - # getFrom - # "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz" - # "sha256-BvVE9qupMjw7JRqFUj1J0a4ys6kc9fOLBPx2bGaapTk=" - # "Fuchsia-Pop"; }; }; @@ -334,21 +254,11 @@ xwayland-satellite # xwayland support fuzzel # menu - - # grim # screenshot functionality - # slurp # screenshot functionality - # wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout - # mako # notification system developed by swaywm maintainer ]; - + + fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ]; programs.niri.enable = true; - # programs.sway = { - # enable = true; - # wrapperFeatures.gtk = true; - # }; - # services.gnome.gnome-keyring.enable = true; - boot.initrd.kernelModules = [ "amdgpu" ]; environment.sessionVariables = { @@ -360,13 +270,6 @@ powerOnBoot = true; }; - # networking.networkmanager = { - # enable = true; - # plugins = with pkgs; [ - # networkmanager-openvpn # for htb - # ]; - # }; - services.ollama = { enable = false; acceleration = "rocm"; @@ -378,8 +281,6 @@ }; }; - - services.pulseaudio.enable = false; # Use Pipewire services.pipewire = { enable = true; @@ -448,6 +349,19 @@ ) ]; + # Binaries auto linked + programs.nix-ld.enable = true; + programs.nix-ld.libraries = with pkgs; [ + stdenv.cc.cc + zlib + fuse3 + icu + nss + openssl + curl + expat + ]; + # bootloader device boot.loader.grub.device = "/dev/sda"; @@ -481,4 +395,4 @@ # # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . system.stateVersion = "25.11"; # Did you read the comment? -} +} \ No newline at end of file