Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - CabbageDevelopment/pathmod: CLI tool for easily modifying the PATH (persistently) on Windows. · GitHub
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

pathmod

License: MITPyPI

Introduction

pathmod is a CLI program which allows you to easily modify the PATH using the terminal on Windows. pathmod can persistently modify the PATH, and provides an easy way to refresh the path in the current session.

Requirements

You need to have Python 3.6 or higher installed. This will allow you to install pathmod with Python's package manager, pip.

How to install

To install pathmod with pip:

pip install pathmod

After this command completes, the pathmod executable should be available on the PATH.

Quick start

User vs system PATHs

By default, pathmod modifies the user PATH, which does not require elevated permissions. You can use the -s/--system flag to modify the system PATH instead.

Add

add is used to add an item to the PATH.

You can use relative paths, and paths using tilde (~):

# Add the current working directory to the PATH.>> pathmod add .
# Add 'C:\Users\%USERNAME%\scripts' to the PATH.>> pathmod add ~/scripts

Absolute file paths are also valid:

>> pathmod add "C:\Program Files\my program"

Prepend

prepend is used to prepend an item to the PATH. THis may be useful if you require items in your newly added location to be prioritised over items of the same name in other locations.

>> pathmod prepend .

Remove

pathmod remove is used to remove an item from the PATH.

>> pathmod remove .

As with add and prepend, this defaults to modifying the user PATH. To remove an item from the system PATH, ensure you use the -s/--system flag:

>> pathmod remove .-s

Show

show is used to show the items currently on the user and system PATHS. This prints the persistent values - the values which will be present in a new session - rather than the values in the current session.

>> pathmod show
----------------------------------------------------------------------
Path Location
----------------------------------------------------------------------
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\Scripts\'
[user] 'C:\Users\username\AppData\Local\Programs\Python\Python39\'
...
[system] 'C:\Windows\system32'
[system] 'C:\Windows'
...

Refresh

refresh allows you to update the PATH in the current session. This is especially useful in terminals such as the Windows Terminal, where you would need to open a new terminal instance and be unable to migrate your tabs.

Updating the PATH directly from pathmod is not possible because pathmod cannot modify the environment of its parent process; however, a relatively easy workaround is to run the command:

Invoke-Expression$(pathmod refresh -gq)

This will update the PATH in your current session so that it is equivalent to the PATH which would be used in a new session.

Help

You can use the --help flag to show help info. This also works for subcommands.

License

You may freely use, modify and redistribute this program under the terms of the MIT License. See LICENSE.

About

CLI tool for easily modifying the PATH (persistently) on Windows.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages