Skip to content

My Literate Fish shell configuration, written in Org Mode

Notifications You must be signed in to change notification settings

srithon/fish-configuration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 

Repository files navigation

Fish Configuration

This repository contains my Literate configuration for the Fish Shell, a non-POSIX-compliant shell made primarily for interactive use. The configuration file config.org is written in Org Mode, an Emacs major mode that allows interleaving prose and code within a single file.

The configuration can be “extracted” by running M-x org-babel-tangle in Emacs from within the file. This command will take the code blocks from within the config and write it to their corresponding files, relative to the current directory.

However, because my configuration refers to many things which are only present on my machine, you are undoubtedly better off copying individual code blocks into your own config, or simply taking inspiration from the structure.

Configuration Overview

Here is an overview of the configuration, extracted from the headlines of the Org file:

  • Preprocessor constants, which leverage Org’s noweb syntax to interpolate values into code blocks
  • Startup code, including plugin initialization, setting Fish greeting, and Vi bindings
  • Sourcing of other config files and external files, most of which are created by tangling this configuration
  • Shell aliases, such as for ls and nvim
  • Functions for system introspection, like getting the current battery percentage, and speaker volume
  • Convenience functions for launching desktop applications
  • Desktop utility functions, such as reading/writing to the clipboard and programmatically typing on the keyboard
  • Miscellaneous shell setups, including setups for managing school courses, creating/running one-off scripts, managing notes across my filesystem, and handling encrypted files
  • Setting environment variables
  • Configuring plugins

Please refer to the specific sections in the config.org file for detailed implementation and code examples.

About

My Literate Fish shell configuration, written in Org Mode

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published