base linux linux-firmware base-devel vim nano dhcpcd iwd intel-ucode amd-ucode zsh polkit xorg-server xorg-xinit i3-gaps xfce4-termianl fctix5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki fcitx5-pinyin-moegirl networkmanager network-manager-applet alsa-utils polybar maim ranger ristretto vlc firefox typora pandoc netease-cloud-music bat thunar neofetch ncdu xclip arch-install-scripts tmux archlinuxcn-key dmenu git wget ttf-lxgw-wenkai-mono picom feh ttf-font-awesome yay man-db xorg-xdpyinfo ssfconv sof-firmware bluez bluez-utils blueberry nodejs ddnet xf86-video-intel w3m clash

本文为个人配置,长期更新。

分类 软件 手动配置的
系统 base linux linux-firmware base-devel intel-ucode amd-ucode polkit zsh zsh
网络 dhcpcd iwd networkmanager network-manager-applet
声音 alsa-utils sof-firmware alsa
字体 ttf-lxgw-wenkai-mono ttf-font-awesome
编辑器 vim nano typora vim
文件管理 thunar ranger ncdu ranger
图形界面 xorg-server xorg-xinit i3-gaps polybar xf86-video-intel picom feh dmenu i3-gaps polybar
输入法 fctix5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki fcitx5-pinyin-moegirl ssfconv fcitx5-im ssfconv
浏览器 firefox w3m
蓝牙 bluez bluez-utils blueberry
游戏 ddnet
终端 xfce4-termianl xfce4-terminal
截屏 maim maim
图像查看 ristretto feh
多媒体 vlc
文件转换 pandoc
音乐 netease-cloud-music
工具 bat xclip arch-install-scripts tmux git wget yay man-db xorg-xdpyinfo ssfconv clash git

系统

这里是涉及系统层面的软件,大多不用配置,只做简单的介绍。

简介

base & base-devel

base和base-devel都是软件包组,由一系列软件包组成,或称为元软件包(meta package)。

其中base包含了 Arch Linux 安装时需要的最小软件集,包含:

  • 基本的 glibc 和 bash
  • 发行版相关工具如 pacman 和 systemd
  • POSIX 工具 core utilities、进程、文件、压缩工具等
  • 网络工具 iproute2

是的,你没看错,kernel 是可选依赖!内核不在最小安装里!

请参考发布说明为什么 base 是元软件包

linux

linux就是kernel(内核),无需多说,有其他的内核可选,参见kernel

intel-ucode & amd-ucode

是Intel或者AMD CPU的微码,维持CPU的稳定性和安全性更新,参见Microcode

polkit

polkit在系统层级进行权限控制,对于普通用户调节亮度或者关机之类的操作有用,一般的图形界面有对应的组件,使用i3wm需要自行安装。

zsh

一种shell。

配置

zsh

安装oh-my-zsh

官方安装(见ohmyz.sh):

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"	# 使用curl

sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"	# 使用wget

gitee安装:

git clone https://gitee.com/mirrors/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -l			# 查看有哪些shell
chsh -s /bin/zsh 	# 切换到zsh
source ~/.zshrc		# 读取zshrc的配置,可能需要重新登录用户才能起效

zsh-autosuggestions命令自动补全插件

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting高亮显示常用命令

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

启用插件和主题

~/.zshrc
ZSH_THEME="3denhw"
plugins=(git sudo zsh-syntax-highlighting zsh-autosuggestions z)

3denhw是我用3den改的硬件时钟版本

~/.oh-my-zsh/themes/3denhw.zsh-theme
PROMPT=$'%{$fg[white]%}$(ruby_prompt_info) %{$fg_bold[cyan]%}%~%{$reset_color%}$(git_prompt_info) %{$fg[cyan]%}[%*]\
%{$fg_bold[green]%}%n$%{$reset_color%} '

ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}("
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="*"
ZSH_THEME_GIT_PROMPT_CLEAN=""

sudo权限

使用EDITOR=vim visudo

/etc/sudoers
%wheel ALL=(ALL:ALL) ALL	# 给wheel组的用户sudo权限

grub

/boot/grub/grub.cfg
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="${saved_entry}"
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
}

set menu_color_normal=light-blue/black
set menu_color_highlight=light-cyan/blue

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  aaf969e5-f85a-4a06-940a-5afd1ab1c646
else
  search --no-floppy --fs-uuid --set=root aaf969e5-f85a-4a06-940a-5afd1ab1c646
fi
    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_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  aaf969e5-f85a-4a06-940a-5afd1ab1c646
else
  search --no-floppy --fs-uuid --set=root aaf969e5-f85a-4a06-940a-5afd1ab1c646
fi
insmod jpeg
background_image -m stretch /boot/grub/picture/Gnulove.jpg
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi

menuentry 'ArchMage' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aaf969e5-f85a-4a06-940a-5afd1ab1c646' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  aaf969e5-f85a-4a06-940a-5afd1ab1c646
	else
	  search --no-floppy --fs-uuid --set=root aaf969e5-f85a-4a06-940a-5afd1ab1c646
	fi
	echo	'Loading ArchMage ...'
	linux	/boot/vmlinuz-linux root=UUID=aaf969e5-f85a-4a06-940a-5afd1ab1c646 rw  loglevel=3
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
}


menuentry "ArchMoon" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aaf969e5-f85a-4a06-940a-5afd1ab1c646' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 07275492-5b3c-4ba7-b5e8-a38486bf7cea
	echo "Loading ArchMoon ..."
	linux   /boot/vmlinuz-linux root=UUID=07275492-5b3c-4ba7-b5e8-a38486bf7cea rw      loglevel=3
	echo    'Loading initial ramdisk ...'
	initrd  /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
}

submenu 'Magic' $menuentry_id_option 'gnulinux-advanced-aaf969e5-f85a-4a06-940a-5afd1ab1c646' {
	menuentry 'ArchMage(fallback)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-aaf969e5-f85a-4a06-940a-5afd1ab1c646' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  aaf969e5-f85a-4a06-940a-5afd1ab1c646
		else
		  search --no-floppy --fs-uuid --set=root aaf969e5-f85a-4a06-940a-5afd1ab1c646
		fi
		echo	'Loading Linux linux ...'
		linux	/boot/vmlinuz-linux root=UUID=aaf969e5-f85a-4a06-940a-5afd1ab1c646 rw  loglevel=3
		echo	'Loading initial ramdisk ...'
		initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux-fallback.img
	}

	menuentry "ArchMoon(fallback)" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-aaf969e5-f85a-4a06-940a-5afd1ab1c646' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 07275492-5b3c-4ba7-b5e8-a38486bf7cea
		echo "Loading ArchMoon ..."
		linux   /boot/vmlinuz-linux root=UUID=07275492-5b3c-4ba7-b5e8-a38486bf7cea rw      loglevel=3
		echo    'Loading initial ramdisk ...'
		initrd  /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux-fallback.img
	}

	menuentry "Shutdown"{
		echo "System shutting down ..."
		halt
	}

	menuentry "Restart"{
		echo "System rebooting ..."
		reboot
	}

	menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
		fwsetup
	}
}

pacman

/etc/pacman.d/mirrlist
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
/etc/pacman.conf修改
# Misc options
#UseSyslog
Color
ILoveCandy
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5

# 末尾加上archlinuxcn的源
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

网络

简介

dhcpcd

连接有线网

sudo dhcpcd

iwctl

连接无线网

sudo systemctl start iwd
iwctl
sudo systemctl start dhcpcd@wlan0
station list
station wlan0 scan
station wlan0 get-networks
station wlan connect SSID

networkmanger & network-manager-applet

用于图形界面的网络连接

systemctl enable NetworkMannger

声音

简介

alsa

声音系统,较新的笔记本需要安装驱动sof-firmware,参见alsa

对于i3需要手动开启软混

~/.asoundrc
pcm.card0{
    type hw
    card 0
}

pcm.!default{
    type plug
    slave.pcm "dmix"
}

alsa-utils

包含了一些工具,使用alsamixer调整各声道

字体

中文和英文:ttf-lxgw-wenkai-mono
图标:ttf-font-awesome(用于polybar)

编辑器

vim配置待完善

文件管理

简介

thunar

图形界面的文件管理器,几乎不用

ncdu

管理磁盘

ranger

终端中的文件管理,有vim风格

生成配置:ranger --copy-config=all

~/.config/ranger/rc.conf
set colorscheme solarized
set prewview_images true
set prewview_images w3m

并在~/.zshrc添加以下设置

ranger() {
    if [ -z "$RANGER_LEVEL" ]; then
        /usr/bin/ranger "$@"
    else
        exit
    fi
}

图形界面

xorg

xorg-server是启动X服务的服务,xorg-xinit提供了xinit的启动方式

~/.xinitrc
exec i3	# 将末尾改成如此,一定要在最后exec

xf86-video-intel提供了intel集显的驱动

触摸板

在i3下触摸板使用需要自行配置

/etc/X11/xorg.conf.d/touchpad.conf
Section "InputClass"
        Identifier "touchpad"
        MatchIsTouchpad "on"
        Driver "libinput"
        Option "Tapping" "on"
        Option "TappingButtonMap" "lrm"
        Option "NaturalScrolling" "on"
        Option "ScrollMethod" "twofinger"
EndSection

i3

i3-gaps提供了有间隙的i3废话

~/.config/i3/config
set $mod Mod4

# Start fcitx5
exec --no-startup-id fcitx5

# Start polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh

# Start picom
exec --no-startup-id picom -b

# Start feh to use wallpaper
exec --no-startup-id feh --bg-fill $HOME/Picture/wallpaper/1.jpg

# Start blueberry for bluetooth
# exec --no-startup-id blueberry

#design windows
default_border none
default_floating_border normal
hide_edge_borders both

gaps inner 9
gaps outer 3

# start web browers in private mod
bindsym $mod+Shift+p exec --no-startup-id firefox --private

# use maim to capture screen and save to $HOME/Picture/screenshot
# screenshot the curren active window
bindsym $mod+i exec --no-startup-id maim -i $(xdotool getactivewindow) $HOME/Picture/screenshot/$(date +%s).png
#screenshot the full screen
bindsym $mod+Print exec --no-startup-id maim $HOME/Picture/screenshot/$(date +%s).png
# screenshot a selected aera
bindsym $mod+Shift+Print exec --no-startup-id maim -s $HOME/Picture/screenshot/$(date +%s).png

# 删除最后的i3stautes

polybar

创建配置文件cp /etc/polybar/config.ini ~/.config/polybar/config

~/.config/polybar/config
;==========================================================
;
;
;   ██████╗  ██████╗ ██╗  ██╗   ██╗██████╗  █████╗ ██████╗
;   ██╔══██╗██╔═══██╗██║  ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
;   ██████╔╝██║   ██║██║   ╚████╔╝ ██████╔╝███████║██████╔╝
;   ██╔═══╝ ██║   ██║██║    ╚██╔╝  ██╔══██╗██╔══██║██╔══██╗
;   ██║     ╚██████╔╝███████╗██║   ██████╔╝██║  ██║██║  ██║
;   ╚═╝      ╚═════╝ ╚══════╝╚═╝   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
;
;
;   To learn more about how to configure Polybar
;   go to https://github.com/polybar/polybar
;
;   The README contains a lot of information
;
;==========================================================

[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

[bar/example]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
offset-x = 0
offset-y = 0
radius = 6.0
fixed-center = true

background = ${colors.background}
foreground = ${colors.foreground}

line-size = 3
line-color = #f00

border-size = 4
border-color = #00000000

padding-left = 0
padding-right = 9

module-margin-left = 1
module-margin-center = 3
module-margin-right = 3

font-0 = fixed:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
font-1 = FontAwesome6FreeSolid:pixelsize=12;1
font-2 = FontAwesome6Brands:pixelsize=8;1

modules-left = i3
modules-center = alsa date backlight
modules-right = xkeyboard memory cpu  battery 
tray-position = right
tray-padding = 3
;tray-background = #0063ff

;wm-restack = bspwm
;wm-restack = i3

;override-redirect = true

;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev

;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev

cursor-click = pointer
cursor-scroll = ns-resize

[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%

;[module/xkeyboard]
;type = internal/xkeyboard
;blacklist-0 = num lock
;
;format-prefix = " "
;format-prefix-foreground = ${colors.foreground-alt}
;format-prefix-underline = ${colors.secondary}
;
;label-layout = %layout%
;label-layout-underline = ${colors.secondary}
;
;label-indicator-padding = 2
;label-indicator-margin = 1
;label-indicator-background = ${colors.secondary}
;label-indicator-underline = ${colors.secondary}

; ===键盘提示===
; https://github.com/polybar/polybar/wiki/Module:-xkeyboard
[module/xkeyboard]
type = internal/xkeyboard


; 忽略列表
blacklist-0 = scroll lock

; <label-indicator>
format = <label-layout> <label-indicator>
format-spacing = 1

label-layout = 
label-layout-foreground = #93b5cf
label-indicator-on-capslock = 
label-indicator-off-capslock =
;label-indicator-on-numlock = 🅽
;label-indicator-off-numlock =

label-indicator-on-capslock-foreground = #ff5555



[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /

label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}

[module/bspwm]
type = internal/bspwm

label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2

label-occupied = %index%
label-occupied-padding = 2

label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2

; Separator in between workspaces
; label-separator = |

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false

; Only show workspaces on the same output as the bar
;pin-workspaces = true

label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}

; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2

; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 2

; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}

; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

; Separator in between workspaces
; label-separator = |


[module/mpd]
type = internal/mpd
format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next>

icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 

label-song-maxlen = 25
label-song-ellipsis = true

[module/xbacklight]
type = internal/xbacklight

format = <label> <bar>
label = BL

bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = 
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = 
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}

; ===屏幕亮度===
; https://github.com/polybar/polybar/wiki/Module:-xbacklight
[module/backlight]
type = internal/backlight

; 使用命令查询到设备文件:
; ls -1 /sys/class/backlight/
card = intel_backlight

; 滚轮调节亮度
; see /etc/udev/rules.d/backlight.rules
; Default: false
enable-scroll = true

format = <ramp> <label>

label = %percentage%%

; 用于 <ramp>
ramp-0 =  
ramp-1 = 
ramp-2 =  
ramp-3 = 
ramp-4 = 

ramp-0-foreground = #3d3b4f
; 用于 <bar>
bar-width = 10
bar-indicator = |
bar-fill = -
bar-empty = -

[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight

;[module/cpu]
;type = internal/cpu
;interval = 2
;format-prefix = " "
;format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #f90000
;label = %percentage:2%%
;
;[module/memory]
;type = internal/memory
;interval = 2
;format-prefix = " "
;format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #4bffdc
;label = %percentage_used%%

; ===CPU===
; https://github.com/polybar/polybar/wiki/Module:-cpu
[module/cpu]
type = internal/cpu

; 刷新间隔,默认: 1
interval = 0.5

;format = <label> <ramp-coreload>
format = <label>

label =  %percentage%%
label-foreground = #2e4e7e

; Spacing between individual per-core ramps
ramp-coreload-spacing = 1
ramp-coreload-0 = 
ramp-coreload-1 = 
ramp-coreload-2 = 
ramp-coreload-3 = 
ramp-coreload-4 = 
ramp-coreload-5 = 
ramp-coreload-6 = 
ramp-coreload-7 = 

ramp-coreload-0-foreground = #aaff77
ramp-coreload-1-foreground = #aaff77
ramp-coreload-2-foreground = #aaff77
ramp-coreload-3-foreground = #aaff77
ramp-coreload-4-foreground = #fba922
ramp-coreload-5-foreground = #fba922
ramp-coreload-6-foreground = #ff5555
ramp-coreload-7-foreground = #ff5555

; ===内存===
; https://github.com/polybar/polybar/wiki/Module:-memory
[module/memory]
type = internal/memory

; 刷新间隔,默认: 1
interval = 3

;format = <label> <ramp-used> <ramp-free>
format = <label>

label =  %gb_used%/%gb_free%
label-foreground = #065279

; 用于 <ramp-used>
ramp-used-0 = 
ramp-used-1 = 
ramp-used-2 = 
ramp-used-3 = 
ramp-used-4 = 
ramp-used-5 = 
ramp-used-6 = 
ramp-used-7 = 

ramp-used-0-foreground = #aaff77
ramp-used-1-foreground = #aaff77
ramp-used-2-foreground = #aaff77
ramp-used-3-foreground = #aaff77
ramp-used-4-foreground = #fba922
ramp-used-5-foreground = #fba922
ramp-used-6-foreground = #ff5555
ramp-used-7-foreground = #ff5555

; 用于 <ramp-free>
ramp-free-0 = 
ramp-free-1 = 
ramp-free-2 = 
ramp-free-3 = 
ramp-free-4 = 
ramp-free-5 = 
ramp-free-6 = 
ramp-free-7 = 

ramp-free-0-foreground = #ff5555
ramp-free-1-foreground = #ff5555
ramp-free-2-foreground = #fba922
ramp-free-3-foreground = #fba922
ramp-free-4-foreground = #aaff77
ramp-free-5-foreground = #aaff77
ramp-free-6-foreground = #aaff77
ramp-free-7-foreground = #aaff77


[module/wlan]
type = internal/network
interface = net1
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%

format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}

[module/eth]
type = internal/network
interface = enp94s0f1
interval = 3.0

format-connected-underline = #55aa55
format-connected-prefix = ""
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%

format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}

;[module/date]
;type = internal/date
;interval = 5
;
;date =
;date-alt = " %Y-%m-%d"
;
;time = %H:%M
;time-alt = %H:%M:%S
;
;format-prefix = 
;format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #0a6cf5
;
;label = %date% %time%

; ===日期时间===
; https://github.com/polybar/polybar/wiki/Module:-date
[module/date]
type = internal/date

; 更新间隔, 默认: 1.0
interval = 1.0
format = <label>

date = %Y-%m-%d%
time = %H:%M

; 另一种格式
date-alt = %A, %d %B %Y
time-alt = %H:%M:%S

label =  %date%  %time%
label-font = 1
label-foreground = #eefafafa


;[module/pulseaudio]
;type = internal/pulseaudio
;
;format-volume = <label-volume> <bar-volume>
;label-volume = VOL %percentage%%
;label-volume-foreground = ${root.foreground}
;
;label-muted = 
;label-muted-foreground = #666
;
;bar-volume-width = 10
;bar-volume-foreground-0 = #55aa55
;bar-volume-foreground-1 = #55aa55
;bar-volume-foreground-2 = #55aa55
;bar-volume-foreground-3 = #55aa55
;bar-volume-foreground-4 = #55aa55
;bar-volume-foreground-5 = #f5a70a
;bar-volume-foreground-6 = #ff5555
;bar-volume-gradient = false
;bar-volume-indicator = |
;bar-volume-indicator-font = 2
;bar-volume-fill = ─
;bar-volume-fill-font = 2
;bar-volume-empty = ─
;bar-volume-empty-font = 2
;bar-volume-empty-foreground = ${colors.foreground-alt}

; ===音量===
; https://github.com/polybar/polybar/wiki/Module:-pulseaudio
[module/alsa]
type = internal/alsa
sink = alsa_output.pci-0000_12_00.3.analog-stereo
use-ui-max = true
interval = 5

format-volume = <ramp-volume> <label-volume>

label-muted = 
label-muted-foreground = #a1afc9

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 

; 左右键功能,pavucontrol 用于开关音量
click-left = pavucontrol
; click-middle =


;[module/alsa]
;type = internal/alsa
;
;format-volume = <label-volume> <bar-volume>
;label-volume = VOL
;label-volume-foreground = ${root.foreground}
;
;format-muted-prefix = " "
;format-muted-foreground = ${colors.foreground-alt}
;label-muted = sound muted
;
;bar-volume-width = 10
;bar-volume-foreground-0 = #55aa55
;bar-volume-foreground-1 = #55aa55
;bar-volume-foreground-2 = #55aa55
;bar-volume-foreground-3 = #55aa55
;bar-volume-foreground-4 = #55aa55
;bar-volume-foreground-5 = #f5a70a
;bar-volume-foreground-6 = #ff5555
;bar-volume-gradient = false
;bar-volume-indicator = |
;bar-volume-indicator-font = 2
;bar-volume-fill = ─
;bar-volume-fill-font = 2
;bar-volume-empty = ─
;bar-volume-empty-font = 2
;bar-volume-empty-foreground = ${colors.foreground-alt}


; ===电源提示===
; https://github.com/polybar/polybar/wiki/Module:-battery
[module/battery]
type = internal/battery

; 电量大于 99% 显示充电完成
full-at = 99

; 使用以下命令列出电池和适配器:
; ls -1 /sys/class/power_supply/
battery = BAT1
adapter = ACAD

poll-interval = 3

; 时间过格式,默认: %H:%M:%S
time-format = %H:%M

; 充电
format-charging =  <animation-charging> <label-charging>

; 放电
format-discharging = <ramp-capacity> <label-discharging>

; 充电完成
format-full = <label-full>

; 充电状态
label-charging =  %percentage%(%time%)


; 放电状态
label-discharging = %percentage%(%time%)

;充电完成
label-full =  %percentage%
label-full-foreground = #aaff77

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 

ramp-capacity-0-foreground = #ff461f 
ramp-capacity-1-foreground = #eaff56 
ramp-capacity-2-foreground = #bddd22
ramp-capacity-3-foreground = #7bcfa6
ramp-capacity-4-foreground = #3de1ad

bar-capacity-width = 10

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 

animation-charging-0-foreground = #ff461f 
animation-charging-1-foreground = #eaff56 
animation-charging-2-foreground = #bddd22
animation-charging-3-foreground = #7bcfa6
animation-charging-4-foreground = #3de1ad
; 动画帧率(毫秒)
animation-charging-framerate = 750

;animation-discharging-0 = 
;animation-discharging-1 = 
;animation-discharging-2 = 
;animation-discharging-3 = 
;animation-discharging-4 = 
; 动画帧率(毫秒)
;animation-discharging-framerate = 500

[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60

format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}

label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 1

label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot

menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false

[global/wm]
margin-top = 5
margin-bottom = 5

; vim:ft=dosini

亮度调节

为了使polybar中的亮度调节生效,增加以下配置

/etc/udev/rules.d/backlight.rules
RUN+="/bin/chgrp wheel /sys/class/backlight/intel_backlight/brightness"
RUN+="/bin/chmod g+w /sys/class/backlight/intel_backlight/brightness"

输入法

简介

fcitx5-im

包含了fcitx5的基本框架和配置工具

fcitx5-chinese-addons

fcitx5的各种中文输入

ssfconv

用于将搜狗的输入法皮肤转换为fcitx/fcitx5的theme

配置

在双拼设置中:使用小鹤双拼,将快速输入触发键改为`Super+``,设置模糊音
在附加组件中修改主题

浏览器

firefox

在GNU/Linux里还想用别的?

w3m

用来为了ranger服务

蓝牙

bluez bluez-utils

安装之后启动服务,systemctl enable bluetooth

blueberry

图形界面的蓝牙,可以不用一直开

游戏

ddnet

teeworlds的衍生版本(虽然不是开源,但是默认支持更多mod)

终端

xfce4-termianl

轻量一点就好,没看出其他终端大在哪里了
外观设置:

  • 一般:禁用滚动条
  • 外观:字体使用FreeMono Regular 15;使用透明背景,透明度0.7;取消菜单栏、工具栏、边框

截屏

maim

见i3中相关的快捷键配置

图像查看

ristretto

用来看图

feh

用来设置i3背景,但是也可用于图像查看

多媒体

vlc

视频和音频播放

文件转换

pandoc

暂时没有介绍

音乐

netease-cloud-music

不得不说网易在Linux上的开发比腾讯好得太多

工具

下回分解