Giter VIP home page Giter VIP logo

dotfiles-g's Introduction

Gideon's Dotfiles

Look upon my works dotfiles, ye Mighty, and despair!

These probably won't stand the test of time, but these dotfiles are for setting up my personal environment on Linux and macOS machines. Since I now use Linux as my daily driver and almost never touch macOS, I can't guarantee everything will still work in the Apple ecosystem.

Repository Structure

Each configuration group (which normally corresponds to a particular service or application) is contained within a root-level folder. All the configuration files for that group are contained therein.

There is a Makefile at the root of the repository which will create all the necessary symlinks. This assumes that your system will obey the XDG conventions for the most part. Applications I know do not will have their configurations symlinked appropriately.

Usage

Clone this repository into a suitable location (e.g. ~/dotfiles):

git clone https://github.com/gfarrell/dotfiles.git ~/dotfiles

Make symlinks:

cd ~/dotfiles && make symlinks

Repository Contents

Firejail (Linux only): used to control the access of certain applications to parts of the filesystem. I primarily use this to constrain Firefox's access as the web browser is a major vulnerability in my system.

Git: contains config and shortcuts for the git version-control system.

haskell: contains the config for ghci (basically just customises the Haskell repl).

i3 (Linux only): I use i3-gaps as my window manager (for X) on Linux.

init: contains initialisation scripts for a new machine. This includes package installation scripts which are maintained with the list of packages I keep installed on my system (inspired by Brewfiles, which I use for macOS via homebrew). For example, to initialise a linux system run ./init/linux/init-linux.sh. These scripts have a "dry-run" option -d.

jrnl: CLI journal application which I use to occasionally journal and record dreams.

karabiner: keyboard-remapping utility for macOS (for Linux I just set this in X11 conf).

khal: CLI calendar application, all calendar configuration is in here. Calendars are stored in ~/calendars.

khard: CLI address book, all address book configuration is in here. Contacts are stored in ~/contacts.

kitty: this is my terminal emulator, completely configurable using a single file.

libinput-gestures: I don't really use gestures anymore, so this is unused. DEPRECATING.

linux-scripts: various linux scripts go in here, including things which are more ke systemd services which run continuously (like backups), and things I run discretely.

(neo)mutt: I use neomutt instead of mutt as my mail client. Not all the configuration is yet in here as I need to remove some private data from some of it, but it's mostly here (accounts and signatures are gitignored but this is probably unnecessary).

neovim: ๐Ÿ’– I love (neo)vim ๐Ÿ’– -- my editor of choice, contains all my configuration, including the currently used version of vim-plug which is a plugin-loading system, and the settings for CoC which is a semantically aware autocompleter.

picom: compositor for X11, my config in here just does things like handles transparency and shadows on windows.

polybar: UI bar for X11 which is compatible with i3. This has both a config file and a launch script to manage the different processes, especially useful as autorandr needs to launch the right polybar instances when I add or remove monitors.

rofi: launcher for X11 (not compatible with wayland), quite extensible, e.g. with my rofi-khard integration.

systemd: contains various systemd units and timers, e.g. for email / calendar / contacts sync, backups, etc..

task: CLI task management application, contains basic config.

tmux: terminal multiplexer config, I use tpm for managing plugins. Now that I have a tiling window manager this isn't used as much.

tridactyl: VIM-like command interface for Firefox. Really powerful. This config file is currently not used though, as it would require giving tridactly-native filesystem access. I need to write a firejail profile to allow this to happen safely but I have not got around to it.

xorg: all my X11 config files -- these aren't really dotfiles but they need to be copied to the /etc/X11 directory. These are for input / output settings like mapping caps-lock to escape. The only dotfile in there is xprofile.

zathura: VIM-like document viewer, has a simple config file.

zsh: various bits of shell and environment config. The two files in here which are sourced by zsh itself are zshrc and zshenv, the rest are sourced by my zshrc file.

dotfiles-g's People

Contributors

gfarrell avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.