Giter VIP home page Giter VIP logo

windows-env's Introduction

Windows environment variables

CI

A collection of simple utilities to manage Windows environment variables, created mainly to:

  • learn a bit of Haskell,
  • make it easier to add directories to the PATH variable, list missing directories in your PATH, etc.

Building

Using stack:

> stack setup
...

> stack build
...

To prepare for making a release the following commands might be useful:

> stack build --install-ghc --copy-bins --local-bin-path ..\windows-env-x86 --arch i386
...

> stack build --install-ghc --copy-bins --local-bin-path ..\windows-env-x64 --arch x86_64
...

Installation

> stack install
...

Usage

The complete list of utilities is given below.

  • paths — List directories in your PATH.
  • addpath — Add directories to PATH.
  • delpath — Remove directories from PATH.
  • setenv — Assign values to environment variables.
  • delenv — Delete environment variables.

Pass the --help flag to an utility to examine its detailed usage information. Some examples are given below.

paths

List directories in your PATH:

> paths
C:\Program Files\Haskell\bin
C:\Program Files\Haskell Platform\8.0.1\lib\extralibs\bin
C:\Program Files\Haskell Platform\8.0.1\bin
C:\Users\Egor\AppData\Roaming\local\bin
C:\Users\Egor\AppData\Roaming\cabal\bin
...

Only list missing directories in your PATH:

> paths --missing
C:\Users\Egor\AppData\Roaming\cabal\bin
...

addpath

Add "C:\test" to current user's PATH:

> addpath C:\test
Saving variable 'PATH' to 'HKCU\Environment'...
        Old value: C:\Users\Egor\AppData\Roaming\local\bin;C:\Users\Egor\AppData\Roaming\cabal\bin
        New value: C:\Users\Egor\AppData\Roaming\local\bin;C:\Users\Egor\AppData\Roaming\cabal\bin;C:\test
Continue? (y/n) y

Add "C:\test" to the global PATH, skipping the confirmation prompt:

> addpath --global -y C:\test

delpath

Remove "C:\test" from current user's PATH:

> delpath C:\test
Saving variable 'PATH' to 'HKCU\Environment'...
        Old value: C:\Users\Egor\AppData\Roaming\local\bin;C:\Users\Egor\AppData\Roaming\cabal\bin;C:\test
        New value: C:\Users\Egor\AppData\Roaming\local\bin;C:\Users\Egor\AppData\Roaming\cabal\bin

Remove "C:\test" from both current user's and the global PATHs, skipping the confirmation prompt:

> delpath --global -y C:\test

setenv

Assign bar to the variable foo in current user's environment, skipping the confirmation prompt:

> setenv -y foo bar

Assign bar to the variable foo in the global environment:

> setenv --global foo bar
Saving variable 'foo' to 'HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'...
        New value: bar
Continue? (y/n) y

delenv

Delete the variable foo from current users's environment, skipping the confirmation prompt:

> delenv -y foo

Delete the variable foo from the global environment:

> delenv --global foo
Deleting variable 'foo' from 'HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'...
Continue? (y/n) y

License

Distributed under the MIT License. See LICENSE.txt for details.

windows-env's People

Contributors

egor-tensin avatar

Stargazers

 avatar Sultan Uramaev avatar

Watchers

 avatar James Cloos avatar  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.