Compare commits

...

15 Commits

10 changed files with 455 additions and 49 deletions

View File

@@ -27,6 +27,8 @@ users:
environment:
MACHINE_HAS_NEXTCLOUD: "true"
has_yubikey: true
repositories:
- personal_projects
screen:
1: DisplayPort-0

View File

@@ -26,6 +26,7 @@ users:
MACHINE_HAS_ELEMENT: "false"
MACHINE_HAS_KEEPASSX: "true"
has_yubikey: false
repositories: []
- name: hannes-private
group: hannes-private
vt: 2
@@ -54,6 +55,8 @@ users:
MACHINE_HAS_ELEMENT: "true"
MACHINE_HAS_KEEPASSX: "false"
has_yubikey: true
repositories:
- personal_projects
screen:
1: DP-1-1

View File

@@ -26,6 +26,7 @@ users:
MACHINE_HAS_ELEMENT: "false"
MACHINE_HAS_KEEPASSX: "true"
has_yubikey: false
repositories: []
- name: hannes-private
group: hannes-private
vt: 2
@@ -54,6 +55,8 @@ users:
MACHINE_HAS_ELEMENT: "true"
MACHINE_HAS_KEEPASSX: "false"
has_yubikey: true
repositories:
- personal_projects
screen:
1: DP-1-1

317
grm/personal_projects.toml Normal file
View File

@@ -0,0 +1,317 @@
[[trees]]
root = "~/projects"
[[trees.repos]]
name = "misc/rbackupd"
[[trees.repos.remotes]]
name = "github"
url = "git@github.com:hakoerber/rbackupd.git"
type = "ssh"
[[trees.repos]]
name = "misc/cobbler-kickstart"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/cobbler-kickstart.git"
type = "ssh"
[[trees.repos]]
name = "misc/postfix-grok-patterns"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/postfix-grok-patterns.git"
type = "ssh"
[[trees.repos.remotes]]
name = "upstream"
url = "https://github.com/whyscream/postfix-grok-patterns.git"
type = "https"
[[trees.repos]]
name = "misc/syncrepo"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/syncrepo.git"
type = "ssh"
[[trees.repos]]
name = "misc/pkgbuilds"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/pkgbuilds.git"
type = "ssh"
[[trees.repos]]
name = "misc/openvpn-helper"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/openvpn-helper.git"
type = "ssh"
[[trees.repos]]
name = "misc/wifiqr"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/wifi-qr.git"
type = "ssh"
[[trees.repos]]
name = "misc/checkconn"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/checkconn.git"
type = "ssh"
[[trees.repos]]
name = "misc/xftwidth"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/xftwidth.git"
type = "ssh"
[[trees.repos.remotes]]
name = "upstream"
url = "https://github.com/vixus0/xftwidth"
type = "https"
[[trees.repos]]
name = "x-hidecursor"
remotes = []
[[trees.repos]]
name = "git-repo-manager"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/git-repo-manager.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/git-repo-manager.git"
type = "ssh"
[[trees.repos]]
name = "talks"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/talks.git"
type = "ssh"
[[trees.repos]]
name = "container/openresty-oidc"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/container/openresty-oidc.git"
type = "ssh"
[[trees.repos]]
name = "container/acimaker"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/acimaker.git"
type = "ssh"
[[trees.repos.remotes]]
name = "private"
url = "git@code.sys.haktec.de:container/acimaker.git"
type = "ssh"
[[trees.repos]]
name = "container/drone-kaniko"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/container/drone-kaniko.git"
type = "ssh"
[[trees.repos.remotes]]
name = "upstream"
url = "https://github.com/banzaicloud/drone-kaniko"
type = "https"
[[trees.repos]]
name = "container/roundcube"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/container/roundcube.git"
type = "ssh"
[[trees.repos]]
name = "container/mycloud-homer"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/container/mycloud-homer.git"
type = "ssh"
[[trees.repos]]
name = "projects/misc/cobbler-kickstart"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/cobbler-kickstart.git"
type = "ssh"
[[trees.repos]]
name = "finance-auto-import"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/finance-auto-import.git"
type = "ssh"
[[trees.repos]]
name = "guitar_practice"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com/hakoerber/guitar-practice.git"
type = "ssh"
[[trees.repos]]
name = "picture-cleaner"
remotes = []
[[trees.repos]]
name = "mycloud"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/mycloud.git"
type = "ssh"
[[trees.repos]]
name = "resume"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/resume.git"
type = "ssh"
[[trees.repos]]
name = "lea-michael-hochzeit"
remotes = []
[[trees.repos]]
name = "builddoc"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/builddoc.git"
type = "ssh"
[[trees.repos]]
name = "blog"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/blog.hkoerber.de.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/blog.git"
type = "ssh"
[[trees.repos]]
name = "fizzbuzz"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/fizzbuzz.git"
type = "ssh"
[[trees.repos]]
name = "ggj/2018/the-lost-son"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com:niklas-heer/the-lost-son.git"
type = "ssh"
[[trees.repos]]
name = "ggj/2019-claim-your-world"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@github.com:theintroverts/claim-your-world.git"
type = "ssh"
[[trees.repos]]
name = "prometheus-restic-backblaze"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/prometheus-restic-backblaze.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/container/prometheus-restic-backblaze.git"
type = "ssh"
[[trees.repos]]
name = "dotfiles"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/dotfiles.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/dotfiles.git"
type = "ssh"
[[trees.repos]]
name = "packager"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/packager.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/packager.git"
type = "ssh"
[[trees.repos]]
name = "time-tracking"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/time-tracking.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hannes/time-tracking.git"
type = "ssh"
[[trees.repos]]
name = "aws-glacier-backup"
[[trees.repos.remotes]]
name = "github"
url = "ssh://git@github.com/hakoerber/aws-glacier-backup.git"
type = "ssh"
[[trees.repos.remotes]]
name = "origin"
url = "ssh://git@code.hkoerber.de:2222/hakoerber/aws-glacier-backup.git"
type = "ssh"

View File

@@ -141,7 +141,11 @@ packages:
ubuntu: ["ghostscript", "enscript"]
archlinux: ["ghostscript", "enscript"]
pandoc:
ubuntu: ["pandoc"]
ubuntu:
- pandoc
- texlive
- python3-sphinxcontrib.svg2pdfconverter # for html to pdf conversions
- texlive-latex-extra
archlinux: ["pandoc", "texlive-core", "texlive-fontsextra", "texlive-latexextra"]
libvirt:
ubuntu: ["virt-manager", "libvirt-daemon"]
@@ -305,8 +309,8 @@ packages:
dnf:
ubuntu: []
archlinux: []
rust:
ubuntu: ["rustc", "cargo"]
rustup:
ubuntu: []
archlinux: ["rustup"]
musescore:
ubuntu: ["musescore3"]
@@ -371,6 +375,9 @@ packages:
ncdu:
ubuntu: ["ncdu"]
archlinux: ["ncdu"]
font-utils:
ubuntu: ["woff-tools", "woff2"]
archinux: ["woff2"]
remove:
mousepad:
@@ -394,3 +401,6 @@ packages:
discord:
ubuntu: []
archlinux: ["discord"]
rust:
ubuntu: ["rustc", "cargo"]
archlinux: ["rust"]

View File

@@ -10,6 +10,12 @@
tags:
- always
- name: read variables
include_vars:
file: variables.yml
tags:
- always
- set_fact:
distro: "{{ ansible_distribution|lower }}"
tags:
@@ -394,47 +400,63 @@
system: true
become: true
- name: add rustup stable toolchain
command: rustup default stable
- name: install rustup on ubuntu
shell: curl https://sh.rustup.rs -sSf | sh -s -- -y
args:
creates: /var/lib/rust_build/.cargo/bin/rustup
become: true
become_user: rust_build
when: distro == 'ubuntu'
- name: add rustup stable toolchain
shell: . ~/.cargo/env && rustup toolchain install stable && rustup default stable
become: true
become_user: rust_build
changed_when: false
- name: update rustup stable toolchain
command: rustup update stable
shell: . ~/.cargo/env && rustup update stable
become: true
become_user: rust_build
changed_when: false
- name: set crate list
set_fact:
cargo_crate_list:
- crate: just
binary: just
version: 0.10.2
- crate: ripgrep
binary: rg
version: 13.0.0
- crate: fd-find
binary: fd
version: 8.2.1
- crate: bat
binary: bat
version: 0.18.3
- crate: exa
binary: exa
version: 0.10.1
- crate: watchexec-cli
binary: watchexec
version: 1.17.1
- name: add rustup nightly toolchain
shell: . ~/.cargo/env && rustup toolchain install nightly
become: true
become_user: rust_build
changed_when: false
- name: build rust crates
- name: update rustup nightly toolchain
shell: . ~/.cargo/env && rustup update nightly
become: true
become_user: rust_build
changed_when: false
- name: build rust crates from crates.io
shell: |
cargo install --version {{ item.version }} {{ item.crate }}
mv /var/lib/rust_build/.cargo/bin/{{ item. binary }} /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }}
set -o errexit
. ~/.cargo/env
rustup run {{ item.toolchain|default('stable') }} cargo install --version {{ item.version }} {{ item.crate }}
mv /var/lib/rust_build/.cargo/bin/{{ item.binary }} /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }}
args:
creates: /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }}
become: true # do not build as root!
become_user: rust_build
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'crates.io'
- name: build rust crates from git
shell: |
set -o errexit
. ~/.cargo/env
rustup run {{ item.toolchain|default('stable') }} cargo install --git {{ item.url }} --branch {{ item.branch }}
args:
creates: /var/lib/rust_build/.cargo/bin/{{ item.binary }}
become: true # do not build as root!
become_user: rust_build
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'git'
- name: create target directory
file:
@@ -445,7 +467,7 @@
mode: '0775'
become: true
- name: move binaries
- name: move binaries for crates.io
shell: |
mv /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }} /usr/local/lib/binaries/{{ item.binary }}.{{ item.version }}
ln -s /usr/local/lib/binaries/{{ item.binary }}.{{ item.version }} /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }}
@@ -453,8 +475,19 @@
creates: /usr/local/lib/binaries/{{ item.binary }}.{{ item.version }}
become: true
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'crates.io'
- name: link binaries
- name: move binaries for git
shell: |
mv /var/lib/rust_build/.cargo/bin/{{ item.binary }} /usr/local/lib/binaries/{{ item.binary }}
ln -s /usr/local/lib/binaries/{{ item.binary }} /var/lib/rust_build/.cargo/bin/{{ item.binary }}
args:
creates: /usr/local/lib/binaries/{{ item.binary }}
become: true
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'git'
- name: link binaries for crates.io
file:
src: /usr/local/lib/binaries/{{ item.binary }}.{{ item.version }}
dest: /usr/local/bin/{{ item.binary }}
@@ -464,14 +497,23 @@
force: true
become: true
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'crates.io'
- name: link binaries for git
file:
src: /usr/local/lib/binaries/{{ item.binary }}
dest: /usr/local/bin/{{ item.binary }}
owner: root
group: root
state: link
force: true
become: true
loop: "{{ cargo_crate_list }}"
when: item.source|default('crates.io') == 'git'
tags:
- rust_binaries
- block:
- name: set go version
set_fact:
go_version: "1.17.1"
- name: stat go target directory
stat:
path: /usr/local/go-v{{ go_version }}
@@ -686,6 +728,7 @@
become: true
become_user: "{{ user.name }}"
with_items: "{{ users }}"
no_log: True # less spam
loop_control:
loop_var: user
tags:

View File

@@ -327,7 +327,6 @@
- name: update vim plugins
command: sh -c 'PATH=/usr/local/go/bin:$PATH GOROOT=/usr/local/go GOPATH=/home/{{ user.name }}/.go /usr/bin/nvim --headless +PlugUpdate +qall'
changed_when: false
register: vim_plugin_update
changed_when: vim_plugin_update.stderr != ""
tags: [update]
@@ -365,6 +364,14 @@
tags: [update]
tags: [vim-plugins]
- block:
- name: install rustup on ubuntu
shell: curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path
args:
creates: ~/.cargo/bin/rustup
when: distro == 'ubuntu'
tags: [rust]
- block:
- name: create firefox directories
firefox_profile:
@@ -469,10 +476,6 @@
- firefox
- block:
- name: set portfolio performance version
set_fact:
portfolio_performace_version: "0.55.0"
- name: look of current installation
stat:
path: /home/{{ user.name }}/.opt/portfolio-performance-{{ portfolio_performace_version }}
@@ -534,10 +537,6 @@
- portfolio-performance
- block:
- name: set kubectl version
set_fact:
kubectl_version: v1.22.2
- name: get current stable version
uri:
url: https://storage.googleapis.com/kubernetes-release/release/stable.txt
@@ -580,10 +579,6 @@
- kubectl
- block:
- name: set terraform version
set_fact:
terraform_version: 1.0.2
- name: stat current terraform binary
stat:
path: "/home/{{ user.name }}/.opt/terraform-v{{ terraform_version }}"
@@ -627,6 +622,7 @@
- name: get terraform version info
command: /home/{{ user.name }}/.optbin/terraform version -json
register: terraform_version_output
check_mode: false
changed_when: false
- name: parse terraform version output

28
variables.yml Normal file
View File

@@ -0,0 +1,28 @@
terraform_version: 1.0.2
kubectl_version: v1.22.3
go_version: "1.17.1"
portfolio_performace_version: "0.55.0"
cargo_crate_list:
- crate: just
binary: just
version: 0.10.2
- crate: ripgrep
binary: rg
version: 13.0.0
- crate: fd-find
binary: fd
version: 8.2.1
- crate: bat
binary: bat
version: 0.18.3
- crate: exa
binary: exa
version: 0.10.1
- crate: watchexec-cli
binary: watchexec
version: 1.17.1
- url: https://github.com/hakoerber/git-repo-manager
binary: grm
branch: master
source: git
toolchain: nightly

View File

@@ -71,6 +71,8 @@ Plug 'evanleck/vim-svelte', {'branch': 'main'}
Plug 'evanleck/vim-svelte', {'branch': 'main'}
Plug 'cespare/vim-toml', { 'branch': 'main' }
call plug#end()
filetype plugin indent on
@@ -318,6 +320,7 @@ endfunction
autocmd BufWritePre * :call DeleteTrailingWS()
autocmd FileType yaml set shiftwidth=2
autocmd FileType toml set shiftwidth=2
set completeopt-=preview
let g:ycm_add_preview_to_completeopt = 0

View File

@@ -3,6 +3,7 @@ source /etc/profile
_path=(
"$HOME/bin"
"$HOME/.optbin"
"$HOME/.cargo/bin"
)
for part in ${_path[@]} ; do