diff --git a/bash/.bashrc b/bash/.bashrc index e02043b..f779444 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -152,3 +152,6 @@ alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS=@im=ibus + +alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' +alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' diff --git a/boot b/boot new file mode 120000 index 0000000..0c34a62 --- /dev/null +++ b/boot @@ -0,0 +1 @@ +grub/boot \ No newline at end of file diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc index f3856fe..a52cc9d 100644 --- a/dunst/.config/dunst/dunstrc +++ b/dunst/.config/dunst/dunstrc @@ -27,10 +27,10 @@ width = 500 # The maximum height of a single notification, excluding the frame. - height = 240 + height = 60 # Position the notification in the top right corner - origin = top-center + origin = top-right # Offset from the origin offset = 0x12 @@ -82,13 +82,13 @@ separator_height = 2 # Padding between text and separator. - padding = 8 + padding = 6 # Horizontal padding. - horizontal_padding = 8 + horizontal_padding = 6 # Padding between text and icon. - text_icon_padding = 0 + text_icon_padding = 3 # Defines width in pixels of frame around the notification window. # Set to 0 to disable. @@ -248,7 +248,7 @@ # corners. # The radius will be automatically lowered if it exceeds half of the # notification height to avoid clipping text and/or icons. - corner_radius = 10 + corner_radius = 6 # Ignore the dbus closeNotification message. # Useful to enforce the timeout set by dunst configuration. Without this diff --git a/etc b/etc new file mode 120000 index 0000000..dff3d36 --- /dev/null +++ b/etc @@ -0,0 +1 @@ +grub/etc \ No newline at end of file diff --git a/greetd/etc/greetd/config.toml b/greetd/etc/greetd/config.toml index 0f41aa3..d5e3c0e 100644 --- a/greetd/etc/greetd/config.toml +++ b/greetd/etc/greetd/config.toml @@ -5,5 +5,5 @@ vt = 1 # The default session, also known as the greeter. [default_session] -command = "tuigreet --cmd /usr/bin/zsh" -user = "antoine" \ No newline at end of file +command = "tuigreet --cmd Hyprland --theme border=magenta;text=cyan;prompt=green;time=red;action=blue;button=yellow;container=black;input=red" +user = "antoine" diff --git a/grub/boot/grub/grub.cfg b/grub/boot/grub/grub.cfg new file mode 100644 index 0000000..274c426 --- /dev/null +++ b/grub/boot/grub/grub.cfg @@ -0,0 +1,171 @@ +# +# DO NOT EDIT THIS FILE +# +# It is automatically generated by grub-mkconfig using templates +# from /etc/grub.d and settings from /etc/default/grub +# + +### BEGIN /etc/grub.d/00_header ### +insmod part_gpt +insmod part_msdos +if [ -s $prefix/grubenv ]; then + load_env +fi +if [ "${next_entry}" ] ; then + set default="${next_entry}" + set next_entry= + save_env next_entry + set boot_once=true +else + set default="0" +fi + +if [ x"${feature_menuentry_id}" = xy ]; then + menuentry_id_option="--id" +else + menuentry_id_option="" +fi + +export menuentry_id_option + +if [ "${prev_saved_entry}" ]; then + set saved_entry="${prev_saved_entry}" + save_env saved_entry + set prev_saved_entry= + save_env prev_saved_entry + set boot_once=true +fi + +function savedefault { + if [ -z "${boot_once}" ]; then + saved_entry="${chosen}" + save_env saved_entry + fi +} + +function load_video { + if [ x$feature_all_video_module = xy ]; then + insmod all_video + else + insmod efi_gop + insmod efi_uga + insmod ieee1275_fb + insmod vbe + insmod vga + insmod video_bochs + insmod video_cirrus + fi +} + +if [ x$feature_default_font_path = xy ] ; then + font=unicode +else +insmod part_gpt +insmod ext2 +search --no-floppy --fs-uuid --set=root 211cd50d-576e-4043-842a-57e32ba8603a + font="/usr/share/grub/unicode.pf2" +fi + +if loadfont $font ; then + set gfxmode=auto + load_video + insmod gfxterm + set locale_dir=$prefix/locale + set lang=en_CA + insmod gettext +fi +terminal_input console +terminal_output gfxterm +insmod part_gpt +insmod fat +search --no-floppy --fs-uuid --set=root 5895-4347 +insmod gfxmenu +loadfont ($root)/grub/themes/minegrub/Minecraft24.pf2 +loadfont ($root)/grub/themes/minegrub/Minecraft30.pf2 +loadfont ($root)/grub/themes/minegrub/Monocraft22.pf2 +insmod png +set theme=($root)/grub/themes/minegrub/theme.txt +export theme +if [ x$feature_timeout_style = xy ] ; then + set timeout_style=menu + set timeout=8 +# Fallback normal timeout code in case the timeout_style feature is +# unavailable. +else + set timeout=8 +fi +### END /etc/grub.d/00_header ### + +### BEGIN /etc/grub.d/10_linux ### +menuentry 'Lunar Eclipse (Arch Linux)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-211cd50d-576e-4043-842a-57e32ba8603a' { + savedefault + load_video + set gfxpayload=keep + insmod gzio + insmod part_gpt + insmod fat + search --no-floppy --fs-uuid --set=root 5895-4347 + echo 'Loading Linux linux ...' + linux /vmlinuz-linux root=UUID=211cd50d-576e-4043-842a-57e32ba8603a rw loglevel=3 quiet + echo 'Loading initial ramdisk ...' + initrd /intel-ucode.img /initramfs-linux.img +} +menuentry 'Lunar Eclipse (fallback satellite)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-211cd50d-576e-4043-842a-57e32ba8603a' { + savedefault + load_video + set gfxpayload=keep + insmod gzio + insmod part_gpt + insmod fat + search --no-floppy --fs-uuid --set=root 5895-4347 + echo 'Loading Linux linux ...' + linux /vmlinuz-linux root=UUID=211cd50d-576e-4043-842a-57e32ba8603a rw loglevel=3 quiet + echo 'Loading initial ramdisk ...' + initrd /intel-ucode.img /initramfs-linux-fallback.img +} + +### END /etc/grub.d/10_linux ### + +### BEGIN /etc/grub.d/20_linux_xen ### +### END /etc/grub.d/20_linux_xen ### + +### BEGIN /etc/grub.d/25_bli ### +if [ "$grub_platform" = "efi" ]; then + insmod bli +fi +### END /etc/grub.d/25_bli ### + +### BEGIN /etc/grub.d/30_os-prober ### +menuentry 'Apocalypse (Windows 11 Pro)' --class windows --class os $menuentry_id_option 'osprober-efi-5895-4347' { + savedefault + insmod part_gpt + insmod fat + search --no-floppy --fs-uuid --set=root 5895-4347 + chainloader /EFI/Microsoft/Boot/bootmgfw.efi +} +### END /etc/grub.d/30_os-prober ### + +### BEGIN /etc/grub.d/30_uefi-firmware ### +if [ "$grub_platform" = "efi" ]; then + fwsetup --is-supported + if [ "$?" = 0 ]; then + menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' { + fwsetup + } + fi +fi +### END /etc/grub.d/30_uefi-firmware ### + +### BEGIN /etc/grub.d/40_custom ### +# This file provides an easy way to add custom menu entries. Simply type the +# menu entries you want to add after this comment. Be careful not to change +# the 'exec tail' line above. +### END /etc/grub.d/40_custom ### + +### BEGIN /etc/grub.d/41_custom ### +if [ -f ${config_directory}/custom.cfg ]; then + source ${config_directory}/custom.cfg +elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then + source $prefix/custom.cfg +fi +### END /etc/grub.d/41_custom ### diff --git a/grub/etc/default/grub b/grub/etc/default/grub new file mode 100644 index 0000000..ddd89e1 --- /dev/null +++ b/grub/etc/default/grub @@ -0,0 +1,63 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=8 +GRUB_DISTRIBUTOR="Arch" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +#GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `videoinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +GRUB_THEME="/boot/grub/themes/minegrub/theme.txt" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. +GRUB_SAVEDEFAULT=true + +# Uncomment to disable submenus in boot menu +GRUB_DISABLE_SUBMENU=y + +# Probing for other operating systems is disabled for security reasons. Read +# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this +# functionality install os-prober and uncomment to detect and include other +# operating systems. +GRUB_DISABLE_OS_PROBER=false diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf index 34199f7..7091b8a 100644 --- a/hypr/.config/hypr/hyprland.conf +++ b/hypr/.config/hypr/hyprland.conf @@ -1,22 +1,26 @@ -# https://wiki.hyprland.org/Configuring/Monitors\ +# https://wiki.hyprland.org/Configuring/Monitors monitor=eDP-1,1920x1080@60,0x0,1 # --- Second monitor via HDMI-A --- -# Automatic/To the right -monitor=,1920x1080@165,auto,1 - -# 60 Hz -# monitor=,1920x1080@60,auto,1 +# Automatic/To the right, 165Hz +# monitor=,1920x1080@165,1920x0,1 # Second monitor on the left # monitor=,1920x1080@165, -1920x0, 1 -# monitor = , highres, 0x-1080, 1 +# UP +monitor=,1920x1080@165, 0x-1080, 1 # Enabling mirror # monitor=HDMI-A-1, 1920x1080@60, 0x0, 1, mirror, eDP-1 +# monitor=,highres,0x0,1,mirror, eDP-1 + +# 60 Hz +# monitor=,1920x1080@60,auto,1 + +# Home TV +# monitor=HDMI-A-1,1280x720@60,auto,1 -# See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch exec-once = waybar @@ -24,6 +28,7 @@ exec-once = hyprpaper exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = fcitx5 -d exec-once = sudo modprobe v4l2loopback +exec-once = blueberry-tray # Set programs that you use $terminal = alacritty @@ -55,11 +60,11 @@ input { general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 - gaps_out = 8 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99aa) 20deg - col.inactive_border = rgba(595959aa) + gaps_in = 4 + gaps_out = 4 + border_size = 3 + col.active_border = rgba(24bcf2aa) rgba(bbff2ecc) rgba(fa1421aa) 20deg + col.inactive_border = rgba(b1b1b155) layout = dwindle @@ -69,17 +74,16 @@ general { decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 12 + rounding = 20 blur { enabled = true - size = 5 + size = 4 passes = 1 } - drop_shadow = yes - col.shadow = rgba(1a1a1aee) +# drop_shadow = yes +# col.shadow = rgba(1a1a1aee) } animations { @@ -91,12 +95,13 @@ animations { bezier = myBezier, .72,.39,.25,.92 animation = windows, 1, 4, myBezier - # animation = windowsOut, 1, 4, default, popin 100% - animation = windowsOut, 1, 3, myBezier - # animation = border, 1, 7, default - # animation = borderangle, 1, 8, default + animation = windowsOut, 1, 4, default, popin 100% + # animation = windowsOut, 1, 3, myBezier + animation = border, 1, 3, myBezier + animation = borderangle, 1, 8, default animation = fade, 1, 7, default - animation = workspaces, 1, 6, default + # animation = workspaces, 1, 6, default + animation = workspaces, 1, 8, default, fade } dwindle { @@ -135,7 +140,7 @@ misc { #windowrulev2 = nofullscreenrequest, class:* # Floating windows by default -windowrule = float, Helvum +windowrulev2 = float, title:(Helvum) windowrulev2 = float, title:(Yoshimi) windowrulev2 = float, title:(Bluetooth) windowrulev2 = float, class:(pavucontrol) @@ -228,7 +233,7 @@ bind = $mainMod, N, workspace, m+1 bind = $mainMod, P, workspace, m-1 # Swap windows from different monitors -bind = $mainMod, S, swapactiveworkspaces,0 1 +bind = $mainMod, S, swapactiveworkspaces, 0 1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow @@ -260,9 +265,11 @@ bind = $mainMod, L, exec, swaylock # Screenshot # Area shot, copy to clipboard -bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy -t image/png -bind = $mainMod CTRL SHIFT, S, exec, grim -g "$(slurp -d)" - > $HOME/Screenshots/Screenshot_$(date +%F_%T).png && notify-send "Screenshot taken!" +bind = $mainMod SHIFT, S, exec, grim -l 9 -g "$(slurp -d -w 0 -b bbddff99)" - | wl-copy -t image/png +bind = $mainMod CTRL SHIFT, S, exec, grim -l 9 -g "$(slurp -d -w 0 -b bbddff99)" - > $HOME/Screenshots/Screenshot_$(date +%F_%T).png && notify-send "Screenshot taken!" +# Color picker +bind = $mainMod SHIFT, C, exec, grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | tail -n 1 | cut -d ' ' -f 4 | wl-copy # Wholescreen, save to $HOME/Screenshots/ bind = , Print, exec, grim - > $HOME/Screenshots/Screenshot_$(date +%F_%T).png diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl new file mode 100644 index 0000000..be3ef7b --- /dev/null +++ b/niri/.config/niri/config.kdl @@ -0,0 +1,576 @@ +// This config is in the KDL format: https://kdl.dev +// "/-" comments out the following node. +// Check the wiki for a full description of the configuration: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview +environment { + DISPLAY ":0" +} +spawn-at-startup "xwayland-satellite" + +// Input device configuration. +// Find the full list of options on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Input +input { + keyboard { + xkb { + layout "us" + variant "altgr-intl" + // You can set rules, model, layout, variant and options. + // For more information, see xkeyboard-config(7). + + // For example: + // layout "us,ru" + // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + } + } + + // Next sections include libinput settings. + // Omitting settings disables them, or leaves them at their default values. + touchpad { + // off + tap + // dwt + // dwtp + // drag-lock + natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "two-finger" + // disabled-on-external-mouse + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "no-scroll" + } + + trackpoint { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "on-button-down" + // scroll-button 273 + // middle-emulation + } + + // Uncomment this to make the mouse warp to the center of newly focused windows. + // warp-mouse-to-focus + + // Focus windows and outputs automatically when moving the mouse into them. + // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. + // focus-follows-mouse max-scroll-amount="0%" +} + +// You can configure outputs by their name, which you can find +// by running `niri msg outputs` while inside a niri instance. +// The built-in laptop monitor is usually called "eDP-1". +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs +// Remember to uncomment the node by removing "/-"! +/-output "eDP-1" { + // Uncomment this line to disable this output. + // off + + // Resolution and, optionally, refresh rate of the output. + // The format is "x" or "x@". + // If the refresh rate is omitted, niri will pick the highest refresh rate + // for the resolution. + // If the mode is omitted altogether or is invalid, niri will pick one automatically. + // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes. + mode "1920x1080@120.030" + + // You can use integer or fractional scale, for example use 1.5 for 150% scale. + scale 2 + + // Transform allows to rotate the output counter-clockwise, valid values are: + // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. + transform "normal" + + // Position of the output in the global coordinate space. + // This affects directional monitor actions like "focus-monitor-left", and cursor movement. + // The cursor can only move between directly adjacent outputs. + // Output scale and rotation has to be taken into account for positioning: + // outputs are sized in logical, or scaled, pixels. + // For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080, + // so to put another output directly adjacent to it on the right, set its x to 1920. + // If the position is unset or results in an overlap, the output is instead placed + // automatically. + position x=1280 y=0 +} + +// Settings that influence how windows are positioned and sized. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +layout { + // Set gaps around windows in logical pixels. + gaps 12 + + // When to center a column when changing focus, options are: + // - "never", default behavior, focusing an off-screen column will keep at the left + // or right edge of the screen. + // - "always", the focused column will always be centered. + // - "on-overflow", focusing a column will center it if it doesn't fit + // together with the previously focused column. + center-focused-column "never" + + // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. + preset-column-widths { + // Proportion sets the width as a fraction of the output width, taking gaps into account. + // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. + // The default preset widths are 1/3, 1/2 and 2/3 of the output. + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + + // Fixed sets the width in logical pixels exactly. + // fixed 1920 + } + + // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. + // preset-window-heights { } + + // You can change the default width of the new windows. + default-column-width { proportion 0.5; } + // If you leave the brackets empty, the windows themselves will decide their initial width. + // default-column-width {} + + // By default focus ring and border are rendered as a solid background rectangle + // behind windows. That is, they will show up through semitransparent windows. + // This is because windows using client-side decorations can have an arbitrary shape. + // + // If you don't like that, you should uncomment `prefer-no-csd` below. + // Niri will draw focus ring and border *around* windows that agree to omit their + // client-side decorations. + // + // Alternatively, you can override it with a window rule called + // `draw-border-with-background`. + + // You can change how the focus ring looks. + focus-ring { + // Uncomment this line to disable the focus ring. + // off + + // How many logical pixels the ring extends out from the windows. + width 2 + + // Colors can be set in a variety of ways: + // - CSS named colors: "red" + // - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa" + // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others. + + // Color of the ring on the active monitor. + active-color "#4343bcaa" + + // Color of the ring on inactive monitors. + inactive-color "#505050" + + // You can also use gradients. They take precedence over solid colors. + // Gradients are rendered the same as CSS linear-gradient(angle, from, to). + // The angle is the same as in linear-gradient, and is optional, + // defaulting to 180 (top-to-bottom gradient). + // You can use any CSS linear-gradient tool on the web to set these up. + // Changing the color space is also supported, check the wiki for more info. + // + // active-gradient from="#80c8ff" to="#bbddff" angle=45 + + // You can also color the gradient relative to the entire view + // of the workspace, rather than relative to just the window itself. + // To do that, set relative-to="workspace-view". + // + // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" + } + + // You can also add a border. It's similar to the focus ring, but always visible. + border { + // The settings are the same as for the focus ring. + // If you enable the border, you probably want to disable the focus ring. + off + + width 4 + active-color "#ffc87f" + inactive-color "#505050" + + // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" + // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" + } + + // You can enable drop shadows for windows. + shadow { + // Uncomment the next line to enable shadows. + // on + + // By default, the shadow draws only around its window, and not behind it. + // Uncomment this setting to make the shadow draw behind its window. + // + // Note that niri has no way of knowing about the CSD window corner + // radius. It has to assume that windows have square corners, leading to + // shadow artifacts inside the CSD rounded corners. This setting fixes + // those artifacts. + // + // However, instead you may want to set prefer-no-csd and/or + // geometry-corner-radius. Then, niri will know the corner radius and + // draw the shadow correctly, without having to draw it behind the + // window. These will also remove client-side shadows if the window + // draws any. + // + // draw-behind-window true + + // You can change how shadows look. The values below are in logical + // pixels and match the CSS box-shadow properties. + + // Softness controls the shadow blur radius. + softness 30 + + // Spread expands the shadow. + spread 5 + + // Offset moves the shadow relative to the window. + offset x=0 y=5 + + // You can also change the shadow color and opacity. + color "#0007" + } + + // Struts shrink the area occupied by windows, similarly to layer-shell panels. + // You can think of them as a kind of outer gaps. They are set in logical pixels. + // Left and right struts will cause the next window to the side to always be visible. + // Top and bottom struts will simply add outer gaps in addition to the area occupied by + // layer-shell panels and regular gaps. + struts { + // left 64 + // right 64 + // top 64 + // bottom 64 + } +} + +// Add lines like this to spawn processes at startup. +// Note that running niri as a session supports xdg-desktop-autostart, +// which may be more convenient to use. +// See the binds section below for more spawn examples. +// spawn-at-startup "alacritty" "-e" "fish" +spawn-at-startup "waybar" +spawn-at-startup "hyprpaper" + + +// Uncomment this line to ask the clients to omit their client-side decorations if possible. +// If the client will specifically ask for CSD, the request will be honored. +// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. +// This option will also fix border/focus ring drawing behind some semitransparent windows. +// After enabling or disabling this, you need to restart the apps for this to take effect. +// prefer-no-csd + +// You can change the path where screenshots are saved. +// A ~ at the front will be expanded to the home directory. +// The path is formatted with strftime(3) to give you the screenshot date and time. +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +// You can also set this to null to disable saving screenshots to disk. +// screenshot-path null + +// Animation settings. +// The wiki explains how to configure individual animations: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations +animations { + // Uncomment to turn off all animations. + // off + + // Slow down all animations by this factor. Values below 1 speed them up instead. + // slowdown 3.0 +} + +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules + +// Work around WezTerm's initial configure bug +// by setting an empty default-column-width. +window-rule { + // This regular expression is intentionally made as specific as possible, + // since this is the default config, and we want no false positives. + // You can get away with just app-id="wezterm" if you want. + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} + +// Open the Firefox picture-in-picture player as floating by default. +window-rule { + // This app-id regular expression will work for both: + // - host Firefox (app-id is "firefox") + // - Flatpak Firefox (app-id is "org.mozilla.firefox") + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + open-floating true +} + +// Example: block out two password managers from screen capture. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + match app-id=r#"^org\.keepassxc\.KeePassXC$"# + match app-id=r#"^org\.gnome\.World\.Secrets$"# + + block-out-from "screen-capture" + + // Use this instead if you want them visible on third-party screenshot tools. + // block-out-from "screencast" +} + +// Example: enable rounded corners for all windows. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + geometry-corner-radius 12 + clip-to-geometry true +} + +binds { + // Keys consist of modifiers separated by + signs, followed by an XKB key name + // in the end. To find an XKB name for a particular key, you may use a program + // like wev. + // + // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt + // when running as a winit window. + // + // Most actions that you can bind here can also be invoked programmatically with + // `niri msg action do-something`. + + // Mod-Shift-/, which is usually the same as Mod-?, + // shows a list of important hotkeys. + Mod+Shift+Slash { show-hotkey-overlay; } + + // Suggested binds for running programs: terminal, app launcher, screen locker. + Mod+T { spawn "alacritty"; } + Mod+D { spawn "wofi"; } + Super+Alt+L { spawn "swaylock"; } + + // You can also use a shell. Do this if you need pipes, multiple commands, etc. + // Note: the entire command goes as a single argument in the end. + // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } + XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + + Mod+Shift+Q { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + Mod+Ctrl+Left { move-column-left; } + Mod+Ctrl+Down { move-window-down; } + Mod+Ctrl+Up { move-window-up; } + Mod+Ctrl+Right { move-column-right; } + Mod+Ctrl+H { move-column-left; } + Mod+Ctrl+J { move-window-down; } + Mod+Ctrl+K { move-window-up; } + Mod+Ctrl+L { move-column-right; } + + // Alternative commands that move across workspaces when reaching + // the first or last window in a column. + // Mod+J { focus-window-or-workspace-down; } + // Mod+K { focus-window-or-workspace-up; } + // Mod+Ctrl+J { move-window-down-or-to-workspace-down; } + // Mod+Ctrl+K { move-window-up-or-to-workspace-up; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + Mod+Shift+Down { focus-monitor-down; } + Mod+Shift+Up { focus-monitor-up; } + Mod+Shift+Right { focus-monitor-right; } + Mod+Shift+H { focus-monitor-left; } + Mod+Shift+J { focus-monitor-down; } + Mod+Shift+K { focus-monitor-up; } + Mod+Shift+L { focus-monitor-right; } + + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + // Alternatively, there are commands to move just a single window: + // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } + // ... + + // And you can also move a whole workspace to another monitor: + // Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } + // ... + + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Ctrl+Page_Down { move-column-to-workspace-down; } + Mod+Ctrl+Page_Up { move-column-to-workspace-up; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+I { move-column-to-workspace-up; } + + // Alternatively, there are commands to move just a single window: + // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } + // ... + + Mod+Shift+Page_Down { move-workspace-down; } + Mod+Shift+Page_Up { move-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + // You can bind mouse wheel scroll ticks using the following syntax. + // These binds will change direction based on the natural-scroll setting. + // + // To avoid scrolling through workspaces really fast, you can use + // the cooldown-ms property. The bind will be rate-limited to this value. + // You can set a cooldown on any bind, but it's most useful for the wheel. + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + // Usually scrolling up and down with Shift in applications results in + // horizontal scrolling; these binds replicate that. + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + // Similarly, you can bind touchpad scroll "ticks". + // Touchpad scrolling is continuous, so for these binds it is split into + // discrete intervals. + // These binds are also affected by touchpad's natural-scroll, so these + // example binds are "inverted", since we have natural-scroll enabled for + // touchpads by default. + // Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } + // Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } + + // You can refer to workspaces by index. However, keep in mind that + // niri is a dynamic workspace system, so these commands are kind of + // "best effort". Trying to refer to a workspace index bigger than + // the current workspace count will instead refer to the bottommost + // (empty) workspace. + // + // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on + // will all refer to the 3rd workspace. + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + // Alternatively, there are commands to move just a single window: + // Mod+Ctrl+1 { move-window-to-workspace 1; } + + // Switches focus between the current and the previous workspace. + // Mod+Tab { focus-workspace-previous; } + + // The following binds move the focused window in and out of a column. + // If the window is alone, they will consume it into the nearby column to the side. + // If the window is already in a column, they will expel it out. + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + // Consume one window from the right to the bottom of the focused column. + Mod+Comma { consume-window-into-column; } + // Expel the bottom window from the focused column to the right. + Mod+Period { expel-window-from-column; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + + // Expand the focused column to space not taken up by other fully visible columns. + // Makes the column "fill the rest of the space". + Mod+Ctrl+F { expand-column-to-available-width; } + + Mod+C { center-column; } + + // Finer width adjustments. + // This command can also: + // * set width in pixels: "1000" + // * adjust width in pixels: "-5" or "+5" + // * set width as a percentage of screen width: "25%" + // * adjust width as a percentage of screen width: "-10%" or "+10%" + // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, + // set-column-width "100" will make the column occupy 200 physical screen pixels. + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // Move the focused window between the floating and the tiling layout. + Mod+V { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + + // Toggle tabbed column display mode. + // Windows in this column will appear as vertical tabs, + // rather than stacked on top of each other. + Mod+W { toggle-column-tabbed-display; } + + // Actions to switch layouts. + // Note: if you uncomment these, make sure you do NOT have + // a matching layout switch hotkey configured in xkb options above. + // Having both at once on the same hotkey will break the switching, + // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). + // Mod+Space { switch-layout "next"; } + // Mod+Shift+Space { switch-layout "prev"; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + // Applications such as remote-desktop clients and software KVM switches may + // request that niri stops processing the keyboard shortcuts defined here + // so they may, for example, forward the key presses as-is to a remote machine. + // It's a good idea to bind an escape hatch to toggle the inhibitor, + // so a buggy application can't hold your session hostage. + // + // The allow-inhibiting=false property can be applied to other binds as well, + // which ensures niri always processes them, even when an inhibitor is active. + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + // The quit action will show a confirmation dialog to avoid accidental exits. + Mod+Shift+E { quit; } + Ctrl+Alt+Delete { quit; } + + // Powers off the monitors. To turn them back on, do any input like + // moving the mouse or pressing any other key. + Mod+Shift+P { power-off-monitors; } +} diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 4c5ef92..b61c5f6 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -4,6 +4,7 @@ set tabstop=2 set shiftwidth=2 set expandtab set noshowmode +colorscheme vim " Normal mode remap nnoremap gk diff --git a/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css b/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css index 31f6c77..c726cdf 100644 --- a/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css +++ b/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css @@ -1,19 +1,17 @@ /* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; @define-color destructive_bg_color @red_4; @define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; @define-color success_bg_color @green_5; @define-color success_fg_color white; -@define-color success_color @green_1; @define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; +@define-color warning_fg_color RGB(0 0 0 / 80%); @define-color error_bg_color @red_4; @define-color error_fg_color white; -@define-color error_color #ff7b63; +@define-color accent_color oklab(from @accent_bg_color max(l, 0.85) a b); +@define-color destructive_color oklab(from @destructive_bg_color max(l, 0.85) a b); +@define-color success_color oklab(from @success_bg_color max(l, 0.85) a b); +@define-color warning_color oklab(from @warning_bg_color max(l, 0.85) a b); +@define-color error_color oklab(from @error_bg_color max(l, 0.85) a b); @define-color window_bg_color #242424; @define-color window_fg_color white; @define-color view_bg_color #1e1e1e; @@ -22,28 +20,30 @@ @define-color headerbar_fg_color white; @define-color headerbar_border_color white; @define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color headerbar_shade_color RGB(0 0 0/36%); +@define-color headerbar_darker_shade_color RGB(0 0 0/90%); @define-color sidebar_bg_color #303030; @define-color sidebar_fg_color white; @define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color sidebar_shade_color RGB(0 0 0/25%); +@define-color sidebar_border_color RGB(0 0 0/36%); @define-color secondary_sidebar_bg_color #2a2a2a; @define-color secondary_sidebar_fg_color white; @define-color secondary_sidebar_backdrop_color #272727; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color secondary_sidebar_shade_color RGB(0 0 0/25%); +@define-color secondary_sidebar_border_color RGB(0 0 0/36%); +@define-color card_bg_color RGB(255 255 255/8%); @define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color card_shade_color RGB(0 0 0/36%); @define-color dialog_bg_color #383838; @define-color dialog_fg_color white; @define-color popover_bg_color #383838; @define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.36); +@define-color popover_shade_color RGB(0 0 0/25%); @define-color thumbnail_bg_color #383838; @define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.36); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); - +@define-color shade_color RGB(0 0 0/25%); +@define-color scrollbar_outline_color RGB(0 0 0/95%); +:root { --standalone-color-oklab: max(l, 0.85) a b; --accent-color: oklab(from var(--accent-bg-color) var(--standalone-color-oklab)); --destructive-color: oklab(from var(--destructive-bg-color) var(--standalone-color-oklab)); --success-color: oklab(from var(--success-bg-color) var(--standalone-color-oklab)); --warning-color: oklab(from var(--warning-bg-color) var(--standalone-color-oklab)); --error-color: oklab(from var(--error-bg-color) var(--standalone-color-oklab)); } @import '../gtk-3.0/libadwaita.css'; @import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk.css b/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk.css index 31f6c77..c726cdf 100644 --- a/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk.css +++ b/themes/.themes/adw-gtk3-dark/gtk-4.0/gtk.css @@ -1,19 +1,17 @@ /* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; @define-color destructive_bg_color @red_4; @define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; @define-color success_bg_color @green_5; @define-color success_fg_color white; -@define-color success_color @green_1; @define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; +@define-color warning_fg_color RGB(0 0 0 / 80%); @define-color error_bg_color @red_4; @define-color error_fg_color white; -@define-color error_color #ff7b63; +@define-color accent_color oklab(from @accent_bg_color max(l, 0.85) a b); +@define-color destructive_color oklab(from @destructive_bg_color max(l, 0.85) a b); +@define-color success_color oklab(from @success_bg_color max(l, 0.85) a b); +@define-color warning_color oklab(from @warning_bg_color max(l, 0.85) a b); +@define-color error_color oklab(from @error_bg_color max(l, 0.85) a b); @define-color window_bg_color #242424; @define-color window_fg_color white; @define-color view_bg_color #1e1e1e; @@ -22,28 +20,30 @@ @define-color headerbar_fg_color white; @define-color headerbar_border_color white; @define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color headerbar_shade_color RGB(0 0 0/36%); +@define-color headerbar_darker_shade_color RGB(0 0 0/90%); @define-color sidebar_bg_color #303030; @define-color sidebar_fg_color white; @define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color sidebar_shade_color RGB(0 0 0/25%); +@define-color sidebar_border_color RGB(0 0 0/36%); @define-color secondary_sidebar_bg_color #2a2a2a; @define-color secondary_sidebar_fg_color white; @define-color secondary_sidebar_backdrop_color #272727; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color secondary_sidebar_shade_color RGB(0 0 0/25%); +@define-color secondary_sidebar_border_color RGB(0 0 0/36%); +@define-color card_bg_color RGB(255 255 255/8%); @define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color card_shade_color RGB(0 0 0/36%); @define-color dialog_bg_color #383838; @define-color dialog_fg_color white; @define-color popover_bg_color #383838; @define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.36); +@define-color popover_shade_color RGB(0 0 0/25%); @define-color thumbnail_bg_color #383838; @define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.36); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); - +@define-color shade_color RGB(0 0 0/25%); +@define-color scrollbar_outline_color RGB(0 0 0/95%); +:root { --standalone-color-oklab: max(l, 0.85) a b; --accent-color: oklab(from var(--accent-bg-color) var(--standalone-color-oklab)); --destructive-color: oklab(from var(--destructive-bg-color) var(--standalone-color-oklab)); --success-color: oklab(from var(--success-bg-color) var(--standalone-color-oklab)); --warning-color: oklab(from var(--warning-bg-color) var(--standalone-color-oklab)); --error-color: oklab(from var(--error-bg-color) var(--standalone-color-oklab)); } @import '../gtk-3.0/libadwaita.css'; @import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config index d195ce7..dfc94c4 100644 --- a/waybar/.config/waybar/config +++ b/waybar/.config/waybar/config @@ -8,7 +8,8 @@ "modules-left": [ "hyprland/workspaces", - "hyprland/window" + "hyprland/window", + "niri/workspaces" ], "modules-center": [ "clock#1", @@ -17,6 +18,7 @@ ], "modules-right": [ "tray", + "mpd", "pulseaudio", "backlight", "memory", @@ -38,6 +40,21 @@ "separate-outputs": true, }, + "niri/workspaces": { + "format": "{icon}", + "format-icons": { + // Named workspaces + // (you need to configure them in niri) + "browser": "", + "discord": "", + "chat": "", + + // Icons by state + "active": "", + "default": "" + } + }, + "clock#1": { "format": "{:%A}", "tooltip": false @@ -123,4 +140,29 @@ "tooltip-format-ethernet": "{ifname}  ", "tooltip-format-disconnected": "Disconnected", }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "interval": 10, + "consume-icons": { + "on": " " // Icon shows only when "consume" is on + }, + "random-icons": { + "off": " ", // Icon grayed out when "random" is off + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + } } diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css index c7372be..bed9439 100644 --- a/waybar/.config/waybar/style.css +++ b/waybar/.config/waybar/style.css @@ -1,6 +1,6 @@ * { font-size: 12px; - font-family: "FiraCode Nerd Mono Retina", monospace; + font-family: "Fira Code", monospace; font-weight: bold; border-radius: 8px; } @@ -16,7 +16,7 @@ window#waybar { #pulseaudio, #memory, #cpu, #network, #mpd, #battery, #disk, #backlight, #tray, #keyboard-state { - background: rgba(12, 12, 12, 0.64); + background: rgba(20, 24, 20, 0.64); text-shadow: 2px 3px 2px rgba(20, 20, 20, 0.3); /* background: rgba(12, 12, 12, 0.7); */ padding: 0 12px; diff --git a/zsh/.zshrc b/zsh/.zshrc index aa6aa1c..63860b9 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -61,6 +61,7 @@ plugins=( archlinux sudo tmux + arduino-cli ) source $ZSH/oh-my-zsh.sh @@ -139,5 +140,14 @@ eval "$(zoxide init --cmd cd zsh)" # if [ -e /home/antoine/.nix-profile/etc/profile.d/nix.sh ]; then . /home/antoine/.nix-profile/etc/profile.d/nix.sh; fi export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion +alias startNVM='[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' # This loads nvm +# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion + +# MATLAB +alias matlab="enable-nvidia && /usr/bin/matlab -nosoftwareopengl" + +alias bruh="echo 'bruh' | cowsay" + +# alias start_conda='source $HOME/antoine/anaconda3/bin/activate' +# source /usr/share/nvm/init-nvm.sh +