Git Product home page Git Product logo

dotfiles's Introduction

dotfiles

Shared dotfiles between machines, managed by chezmoi.

Why?

I'm building this repository in order to create a consistent shell environment on whichever machine i may be using. I'm currently learning to use vim so that I can be productive no-matter the environment/machine im currently working on.

My pipedream is to be able to work off an Android tablet for the ultimate ultra-light dev setup.

Supported operating systems

This is my standard set of applications + configuration and is designed to run on my OS's of choice.

This has been tested on:

  • MacOS (Sonoma+)
  • Ubuntu Linux 24.04+
  • Windows 11 (WSL with Ubuntu 24.04)

It also has had limited testing on Android using the [Termux app located on F-Droid. This is still not in a working state as of yet however.

Dependencies

While the dotfiles repo is designed to be a one-command install, there are a few dependencies that must be setup first

Ubuntu

If running on Linux you will need to install the following packages:

  • zsh - should be installed and set as your default shell.
  • git - for cloning the repo
  • curl or wget - for downloading the install script

A quick one liner to install all the above dependencies is below

sudo apt-get update && sudo apt-get -y install zsh git wget curl && sudo chsh -s /usr/bin/zsh $(whoami)

You'll need to restart your system afterwards to have zsh as your default shell. Otherwise, you can run zsh manually in your terminal to switch (select the option to create an empty ~/.zshrc file) and continue with the installation.

Mac OS

If running on a Mac you will need to install the Xcode command line tools

xcode-select --install

Wundows

If running on Windows you will need to install WSL and Ubuntu 24.04. You will also need to install the following packages:

  • zsh
  • git
  • curl or wget

Android

Finally, if running on Android, you will need to install the Termux app from F-Droid. You will also need to install the following packages:

  • zsh
  • git
  • curl or wget

Install

Install everything with:

curl

sh -c "$(curl -fsLS https://raw.githubusercontent.com/twitchel/dotfiles/master/install.sh)"

wget

sh -c "$(wget -qO- https://raw.githubusercontent.com/twitchel/dotfiles/master/install.sh)"

There are some config flags you can set via environment variables

DOTFILES_BRANCH=feature/git-branch-for-testing
DOTFILES_DEBUG=true
DOTFILES_VERBOSE=true

You will need to restart your terminal session afterwards.

dotfiles's People

Contributors

twitchel avatar daniel-karta avatar

Stargazers

Shunsuke KITADA avatar

Watchers

 avatar

dotfiles's Issues

Portability with Termux/Android

There are a few things that need to be updated to allow for Termux/Android support

  • Templated path to bash
    • Win/Mac/Linux: #! /usr/bin/env bash
    • Termux/Android: #! /data/data/com.termux/files/usr/bin/bash
  • Bespoke Linuxbrew installation required, however, might not be many packages. SHould probably use native pkg package manager

References:

Automated test suite

shUnit2 looks to be the most likely candidate at the moment

Struggling to get test container running with correct shell env

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.