设置我的新计算机,neovim 配置,并在终端中收听 Spotify
我最近买了一台新笔记本电脑,我决定这将是我不以完全临时的方式设置它的时候了。以前,我会根据需要安装所需的每个程序,但没有真正计划在需要移动到另一台机器或擦除当前机器时如何复制设置。很明显,我确实努力保护的一件事是我的 Vim 配置,此时我已经维护了五年(我已经做了 5 年的软件开发人员)。我想要更多的东西像 Vim,所以,我应该决定用 Ansible 设置我的电脑。
除了有一个好名字(大概来自 Ursula Le Guin 的星际通信 macguffin),Ansible 还是一个非常酷且有用的工具。它可以让你编写一些 yaml 来解释你想对计算机做的事情。然后它采用这个配方并运行指定的命令。因此,例如,我有以下命令来下载我的个人网站的代码库,我在那里写了你现在正在阅读的这篇文章。
Ansible
- name: Personal Project johncom ansible.builtin.git: repo: '[email protected]:Jwhiles/johncom.git' bare: false dest: "/personal/johncom" tags: - install - personal-project
这意味着我可以得到一台新计算机,运行 ansible 并且代码库将立即存在,准备好在其中编写内容。好的!
我还使用 Ansible 来:
- 安装我想要的所有自制软件包
- 存储我的 ssh 密钥
- 设置一个 cronjob 来同步我奇怪且过于复杂的多计算机笔记系统
- ETC
凉爽的!我喜欢它。
Ansible 似乎与 Nix 之类的命令等价。在 ansible 中,我正在描述我希望它采取哪些步骤来整理我的计算机,而在 Nix 中,我只会描述我想要的计算机,它希望它会给我。 ansible 的一个优点是它不太可能填满我存储略有不同版本的 GHC 的整个硬盘驱动器。所以这很好。
存放
除了设置一个新的存储库来保存我的 Ansible 配置之外,我还将我心爱的存储库“vimmy”转换为更通用的 dotfiles 存储库。它现在称为dotfiles-FKA-vimmy ,除了我的 Vim 配置还包含一些其他配置文件。
Stow 是一个用于管理符号链接的 CLI 工具,它允许我替换我曾经编写的丑陋脚本:
echo "adding the appropirate nvim init file" mkdir -p ~/.config/nvim ln -s ~/.vim/init.lua ~/.config/nvim/init.lua ln -s ~/.vim/lua ~/.config/nvim/lua echo "creating symlink to .tmux.conf" ln -s ~/.vim/.tmux.conf ~/.tmux.conf echo "done and done ? "
使用一个新的漂亮脚本,它基本上做同样的事情但更好:
pushd $HOME/.dotfiles echo "stowing nvim" stow nvim echo "stowing tmux" stow tmux echo "stowing zsh" stow zsh
Stow 看起来非常整洁,但它确实有一个稍微奇怪的行为,它将所有符号链接放在文件夹中,从您的工作目录上移一步。因此,请尝试确保您在正确的位置运行;)
Spotifyd 和 spotify-tui
像我的人口统计组中的大多数人一样,我在 Spotify 上听了很多音乐。但我讨厌Spotify 客户端。它真的很慢而且很糟糕,而且还在不断恶化。在设置所有这些计算机的东西时,我无所事事地搜索了“native spotify client”之类的东西,结果发现了两个令人难以置信的 Rust 程序。
Spotifyd 是一个守护进程,可以在您的计算机上运行,等待 Spotify 发送音乐供其播放。 spotify-tui 是一个终端应用程序,可让您浏览音乐并在任何连接的设备上播放。将两者结合使用可以让我通过终端控制和播放音乐。它比普通的 Spotify 客户端快得多,让你看起来像一个真正的黑客,并且只显示一些莫名其妙的错误。
我费了一番功夫才发现真正成功运行。除非你有一个有效的配置,否则它似乎会安静地失败,并且一些默认配置值在 Osx 上无效,我认为(我可能错了,但如果我是对的,这似乎是一个不错尝试和修复的东西)。现在它可以工作了,我喜欢它。
Tmuxinator
想象一下,您是一个十足的疯子,并决定使用一些可怕的设置,通过使用两个需要同时运行的不同命令行工具在终端中听音乐。您如何在比打开普通 Spotify 客户端(约 30 秒)更短的时间内实际打开和运行这些东西。让我向您介绍 Tmuxinator。这是一个不错的小工具,可让您编写一些 YAML 来描述您想要启动的 tmux 会话。
例如:
# /Users/johnwhiles/.config/tmuxinator/music.yml name: music root: ~/ windows: - spotify: spt - daemon: spotifyd --no-daemon
这将配置一个 TMUX 会话,该会话将打开两个窗格,一个运行 spotifyd,另一个运行 spotify-tui。现在我们可以通过输入tmuxinator start music
来开始我们奇怪的音乐聆听设置,这既简单又正是我想象中的那种事情,我会在 2022 年对计算机说。
结论
Ansible 很酷。你可以在 Github 上看到我的设置。我最初是从这个 repo中分叉出来的,也是从The Primeagen 的设置中获得灵感的。
再见!