.config

Rafi's workstations (Archlinux, osx) ~/.config.
授权协议 Readme
开发语言 SHELL
所属分类 应用工具、 文档/文本编辑
软件类型 开源软件
地区 不详
投 递 者 皇甫智明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Rafael Bodill's macOS/Archlinux dotfiles

This is my entire "dotfiles" configuration for all the software I use on macOS& Archlinux, mostly in the terminal.

I've turned my ~/.config directory into a Git repository and strive to setapplications write their configuration there if they don't by default. Meaning,I try to conform to the XDG standard. There is one important caveat in doingso: Secrets can be accidentally committed. I solve thiswith the clean and smudge filter features of Git attributes.

Features

The most interesting configs:

... and make sure to check-out github.com/rafi/vim-config!

Install

There is no installation script, only three symlinks:

# Clone the .config repo
cd ~
git clone --recursive git@github.com:rafi/.config.git

# Symlink few files manually:
cd ~
ln -s .config/bash/bashrc .bashrc
ln -s .config/bash/profile .profile
ln -s .config/tmux/config .tmux.conf

# Create cache directories
mkdir -p ~/.cache/{nvim,pacaur,proselint,xpanes,zoxide}
mkdir -p ~/.cache/{aria2,beets,mpd,mpdscribble,mutt,neomutt,rtorrent,subtitles}
mkdir -p ~/.cache/ncmpcpp/lyrics
mkdir -p ~/.cache/node/{npm,gyp}

# Create user local shared directories
mkdir -p ~/.local/bin
mkdir -p ~/.local/share/{cargo,composer,fonts,go,krew,lf,mailbox,mutt,neomutt}
mkdir -p ~/.local/share/{newsbeuter,newsboat,nextword,tig,vagrant,virtualbox}
mkdir -p ~/.local/share/python/{envs,pyenv}

macOS-specific Software

on macOS, make sure you check these out:

XDG Conformity

Configuration directories are organized neatly by definingspecific environment variables in bash/exports andaliases in bash/aliases.

Some programs require special help to feed the proper config:

alias cpan='cpan -j "$XDG_CONFIG_HOME"/cpan/config.pm'
alias gcal='gcalcli --configFolder "$XDG_CONFIG_HOME"/gcalcli'
alias mbsync='mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc'
alias mysql='mysql --defaults-extra-file="$XDG_CONFIG_HOME"/mysql/config'
alias mutt='ESCDELAY=0 neomutt || mutt -F "$XDG_CONFIG_HOME"/mutt/config'
alias ncmpc='ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config -k "$XDG_CONFIG_HOME"/ncmpc/keys'
alias ncmpcpp='ncmpcpp -c "$XDG_CONFIG_HOME"/ncmpcpp/config'
alias redshift='redshift -c "$XDG_CONFIG_HOME"/redshift/config'
alias rtorrent='rtorrent -n -o import="$XDG_CONFIG_HOME"/rtorrent/config.rc'
alias vercel='vercel --global-config="$XDG_CONFIG_HOME"/vercel'
alias weechat='weechat --dir "$XDG_CONFIG_HOME"/weechat/'

Protecting Secrets

Using .gitattributes filters clean and smudge. Setup custom filters:

cd ~/.config
git config --local filter.vault.clean 'sed -f ~/.config/clean.sed'
git config --local filter.vault.smudge 'sed -f ~/.config/smudge.sed'

The sed script clean.sed is included.However, you have to create the smudge.sed script yourself, for example:

cat > ~/.config/smudge.sed
s/{{ \(DIANA\|ARIA2\)_TOKEN }}/secret/
s/{{ LASTFM_USER }}/username/
s/{{ LASTFM_TOKEN }}/token/
s/{{ LASTFM_PASS }}/token/
s/{{ SPOTIFY_USER }}/username/
s/{{ SPOTIFY_PASS }}/password/
s/{{ ECHONEST_TOKEN }}/token/
s/{{ JIRA_URL }}/url/
s/{{ JIRA_USER }}/username/
s/{{ JIRA_PASS }}/password/
s/{{ GIT_EMAIL }}/name@gmail.com/
s/{{ GIT_NAME }}/Joe Shmoe/
s/{{ GIT_USER }}/joe/
s/{{ WEATHER_TOKEN }}/token/
s/{{ FORECASTIO_TOKEN }}/token/
s/{{ GITHUB_TOKEN }}/token/
s/{{ HOMEBREW_GITHUB_API_TOKEN }}/token/
s/{{ TMUX_SPOTIFY_API_KEY }}/token/

Now whenever you stage files, the clean.sed will prevent secrets beingcommitted. And on checkout, the smudge.sed will inject your secrets intotheir proper placeholders. Note that smudge.sed is ignored from beingcommitted mistakenly.

  • Linux内核Make Menuconfig 与 Makeifle间的交互_zhiweimai的博客-CSDN博客 以ARM平台为例,具体配置过程: 1.当执行make menuconfig 时,系统首先读取arch/arm/Kconfig生成整个配置界面 2.在读取配置界面的同时,系统会读取Kconfig文件,生成所有配置选项的默认值 3.当修改完配置并保存后,系统会更新顶层目录下的.confi

  • Vue vue-config.js(字段属性详细介绍) Vue 项目中 vue.config.js 文件就等同于 webpack 的 webpack.config.js。 vue-cli3 之后创建的时候并不会自动创建 vue.config.js,因为这个是个可选项,所以一般都是需要修改 webpack 的时候才会自己创建一个 vue.config.js。 开发者一般不需要再去知道 weboack

  • 1 概述 Babel 相当于一个中介,一边是用户,另一边是浏览器。这几年,JavaScript 发生了很大的变化,许多新特性在很多浏览器里都不支持。 Babel 的主要作用就是规避这些问题,可以确保 JavaScript 代码兼容所有的浏览器,比如 IE 11。 2 Babel 的工作原理 Babel 使用 AST 把不兼容的代码编译成 ES15 版本,因为大多数浏览器都支持这个版本的 JavaS

  • 本文整理汇总了Python中config.config方法的典型用法代码示例。如果您正苦于以下问题:Python config.config方法的具体用法?Python config.config怎么用?Python config.config使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块config的用法示例。 在下文中一共展示了confi

  • package com.demoinfo.support.utils; import com.alibaba.druid.filter.config.ConfigTools; /** * 描述 使用com.alibaba.druid.filter.config.ConfigTools进行加密和解密工具类 * */ public class RsaEncryptAndDecodeUtil

  • Exception in thread “main” org.apache.kafka.common.KafkaException: Failed create new KafkaAdminClient at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:370) at or

  • .babelrc和babel.config.js 一、前言 今天看ES6的知识发现了项目中.babelrc和babel.config.js 都是Babel的配置文件,之前没怎么研究过两者的区别,今天来学习记录下 二、学习 babel 7.x 以上开始支持两种类型的配置文件, 分别是.babelrc 和 babel.config.js babel.config.js是在babel第7版引入的,主要是

  • vue配置大全 本人实例自用,不喜勿喷 vue.config.js的配置 module.exports = { devServer: { host: '', hot: true, port: 8086, disableHostCheck: true,//新版的webpack-dev-server出于安全考虑,默认检查hostname

  • 在使用ConfigFactory.load读取配置文件的时候,会报如下错误: com.typesafe.config.ConfigException$Missing:No configuration setting found for key ‘xx’ 这是由于配置文件名称不对引起的。 ConfigFactory.load读取文件必须是以下名称: application.conf, applica

  • webpack.config.js是webpack的配置文件,Vue\react均可使用 vue.config.js 是基于Vue的webpack的配置文件 Vue为例: vue-cli2.0时代,webpack的配置文件写在config/index.js 文件 vue-cli3.0时代,没了config文件夹,vue.config.js写在项目的根目录下    

  • 新建vue2项目,没有vue.config.js文件,只需在config文件夹下的index.js文件找到dev 里面的proxyTable{},新建    "/api": {           // target: "", //ip地址后端给的不变           changeOrigin: true, //是否跨域           pathRewrite: {            

  • 今天在使用set_option('precision',3)时出现了如上的报错。 将语句改为pd.options.display.precision=3就得到了解决。 并且就一些其他的属性来说。set_options也被禁用。 old version #pd.set_option(‘max_columns’, 40) #pd.set_option(‘max_rows’, 30) new vers

  • 前言 今天在写Vue项目的时候,需要配置axios跨域代理,之后在根目录下创建了 vue.config.js反复调试不生效,之后经过一顿排查后,发现问题所在 检查script脚本启动项 项目package.json 脚本配置项目是否为vue-cli-service serve 用 vue-cli-service serve 启动就会用 vue.config.js; 用 webpack-dev-se

  • Vue vue-config.js(字段属性详细介绍) Vue 项目中 vue.config.js 文件就等同于 webpack 的 webpack.config.js。 vue-cli3 之后创建的时候并不会自动创建 vue.config.js,因为这个是个可选项,所以一般都是需要修改 webpack 的时候才会自己创建一个 vue.config.js。 开发者一般不需要再去知道 weboack

  • webpack.config.js是webpack的配置文件,所有使用webpack作为打包工具的项目都可以使用,vue的项目可以使用,react的项目也可以使用。 vue.config.js是vue项目的配置文件,专用于vue项目。通过vue.config.js中常用功能的配置,简化了配置工作,当然如果需要更专业的配置工作,两者在vue项目中是可以并存的。 vue-cli3创建的时候并不会自动创

  • pandas._config.config.OptionError: ‘Pattern matched multiple keys’ 1.问题描述:我之前明明能正常运行的代码 但是今天忽然运行不了, 显示错误 pandas._config.config.OptionError: 'Pattern matched multiple keys' 大概意思说是我这一行有问题 pd.set_option

  • vue.config.js是一个可选的文件,如果有的话在项目启动的时候会自动加载 这个文件把所有的配置项导出去 module.exports = { ... } 如果想要用ts注解的话 @vue/cli-service 里有 defineConfig函数 专门注解配置项 1 publicPath 项目部署的地址 publicPath: process.env.NODE_ENV ===

  • vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js。 vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种

  • 1、简介 Python添加配置的方式有好几种,这里只介绍通过config文件方式,配置log日志。相对于直接在文件中配置日志,这种配置方式可以将日志配置和代码分离,方便代码的维护和日志管理。 2、步骤 新建配置文件logging.conf,用于存放logging配置文件的信息。 [loggers] # 配置logger信息。必须包含一个名字叫做root的logger,当使用无参函数logging.

  • 错误原因: kafka的配置文件 consumer.properties 里面的 group.id 和 idea 中项目配置文件中的 group-id 设置的不一样。 解决办法: 设置为相同值就可以了。

  • 在vite中是不像webpack那样直接可以通过process.env就能获取到配置的环境的,这里我们要借助loadEnv //.env.dev -# 本地环境 ENV = 'development' VITE_NODE_ENV = 'development' // package.json { "name": "vite-project", "version": "0.0.0",

  • 在vite+react项目中如何使 .babelrc和babel.config.js文件生效 在vite+react框架搭建的项目中,用使用到babel相关的配置,那如何使得 .babelrc 和 babel.config.js 文件在配置功能生效呢?这需要使用到vite 提供的组件 @vitejs/plugin-react ,在其vite.config.ts (或vite.config.js)中

 相关资料
  • ArchLinux Development Stack 提供了基于 ArchLinux 服务器系统应用的全堆栈工具,就是一个完整安装包,安装完将包括 Nexus、Sonar、Hudson 和 Redmine。

  • repo-ck 是 Arch 的非官方仓库,内有包含 ck 补丁、BFS 调度器等,通用或为特定CPU架构优化过的内核,以及内核相关的软件包,是居家旅行,优化折腾的必备良药。更多内容,参考 ArchWiki。 食用方法 在 /etc/pacman.conf 里添加 [repo-ck] Server = https://mirrors.tuna.tsinghua.edu.cn/repo

  • Xdebug Toggler for OSX Xdebug is a must have extension for PHP, although the times you don't actually need it, it's a drag. This simple script allows to toggle on and off Xdebug and is meant for anyon

  • Bean 是一个MacOS X下的小型易用的文字处理器。很多人需要的只是一个即点即开功能不多的文本编辑器,能写写字,换换字体,插插图就够了。Bean 如是。作为介于轻量级和重量级中间的文本编辑器,它没有公式编辑、目录生成等等论文高级功能,但日常应用确绰绰有余。它支持  RTF/RTFD/HTML/BEAN 等格式,能导入导出 Doc/Docx/odt 等常见文档格式。而且程序启动和操作响应非常快,使用流畅。

  • Kawa,给每个输入法定义一个快捷键,适合安装了多个输入法的用户,给每个输入法定义一个快捷键,一键切换输入法。

  • Calendar-OSX 是用于 OSX 的日历组件,灵感来自于 iOS 上一些免费的替代品。

  • OSX-y Address Book for Windows 是一个地址簿管理程序,风格很像是 OS X 下的应用,但是运行在 Windows 平台,使用简单的 vCard 可与很多 Windows 应用同步,例如 Outlook 和 Miranda。

  • Clocker 是 Mac OS X 系统的菜单栏工具,可以让你追踪不同失去的朋友,使用 Objective-C 编写。 主要特性 添加任意时区 相对日期 (e.g. today, tomorrow, yesterday) 拖拽时区 包含几百个时区 支持 24 小时制或者 AM/PM 制 为 Dark 模式和 Retina 显示进行优化