From 66b7a0ee5f5b7670daee65baacc2a681942ad470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?c=C4=83t=C4=83lin?= Date: Sat, 7 Oct 2023 14:46:31 +0200 Subject: [PATCH] bunch of stuff --- .dotter/cache.toml | 36 +++++++++ .dotter/global.toml | 2 +- .gitignore | 3 +- ansible/main.yml | 6 ++ ansible/roles/packages/tasks/debian.yml | 6 ++ ansible/roles/packages/tasks/main.yml | 30 +++++++ ansible/roles/packages/tasks/python.yml | 13 +++ ansible/roles/packages/tasks/rhel.yaml | 11 +++ ansible/roles/packages/tasks/rust.yml | 36 +++++++++ fish/conf.d/aliases.fish | 2 +- fish/conf.d/functions.fish | 14 ++++ garden | 48 ++++++++++++ gitconfig | 4 +- packages.yml | 100 ------------------------ sshconfig | 38 +++++++-- vimrc | 1 + 16 files changed, 239 insertions(+), 111 deletions(-) create mode 100644 .dotter/cache.toml create mode 100644 ansible/main.yml create mode 100644 ansible/roles/packages/tasks/debian.yml create mode 100644 ansible/roles/packages/tasks/main.yml create mode 100644 ansible/roles/packages/tasks/python.yml create mode 100644 ansible/roles/packages/tasks/rhel.yaml create mode 100644 ansible/roles/packages/tasks/rust.yml create mode 100644 garden delete mode 100644 packages.yml diff --git a/.dotter/cache.toml b/.dotter/cache.toml new file mode 100644 index 0000000..c15511c --- /dev/null +++ b/.dotter/cache.toml @@ -0,0 +1,36 @@ +[symlinks] +"astrovim/init.lua" = "/home/catalin/.config/nvim/lua/user/init.lua" +"fish/conf.d/aliases.fish" = "/home/catalin/.config/fish/conf.d/aliases.fish" +"fish/conf.d/common.fish" = "/home/catalin/.config/fish/conf.d/common.fish" +"fish/conf.d/functions.fish" = "/home/catalin/.config/fish/conf.d/functions.fish" +"fish/conf.d/kubectl.fish" = "/home/catalin/.config/fish/conf.d/kubectl.fish" +"fish/conf.d/paths.fish" = "/home/catalin/.config/fish/conf.d/paths.fish" +garden = "/home/catalin/.config/garden/garden.yaml" +gitconfig = "/home/catalin/.gitconfig" +"halig/halig.yml" = "/home/catalin/.config/halig/halig.yml" +ideavim = "/home/catalin/.ideavimrc" +k9smocha = "/home/catalin/.config/k9s/skin.yml" +kermit = "/home/catalin/.config/kermit.conf" +"rofi/config/askpass.rasi" = "/home/catalin/.config/rofi/config/askpass.rasi" +"rofi/config/bluetooth.rasi" = "/home/catalin/.config/rofi/config/bluetooth.rasi" +"rofi/config/colors.rasi" = "/home/catalin/.config/rofi/config/colors.rasi" +"rofi/config/confirm.rasi" = "/home/catalin/.config/rofi/config/confirm.rasi" +"rofi/config/font.rasi" = "/home/catalin/.config/rofi/config/font.rasi" +"rofi/config/launcher.rasi" = "/home/catalin/.config/rofi/config/launcher.rasi" +"rofi/config/mpd.rasi" = "/home/catalin/.config/rofi/config/mpd.rasi" +"rofi/config/network.rasi" = "/home/catalin/.config/rofi/config/network.rasi" +"rofi/config/networkmenu.rasi" = "/home/catalin/.config/rofi/config/networkmenu.rasi" +"rofi/config/powermenu.rasi" = "/home/catalin/.config/rofi/config/powermenu.rasi" +"rofi/config/runner.rasi" = "/home/catalin/.config/rofi/config/runner.rasi" +"rofi/config/screenshot.rasi" = "/home/catalin/.config/rofi/config/screenshot.rasi" +sshconfig = "/home/catalin/.ssh/config" +topgrade = "/home/catalin/.config/topgrade.toml" +"utils/asciify.sh" = "/home/catalin/.local/bin/dotutils/asciify.sh" +"utils/asciify.txt" = "/home/catalin/.local/bin/dotutils/asciify.txt" +"utils/curl2tar.sh" = "/home/catalin/.local/bin/dotutils/curl2tar.sh" +"utils/launcher" = "/home/catalin/.local/bin/dotutils/launcher" +"utils/set-monitors.sh" = "/home/catalin/.local/bin/dotutils/set-monitors.sh" +"utils/toggle-keyboard-layout.sh" = "/home/catalin/.local/bin/dotutils/toggle-keyboard-layout.sh" +vimrc = "/home/catalin/.vimrc" + +[templates] diff --git a/.dotter/global.toml b/.dotter/global.toml index 498527f..8acbb48 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -11,4 +11,4 @@ sshconfig = "~/.ssh/config" gitconfig = "~/.gitconfig" rofi = "~/.config/rofi" topgrade = "~/.config/topgrade.toml" -cheat = "~/.config/cheat" +garden = "~/.config/garden/garden.yaml" diff --git a/.gitignore b/.gitignore index a9117be..1377554 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -.dotter/cache.toml -.dotter/cache +*.swp diff --git a/ansible/main.yml b/ansible/main.yml new file mode 100644 index 0000000..611e1d9 --- /dev/null +++ b/ansible/main.yml @@ -0,0 +1,6 @@ +--- +- hosts: localhost + gather_facts: true + tasks: + - import_role: + name: packages diff --git a/ansible/roles/packages/tasks/debian.yml b/ansible/roles/packages/tasks/debian.yml new file mode 100644 index 0000000..6eceb36 --- /dev/null +++ b/ansible/roles/packages/tasks/debian.yml @@ -0,0 +1,6 @@ +- name: Install Debian packages + package: + name: + - qalculate-gtk + - rofi-dev + state: present diff --git a/ansible/roles/packages/tasks/main.yml b/ansible/roles/packages/tasks/main.yml new file mode 100644 index 0000000..4bb59e7 --- /dev/null +++ b/ansible/roles/packages/tasks/main.yml @@ -0,0 +1,30 @@ +- name: Install os-agnostic packages + become: yes + ansible.builtin.package: + name: + - git + - tmux + - python3-pip + - fish + - rofi + - automake + - libtool + state: present + +- name: Install Debian packages + become: yes + when: ansible_os_family == "Debian" + import_tasks: debian.yml + +- name: Install RHEL packages + become: yes + when: ansible_os_family in ["RedHat", "Nobara"] + import_tasks: rhel.yaml + +- name: Install Rust packages + import_tasks: rust.yml + +- name: Install Python packages + import_tasks: python.yml + # + diff --git a/ansible/roles/packages/tasks/python.yml b/ansible/roles/packages/tasks/python.yml new file mode 100644 index 0000000..d27b3a1 --- /dev/null +++ b/ansible/roles/packages/tasks/python.yml @@ -0,0 +1,13 @@ +--- +- name: Install pipx packages + community.general.pipx: + name: "{{ item }}" + state: latest + loop: + - yt-dlp + - pdm + - poetry + - halig + - pre-commit + - ruff + - thefuck diff --git a/ansible/roles/packages/tasks/rhel.yaml b/ansible/roles/packages/tasks/rhel.yaml new file mode 100644 index 0000000..abeba96 --- /dev/null +++ b/ansible/roles/packages/tasks/rhel.yaml @@ -0,0 +1,11 @@ +--- +- name: Install RHEL packages + package: + name: + - rofi-devel + - qalculate + - automake + - libtool + - cheat + state: present + diff --git a/ansible/roles/packages/tasks/rust.yml b/ansible/roles/packages/tasks/rust.yml new file mode 100644 index 0000000..b0863a8 --- /dev/null +++ b/ansible/roles/packages/tasks/rust.yml @@ -0,0 +1,36 @@ +--- +# rust install, shamelessly stolen from https://waylonwalker.com/install-rust/ +- name: Check if cargo is installed + shell: ls ~/.cargo + register: cargo_exists + ignore_errors: yes + +- name: Download rust installer + when: cargo_exists is failed + get_url: + url: https://sh.rustup.rs + dest: /tmp/sh.rustup.rs + mode: '0755' + force: 'yes' + tags: + - rust + +- name: Install rust and cargo + when: cargo_exists is failed + shell: /tmp/sh.rustup.rs -y + tags: + - rust + +- name: Install cargo packages + community.general.cargo: + name: + - git-delta + - dotter + - bottom + - git-cliff + - topgrade + - bat + - cargo-update + - cargo-cache + - garden-tools + state: latest diff --git a/fish/conf.d/aliases.fish b/fish/conf.d/aliases.fish index d41b3fd..55b473d 100644 --- a/fish/conf.d/aliases.fish +++ b/fish/conf.d/aliases.fish @@ -10,6 +10,6 @@ alias v 'vim' alias nv 'nvim' alias m 'make' alias future-commit 'git commit --date (echo (date -d +7hours))' -alias scp 'rsync' +alias scp 'rsync -avz' alias rs 'rsync' alias vihosts 'sudo vim /etc/hosts' diff --git a/fish/conf.d/functions.fish b/fish/conf.d/functions.fish index faf21ab..e32f0d5 100644 --- a/fish/conf.d/functions.fish +++ b/fish/conf.d/functions.fish @@ -25,3 +25,17 @@ function gen-secret openssl rand -hex $argv[1] end + +function ffmerge + set input_videos + + for arg in $argv + if test (string sub -l 4 $arg) = ".mp4" + set input_videos $input_videos -i $arg + else + set output $arg + end + end + + ffmpeg $input_videos -filter_complex (printf "[%s] " $input_videos | sed 's/ -i / concat=n=%d:v=1:a=1 [v] [a]/') -map "[v]" -map "[a]" $output +end diff --git a/garden b/garden new file mode 100644 index 0000000..11fc850 --- /dev/null +++ b/garden @@ -0,0 +1,48 @@ +--- +garden: + root: ~/dev +commands: + add-all: git add --update + diff: GIT_PAGER=delta git diff + lol: 'git log --decorate --graph --oneline "$@" && echo' + commit: git commit -a + push: git push + status: + - git status + - git branch + +trees: + backups: + url: "git@gitlab.com:fukurokuju/backups" + path: ~/dev/homelab/backups + portainer: + url: "git@gitlab.com:fukurokuju/portainer.git" + path: ~/dev/homelab/portainer + vms: + url: "git@gitlab.com:fukurokuju/vm-foundation.git" + path: ~/dev/homelab/vm-foundation + argo: + url: "git@gitlab.com:fukurokuju/k3s/argo-apps.git" + path: ~/dev/homelab/k3s/argo-apps + secrets: + url: "git@gitlab.com:fukurokuju/k3s/secrets.git" + path: ~/dev/homelab/k3s/secrets + services: + url: "git@gitlab.com:fukurokuju/k3s/services.git" + path: ~/dev/homelab/k3s/services + +groups: + hlab: + - homelab/backups + - homelab/portainer + - homelab/vm-foundation + k3s: + - homelab/k3s/argo-apps + - homelab/k3s/secrets + - homelab/k3s/services + +gardens: + homelab: + groups: + - hlab-misc + - hlab-k3s diff --git a/gitconfig b/gitconfig index d4d4721..20c114c 100644 --- a/gitconfig +++ b/gitconfig @@ -14,4 +14,6 @@ [diff] colorMoved = default [commit] - gpgsign = true + gpgsign = true +[push] + autoSetupRemote = true diff --git a/packages.yml b/packages.yml deleted file mode 100644 index 76464a5..0000000 --- a/packages.yml +++ /dev/null @@ -1,100 +0,0 @@ -- name: Install packages - hosts: localhost - gather_facts: true - - - tasks: - - name: Install system packages - become: yes - ansible.builtin.package: - name: - - git - - tmux - - python3-pip - - fish - - rofi - - rofi-devel - - qalculate - - automake - - libtool - - cheat - state: present - - # rust install, shamelessly stolen from https://waylonwalker.com/install-rust/ - - name: Check if cargo is installed - shell: ls ~/.cargo - register: cargo_exists - ignore_errors: yes - - - name: Download rust installer - when: cargo_exists is failed - get_url: - url: https://sh.rustup.rs - dest: /tmp/sh.rustup.rs - mode: '0755' - force: 'yes' - tags: - - rust - - - name: Install rust and cargo - when: cargo_exists is failed - shell: /tmp/sh.rustup.rs -y - tags: - - rust - - - name: Install cargo packages - community.general.cargo: - name: - - git-delta - - dotter - - bottom - - git-cliff - - topgrade - - bat - - cargo-update - - cargo-cache - state: latest - - - name: Install pipx packages - community.general.pipx: - name: "{{ item }}" - state: latest - loop: - - yt-dlp - - pdm - - poetry - - halig - - pre-commit - - ruff - - thefuck - - - name: Download cheatsheets repo - tags: - - cheat - ansible.builtin.git: - repo: https://github.com/cheat/cheatsheets.git - dest: /tmp/cheatsheets - version: master - - - name: Create cheat cheatsheets directory - tags: - - cheat - ansible.builtin.file: - path: ~/.config/cheat/cheatsheets/community - state: directory - mode: '0755' - - - name: Copy cheatsheets to config - tags: - - cheat - ansible.builtin.copy: - src: /tmp/cheatsheets/ - dest: ~/.config/cheat/cheatsheets/community - remote_src: yes - - - name: Remove temporary directory - tags: - - cheat - ansible.builtin.file: - path: /tmp/cheatsheets - state: absent diff --git a/sshconfig b/sshconfig index f44d559..ac81504 100644 --- a/sshconfig +++ b/sshconfig @@ -16,13 +16,19 @@ Host fuku.containers Host fuku.sandalphon HostName sandalphon.fuku - User pi + User root IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes Host fuku.zeruel HostName zeruel.fuku - User pi + User catalin + IdentityFile ~/.ssh/id_ed25519 + IdentitiesOnly yes + +Host fuku.ireul + HostName ireul.fuku + User catalin IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes @@ -66,11 +72,31 @@ Host fuku.nginx Host fuku.mail HostName mail.fukurokuju.dev IdentityFile ~/.ssh/id_ed25519 - User root + User root -Host fuku.k3s - HostName k3s.fuku - User catalin +Host fuku.master1 + HostName master1.ramiel.fuku + IdentityFile ~/.ssh/id_ed25519 + User ci + +Host fuku.master2 + HostName master2.ramiel.fuku + IdentityFile ~/.ssh/id_ed25519 + User ci + +Host fuku.master3 + HostName master3.ramiel.fuku + IdentityFile ~/.ssh/id_ed25519 + User ci + +Host fuku.agent1 + HostName agent1.zeruel.fuku + IdentityFile ~/.ssh/id_ed25519 + User ci + +Host fuku.qdevice + HostName qdevice.fuku + User root Host fuku.fz HostName fz.fuku diff --git a/vimrc b/vimrc index 06e3235..50655b9 100644 --- a/vimrc +++ b/vimrc @@ -15,6 +15,7 @@ set nowrap set incsearch set ignorecase set smartcase +set clipboard=unnamedplus set showcmd set showmode set showmatch