* 'master' of https://gitlab.com/fschl/dotfiles:
  fix some typos
  add nvidia sources for nvidia-docker
  add missing programs
  update go install
  try to use spacemacs
  add primitive script to get image tags from hub.docker.com
This commit is contained in:
Frieder Schlesier 2018-12-30 11:24:25 +01:00
commit 1c6e30dc83
9 changed files with 118 additions and 44 deletions

View File

@ -113,6 +113,23 @@ arduino() {
arduino arduino
} }
audacity(){
del_stopped audacity
# -e QT_DEVICE_PIXEL_RATIO \
docker run -d \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=unix${DISPLAY}" \
-v $HOME/Downloads:/root/Downloads \
-v $HOME/Documents:/root/Documents \
-v $HOME/Music:/root/Music \
--device /dev/snd \
--group-add audio \
--name audacity \
jess/audacity
}
bro() { bro() {
docker run -it --rm \ docker run -it --rm \
${DOCKER_REPO_PREFIX}/bropages \ ${DOCKER_REPO_PREFIX}/bropages \
@ -256,6 +273,39 @@ oxygen() {
# exit 0; # exit 0;
} }
photon() {
# del_stopped papyrus
MYUSERID=$(id --user)
echo "starting papyrus with uid"
echo $MYUSERID
# -v $BASE/.eclipse:/home/eclipse/.eclipse/ \
# -v $BASE/.gradle:/home/eclipse/.gradle/ \
# -v $BASE/.egradle:/home/eclipse/.egradle/ \
# -v $BASE/plugins:/opt/eclipse/plugins/ \
# -v $BASE/configuration:/opt/eclipse/configuration \
local BASE="/media/driveBay/Backups/eclipse-configs/oxygen_configs"
docker run -it \
--net host \
--name="photon" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
--user $MYUSERID \
--device /dev/video0 \
--group-add audio \
--group-add video \
${DOCKER_REPO_PREFIX}/eclipse:photon \
sh -c "/opt/eclipse/eclipse"
# exit 0;
}
gimp() { gimp() {
@ -375,27 +425,27 @@ java() {
} }
latex() { # latex() {
del_stopped latex # del_stopped latex
docker run -it --rm \ # docker run -it --rm \
--net host \ # --net host \
-v $(pwd):/usr/src/latex \ # -v $(pwd):/usr/src/latex \
--workdir="/usr/src/latex" \ # --workdir="/usr/src/latex" \
${DOCKER_REPO_PREFIX}/latex "$@" # ${DOCKER_REPO_PREFIX}/latex "$@"
} # }
pdflatex() { # pdflatex() {
local file=$@ # local file=$@
local cur_dir=$(pwd) # local cur_dir=$(pwd)
local FILENAME=${file%%.*} # local FILENAME=${file%%.*}
latex bash -c "latex $file; latex $file; pdflatex $file" # latex bash -c "latex $file; latex $file; pdflatex $file"
sudo rm $FILENAME.aux $FILENAME.dvi $FILENAME.out # sudo rm $FILENAME.aux $FILENAME.dvi $FILENAME.out
sudo chown ${DOCKER_REPO_PREFIX}:${DOCKER_REPO_PREFIX} $FILENAME.pdf # sudo chown ${DOCKER_REPO_PREFIX}:${DOCKER_REPO_PREFIX} $FILENAME.pdf
} # }
libreoffice() { libreoffice() {
del_stopped libreoffice del_stopped libreoffice

View File

@ -109,7 +109,7 @@ assign [class="^Firefox$"] $WS1
assign [class="^Eclipse$"] $WS5 assign [class="^Eclipse$"] $WS5
assign [class=".*\ -\ Oracle\ VM\ Virtualbox$"] $WS5 assign [class=".*\ -\ Oracle\ VM\ Virtualbox$"] $WS5
assign [class="^Thunderbird$"] $WS4 assign [class="^Thunderbird$"] $WS4
assign [class=".*KeePass.*"] $WS8 assign [class="^KeePassXC$"] $WS8
# https://faq.i3wm.org/question/3726/workspace-output-multiple-values/index.html%3Fanswer=3731.html#post-id-3731 # https://faq.i3wm.org/question/3726/workspace-output-multiple-values/index.html%3Fanswer=3731.html#post-id-3731
set $LAPTOP LVDS-1 set $LAPTOP LVDS-1

View File

@ -21,4 +21,3 @@ if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH" PATH="$HOME/bin:$PATH"
fi fi
#[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

View File

@ -38,22 +38,27 @@ values."
'( '(
better-defaults better-defaults
auto-completion auto-completion
bibtex
docker docker
emacs-lisp emacs-lisp
git git
go go
graphviz
helm helm
html html
latex latex
markdown markdown
org org
python
shell
shell-scripts
spell-checking
syntax-checking syntax-checking
version-control version-control
yaml yaml
;; (shell :variables ;; (shell :variables
;; shell-default-height 30 ;; shell-default-height 30
;; shell-default-position 'bottom) ;; shell-default-position 'bottom)
;; spell-checking
) )
;; List of additional packages that will be installed without being ;; List of additional packages that will be installed without being
;; wrapped in a layer. If you need some configuration for these ;; wrapped in a layer. If you need some configuration for these
@ -108,7 +113,7 @@ values."
;; (default 'vim) ;; (default 'vim)
dotspacemacs-editing-style 'vim dotspacemacs-editing-style 'vim
;; If non nil output loading progress in `*Messages*' buffer. (default nil) ;; If non nil output loading progress in `*Messages*' buffer. (default nil)
dotspacemacs-verbose-loading nil dotspacemacs-verbose-loading t
;; Specify the startup banner. Default value is `official', it displays ;; Specify the startup banner. Default value is `official', it displays
;; the official spacemacs logo. An integer value is the index of text ;; the official spacemacs logo. An integer value is the index of text
;; banner, `random' chooses a random text banner in `core/banners' ;; banner, `random' chooses a random text banner in `core/banners'
@ -137,12 +142,11 @@ values."
dotspacemacs-colorize-cursor-according-to-state t dotspacemacs-colorize-cursor-according-to-state t
;; Default font, or prioritized list of fonts. `powerline-scale' allows to ;; Default font, or prioritized list of fonts. `powerline-scale' allows to
;; quickly tweak the mode-line size to make separators look not too crappy. ;; quickly tweak the mode-line size to make separators look not too crappy.
;; dotspacemacs-default-font '("Source Code Pro" dotspacemacs-default-font '("Source Code Pro"
dotspacemacs-default-font '("DejaVu Sans Mono" :size 11
:size 12
:weight normal :weight normal
:width normal :width normal
:powerline-scale 0.9) :powerline-scale 0.6)
;; The leader key ;; The leader key
dotspacemacs-leader-key "SPC" dotspacemacs-leader-key "SPC"
;; The key used for Emacs commands (M-x) (after pressing on the leader key). ;; The key used for Emacs commands (M-x) (after pressing on the leader key).
@ -271,7 +275,7 @@ values."
dotspacemacs-folding-method 'evil dotspacemacs-folding-method 'evil
;; If non-nil smartparens-strict-mode will be enabled in programming modes. ;; If non-nil smartparens-strict-mode will be enabled in programming modes.
;; (default nil) ;; (default nil)
dotspacemacs-smartparens-strict-mode nil dotspacemacs-smartparens-strict-mode t
;; If non-nil pressing the closing parenthesis `)' key in insert mode passes ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
;; over any automatically added closing parenthesis, bracket, quote, etc… ;; over any automatically added closing parenthesis, bracket, quote, etc…
;; This can be temporary disabled by pressing `C-q' before `)'. (default nil) ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
@ -331,7 +335,7 @@ you should place your code here."
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(package-selected-packages '(package-selected-packages
(quote (quote
(unfill mwim web-mode tagedit slim-mode scss-mode sass-mode pug-mode less-css-mode helm-css-scss haml-mode emmet-mode company-web web-completion-data go-guru go-eldoc company-go go-mode yaml-mode smeargle orgit org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download mmm-mode markdown-toc markdown-mode magit-gitflow htmlize helm-gitignore helm-company helm-c-yasnippet gnuplot gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-gutter gh-md fuzzy evil-magit magit magit-popup git-commit ghub treepy let-alist graphql with-editor diff-hl company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete dockerfile-mode ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))) (company-auctex auctex flycheck-pos-tip pos-tip flycheck docker json-mode tablist docker-tramp json-snatcher json-reformat unfill mwim web-mode tagedit slim-mode scss-mode sass-mode pug-mode less-css-mode helm-css-scss haml-mode emmet-mode company-web web-completion-data go-guru go-eldoc company-go go-mode yaml-mode smeargle orgit org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download mmm-mode markdown-toc markdown-mode magit-gitflow htmlize helm-gitignore helm-company helm-c-yasnippet gnuplot gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-gutter gh-md fuzzy evil-magit magit magit-popup git-commit ghub treepy let-alist graphql with-editor diff-hl company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete dockerfile-mode ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async))))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.

View File

@ -22,4 +22,4 @@ bins:
done done
bootstrap: bootstrap:
bash ./install.sh bash ./install.sh base

View File

@ -72,19 +72,19 @@
**** Backup Secure Keys **** Backup Secure Keys
- get 2 USB Thumb drives - get 2 USB thumb drives
- on each, create 2 partitions (ext4, you will never use them on any windows device anyway) - on each, create 2 partitions (ext4, you will never use them on any windows device anyway)
- https://wiki.archlinux.org/index.php/Dm-crypt/Device_Encryption - https://wiki.archlinux.org/index.php/Dm-crypt/Device_Encryption
Nowadays it's mere chance to find a USB Thumb Drive with less than 4GB storage. Nowadays it's mere chance to find a USB thumb drive with less than 4GB storage.
Though, you want a dedicated Drive to transport your password database, ssh keys and GPG keys. Though, you want a dedicated drive to transport your password database, ssh keys and GPG keys.
Those dont require more than a couple MB. So what to do with the remaining space? Those don't require more than a couple MB. So what to do with the remaining space?
Scenarios: Scenarios:
- You visit friends, only have your keys with you and you have to check your mails, assist a colleague - You visit friends, only have your keys with you and you have to check your mails, assist a colleague
in some network/ops emergency or just securely look up some important information. in some network/ops emergency or just securely look up some confidential information.
- A family member calls, their HDD just died and you are asked to quickly help out on recovery. - A family member calls: their HDD just died and you are asked to quickly help out on recovery.
Boot into a safe environment, having all your credentials available in a secure manner. Boot into a safe environment, having all your credentials available in a secure manner.
Have a bootable forensics toolbox around to quickly get going in a familiar setup. Have a bootable forensics toolbox around to quickly get going in a familiar setup.
@ -109,5 +109,5 @@
- [ ] explain setup, ideas, practises - [ ] explain setup, ideas, practises
- [ ] add HOWTO - [ ] add HOWTO
- [ ] seperate sources.list setup for server/desktop - [ ] seperate sources.list setup for server/desktop/laptop
- [ ] move to ansible for easier modularization of setup - [ ] move to ansible for easier modularization of setup

8
bin/dtags Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
set +x
set +e
set +o pipefail
image=$1
curl -s "https://registry.hub.docker.com/v2/repositories/${image}/tags/" | jq -r '."results"[]["name"]'

View File

@ -3,6 +3,7 @@
#: lmount #: lmount
#: open + mount luks encrypted storage #: open + mount luks encrypted storage
#: #:
#: https://unix.stackexchange.com/questions/445652/how-to-mount-and-de-encrypt-a-luks-encrypted-partition-to-recover-files
set -e set -e
set -o pipefail set -o pipefail
set -x set -x
@ -30,10 +31,10 @@ main() {
fi fi
echo "Opening ${device} as ${luksname}" echo "Opening ${device} as ${luksname}"
sudo cryptsetup open ${device} ${luksname} cryptsetup open ${device} ${luksname}
echo " ... mounting to ${target}" echo " ... mounting to ${target}"
sudo mount /dev/mapper/${luksname} ${target} mount /dev/mapper/${luksname} ${target}
echo "done..." echo "done..."
} }

View File

@ -53,6 +53,7 @@ base_applications() {
ca-certificates \ ca-certificates \
cmake \ cmake \
coreutils \ coreutils \
cryptsetup \
curl \ curl \
dnsutils \ dnsutils \
gcc \ gcc \
@ -74,6 +75,7 @@ base_applications() {
tar \ tar \
tmux \ tmux \
tree \ tree \
unzip \
vim \ vim \
zip \ zip \
--no-install-recommends --no-install-recommends
@ -136,6 +138,17 @@ no_suspend() {
$SUDO systemctl restart systemd-logind.service $SUDO systemctl restart systemd-logind.service
} }
install_nvidia_docker() {
# get latest driver from https://www.nvidia.com/object/unix.html
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)#prerequisites
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
}
install_i3() { install_i3() {
echo "update and installing i3wm and some tools..." echo "update and installing i3wm and some tools..."
@ -291,15 +304,12 @@ get_dotfiles() {
# TODO: propbably dont really need the whole repo # TODO: propbably dont really need the whole repo
git clone https://gitlab.com/fschl/dockerfiles.git "/home/$USERNAME/dockerfiles" git clone https://gitlab.com/fschl/dockerfiles.git "/home/$USERNAME/dockerfiles"
# TODO: on the server? really?
git clone https://gitlab.com/fschl/.emacs.d.git "/home/$USERNAME/.emacs.d"
) )
} }
# install/update golang from source # install/update golang from source
install_golang() { install_golang() {
export GO_VERSION=1.7.4 export GO_VERSION=1.11.2
export GO_SRC=/usr/local/go export GO_SRC=/usr/local/go
# if we are passing the version # if we are passing the version
@ -319,10 +329,12 @@ install_golang() {
go get github.com/golang/lint/golint go get github.com/golang/lint/golint
go get golang.org/x/tools/cmd/cover go get golang.org/x/tools/cmd/cover
go get golang.org/x/review/git-codereview go get golang.org/x/review/git-codereview
go get golang.org/x/tools/cmd/goimports
go get golang.org/x/tools/cmd/gorename
go get github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v golang.org/x/tools/cmd/goimports
go get github.com/mdempsky/gocode
#done #done
) )
} }
@ -415,7 +427,7 @@ main() {
;; ;;
go) go)
install_golang install_golang
get_public_go_projects # get_public_go_projects
;; ;;
esac esac
} }