Add Arch Linux setup
This commit is contained in:
parent
c8f349589a
commit
f82eb9493d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
.DS_Store
|
||||
fish_variables
|
||||
|
7
X/.Xresources
Normal file
7
X/.Xresources
Normal file
@ -0,0 +1,7 @@
|
||||
Xft.dpi: 120
|
||||
Xft.autohint: 0
|
||||
Xft.lcdfilter: lcddefault
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.hinting: 1
|
||||
Xft.antialias: 1
|
||||
Xft.rgba: rgb
|
@ -10,7 +10,12 @@
|
||||
# :: Marvin Elsen <contact@marvinelsen.com>
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
brew shellenv | source
|
||||
if command --query brew
|
||||
brew shellenv | source
|
||||
end
|
||||
|
||||
set fish_greeting
|
||||
set EDITOR nvim
|
||||
|
||||
if status is-interactive
|
||||
fzf --fish | source
|
||||
|
@ -12,7 +12,7 @@
|
||||
# :: Marvin Elsen <contact@marvinelsen.com>
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
command = /opt/homebrew/bin/fish --interactive
|
||||
command = fish --interactive
|
||||
shell-integration = fish
|
||||
|
||||
theme = catppuccin-macchiato
|
||||
@ -21,4 +21,4 @@ window-padding-x = 8
|
||||
window-padding-y = 8
|
||||
|
||||
font-family = FantasqueSansM Nerd Font
|
||||
font-size = 16
|
||||
font-size = 12
|
||||
|
232
hypr/.config/hypr/hyprland.conf
Normal file
232
hypr/.config/hypr/hyprland.conf
Normal file
@ -0,0 +1,232 @@
|
||||
monitor = HDMI-A-1, preferred, auto, 1.25
|
||||
|
||||
$terminal = ghostty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
|
||||
exec-once = hyprpaper
|
||||
exec-once = waybar
|
||||
exec-once = xrdb -merge "$HOME/.Xresources"
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
general {
|
||||
gaps_in = 16
|
||||
gaps_out = 16
|
||||
|
||||
border_size = 4
|
||||
|
||||
col.active_border = rgb(5e72eb) rgb(ff9190) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
resize_on_border = false
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Tearing/
|
||||
allow_tearing = false
|
||||
|
||||
layout = master
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding_power = 2
|
||||
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Master-Layout/
|
||||
master {
|
||||
new_status = slave
|
||||
orientation = left
|
||||
slave_count_for_center_master = 2
|
||||
always_keep_position = false
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant = neo_qwertz
|
||||
kb_model = pc105
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, return, exec, $terminal
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule
|
||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
3
hypr/.config/hypr/hyprpaper.conf
Normal file
3
hypr/.config/hypr/hyprpaper.conf
Normal file
@ -0,0 +1,3 @@
|
||||
preload = /home/avocado/pic/wallpapers/wallhaven-ymxz77.png
|
||||
wallpaper = , /home/avocado/pic/wallpapers/wallhaven-ymxz77.png
|
||||
|
@ -1,16 +1,16 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
||||
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
|
||||
"catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "fd50977fce4d5240b910d2b816e71fb726cbbaf7" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "43b0c856ae5f32a195d83f4a27fe21d63e6c966c" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
|
||||
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
|
||||
"nvim-surround": { "branch": "main", "commit": "0e62500b98f4513feaaf7425c135472457ea5b7d" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "3b308861a8d7d7bfbe9be51d52e54dcfd9fe3d38" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "50b5b06bff13a9b4eab946de7c7033649a6618a1" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "f1420728f59843eb2ef084406b3d0201a0a0932d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }
|
||||
}
|
||||
|
67
pkglist.txt
Normal file
67
pkglist.txt
Normal file
@ -0,0 +1,67 @@
|
||||
amd-ucode
|
||||
base
|
||||
base-devel
|
||||
bat
|
||||
bluez
|
||||
bluez-utils
|
||||
dunst
|
||||
efibootmgr
|
||||
eza
|
||||
fd
|
||||
ffmpeg
|
||||
fish
|
||||
fzf
|
||||
ghostty
|
||||
gimp
|
||||
git
|
||||
git-delta
|
||||
grim
|
||||
gst-plugin-pipewire
|
||||
htop
|
||||
hyprland
|
||||
hyprpaper
|
||||
inter-font
|
||||
iwd
|
||||
keepassxc
|
||||
less
|
||||
libpulse
|
||||
linux
|
||||
linux-firmware
|
||||
neofetch
|
||||
neovim
|
||||
noto-fonts-cjk
|
||||
openssh
|
||||
pavucontrol
|
||||
pcmanfm
|
||||
pipewire
|
||||
pipewire-alsa
|
||||
pipewire-jack
|
||||
pipewire-pulse
|
||||
polkit-kde-agent
|
||||
python
|
||||
qt5-wayland
|
||||
qt6-wayland
|
||||
rsync
|
||||
sddm
|
||||
signal-desktop
|
||||
slurp
|
||||
smartmontools
|
||||
spotify-launcher
|
||||
starship
|
||||
stow
|
||||
ttf-fantasque-nerd
|
||||
vivaldi
|
||||
vivaldi-ffmpeg-codecs
|
||||
vulkan-radeon
|
||||
waybar
|
||||
wget
|
||||
wireless_tools
|
||||
wireplumber
|
||||
wl-clipboard
|
||||
wofi
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-utils
|
||||
xf86-video-amdgpu
|
||||
xf86-video-ati
|
||||
xorg-server
|
||||
xorg-xinit
|
10
waybar/.config/waybar/colors.css
Normal file
10
waybar/.config/waybar/colors.css
Normal file
@ -0,0 +1,10 @@
|
||||
@define-color base #212121;
|
||||
@define-color base-gradient #424242;
|
||||
@define-color text #fafafa;
|
||||
@define-color text-dark #a0a0a0;
|
||||
@define-color green #00C853;
|
||||
@define-color green-gradient #00E676;
|
||||
@define-color red #B71C1C;
|
||||
@define-color red-gradient #D32F2F;
|
||||
@define-color blue #0091EA;
|
||||
@define-color blue-gradient #00B0FF;
|
52
waybar/.config/waybar/config.jsonc
Normal file
52
waybar/.config/waybar/config.jsonc
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": ["clock#date", "clock#time"],
|
||||
"modules-right": ["tray", "network", "bluetooth"],
|
||||
"hyprland/workspaces": {
|
||||
"format": "{name}",
|
||||
"persistent-workspaces": {
|
||||
"*": 5,
|
||||
}
|
||||
},
|
||||
"bluetooth": {
|
||||
"format-on": " On",
|
||||
"format-connected": " On",
|
||||
"format-off": " Off",
|
||||
"format-no-controller": " No Controller",
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"tooltip": false,
|
||||
"scroll-step": 5,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "{icon} {volume}%",
|
||||
"on-click":"pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": " Online",
|
||||
"format-ethernet": " Online",
|
||||
"format-disconnected": " Offline",
|
||||
"tooltip-format-ethernet": "{ifname}\t{ipaddr}"
|
||||
},
|
||||
"tray":{
|
||||
"icon-size":18,
|
||||
"spacing": 10,
|
||||
"show-passive-items": true
|
||||
},
|
||||
"clock#date": {
|
||||
"interval": 60,
|
||||
"format": "{:%a %b %d}"
|
||||
},
|
||||
"clock#time": {
|
||||
"interval": 60,
|
||||
"format": "{:%H:%M}"
|
||||
}
|
||||
}
|
90
waybar/.config/waybar/style.css
Normal file
90
waybar/.config/waybar/style.css
Normal file
@ -0,0 +1,90 @@
|
||||
@import "colors.css";
|
||||
|
||||
* {
|
||||
border: none;
|
||||
font-family: "Inter SemiBold", "FantasqueSansM Nerd Font";
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#waybar .module {
|
||||
margin-top: 8px;
|
||||
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
|
||||
border-radius: 24px;
|
||||
|
||||
background: linear-gradient(0deg, @base 0%, @base-gradient 100%);
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#waybar .modules-left > *:first-child > * {
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
#waybar .modules-right > *:last-child > * {
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-radius: 16px;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
color: @text-dark;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#bluetooth.on,
|
||||
#bluetooth.connected {
|
||||
background: linear-gradient(0deg, @blue 0%, @blue-gradient 100%);
|
||||
}
|
||||
|
||||
|
||||
#bluetooth.off,
|
||||
#bluetooth.disabled,
|
||||
#bluetooth.no-controller {
|
||||
background: linear-gradient(0deg, @red 0%, @red-gradient 100%);
|
||||
}
|
||||
|
||||
#network.ethernet,
|
||||
#network.wifi{
|
||||
background: linear-gradient(0deg, @green 0%, @green-gradient 100%);
|
||||
}
|
||||
|
||||
#network.disconnected,
|
||||
#network.disabled {
|
||||
padding-left: 16px;
|
||||
padding-right: 22px;
|
||||
|
||||
background: linear-gradient(0deg, @red 0%, @red-gradient 100%);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user