Manjaro是全宇宙最牛逼的系统
我一时间心血来潮,加上没事做,把用了很久(一个月)的windows10删了,换成了Manjaro,
这个其实也不是我第一次用linux,我第一个用过的linux是老笔记本上的kali linux,
我当时就应该用arch系,kali折腾的难度太高了,导致很多软件特别是windows manager一个都没装成,
Overview
不多废话了。
系统安装
我装的是最新的manjaro系统,这个没什么好说的,用rufus烧录到u盘之后无脑下一步,我直接把win10抹除了,所以分区,挂载什么都是智能分配,不需要看教程我认为都能够完成。
Hyprland&waybar
这是我心心念念了很久很久的一个软件,当初在kali时技术时间有限没装上,装上之后喜悦溢于言表,我看了一篇教程,写的很好,
地址
我基本看这个就解决了hyprland的美化配置和安装,我的waybar也是抄这位大佬的,省下了很多学习的时间和成本.
Hyprland配置
########################################################################################
AUTOGENERATED HYPR CONFIG.
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
########################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 2
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
#▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
#█▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind # 工作区切换动画
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, alacritty
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, dolphin
bind = $mainMod, V, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = SUPER CTRL, left, resizeactive, -20 0
bind = SUPER CTRL, right, resizeactive, 20 0
bind = SUPER CTRL, up, resizeactive, 0 -20
bind = SUPER CTRL, down, resizeactive, 0 20
bind = SUPER SHIFT, left, movewindow, l
bind = SUPER SHIFT, right, movewindow, r
bind = SUPER SHIFT, up, movewindow, u
bind = SUPER SHIFT, down, movewindow, d
# 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
bind = $mainMod, F, fullscreen
# 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
# 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
decoration {
rounding = 12 # 圆角大小
blur = yes # 模糊效果是否启用
blur_size = 5 # 模糊半径
blur_passes = 1 # 模糊过滤次数
blur_new_optimizations = on # 模糊优化,通常保持打开
drop_shadow = yes # 窗口投影是否启用
shadow_range = 4 # 投影大小
shadow_render_power = 3 # 投影强度,不过我不太明白这是什么意思
col.shadow = rgba(1a1a1aee) # 投影颜色
}
general {
gaps_in = 6 # 窗口之间的间隙大小
gaps_out = 12 # 窗口与显示器边缘的间隙大小
border_size = 2 # 窗口边框的宽度
col.active_border = rgba(cceeffbb) # 活动窗口的边框颜色
col.inactive_border = rgba(595959aa) # 非活动窗口的边框颜色
layout = dwindle # 窗口布局
}
exec-once = waybar
exec-once = fcitx5
bind = $mainMod, R, exec, rofi -show drun | xargs hyprctl dispatch exec --
exec-once = mpvpaper -o "no-audio --loop" HDMI-A-1 ~/Background/动态壁纸/8.mp4
bind = $mainMod,z,exec, python /home/cxy/screencut.py
Misc {
animate_manual_resizes = true
}
Binds {
pass_mouse_when_bound = true
}
waybar配置
css样式配置文件(style.css)
{
border: none;
border-radius: 0px;
/*font-family: VictorMono, Iosevka Nerd Font, Noto Sans CJK;*/
font-family: Iosevka, FontAwesome, Noto Sans CJK;
font-size: 14px;
font-style: normal;
min-height: 0;
}
window#waybar {
background: rgba(30, 30, 46, 0.5);
border-bottom: 1px solid #282828;
color: #f4d9e1
}
#workspaces {
background: #282828;
margin: 5px 5px 5px 5px;
padding: 0px 5px 0px 5px;
border-radius: 16px;
border: solid 0px #f4d9e1;
font-weight: normal;
font-style: normal;
}
#workspaces button {
padding: 0px 5px;
border-radius: 16px;
color: #928374;
}
#workspaces button.active {
color: #f4d9e1;
background-color: transparent;
border-radius: 16px;
}
#workspaces button:hover {
background-color: #E6B9C6;
color: black;
border-radius: 16px;
}
#custom-date, #clock, #battery, #pulseaudio, #network, #custom-randwall, #custom-launcher {
background: transparent;
padding: 5px 5px 5px 5px;
margin: 5px 5px 5px 5px;
border-radius: 8px;
border: solid 0px #f4d9e1;
}
#custom-date {
color: #D3869B;
}
#custom-power {
color: #24283b;
background-color: #db4b4b;
border-radius: 5px;
margin-right: 10px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
padding: 5px 10px;
}
#tray {
background: #282828;
margin: 5px 5px 5px 5px;
border-radius: 16px;
padding: 0px 5px;
/*border-right: solid 1px #282738;*/
}
#clock {
color: #E6B9C6;
background-color: #282828;
border-radius: 0px 0px 0px 24px;
padding-left: 13px;
padding-right: 15px;
margin-right: 0px;
margin-left: 10px;
margin-top: 0px;
margin-bottom: 0px;
font-weight: bold;
/*border-left: solid 1px #282738;*/
}
#battery {
color: #9ece6a;
}
#battery.charging {
color: #9ece6a;
}
#battery.warning:not(.charging) {
background-color: #f7768e;
color: #24283b;
border-radius: 5px 5px 5px 5px;
}
#backlight {
background-color: #24283b;
color: #db4b4b;
border-radius: 0px 0px 0px 0px;
margin: 5px;
margin-left: 0px;
margin-right: 0px;
padding: 0px 0px;
}
#network {
color: #f4d9e1;
border-radius: 8px;
margin-right: 5px;
}
#pulseaudio {
color: #f4d9e1;
border-radius: 8px;
margin-left: 0px;
}
#pulseaudio.muted {
background: transparent;
color: #928374;
border-radius: 8px;
margin-left: 0px;
}
#custom-randwall {
color: #f4d9e1;
border-radius: 8px;
margin-right: 0px;
}
#custom-launcher {
color: #e5809e;
background-color: #282828;
border-radius: 0px 24px 0px 0px;
margin: 0px 0px 0px 0px;
padding: 0 20px 0 13px;
/*border-right: solid 1px #282738;*/
font-size: 20px;
}
#custom-launcher button:hover {
background-color: #FB4934;
color: transparent;
border-radius: 8px;
margin-right: -5px;
margin-left: 10px;
}
#custom-playerctl {
background: #282828;
padding-left: 15px;
padding-right: 14px;
border-radius: 16px;
/*border-left: solid 1px #282738;*/
/*border-right: solid 1px #282738;*/
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
font-weight: normal;
font-style: normal;
font-size: 16px;
}
#custom-playerlabel {
background: transparent;
padding-left: 10px;
padding-right: 15px;
border-radius: 16px;
/*border-left: solid 1px #282738;*/
/*border-right: solid 1px #282738;*/
margin-top: 5px;
margin-bottom: 5px;
font-weight: normal;
font-style: normal;
}
#window {
background: #282828;
padding-left: 15px;
padding-right: 15px;
border-radius: 16px;
/*border-left: solid 1px #282738;*/
/*border-right: solid 1px #282738;*/
margin-top: 5px;
margin-bottom: 5px;
font-weight: normal;
font-style: normal;
}
#custom-wf-recorder {
padding: 0 20px;
color: #e5809e;
background-color: #1E1E2E;
}
#cpu {
background-color: #282828;
/*color: #FABD2D;*/
border-radius: 16px;
margin: 5px;
margin-left: 5px;
margin-right: 5px;
padding: 0px 10px 0px 10px;
font-weight: bold;
}
#memory {
background-color: #282828;
/*color: #83A598;*/
border-radius: 16px;
margin: 5px;
margin-left: 5px;
margin-right: 5px;
padding: 0px 10px 0px 10px;
font-weight: bold;
}
#disk {
background-color: #282828;
/*color: #8EC07C;*/
border-radius: 16px;
margin: 5px;
margin-left: 5px;
margin-right: 5px;
padding: 0px 10px 0px 10px;
font-weight: bold;
}
#custom-hyprpicker {
background-color: #282828;
/*color: #8EC07C;*/
border-radius: 16px;
margin: 5px;
margin-left: 5px;
margin-right: 5px;
padding: 0px 11px 0px 9px;
font-weight: bold;
}
config文件
{
"position": "top",
"layer": "top",
"height": 16,
"margin-top": 0,
"margin-bottom": 0,
"margin-left": 0,
"margin-right": 0,
"modules-left": ["custom/launcher", "wlr/workspaces", "custom/playerctl", "custom/playerlabel"],
"modules-center": ["cpu", "memory", "disk"],
"modules-right": ["tray", "custom/randwall", "network", "pulseaudio", "clock"],
// Modules configuration
"clock": {
"format": " {:%H:%M}",
"tooltip": "true",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": " {:%d/%m}"
},
"wlr/workspaces": {
"active-only": false,
"all-outputs": true,
"disable-scroll": false,
"on-scroll-up": "hyprctl dispatch workspace -1",
"on-scroll-down": "hyprctl dispatch workspace +1",
"format": "{icon}",
"on-click": "activate",
"format-icons": {
// "1": "一",
// "2": "二",
// "3": "三",
// "4": "四",
// "5": "五",
"urgent": "",
"active": "",
"default": "",
"sort-by-number": true
},
},
"custom/playerctl": {
"format": "{icon}",
"return-type": "json",
"max-length": 64,
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"format-icons": {
"Playing": "<span foreground='#E5B9C6'> </span>",
"Paused": "<span foreground='#928374'> </span>"
},
},
"custom/playerlabel": {
"format": "<span>{}</span>",
"return-type": "json",
"max-length": 48,
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"format-icons": {
"Playing": "<span foreground='#E5B9C6'> </span>",
"Paused": "<span foreground='#928374'> </span>"
},
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format":"{icon} {capacity}%",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{icon} {time}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"memory": {
"format": " {}%",
"format-alt": " {used}/{total} GiB",
"interval": 5
},
"cpu": {
"format": " {usage}%",
"format-alt": " {avg_frequency} GHz",
"interval": 5
},
"disk": {
"format": " {}%",
"format-alt": " {used}/{total} GiB",
"interval": 5,
"path": "/mnt/Datos"
},
"network": {
"format-wifi": "",
"format-ethernet": " {ifname}: Aesthetic",
"format-linked": " {ifname} (No IP)",
"format-disconnected": "",
"format-alt": " {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{essid}",
"on-click-right": "nm-connection-editor"
},
"tray": {
"icon-size": 16,
"spacing": 5
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""],
// "on-scroll-up":,
// "on-scroll-down":,
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"default": ["", "", ""]
},
"on-click": "bash ~/.scripts/volume mute",
"on-scroll-up": "bash ~/.scripts/volume up",
"on-scroll-down": "bash ~/.scripts/volume down",
"scroll-step": 5,
"on-click-right": "pavucontrol"
},
"custom/randwall": {
"format": "",
"on-click": "bash $HOME/.config/hypr/randwall.sh",
"on-click-right": "bash $HOME/.config/hypr/wall.sh"
},
"custom/launcher": {
"format": "",
"on-click": "bash $HOME/.config/rofi/launcher.sh",
// "on-click": "wofi --show drun -I -a -n -W 500 -H 376 -s ~/.config/wofi/themes/gruvbox.css",
"on-click-right": "bash $HOME/.config/rofi/run.sh"
// "on-click-right": "wofi --show run -I -a -n -W 500 -H 376 -s ~/.config/wofi/themes/gruvbox.css"
},
"custom/wf-recorder": {
"format": "{}",
"interval": "once",
"exec": "echo ''",
"tooltip": "false",
"exec-if": "pgrep 'wf-recorder'",
"on-click": "exec ./scripts/wlrecord.sh",
"signal": 8
},
"custom/hyprpicker": {
"format": "",
"on-click": "hyprpicker -a -f hex",
"on-click-right": "hyprpicker -a -f rgb"
},
}
}
Alacritty
这个终端简洁好用,配置简单,很出色,强烈推荐和hyprland配合使用,非常契合。
# 导入主题颜色配置
# 导入主题颜色配置
import:
- /home/flork/.config/alacritty/themes/themes/material_theme.yaml
live_config_reload: true
font:
size: 11
normal:
family: "JetBrainsMOnoNL Nerd Font Mono"
style: ExtraBold
bold:
family: "VictorMono Nerd Font Mono"
style: Bold Italic
italic:
family: "VictorMono Nerd Font Mono"
style: Bold Italic
# 设置字
window:
opacity: 0.4
# set startup mode
startup_mode: Fullscreen
# highlight window damage info
highlight_damage: true
# set cursor style
cursor:
style: Beam
# bind F11 to Fullscreen
musicfox
这个是网易云音乐的终端版本,好用,安装方法
yay -S go-musicfox
登陆之后该有的功能都有,推荐。
cava&cavalier
cava是一个终端下的音频可视化工具,配置简单效果好
yay -S cava
cavalier是cava的gui版本,用哪个都无所谓
yay -S cavalier
nvim&neovide
一款神之编辑器,我很早以前说过了,搭配neovide能够锦上添花
在hyprland下安装neovide要注意一点
yay -S neovide-git
装带git的版本,否则用不了
我的配置文件在早期写过的一篇文章里。
rofi
一款启动器,可以让你减少鼠标的使用频率,这个在hyprland下很有必要,能够方便不少。
yay -S rofi
这篇文章主要是写给我自己的,怕我上学回来之后什么都不记得了
快捷键列表
win+q 删除当前窗口
win+t 打开alacritty
win+r 打开rofi
win+v 将一个窗口置于最顶层
win+j 更换布局
win+z 截屏
原版dotfile:https://github.com/maximbaz/dotfiles
我稍微改了一点
ascii画生成:https://lachlanarthur.github.io/Braille-ASCII-Art/
我改过的dotfile:https://wwzp.lanzoum.com/ihAOF16p3yaf
密码:5rst