Add PSDotFiles support

This commit is contained in:
2020-07-14 17:37:29 +01:00
parent 8c5c68cc1c
commit 4f7c28ffe6
12 changed files with 216 additions and 1 deletions

View File

@@ -2,3 +2,14 @@ Dotfiles
======== ========
A collection of dotfiles used by [nikdoof](https://github.com/nikdoof) A collection of dotfiles used by [nikdoof](https://github.com/nikdoof)
Linux
-----
Installation is handled by `stow`.
Windows
-------
Installation is managed by [PSDotFiles](https://github.com/ralish/PSDotFiles). Which can be easily installed from the PSGallery (check bootstrap.ps1)

4
metadata/README.md Normal file
View File

@@ -0,0 +1,4 @@
PSDotFiles Metadata
-------------------
This folder contains the metadata for PSDotFiles and isn't a stow package.

9
metadata/bash.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>Bash Profile</FriendlyName>
<Detection>
<Method>Static</Method>
<Availability>NeverInstall</Availability>
</Detection>
</Component>

9
metadata/bin.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>Linux ~/bin scripts</FriendlyName>
<Detection>
<Method>Static</Method>
<Availability>NeverInstall</Availability>
</Detection>
</Component>

13
metadata/gpg.xml Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Metadata.xsd">
<FriendlyName>GPG</FriendlyName>
<BasePath>.gnupg</BasePath>
<Detection>
<Method>FindInPath</Method>
<FindInPath>gpg.exe</FindInPath>
</Detection>
<InstallPath>
<SpecialFolder>ApplicationData</SpecialFolder>
<Destination>gnupg</Destination>
</InstallPath>
</Component>

9
metadata/irssi.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>IRSSI</FriendlyName>
<Detection>
<Method>Static</Method>
<Availability>NeverInstall</Availability>
</Detection>
</Component>

9
metadata/mutt.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>Mutt</FriendlyName>
<Detection>
<Method>Static</Method>
<Availability>NeverInstall</Availability>
</Detection>
</Component>

8
metadata/ssh.xml Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Metadata.xsd">
<FriendlyName>SSH</FriendlyName>
<Detection>
<Method>FindInPath</Method>
</Detection>
</Component>

9
metadata/tmux.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>Tmux</FriendlyName>
<Detection>
<Method>Static</Method>
<Availability>NeverInstall</Availability>
</Detection>
</Component>

14
metadata/winterm.xml Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/ralish/PSDotFiles/master/Metadata.xsd">
<FriendlyName>Windows Terminal</FriendlyName>
<Detection>
<Method>Automatic</Method>
<MatchPattern>Microsoft.WindowsTerminal</MatchPattern>
</Detection>
<InstallPath>
<SpecialFolder>LocalApplicationData</SpecialFolder>
<Destination>Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState</Destination>
</InstallPath>
</Component>

View File

@@ -1,4 +1,10 @@
# Install required modules
Install-Module posh-git -Scope CurrentUser Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser Install-Module oh-my-posh -Scope CurrentUser
Install-Module -Name PSDotFiles -Scope CurrentUser Install-Module -Name PSDotFiles -Scope CurrentUser
# Fix git, SSH and GPG to external executables
[Environment]::SetEnvironmentVariable('GIT_SSH', "$ENV:SystemRoot\System32\OpenSSH\ssh.exe", 'User')
[Environment]::SetEnvironmentVariable('GNUPGHOME', "$ENV:APPDATA\gnupg", 'User')
Invoke-Expression "git config --global gpg.program '/c/Program Files (x86)/GnuPG/bin/gpg.exe'"

114
winterm/settings.json Normal file
View File

@@ -0,0 +1,114 @@
// This file was initially generated by Windows Terminal 1.0.1401.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": true,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"theme": "dark",
"disabledProfileSources": [
"Windows.Terminal.Azure"
],
"profiles": {
"defaults": {
"cursorShape": "vintage",
"fontFace": "Input Mono",
"fontSize": 9,
"colorScheme": "Material Palenight"
},
"list": [
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
"name": "Dimension.sh",
"commandline": "ssh dimension.sh",
"hidden": false,
"icon": "%ONEDRIVECOMMERCIAL%/Icons/centos.png"
},
{
"name": "Kronos",
"commandline": "ssh kronos.home.tensixtyone.com",
"hidden": false,
"icon": "%ONEDRIVECOMMERCIAL%/Icons/centos.png"
}
]
},
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"schemes": [
{
"name": "Material Palenight",
"background": "#292D3E",
"foreground": "#959DCB",
"black": "#292D3E",
"red": "#F07178",
"green": "#C3E88D",
"yellow": "#FFCB6B",
"blue": "#82AAFF",
"purple": "#C792EA",
"cyan": "#89DDFF",
"white": "#959DCB",
"brightBlack": "#676E95",
"brightRed": "#e7a9ac",
"brightGreen": "#d6e4c2",
"brightYellow": "#ffe9c2",
"brightBlue": "#c5d7ff",
"brightPurple": "#d7c2e5",
"brightCyan": "#caf0ff",
"brightWhite": "#FFFFFF"
}
],
// Add custom keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about keybindings, visit https://aka.ms/terminal-keybindings
"keybindings": [
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{
"command": {
"action": "copy",
"singleLine": false
},
"keys": "ctrl+c"
},
{
"command": "paste",
"keys": "ctrl+v"
},
// Press Ctrl+Shift+F to open the search box
{
"command": "find",
"keys": "ctrl+shift+f"
},
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{
"command": {
"action": "splitPane",
"split": "auto",
"splitMode": "duplicate"
},
"keys": "alt+shift+d"
}
]
}