Compare commits
2 Commits
232c2f8d22
...
27febcbc4d
Author | SHA1 | Date | |
---|---|---|---|
27febcbc4d | |||
abb7405b4c |
183
Dockerfile
183
Dockerfile
@ -1,189 +1,8 @@
|
|||||||
# focal as of 2020-04-23
|
FROM sneak/workbase
|
||||||
FROM ubuntu@sha256:5747316366b8cc9e3021cd7286f42b2d6d81e3d743e2ab571f55bcd5df788cc8
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
|
|
||||||
ARG UBUNTU_MIRROR=mirror://mirrors.ubuntu.com/mirrors.txt
|
|
||||||
|
|
||||||
ARG UID_TO_ADD=1000
|
|
||||||
ARG GID_TO_ADD=1000
|
|
||||||
ARG USERNAME_TO_ADD=user
|
|
||||||
|
|
||||||
RUN \
|
|
||||||
echo "deb $UBUNTU_MIRROR focal main universe restricted multiverse" > /etc/apt/sources.list.new && \
|
|
||||||
echo "deb $UBUNTU_MIRROR focal-updates main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
|
||||||
echo "deb $UBUNTU_MIRROR focal-security main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
|
||||||
echo "deb $UBUNTU_MIRROR focal-backports main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
|
||||||
mv /etc/apt/sources.list.new /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN \
|
|
||||||
groupadd -g $GID_TO_ADD $USERNAME_TO_ADD && \
|
|
||||||
groupadd nixbld && \
|
|
||||||
useradd -u $UID_TO_ADD -g $GID_TO_ADD --home-dir /home/user -m -s /bin/bash $USERNAME_TO_ADD && \
|
|
||||||
usermod -p '*' $USERNAME_TO_ADD
|
|
||||||
|
|
||||||
ADD https://sneak.cloud/authorized_keys /root/.ssh/authorized_keys
|
|
||||||
ADD https://sneak.cloud/authorized_keys /home/user/.ssh/authorized_keys
|
|
||||||
|
|
||||||
# we only install essential system packages here
|
|
||||||
ARG SYSTEM_PACKAGES="\
|
|
||||||
anacron \
|
|
||||||
apt-transport-https \
|
|
||||||
build-essential \
|
|
||||||
byobu \
|
|
||||||
ca-certificates \
|
|
||||||
cron \
|
|
||||||
cronic \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
golang \
|
|
||||||
locales \
|
|
||||||
openssh-server \
|
|
||||||
rsync \
|
|
||||||
runit \
|
|
||||||
sudo \
|
|
||||||
tmux \
|
|
||||||
"
|
|
||||||
|
|
||||||
RUN /bin/bash -c "echo -e 'Y\n\n' | /usr/local/sbin/unminimize"
|
|
||||||
|
|
||||||
RUN \
|
|
||||||
apt update && \
|
|
||||||
apt -y upgrade && \
|
|
||||||
apt -y install $SYSTEM_PACKAGES && \
|
|
||||||
go get -v -u github.com/peterbourgon/runsvinit && \
|
|
||||||
cp /root/go/bin/runsvinit /usr/local/sbin/runsvinit && \
|
|
||||||
rm -rf /root/go && \
|
|
||||||
rm /etc/ssh/*host*key* && \
|
|
||||||
apt -y purge golang && \
|
|
||||||
apt -y autoremove
|
|
||||||
|
|
||||||
# nix for pkgs pls
|
# nix for pkgs pls
|
||||||
RUN mkdir /nix && chown user:user /nix
|
RUN mkdir /nix && chown user:user /nix
|
||||||
|
|
||||||
ARG OTHER_PACKAGES=" \
|
|
||||||
apt-utils \
|
|
||||||
aspell \
|
|
||||||
aspell-en \
|
|
||||||
automake \
|
|
||||||
avahi-daemon \
|
|
||||||
avahi-utils \
|
|
||||||
bash-completion \
|
|
||||||
bc \
|
|
||||||
bind9-host \
|
|
||||||
bonnie++ \
|
|
||||||
build-essential \
|
|
||||||
byobu \
|
|
||||||
ca-certificates \
|
|
||||||
cmake \
|
|
||||||
curl \
|
|
||||||
daemontools \
|
|
||||||
debmirror \
|
|
||||||
default-jdk \
|
|
||||||
default-jre \
|
|
||||||
diffstat \
|
|
||||||
dnsutils \
|
|
||||||
docker.io \
|
|
||||||
dos2unix \
|
|
||||||
editorconfig \
|
|
||||||
ffmpeg \
|
|
||||||
fonts-indic \
|
|
||||||
fonts-ipafont-gothic \
|
|
||||||
fonts-ipafont-mincho \
|
|
||||||
fortune \
|
|
||||||
git \
|
|
||||||
gnupg2 \
|
|
||||||
gnupg-agent \
|
|
||||||
golang-go \
|
|
||||||
host \
|
|
||||||
imagemagick \
|
|
||||||
iputils-ping \
|
|
||||||
irssi \
|
|
||||||
jq \
|
|
||||||
lcov \
|
|
||||||
ldap-auth-client \
|
|
||||||
ldap-utils \
|
|
||||||
libasound2 \
|
|
||||||
libatk1.0-0 \
|
|
||||||
libboost-all-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
libdb++-dev \
|
|
||||||
libffi-dev \
|
|
||||||
libgconf-2-4 \
|
|
||||||
libgtk-3-0 \
|
|
||||||
libjpeg-dev \
|
|
||||||
liblzma-dev \
|
|
||||||
libncurses5-dev \
|
|
||||||
libnss3 \
|
|
||||||
libnss-mdns \
|
|
||||||
libpng-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libtool \
|
|
||||||
libxcursor1 \
|
|
||||||
libxml2 \
|
|
||||||
libxml2-dev \
|
|
||||||
libxmlsec1-dev \
|
|
||||||
libxslt1-dev \
|
|
||||||
llvm \
|
|
||||||
locales \
|
|
||||||
lsof \
|
|
||||||
mailutils \
|
|
||||||
make \
|
|
||||||
man \
|
|
||||||
man-db \
|
|
||||||
mercurial \
|
|
||||||
mosh \
|
|
||||||
mutt \
|
|
||||||
netcat-openbsd \
|
|
||||||
nmap \
|
|
||||||
nscd \
|
|
||||||
openssh-server \
|
|
||||||
pandoc \
|
|
||||||
pass \
|
|
||||||
pbzip2 \
|
|
||||||
pinentry-curses \
|
|
||||||
pkg-config \
|
|
||||||
psmisc \
|
|
||||||
pv \
|
|
||||||
pwgen \
|
|
||||||
python3 \
|
|
||||||
python3-dev \
|
|
||||||
python3-pip \
|
|
||||||
rbenv \
|
|
||||||
rsync \
|
|
||||||
rsyslog \
|
|
||||||
rsyslog-gnutls \
|
|
||||||
rsyslog-relp \
|
|
||||||
screen \
|
|
||||||
snmp \
|
|
||||||
snmpd \
|
|
||||||
socat \
|
|
||||||
software-properties-common \
|
|
||||||
strace \
|
|
||||||
sudo \
|
|
||||||
tcpdump \
|
|
||||||
telnet \
|
|
||||||
texlive-latex-base \
|
|
||||||
tk-dev \
|
|
||||||
tmux \
|
|
||||||
tree \
|
|
||||||
ttf-wqy-microhei \
|
|
||||||
ttf-wqy-zenhei \
|
|
||||||
vagrant \
|
|
||||||
vim \
|
|
||||||
vim-gtk \
|
|
||||||
wamerican-insane \
|
|
||||||
wget \
|
|
||||||
xterm \
|
|
||||||
xz-utils \
|
|
||||||
zfsutils-linux \
|
|
||||||
zip \
|
|
||||||
zlib1g-dev \
|
|
||||||
"
|
|
||||||
#RUN apt -y install $OTHER_PACKAGES
|
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
ENV HOME /root
|
ENV HOME /root
|
||||||
|
|
||||||
|
19
Makefile
19
Makefile
@ -1,25 +1,32 @@
|
|||||||
export DOCKER_HOST := ssh://root@datavi.be
|
export DOCKER_HOST := ssh://root@meatfucker.local
|
||||||
|
|
||||||
default: start
|
default: build
|
||||||
|
|
||||||
.PHONY: build run
|
.PHONY: build run base full release
|
||||||
|
|
||||||
start:
|
start:
|
||||||
make build
|
make build
|
||||||
make run
|
make run
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build -t sneak/work .
|
docker build --squash -t sneak/work .
|
||||||
|
|
||||||
|
full:
|
||||||
|
cd base && make build
|
||||||
|
make build
|
||||||
|
|
||||||
run:
|
run:
|
||||||
-docker rm -f work
|
-docker rm -f work
|
||||||
docker run \
|
docker run \
|
||||||
-d \
|
-d \
|
||||||
--name work \
|
--name work \
|
||||||
|
--hostname work \
|
||||||
|
--net host \
|
||||||
-v /:/hostroot \
|
-v /:/hostroot \
|
||||||
-v /home/sneak:/hosthome \
|
-v /home/sneak:/hosthome \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
sneak/work
|
sneak/work
|
||||||
|
|
||||||
enter:
|
release:
|
||||||
docker run -ti --rm=true -e HOME=/home/user -e USER=user --user=user -v /home/sneak:/home/user/.home sneak/work /home/user/.nix-profile/bin/zsh -l
|
make full && make run
|
||||||
|
|
||||||
|
63
base/Dockerfile
Normal file
63
base/Dockerfile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#FROM ubuntu:focal-20201008
|
||||||
|
FROM ubuntu@sha256:1d7b639619bdca2d008eca2d5293e3c43ff84cbee597ff76de3b7a7de3e84956
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
ARG UBUNTU_MIRROR=mirror://mirrors.ubuntu.com/mirrors.txt
|
||||||
|
|
||||||
|
ARG UID_TO_ADD=1000
|
||||||
|
ARG GID_TO_ADD=1000
|
||||||
|
ARG USERNAME_TO_ADD=user
|
||||||
|
|
||||||
|
RUN apt update && apt install -y ca-certificates apt-transport-https
|
||||||
|
#RUN \
|
||||||
|
# echo "deb $UBUNTU_MIRROR focal main universe restricted multiverse" > /etc/apt/sources.list.new && \
|
||||||
|
# echo "deb $UBUNTU_MIRROR focal-updates main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
||||||
|
# echo "deb $UBUNTU_MIRROR focal-security main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
||||||
|
# echo "deb $UBUNTU_MIRROR focal-backports main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
||||||
|
# mv /etc/apt/sources.list.new /etc/apt/sources.list
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
groupadd -g $GID_TO_ADD $USERNAME_TO_ADD && \
|
||||||
|
groupadd nixbld && \
|
||||||
|
useradd -u $UID_TO_ADD -g $GID_TO_ADD --home-dir /home/user -m -s /bin/bash $USERNAME_TO_ADD && \
|
||||||
|
usermod -p '*' $USERNAME_TO_ADD
|
||||||
|
|
||||||
|
ADD https://sneak.cloud/authorized_keys /root/.ssh/authorized_keys
|
||||||
|
ADD https://sneak.cloud/authorized_keys /home/user/.ssh/authorized_keys
|
||||||
|
|
||||||
|
RUN apt update && apt install -y \
|
||||||
|
anacron \
|
||||||
|
apt-transport-https \
|
||||||
|
avahi-daemon \
|
||||||
|
build-essential \
|
||||||
|
byobu \
|
||||||
|
ca-certificates \
|
||||||
|
cron \
|
||||||
|
cronic \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
golang \
|
||||||
|
iproute2 \
|
||||||
|
iputils-ping \
|
||||||
|
locales \
|
||||||
|
openssh-server \
|
||||||
|
rsync \
|
||||||
|
runit \
|
||||||
|
sudo \
|
||||||
|
vim \
|
||||||
|
zsh
|
||||||
|
|
||||||
|
RUN /bin/bash -c "echo -e 'Y\n\n' | /usr/local/sbin/unminimize"
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
go get -v -u github.com/peterbourgon/runsvinit && \
|
||||||
|
cp /root/go/bin/runsvinit /usr/local/sbin/runsvinit && \
|
||||||
|
rm -rf /root/go && \
|
||||||
|
apt -y purge golang && \
|
||||||
|
apt -y upgrade && \
|
||||||
|
apt -y autoremove
|
||||||
|
|
||||||
|
RUN usermod --shell $(which zsh) $USERNAME_TO_ADD
|
||||||
|
|
||||||
|
CMD ["/usr/local/sbin/runsvinit"]
|
6
base/Makefile
Normal file
6
base/Makefile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
default: build
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
|
||||||
|
build:
|
||||||
|
docker build --squash -t sneak/workbase .
|
15
bin/start
15
bin/start
@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
pushd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)/../"
|
|
||||||
docker build -t sneak/work .
|
|
||||||
popd
|
|
||||||
|
|
||||||
docker rm -f work
|
|
||||||
# FIXME ssh host keys
|
|
||||||
docker run \
|
|
||||||
-d \
|
|
||||||
--name work \
|
|
||||||
-v /:/hostroot \
|
|
||||||
-v /home/sneak:/hosthome \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
sneak/work
|
|
17
root.sh
17
root.sh
@ -26,10 +26,11 @@ update-locale LANG="en_US.UTF-8" LANGUAGE="en_US"
|
|||||||
dpkg-reconfigure locales
|
dpkg-reconfigure locales
|
||||||
|
|
||||||
for FN in $SSH_HOST_KEY_FILES ; do
|
for FN in $SSH_HOST_KEY_FILES ; do
|
||||||
|
rm -f /etc/ssh/$FN
|
||||||
ln -s /hostroot/etc/ssh/$FN /etc/ssh/$FN
|
ln -s /hostroot/etc/ssh/$FN /etc/ssh/$FN
|
||||||
done
|
done
|
||||||
|
|
||||||
ln -s /hostroot/root /root/.home
|
#ln -s /hostroot/root /root/.home
|
||||||
|
|
||||||
# install other stuff here
|
# install other stuff here
|
||||||
|
|
||||||
@ -42,9 +43,19 @@ ln -s /hostroot/root /root/.home
|
|||||||
# install prettier
|
# install prettier
|
||||||
# install vim-go
|
# install vim-go
|
||||||
|
|
||||||
|
|
||||||
|
# i don't know how to make the terraform-libvirt provider
|
||||||
|
# build with nix's libvirt, this works for now
|
||||||
|
apt update && apt install -y libvirt0
|
||||||
|
|
||||||
mkdir -p /home/user/.ssh
|
mkdir -p /home/user/.ssh
|
||||||
cp /root/.ssh/authorized_keys /home/user/.ssh/authorized_keys
|
cp /root/.ssh/authorized_keys /home/user/.ssh/authorized_keys
|
||||||
chown -R $UID_TO_ADD:$GID_TO_ADD /home/user
|
chown -R user:user /home/user
|
||||||
echo "$USERNAME_TO_ADD ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user
|
echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user
|
||||||
|
|
||||||
|
groupadd -g 131 docker
|
||||||
|
usermod -aG docker user
|
||||||
|
|
||||||
|
#mkdir -p /etc/nix
|
||||||
|
#echo 'sandbox = false' > /etc/nix/nix.conf
|
||||||
|
#chown -R user:user /nix /etc/nix
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
mkdir -p /run/sshd
|
||||||
exec /usr/sbin/sshd -D
|
exec /usr/sbin/sshd -D
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
{
|
|
||||||
packageOverrides = pkgs: with pkgs; {
|
|
||||||
|
|
||||||
myPackages = pkgs.buildEnv {
|
|
||||||
name = "myPackages";
|
|
||||||
paths = [
|
|
||||||
aspell
|
|
||||||
bc
|
|
||||||
clang
|
|
||||||
coreutils
|
|
||||||
ctags
|
|
||||||
curl
|
|
||||||
docker
|
|
||||||
ffmpeg
|
|
||||||
gdb
|
|
||||||
git
|
|
||||||
gnupg
|
|
||||||
gnupg
|
|
||||||
go
|
|
||||||
gpg-agent
|
|
||||||
jq
|
|
||||||
nix-prefetch-scripts
|
|
||||||
nmap
|
|
||||||
openssh
|
|
||||||
par2cmdline
|
|
||||||
pinentry-mac
|
|
||||||
pv
|
|
||||||
pwgen
|
|
||||||
qemu
|
|
||||||
rsync
|
|
||||||
tmux
|
|
||||||
tor
|
|
||||||
tree
|
|
||||||
vim
|
|
||||||
vimpager
|
|
||||||
weechat
|
|
||||||
wget
|
|
||||||
whois
|
|
||||||
xz
|
|
||||||
zsh
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
82
root/home/user/.config/nixpkgs/config.nix
Normal file
82
root/home/user/.config/nixpkgs/config.nix
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; rec {
|
||||||
|
# export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
# export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
|
||||||
|
#'';
|
||||||
|
work = pkgs.buildEnv {
|
||||||
|
name = "workpackages";
|
||||||
|
paths = [
|
||||||
|
basePackages
|
||||||
|
adminPackages
|
||||||
|
];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" "/bin" "/etc" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
|
};
|
||||||
|
adminPackages = pkgs.buildEnv {
|
||||||
|
name = "adminPackages";
|
||||||
|
paths = [
|
||||||
|
awscli2
|
||||||
|
byobu
|
||||||
|
cmake
|
||||||
|
cdrkit
|
||||||
|
envdir
|
||||||
|
figlet
|
||||||
|
httpie
|
||||||
|
jq
|
||||||
|
libvirt
|
||||||
|
llvm
|
||||||
|
mosh
|
||||||
|
mutt
|
||||||
|
nmap
|
||||||
|
openssl
|
||||||
|
pv
|
||||||
|
rsync
|
||||||
|
runit
|
||||||
|
terraform_0_13
|
||||||
|
tmux
|
||||||
|
wget
|
||||||
|
xz
|
||||||
|
];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" "/bin" "/etc" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
|
};
|
||||||
|
basePackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [
|
||||||
|
adminPackages
|
||||||
|
aria2
|
||||||
|
byobu
|
||||||
|
cmus
|
||||||
|
coreutils-prefixed
|
||||||
|
envdir
|
||||||
|
ffmpeg
|
||||||
|
gnupg
|
||||||
|
go
|
||||||
|
httpie
|
||||||
|
jq
|
||||||
|
neofetch
|
||||||
|
neovim
|
||||||
|
nmap
|
||||||
|
nodejs
|
||||||
|
openssl
|
||||||
|
par2cmdline
|
||||||
|
pv
|
||||||
|
pwgen
|
||||||
|
rsync
|
||||||
|
runit
|
||||||
|
tmux
|
||||||
|
tor
|
||||||
|
vim
|
||||||
|
vimpager
|
||||||
|
weechat
|
||||||
|
wget
|
||||||
|
xz
|
||||||
|
yarn
|
||||||
|
zsh
|
||||||
|
];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" "/bin" "/etc" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,3 +1,4 @@
|
|||||||
alias unsafessh="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
alias unsafessh="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||||||
alias prettier="prettier --tab-width 4"
|
alias prettier="prettier --tab-width 4"
|
||||||
alias gencapkey="ssh-keygen -m PEM -t rsa -b 2048 -C \"caprover\" -f ./key -q -N \"\""
|
alias gencapkey="ssh-keygen -m PEM -t rsa -b 2048 -C \"caprover\" -f ./key -q -N \"\""
|
||||||
|
alias nixup="nix-channel --update && nix-env -iA nixpkgs.$(hostname -s)"
|
@ -1,43 +1,93 @@
|
|||||||
"execute pathogen#infect()
|
" this has to be first apparently?
|
||||||
|
" i had problems when it was lower in the file.
|
||||||
|
let mapleader=","
|
||||||
|
|
||||||
silent !mkdir -p ~/.vim/backup > /dev/null 2>&1
|
silent !mkdir -p ~/Library/vim/plug > /dev/null 2>&1
|
||||||
silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
|
silent !mkdir -p ~/Library/vim/backup > /dev/null 2>&1
|
||||||
silent !mkdir -p ~/.vim/swap > /dev/null 2>&1
|
silent !mkdir -p ~/Library/vim/undo > /dev/null 2>&1
|
||||||
silent !mkdir -p ~/.vim/autoload > /dev/null 2>&1
|
silent !mkdir -p ~/Library/vim/swap > /dev/null 2>&1
|
||||||
silent !mkdir -p ~/.vim/plugged > /dev/null 2>&1
|
silent !mkdir -p ~/.paths/sneak-sync/dotfiles/vim/autoload > /dev/null 2>&1
|
||||||
|
silent !mkdir -p ~/.paths/sneak-sync/dotfiles/vim/plugged > /dev/null 2>&1
|
||||||
|
|
||||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
if empty(glob('~/Library/vim/plug/plug.vim'))
|
||||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
silent !curl -fLo ~/Library/vim/plug/plug.vim --create-dirs
|
||||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||||
endif
|
endif
|
||||||
|
|
||||||
source ~/.vim/autoload/plug.vim
|
source ~/Library/vim/plug/plug.vim
|
||||||
|
|
||||||
call plug#begin('~/.vim/plugged')
|
"Plug 'zchee/deoplete-go', { 'for': 'go' }
|
||||||
|
"Plug 'zchee/deoplete-jedi', { 'for': 'python' }
|
||||||
|
|
||||||
" Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
call plug#begin('~/Library/vim/plug')
|
||||||
" Plug 'roxma/vim-hug-neovim-rpc'
|
|
||||||
|
if has('nvim')
|
||||||
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||||
|
Plug 'deoplete-plugins/deoplete-go', { 'do': 'make'}
|
||||||
|
Plug 'roxma/nvim-yarp'
|
||||||
|
Plug 'roxma/vim-hug-neovim-rpc'
|
||||||
|
let g:deoplete#enable_at_startup = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
Plug 'tpope/vim-sensible'
|
||||||
|
Plug 'preservim/nerdtree'
|
||||||
|
Plug 'ryanoasis/vim-devicons'
|
||||||
Plug 'vim-airline/vim-airline'
|
Plug 'vim-airline/vim-airline'
|
||||||
Plug 'vim-airline/vim-airline-themes'
|
Plug 'vim-airline/vim-airline-themes'
|
||||||
"Plug 'edkolev/tmuxline.vim'
|
Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
|
||||||
Plug 'zchee/deoplete-go', { 'for': 'go' }
|
"Plug 'fatih/molokai'
|
||||||
Plug 'zchee/deoplete-jedi', { 'for': 'python' }
|
Plug 'morhetz/gruvbox'
|
||||||
|
Plug 'sbdchd/neoformat'
|
||||||
|
Plug 'LnL7/vim-nix'
|
||||||
|
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" syntastic
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
Plug 'vim-syntastic/syntastic'
|
Plug 'vim-syntastic/syntastic'
|
||||||
|
|
||||||
set statusline+=%#warningmsg#
|
set statusline+=%#warningmsg#
|
||||||
"set statusline+=%{SyntasticStatuslineFlag()}
|
set statusline+=%{SyntasticStatuslineFlag()}
|
||||||
set statusline+=%*
|
set statusline+=%*
|
||||||
let g:syntastic_always_populate_loc_list = 1
|
let g:syntastic_always_populate_loc_list = 1
|
||||||
let g:syntastic_auto_loc_list = 1
|
let g:syntastic_auto_loc_list = 1
|
||||||
let g:syntastic_check_on_open = 1
|
let g:syntastic_check_on_open = 1
|
||||||
let g:syntastic_check_on_wq = 0
|
let g:syntastic_check_on_wq = 0
|
||||||
let g:syntastic_go_checkers = ['gofmt']
|
let g:syntastic_go_checkers = ['go']
|
||||||
let g:syntastic_enable_signs = 1
|
|
||||||
highlight SyntasticErrorSign guifg=white guibg=red
|
|
||||||
|
|
||||||
Plug 'scrooloose/nerdtree'
|
call plug#end()
|
||||||
|
|
||||||
|
let g:rehash256 = 1
|
||||||
|
let g:molokai_original = 1
|
||||||
|
let g:gruvbox_italic = 1
|
||||||
|
"colorscheme molokai
|
||||||
|
colorscheme gruvbox
|
||||||
|
|
||||||
|
noremap <Leader>w :w<cr>
|
||||||
|
noremap <Leader><cr> i<cr><Esc>
|
||||||
|
noremap <Leader>l :GoMetaLinter<cr>
|
||||||
|
noremap <Leader>b :GoBuild<cr>
|
||||||
|
noremap <Leader>f :Neoformat<cr>
|
||||||
|
noremap <Leader>t :NERDTreeToggle<CR>
|
||||||
|
|
||||||
|
|
||||||
|
" vim-go golang configuration:
|
||||||
|
let g:go_fmt_fail_silently = 0
|
||||||
|
let g:go_fmt_command = "goimports"
|
||||||
|
let g:go_addtags_transform = "camelcase"
|
||||||
|
let g:go_highlight_types = 1
|
||||||
|
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_def_mode='gopls'
|
||||||
|
let g:go_info_mode='gopls'
|
||||||
|
let g:go_auto_type_info = 1
|
||||||
|
|
||||||
|
|
||||||
|
"highlight SyntasticErrorSign guifg=white guibg=red
|
||||||
|
|
||||||
|
"Plug 'scrooloose/nerdtree'
|
||||||
"Plug 'ludovicchabant/vim-gutentags'
|
"Plug 'ludovicchabant/vim-gutentags'
|
||||||
|
|
||||||
let g:gutentags_ctags_tagfile = '.tags'
|
let g:gutentags_ctags_tagfile = '.tags'
|
||||||
@ -45,10 +95,10 @@ let g:gutentags_file_list_command = 'git ls-files'
|
|||||||
let g:gutentags_generate_on_new = 1
|
let g:gutentags_generate_on_new = 1
|
||||||
|
|
||||||
"Plug 'majutsushi/tagbar'
|
"Plug 'majutsushi/tagbar'
|
||||||
Plug 'fatih/vim-go', { 'do': 'GoUpdateBinaries', 'for': 'go' }
|
"Plug 'fatih/vim-go', { 'do': 'GoUpdateBinaries', 'for': 'go' }
|
||||||
Plug 'cespare/vim-toml', { 'for': 'toml' }
|
"Plug 'cespare/vim-toml', { 'for': 'toml' }
|
||||||
let g:deoplete#enable_at_startup = 1
|
"call plug#end()
|
||||||
call plug#end()
|
|
||||||
|
|
||||||
let g:airline_powerline_fonts = 1
|
let g:airline_powerline_fonts = 1
|
||||||
|
|
||||||
@ -79,7 +129,7 @@ fun! InitBex()
|
|||||||
let myvar = "set backupext=.". myvar
|
let myvar = "set backupext=.". myvar
|
||||||
execute myvar
|
execute myvar
|
||||||
endfun
|
endfun
|
||||||
map <silent> <Esc> :call InitBex()<CR>
|
map <silent> <Esc>:call InitBex()<CR>
|
||||||
silent call InitBex()
|
silent call InitBex()
|
||||||
|
|
||||||
set relativenumber
|
set relativenumber
|
||||||
@ -87,16 +137,16 @@ filetype plugin indent on
|
|||||||
syntax on
|
syntax on
|
||||||
|
|
||||||
set modelines=10
|
set modelines=10
|
||||||
noremap <Up> ""
|
"noremap <Up> ""
|
||||||
noremap! <Up> <Esc>
|
"noremap! <Up> <Esc>
|
||||||
noremap <Down> ""
|
"noremap <Down> ""
|
||||||
noremap! <Down> <Esc>
|
"noremap! <Down> <Esc>
|
||||||
noremap <Left> ""
|
"noremap <Left> ""
|
||||||
noremap! <Left> <Esc>
|
"noremap! <Left> <Esc>
|
||||||
noremap <Right> ""
|
"noremap <Right> ""
|
||||||
noremap! <Right> <Esc>
|
"noremap! <Right> <Esc>
|
||||||
vnoremap > ><CR>gv
|
"vnoremap > ><CR>gv
|
||||||
vnoremap < <<CR>gv
|
"vnoremap < <<CR>gv
|
||||||
|
|
||||||
"au BufWinLeave * silent! mkview
|
"au BufWinLeave * silent! mkview
|
||||||
"au BufWinEnter * silent! loadview
|
"au BufWinEnter * silent! loadview
|
||||||
@ -104,7 +154,6 @@ vnoremap < <<CR>gv
|
|||||||
au BufRead,BufNewFile *.go set filetype=go
|
au BufRead,BufNewFile *.go set filetype=go
|
||||||
"au BufRead,BufNewFile *.coffee set filetype=coffee
|
"au BufRead,BufNewFile *.coffee set filetype=coffee
|
||||||
|
|
||||||
let mapleader=","
|
|
||||||
|
|
||||||
set ignorecase
|
set ignorecase
|
||||||
set smartcase
|
set smartcase
|
||||||
@ -112,8 +161,9 @@ set gdefault
|
|||||||
set incsearch
|
set incsearch
|
||||||
set showmatch
|
set showmatch
|
||||||
set hlsearch
|
set hlsearch
|
||||||
nnoremap <leader><space> :noh<cr>
|
"nnoremap <leader><space> :noh<cr>
|
||||||
|
|
||||||
|
set bg=dark
|
||||||
set ignorecase
|
set ignorecase
|
||||||
set smartcase
|
set smartcase
|
||||||
set gdefault
|
set gdefault
|
||||||
@ -124,10 +174,10 @@ set autoindent
|
|||||||
"set signcolumn=yes
|
"set signcolumn=yes
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
set backup
|
set backup
|
||||||
set backupdir=~/.vim/backup//
|
set backupdir=~/Library/vim/backup//
|
||||||
set cmdheight=3
|
set cmdheight=3
|
||||||
"set clipboard=unnamed
|
"set clipboard=unnamed
|
||||||
set directory=~/.vim/swap//
|
set directory=~/Library/vim/swap//
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set expandtab
|
set expandtab
|
||||||
set fileencodings=utf-8,iso-8859-15
|
set fileencodings=utf-8,iso-8859-15
|
||||||
@ -143,13 +193,13 @@ set showcmd
|
|||||||
set smartcase
|
set smartcase
|
||||||
set smarttab
|
set smarttab
|
||||||
set softtabstop=4
|
set softtabstop=4
|
||||||
set spellfile=~/.vim/spellfile.utf-8.add
|
set spellfile=~/.paths/sneak-sync/dotfiles/vim/spellfile.utf-8.add
|
||||||
set spelllang=en
|
set spelllang=en
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set termencoding=utf-8
|
set termencoding=utf-8
|
||||||
set ttyfast
|
set ttyfast
|
||||||
set tw=76
|
set tw=76
|
||||||
set undodir=~/.vim/undo//
|
set undodir=~/Library/vim/undo//
|
||||||
set undofile
|
set undofile
|
||||||
set wildignore+=*.pyc
|
set wildignore+=*.pyc
|
||||||
set writebackup
|
set writebackup
|
||||||
@ -161,12 +211,17 @@ autocmd FileType markdown setlocal spell
|
|||||||
au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
|
au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
|
||||||
autocmd BufNewFile,BufRead *.json set ft=javascript
|
autocmd BufNewFile,BufRead *.json set ft=javascript
|
||||||
|
|
||||||
|
autocmd BufWritePre *.js Neoformat
|
||||||
|
autocmd BufWritePre *.jsx Neoformat
|
||||||
|
autocmd BufWritePre *.json Neoformat
|
||||||
|
autocmd BufWritePre *.css Neoformat
|
||||||
|
|
||||||
"inoremap jj <Esc>
|
"inoremap jj <Esc>
|
||||||
|
|
||||||
map N Nzz
|
"map N Nzz
|
||||||
map n nzz
|
"map n nzz
|
||||||
"map <s-tab> <c-w><c-w>
|
"map <s-tab> <c-w><c-w>
|
||||||
colorscheme koehler
|
"colorscheme koehler
|
||||||
hi CursorLine term=none cterm=none ctermbg=none
|
hi CursorLine term=none cterm=none ctermbg=none
|
||||||
set t_Co=256
|
set t_Co=256
|
||||||
set foldmethod=indent
|
set foldmethod=indent
|
||||||
@ -177,9 +232,9 @@ set foldlevel=1 "this is just what i use
|
|||||||
"nnoremap <silent> <Space> @=(foldlevel('.')?'za':'l')<CR>
|
"nnoremap <silent> <Space> @=(foldlevel('.')?'za':'l')<CR>
|
||||||
"vnoremap <Space> zf
|
"vnoremap <Space> zf
|
||||||
|
|
||||||
"nnoremap <silent> <Tab> :bn<CR>
|
nnoremap <silent> <Tab> :bn<CR>
|
||||||
"nnoremap <silent> <Backspace> :bp<CR>
|
nnoremap <silent> <Backspace> :bp<CR>
|
||||||
"nnoremap <silent> <Leader><Enter> :ls<CR>
|
nnoremap <silent> <Leader><Enter> :ls<CR>
|
||||||
|
|
||||||
highlight ExtraWhitespace ctermbg=red guibg=red
|
highlight ExtraWhitespace ctermbg=red guibg=red
|
||||||
match ExtraWhitespace /\s\+$/
|
match ExtraWhitespace /\s\+$/
|
@ -68,7 +68,8 @@ HIST_STAMPS="yyyy-mm-dd"
|
|||||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
# Add wisely, as too many plugins slow down shell startup.
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
plugins=(git git-prompt zsh-autosuggestions)
|
#plugins=(git git-prompt zsh-autosuggestions)
|
||||||
|
plugins=(git git-prompt)
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
36
user.sh
36
user.sh
@ -16,11 +16,7 @@ OH="/hosthome"
|
|||||||
# link ~/.home to original home
|
# link ~/.home to original home
|
||||||
ln -s "/hosthome" $HOME/.home
|
ln -s "/hosthome" $HOME/.home
|
||||||
|
|
||||||
#vim -s ~/.vimrc -c 'q!'
|
cd $HOME && ls -tla
|
||||||
# vim-plug
|
|
||||||
# this should happen from vimrc
|
|
||||||
#curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
|
||||||
# https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
||||||
|
|
||||||
# /nix is already created for us and chowned to us by now:
|
# /nix is already created for us and chowned to us by now:
|
||||||
curl -L https://nixos.org/nix/install | sh
|
curl -L https://nixos.org/nix/install | sh
|
||||||
@ -28,7 +24,8 @@ curl -L https://nixos.org/nix/install | sh
|
|||||||
source /home/user/.nix-profile/etc/profile.d/nix.sh
|
source /home/user/.nix-profile/etc/profile.d/nix.sh
|
||||||
|
|
||||||
# this should install all the packages from the config.nix:
|
# this should install all the packages from the config.nix:
|
||||||
nix-env -i myPackages
|
nix-env -iA nixpkgs.work
|
||||||
|
nix-env --set-flag priority 7 workpackages
|
||||||
|
|
||||||
# FIXME have this pull from synced dir instead
|
# FIXME have this pull from synced dir instead
|
||||||
# oh-my-zsh
|
# oh-my-zsh
|
||||||
@ -37,7 +34,6 @@ export ZSH="$HOME/.zsh"
|
|||||||
export KEEP_ZSHRC=yes
|
export KEEP_ZSHRC=yes
|
||||||
zsh /tmp/installomz.sh && rm /tmp/installomz.sh
|
zsh /tmp/installomz.sh && rm /tmp/installomz.sh
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
##### Personal Config
|
##### Personal Config
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -48,9 +44,9 @@ git config --global user.name sneak
|
|||||||
|
|
||||||
mkdir -p ~/.paths
|
mkdir -p ~/.paths
|
||||||
# TODO FIXME change the syncthing paths on las1 when convenient sometime
|
# TODO FIXME change the syncthing paths on las1 when convenient sometime
|
||||||
ln -s ~/.home/Documents/syncthing/folders/sync ~/.paths/sneak-sync
|
ln -s ~/.home/Library/Syncthing/folders/sync ~/.paths/sneak-sync
|
||||||
ln -s ~/.home/Documents/syncthing/folders/scratch ~/.paths/sneak-scratch
|
ln -s ~/.home/Library/Syncthing/folders/scratch ~/.paths/sneak-scratch
|
||||||
ln -s ~/.home/Documents/syncthing/folders/sneak-docs ~/.paths/sneak-docs
|
ln -s ~/.home/Library/Syncthing/folders/sneak-docs ~/.paths/sneak-docs
|
||||||
ln -s ~/.paths/sneak-docs ~/Documents
|
ln -s ~/.paths/sneak-docs ~/Documents
|
||||||
ln -s ~/.paths/sneak-scratch/dev ~/dev
|
ln -s ~/.paths/sneak-scratch/dev ~/dev
|
||||||
ln -s ~/.paths/sneak-sync/dotfiles/weechat ~/.weechat
|
ln -s ~/.paths/sneak-sync/dotfiles/weechat ~/.weechat
|
||||||
@ -60,3 +56,23 @@ ln -s ~/.paths/sneak-sync/ssh/config ~/.ssh/config
|
|||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
ln -s ~/.paths/sneak-sync/secrets/ssh/pixel16/id_rsa ~/.ssh/id_rsa
|
ln -s ~/.paths/sneak-sync/secrets/ssh/pixel16/id_rsa ~/.ssh/id_rsa
|
||||||
ln -s ~/.paths/sneak-sync/secrets/ssh/pixel16/id_rsa.pub ~/.ssh/id_rsa.pub
|
ln -s ~/.paths/sneak-sync/secrets/ssh/pixel16/id_rsa.pub ~/.ssh/id_rsa.pub
|
||||||
|
|
||||||
|
|
||||||
|
# vim plug preinstallation
|
||||||
|
# newline is to fix "hit ENTER" issue when it can't find the colorscheme file
|
||||||
|
# which PlugInstall is about to install
|
||||||
|
# this needs to happen after the linking above
|
||||||
|
echo "" | vim +PlugInstall +qall
|
||||||
|
vim +GoInstallBinaries +qall
|
||||||
|
vim +PlugInstall +qall
|
||||||
|
|
||||||
|
rm ~/.vimrc
|
||||||
|
ln -s ~/.paths/sneak-sync/dotfiles/vim/vimrc ~/.vimrc
|
||||||
|
|
||||||
|
mkdir -p ~/.config/nvim
|
||||||
|
ln -s ~/.paths/sneak-sync/dotfiles/vim/vimrc ~/.config/nvim/init.vim
|
||||||
|
|
||||||
|
mkdir -p ~/.local/share/terraform/plugins/registry.terraform.io/dmacvicar/libvirt/0.6.2/linux_amd64
|
||||||
|
cd ~/.local/share/terraform/plugins/registry.terraform.io/dmacvicar/libvirt/0.6.2/linux_amd64
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user