Added script to manage stow
This commit is contained in:
@@ -0,0 +1 @@
|
||||
dotfiles
|
||||
@@ -0,0 +1,10 @@
|
||||
all: sync
|
||||
|
||||
sync: build
|
||||
./dotfiles
|
||||
|
||||
delete: build
|
||||
./dotfiles --delete
|
||||
|
||||
build:
|
||||
go build
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"flag"
|
||||
"os"
|
||||
"os/exec"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func main() {
|
||||
deleteFlag := flag.Bool("delete", false, "Deletes the symlinks")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
folders, err := os.ReadDir(".")
|
||||
if err != nil {
|
||||
log.WithFields(log.Fields{
|
||||
"folder": ".",
|
||||
"error": err,
|
||||
}).Fatal("Error reading directory")
|
||||
}
|
||||
|
||||
for _, dirStat := range folders {
|
||||
if dirStat.Name()[0] == '.' || !dirStat.IsDir() {
|
||||
continue
|
||||
}
|
||||
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.WithFields(log.Fields{"error": err}).Fatal("Error getting home directory")
|
||||
}
|
||||
|
||||
stowCmd := exec.Command("stow", "--verbose", "--restow", "--target", homeDir, dirStat.Name())
|
||||
|
||||
if *deleteFlag {
|
||||
stowCmd.Args = []string{"stow", "-D", "--verbose", "--target", homeDir, dirStat.Name()}
|
||||
}
|
||||
|
||||
var out bytes.Buffer
|
||||
var out2 bytes.Buffer
|
||||
|
||||
stowCmd.Stdout = &out
|
||||
stowCmd.Stderr = &out2
|
||||
|
||||
if err := stowCmd.Run(); err != nil {
|
||||
log.WithFields(log.Fields{
|
||||
"error": err,
|
||||
"directory": dirStat.Name(),
|
||||
"stdout": string(out.Bytes()),
|
||||
"stderr": string(out2.Bytes()),
|
||||
}).Fatal("Error stowing directory")
|
||||
}
|
||||
log.Info(string(out2.Bytes()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
module github.com/NickyBoy89/dotfiles
|
||||
|
||||
go 1.17
|
||||
|
||||
require (
|
||||
github.com/sirupsen/logrus v1.8.1 // indirect
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 // indirect
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
|
||||
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -0,0 +1,3 @@
|
||||
snippet sout "Sout" b
|
||||
System.out.println($1);
|
||||
endsnippet
|
||||
@@ -0,0 +1,54 @@
|
||||
snippet article "WriteArticle"
|
||||
\documentclass{article}
|
||||
|
||||
\title{$1}
|
||||
\date{$2}
|
||||
\author{Nicholas Novak}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
$3
|
||||
|
||||
\end{document}
|
||||
endsnippet
|
||||
|
||||
snippet box "Box"
|
||||
`!p snip.rv = '┌' + '─' * (len(t[1]) + 2) + '┐'`
|
||||
│ $1 │
|
||||
`!p snip.rv = '└' + '─' * (len(t[1]) + 2) + '┘'`
|
||||
$0
|
||||
endsnippet
|
||||
|
||||
snippet beg "Begin" b
|
||||
\begin{$1}
|
||||
$2
|
||||
\end{$1}
|
||||
endsnippet
|
||||
|
||||
snippet mk "InlineMath" wA
|
||||
$${1}$`!p
|
||||
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
|
||||
snip.rv = ' '
|
||||
else:
|
||||
snip.rv = ''
|
||||
`$2
|
||||
endsnippet
|
||||
|
||||
snippet dm "BlockMath" wA
|
||||
\[
|
||||
$1
|
||||
\]$0
|
||||
endsnippet
|
||||
|
||||
snippet check "CheckMark"
|
||||
\textcolor{ForestGreen}{\checkmark}
|
||||
endsnippet
|
||||
|
||||
snippet corr "Correct"
|
||||
\textcolor{red}{$1}
|
||||
endsnippet
|
||||
|
||||
snippet pm "Parenthesied matrix" A
|
||||
\begin{pmatrix}$1\end{pmatrix}
|
||||
endsnippet
|
||||
@@ -0,0 +1,43 @@
|
||||
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
|
||||
|
||||
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
||||
|
||||
Plug 'vim-python/python-syntax'
|
||||
|
||||
Plug 'srcery-colors/srcery-vim'
|
||||
|
||||
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
|
||||
|
||||
" Latex
|
||||
Plug 'lervag/vimtex'
|
||||
Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' }
|
||||
|
||||
call plug#end()
|
||||
|
||||
set autowrite
|
||||
|
||||
" Go configuration
|
||||
let g:go_highlight_fields = 1
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_function_calls = 1
|
||||
let g:go_highlight_extra_types = 1
|
||||
let g:go_highlight_operators = 1
|
||||
|
||||
let g:go_auto_type_info = 1
|
||||
|
||||
" Python syntax config
|
||||
let g:python_highlight_all = 1
|
||||
|
||||
" Vimtex configuration
|
||||
let g:vimtex_view_method = 'zathura'
|
||||
let g:vimtex_quickfix_mode=0
|
||||
|
||||
set cc=80
|
||||
set tw=792034
|
||||
set background=dark
|
||||
set clipboard=unnamedplus
|
||||
set expandtab
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set mouse=a
|
||||
colorscheme srcery
|
||||
Reference in New Issue
Block a user