raven2cz/dotfiles

GitHub: raven2cz/dotfiles

这是一个用于快速设置和管理GNU/Linux个人桌面配置的dotfiles集成仓库。

Stars: 78 | Forks: 4

#+TITLE: Raven2cz 的 Dofiles GNU/Linux 配置 #+AUTHOR: Antonin Fischer (raven2cz) #+DESCRIPTION: 该项目将各个独立的 Git 仓库整合在一起,从而为您个人电脑创建整体配置。 #+BEGIN_EXAMPLE ██████╗ █████╗ ██╗ ██╗███████╗███╗ ██╗ Antonin Fischer (raven2cz) ██╔══██╗██╔══██╗██║ ██║██╔════╝████╗ ██║ https://fishlive.org/ ██████╔╝███████║██║ ██║█████╗ ██╔██╗ ██║ https://arch-linux.cz/ ██╔══██╗██╔══██║╚██╗ ██╔╝██╔══╝ ██║╚██╗██║ https://github.com/raven2cz ██║ ██║██║ ██║ ╚████╔╝ ███████╗██║ ╚████║ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═══╝ #+END_EXAMPLE #+html:

#+html:

DOTFILES 项目

* 目录 :toc: - [[#introduction][简介]] - [[#main-git-subtree-project-dependencies][主要 GIT 子树项目依赖]] - [[#awesomewm-config][Awesomewm-config]] - [[#polybar-config][Polybar-config]] - [[#doom-emacs-config][Doom-Emacs-config]] - [[#neovim-config][Neovim-config]] - [[#xfce4-config][Xfce4-config]] - [[#qtile-config][Qtile-config]] - [[#i3-config][i3-config]] - [[#openbox-config][openbox-config]] - [[#applications][应用程序]] - [[#shells-and-terminals][Shell 和终端]] - [[#ranger-configuration][Ranger 配置]] - [[#rofi-configuration][Rofi 配置]] - [[#xmenu-configuration][XMENU 配置]] - [[#pass---the-standard-unix-password-manager][Pass - 标准 Unix 密码管理器]] - [[#public-wallpapers][公共壁纸]] - [[#global-colorscheme-script][全局配色方案脚本]] - [[#rofi-themes-github-project-in-github][GitHub 上的 Rofi 主题项目]] - [[#dotfiles-repository-administration-support][Dotfiles 仓库管理支持]] - [[#define-git-bare-repository][定义 Git 裸仓库]] - [[#update-dependency-git-subtrees-projects][更新依赖的 git 子树项目]] - [[#license][许可证]] * 简介 Dotfiles 是用于个性化您的 GNU/Linux 或其他 *nix 系统的自定义和配置文件。您可以通过文件名以句点(点号)开头来判断一个文件是 dotfile(例如 ~.xinitrc~)。文件名或目录名开头的句点表示它是隐藏文件或隐藏目录。此仓库包含我个人的 dotfiles,它们是我个人以及许多其他 GitHub 项目的全局集合。它们存储在这里是为了方便,以便我可以在新机器或新安装上快速访问它们。此外,其他人可能会发现我的一些配置有助于定制他们自己的 dotfiles。 * 主要 GIT 子树项目依赖 作为 git 子树添加到 dotfiles 项目的 GitHub 项目列表。这些依赖项目类似于库;可以单独使用。dotfiles 项目创建了这些项目的联集,并添加了用于全局“组合”使用的额外配置。 ** [[https://github.com/raven2cz/awesomewm-config][Awesomewm-config]] *AwesomeWM(git-main 分支)配置*,包含新的 Multicolor 主题、80s DarkOne 主题和 Amazing 主题。 *** Multicolor 主题 Multicolor 主题带来了当今最佳的 15 种配色方案!13 种柔和暗色和 2 种亮色主题。您可以在这里找到 nord、doom_one、tomorrow_night、palenight、dracula、dark one 等。该系统与一个特殊的 lua 脚本绑定,该脚本会同步更改其他应用程序:kitty、alacritty(并计划支持更多)。在 public-wallpaper 包中,根据所选的配色方案下载了 50 张准备好的壁纸。最后一个重要的变化是通知支持,也使用相应配色方案的肖像。 所有配色方案均可即时应用,无需重启系统。您只需选择相应的配色方案,整个窗口管理器、壁纸和其他应用程序都会随之更改。可以通过 ~super+alt+C~ 正向切换、~super+ctrl+C~ 反向切换壁纸以匹配当前配色方案,按 ~super+c~ 可显示配色方案表。 *** 80s OneDark 主题 专注于 Atom 颜色和 80 年代柔和配色方案。主面板进行了全新的复杂配置,具有许多功能以及对 conky、xmenu、rofi 和 alacritty 设置的额外修改。 *** Amazing 主题 专注于带有金色点缀的绿色。应用程序样式和附加颜色基于 Nordic Colors 和 KDE Nordic 主题(一种北极风、偏蓝的冷色调调色板)。 ** [[https://github.com/raven2cz/polybar-config][Polybar-config]] Polybar 配置,包含针对 Awesome、i3 和 XFCE4 修补和改进的模块。基础设计适用于 MX-Linux(Debian Stable)和 Arch 发行版。 ** [[https://github.com/raven2cz/emacs][Doom-Emacs-config]] 这是我的个人 Doom Emacs 配置。Doom Emacs 是 Emacs 的一个发行版,它使用“evil”键绑定(Vim 键绑定),并包含一些不错的扩展和少量开箱即用的配置。我维护这个配置不仅是为了自己,也是为了那些想要探索 Emacs 的一些可能性的人 :penguin:。 ** [[https://github.com/raven2cz/neovim][Neovim-config]] Neovim 5 的原始配置,包含完整的 Lua 插件和配置。该项目非常原始,需要时间完善。Neovim 是基于 Vim 的超可扩展文本编辑器。 ** [[https://github.com/raven2cz/xfce-config][Xfce4-config]] 欢迎来到我的交易室!我为 Arch 和 MX-Linux 发行版提供的流行 xfce4 配置。Xfce 是一个适用于类 UNIX 操作系统的轻量级桌面环境。它旨在快速且系统资源占用低,同时外观吸引人且用户友好。 ** [[https://github.com/raven2cz/qtile-config][Qtile-config]] Qtile 是一个功能齐全、可高度定制的平铺窗口管理器,使用 Python 编写和配置。我从 Arco Linux 继承的配置已附加并修改为适用于我的 Arch Linux 环境。 ** [[https://github.com/raven2cz/i3-config][i3-config]] i3 是一个完全从头编写的平铺窗口管理器。目标平台是 GNU/Linux 和 BSD 操作系统,我们的代码是根据 BSD 许可证发布的自由和开源软件(FOSS)。i3 主要面向高级用户和开发者。基于我们想要 hack/修复 wmii 时的经验。其他说明包含在我的主 ~config~ 文件中。 ** [[https://github.com/raven2cz/openbox-config][openbox-config]] Openbox 是一个高度可配置的窗口管理器,具有广泛的标准支持。~*box~ 视觉风格以其极简外观而闻名。Openbox 使用 ~*box~ 视觉风格,同时为比以前 *box 实现提供了更多的主题开发者选项。主题文档描述了 Openbox 主题中选项的完整范围。 * 应用程序 ** Shell 和终端 *** Shell #+html:

已配置的 shell 是 ~ZSH~ 和 ~Fish~。ZSH 配置了 ~powerlevel10k~。但我现在使用 Fish。ZSH 在内部 ~.zshrc~ 中与 Fish 连接。Fish 的完整配置在文件 ~$HOME/fish/config.fish~ 中。使用 *fisher 插件管理器* 进行 Fish 配置,因为我是 Fischer :penguin:。 *** 终端 #+html:

使用 ~Alacritty~ 和 ~Kitty~。 **** Colorscripts 安装 需要安装 colorscripts:[[https://github.com/laughedelic/fish_logo][fish-logo]]、[[https://gitlab.com/dwt1/shell-color-scripts][DT-colorscripts]]、[[https://gitlab.com/phoneybadger/pokemon-colorscripts][Pokemon-coloscripts]]。 ** Ranger 配置 Ranger 在 ~$HOME/.config/ranger~ 中配置并带有插件。Ranger 使用 ~ueberzug~,需要通过 python 或从 aur 安装。 ** Rofi 配置 我的几个 Rofi 主题附加在 ~.root~ 文件夹中。此文件夹中的所有目录和文件必须复制到真实的 ~/~ 相应文件夹。查看后您会理解... ** XMENU 配置 Xmenu 配置附加在 ~$HOME/xmenu~。该项目是 [[https://github.com/phillbush/xmenu][phillbush/xmenu]]。这是一个非常棒的项目,安装说明在 GitHub 项目中。查看 xmenu 的 YouTube 记录了解更多详情。 ** Pass - 标准 Unix 密码管理器 Pass 在私人仓库中配置。使用了 passFF 和其他浏览器插件... * 公共壁纸 公共壁纸由 GitHub 项目 [[https://github.com/raven2cz/public-wallpapers][Public-Wallpapers]] 提供。这些壁纸用于我的其他项目和 dotfiles。 需要创建目录或符号链接到 ~$HOME/Pictures/wallpapers/public-wallpapers~。我使用符号链接将整个 ~$HOME/Pictures~ 映射到云仓库。 * 全局配色方案脚本 由 GitHub 仓库提供:https://github.com/raven2cz/global-colorscheme 动态更改系统中所有支持的应用程序的配色方案。 * GitHub 上的 Rofi 主题项目 由 GitHub 仓库提供:https://github.com/raven2cz/rofi-themes 为当前所有最佳配色方案实现的 Rofi 主题。 * Dotfiles 仓库管理支持 无需额外工具,无需符号链接,文件在版本控制系统中跟踪,您可以为*不同的计算机使用不同的分支*,可以轻松地在新安装上复制您的配置。 该技术包括将一个 *Git 裸仓库* 存储在一个“辅助”文件夹(如 ~$HOME/.dotfiles~)中,使用特别制作的 ~alias~,以便命令针对该仓库运行,_而不是通常的 .git 本地文件夹_,这会干扰其他任何 Git 仓库。基于文章 https://www.atlassian.com/git/tutorials/dotfiles ** 定义 Git 裸仓库。 这个 ~dotfiles~ 项目被定义为 _git 裸仓库_。您可以通过类似的方式确保您的 dotfiles。 查看使用概念。 在这种情况下,git 裸仓库被克隆到 ~$HOME/.dotfiles~,并且已包含在裸仓库中的现有文件被移动到 ~$HOME/.config-backup~ 目录。 之后,所有配置文件都会检出到您 ~$HOME~ 目录中的正确位置,并与此仓库同步。 您可以对您的 dotfiles 采用类似的方法。 #+BEGIN_SRC bash #!/bin/bash git clone --bare git@github.com:raven2cz/dotfiles.git $HOME/.dotfiles function config { /usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@ } config checkout --force config config status.showUntrackedFiles no #+END_SRC 对于您的 shell,您可以使用 *alias*。基本用法如下: #+BEGIN_SRC bash alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' config config --local status.showUntrackedFiles no config status config add .xinitrc config commit -m "Add xinitrc" config add .bashrc config commit -m "Add bashrc" # 更改更多已提交的文件,添加所有更新,不使用 --all config add -u config commit -m "details" config push #+END_SRC ** 更新依赖的 git 子树项目。 Git 子树允许您将一个仓库嵌套在另一个仓库中作为子目录。它是 Git 项目管理项目依赖关系的几种方式之一。 您可能想要考虑使用 git subtree 的原因 + 简单工作流的管理很容易。 + 支持较旧版本的 Git(甚至早于 v1.5.2)。 + 超级项目克隆完成后即可立即使用子项目的代码。 + git subtree 不要求您的仓库用户学习任何新东西。他们可以忽略您正在使用 git subtree 管理依赖关系的事实。 + git subtree 不像 git submodule 那样添加新的元数据文件(即 .gitmodule)。 + 可以修改模块的内容,而无需在其他地方单独拥有依赖项的仓库副本。 这个想法基于这篇文章 https://www.atlassian.com/git/tutorials/git-subtree *** 基于 github 子树的 Dotfiles 项目依赖 ~dotfiles~ 项目是 github 配置项目的联集。每个配置都是一个独立的 git 子树。dotfiles 项目会自动合并。 仅供参考,更新/初始化脚本位于 ~$HOME/bin~ 目录中。 ~$HOME/bin/init-git-subtrees-dotfiles.sh~ ~$HOME/bin/pull-git-subtrees-dotfiles.sh~ #+BEGIN_SRC bash #!/bin/bash function config { /usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@ } config subtree pull --prefix .config/awesome git@github.com:raven2cz/awesomewm-config.git master --squash #+END_SRC * 许可证 此仓库中的文件和脚本根据 MIT 许可证获得许可,这是一个非常宽松的许可证,允许您使用、修改、复制、分发、销售、赠送等该软件。换句话说,随心所欲地使用它。MIT 许可证的唯一要求是必须随软件一起提供许可证和版权声明。 配置文件已添加到 ~LICENSE~(Antonin Fischer (raven2cz) 仓库)和 ~LICENSE-DT~(继承自 Derek Taylor 的几个文件)。其他项目和许可证作为 *git 子树* 添加。每个 git 子树都是作为一个完整的 git 项目附加的,并包含在特定文件夹中的 ~README.md 和许可证描述~。
标签:Awesomewm, Doom Emacs, Dotfiles, Git, i3, Linux系统, Neovim, openbox, Pass, Polybar, Qtile, Ranger, rizin, Rofi, Xfce4, Xmenu, 个人化, 全局配置, 合并配置, 启动器, 壁纸, 开源, 文件管理, 桌面环境, 窗口管理器, 系统定制, 终端, 编辑器, 网络安全研究, 逆向工具, 配置仓库