Micke Nordin 10 months ago
commit b527591834

@ -0,0 +1,7 @@
# Install mickes datta
```
# apt install git ansible
$ git clone https://code.smolnet.org/micke/datta.git
$ cd datta
$ ansible-playbook --ask-become-pass setup.yaml
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

@ -0,0 +1,48 @@
---
- name: Install packages
hosts: localhost
connection: local
become: false
tasks:
- name: Install apt packages
become: true
ansible.builtin.apt:
autoclean: true
autoremove: true
install_recommends: true
pkg:
- ansible
- curl
- fcitx5
- foot
- git
- grimshot
- lxpolkit
- network-manager-gnome
- nextcloud-desktop
- npm
- pass
- pipx
- python3-yamlfix
- sway
- sway-backgrounds
- sway-notification-center
- swayidle
- swaylock
- waybar
- wget
- wl-clipboard
- wofi
- yq
- zsh
state: latest
update_cache: true
- name: Remove apt packages
become: true
ansible.builtin.apt:
autoclean: true
autoremove: true
install_recommends: true
pkg: [nano]
state: absent
update_cache: true

@ -0,0 +1,93 @@
---
- name: Set nvim/lvim
hosts: localhost
vars:
uid: "{{ lookup('env','USER') }}"
LV_BRANCH: release-1.3/neovim-0.9
tabby_password: "{{ lookup('ansible.builtin.pipe','pass show tabby-lab.sunet.se/tabby') }}"
connection: local
become: false
tasks:
- name: Have nvim allready installed
stat:
path: /usr/local/bin/nvim
register: have_nvim
- name: Get neovim
ansible.builtin.command:
chdir: /tmp
cmd: wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
creates: /tmp/nvim-linux64.tar.gz
when: not have_nvim.stat.exists
- name: Unpack neovim
ansible.builtin.command:
chdir: /tmp
cmd: tar xf nvim-linux64.tar.gz
creates: /tmp/nvim-linux64
when: not have_nvim.stat.exists
- name: Install neovim
become: true
ansible.builtin.command:
chdir: /tmp/nvim-linux64
cmd: cp -a bin/ lib/ share/ /usr/local/
creates: [/usr/local/bin/nvim]
when: not have_nvim.stat.exists
- name: Install neovim man pages
become: true
ansible.builtin.command:
chdir: /tmp/nvim-linux64
cmd: cp -a man/ /usr/local/share/
creates: [/usr/local/share/man/man1/nvim.1]
when: not have_nvim.stat.exists
- name: Remove neovim tar ball
ansible.builtin.command:
chdir: /tmp
cmd: rm nvim-linux64.tar.gz
removes: /tmp/nvim-linux64.tar.gz
when: not have_nvim.stat.exists
- name: Remove neovim install files
ansible.builtin.command:
chdir: /tmp
cmd: rm -rf nvim-linux64/
removes: /tmp/nvim-linux64
when: not have_nvim.stat.exists
- name: Get lunarvim
ansible.builtin.command:
chdir: /tmp
cmd: wget https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh
creates: /tmp/install.sh
when: not have_nvim.stat.exists
- name: Install lunarvim
ansible.builtin.command:
cmd: bash /tmp/install.sh
creates: /home/{{ uid }}/.local/bin/lvim
when: not have_nvim.stat.exists
- name: Remove lunarvim install script
ansible.builtin.command:
cmd: rm /tmp/install.sh
removes: /tmp/install.sh
when: not have_nvim.stat.exists
- name: Make my lvim real vim
become: true
ansible.builtin.file:
src: /home/{{ uid }}/.local/bin/lvim
dest: /usr/local/bin/vim
state: link
when: not have_nvim.stat.exists
- name: Install lunarvim config
ansible.builtin.template:
src: ../templates/config.lua.j2
dest: /home/{{ uid }}/.config/lvim/config.lua
owner: '{{ uid }}'
group: '{{ uid }}'
mode: '0644'
- name: Create sources dir
ansible.builtin.file:
dest: /home/{{ uid }}/sources
state: directory
when: not have_nvim.stat.exists
- name: Get tabby plugin
ansible.builtin.command:
chdir: /home/{{ uid }}/sources/
cmd: git clone https://github.com/TabbyML/tabby.git
creates: /home/{{ uid }}/sources/tabby
when: not have_nvim.stat.exists

@ -0,0 +1,19 @@
---
- name: Set up ssh
vars:
uid: "{{ lookup('env','USER') }}"
hosts: localhost
connection: local
become: false
tasks:
- name: Create ssh dir
ansible.builtin.file:
dest: /home/{{ uid }}/.ssh
state: directory
- name: Install authorized keys
ansible.builtin.template:
src: ../templates/authorized_keys.j2
dest: /home/{{ uid }}/.ssh/authorized_keys
owner: '{{ uid }}'
group: '{{ uid }}'
mode: '0600'

@ -0,0 +1,52 @@
---
- name: Set up sway
vars:
uid: "{{ lookup('env','USER') }}"
wallpaper_path: /home/{{ uid }}/.config/wallpaper/savannah-landscape-with-acacia-trees.jpeg
hosts: localhost
connection: local
become: false
tasks:
- name: Install autotiling
ansible.builtin.command:
cmd: pipx install autotiling
creates: /home/{{ uid }}/.local/bin/autotiling
- name: Create sway dir
ansible.builtin.file:
dest: /home/{{ uid }}/.config/sway
state: directory
- name: Install sway config
ansible.builtin.template:
src: ../templates/sway_config.j2
dest: /home/{{ uid }}/.config/sway/config
owner: '{{ uid }}'
group: '{{ uid }}'
mode: '0640'
notify: Reload sway
- name: Create waybar dir
ansible.builtin.file:
dest: /home/{{ uid }}/.config/waybar
state: directory
- name: Install waybar config
ansible.builtin.template:
src: ../templates/waybar_config.j2
dest: /home/{{ uid }}/.config/waybar/config
owner: '{{ uid }}'
group: '{{ uid }}'
mode: '0640'
notify: Reload sway
- name: Create wallpaper dir
ansible.builtin.file:
dest: /home/{{ uid }}/.config/wallpaper
state: directory
# Image by upklyak on Freepik
# https://www.freepik.com/free-vector/savannah-landscape-with-acacia-trees-night-vector-cartoon-illustration-african-savanna-with-full-moon-stars-dark-sky-concept-safari-vacation-trip-travel_25694514.htm
- name: Setup wall paper
ansible.builtin.copy:
dest: '{{ wallpaper_path }}'
src: ../data/savannah-landscape-with-acacia-trees.jpeg
notify: Reload sway
handlers:
- name: Reload sway
ansible.builtin.command:
cmd: swaymsg reload

@ -0,0 +1,40 @@
---
- name: Install zsh
hosts: localhost
connection: local
become: false
vars:
uid: "{{ lookup('env','USER') }}"
tasks:
- name: Have zsh installed allready
stat:
path: /home/{{ uid }}/.oh-my-zsh
register: ohmyzsh
- name: Set zsh as default shell
become: true
ansible.builtin.command:
cmd: chsh -s /usr/bin/zsh {{ uid }}
when: not ohmyzsh.stat.exists
- name: Get Oh my zsh
ansible.builtin.command:
chdir: /tmp
cmd: wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
creates: /tmp/install.sh
when: not ohmyzsh.stat.exists
- name: Install Oh my zsh
ansible.builtin.command:
cmd: bash /tmp/install.sh
creates: /home/{{ uid }}/.oh-my-zsh
when: not ohmyzsh.stat.exists
- name: Remove Oh my zsh install script
ansible.builtin.command:
cmd: rm /tmp/install.sh
removes: /tmp/install.sh
when: not ohmyzsh.stat.exists
- name: Install zshrc
ansible.builtin.template:
src: ../templates/zshrc.j2
dest: /home/{{ uid }}/.zshrc
owner: '{{ uid }}'
group: '{{ uid }}'
mode: '0644'

@ -1,169 +1,10 @@
--- ---
- import_playbook: playbooks/apt.yaml
- import_playbook: playbooks/nvim.yaml
- import_playbook: playbooks/zsh.yaml
- import_playbook: playbooks/ssh.yaml
- import_playbook: playbooks/sway.yaml
- name: Set up my computer - name: Set up my computer
hosts: localhost hosts: localhost
vars:
uid: micke
LV_BRANCH: release-1.3/neovim-0.9
connection: local connection: local
become: false become: false
tasks:
- name: Install apt packages
become: true
ansible.builtin.apt:
autoclean: true
autoremove: true
install_recommends: true
pkg:
- curl
- fcitx5
- foot
- git
- grimshot
- lxpolkit
- network-manager-gnome
- nextcloud-desktop
- npm
- pipx
- python3-yamlfix
- sway
- sway-backgrounds
- sway-notification-center
- swayidle
- swaylock
- swaylock
- waybar
- wget
- wl-clipboard
- wofi
- yq
- zsh
state: latest
update_cache: true
- name: Remove apt packages
become: true
ansible.builtin.apt:
autoclean: true
autoremove: true
install_recommends: true
pkg:
- nano
state: absent
update_cache: true
- name: Set zsh as default shell
become: true
ansible.builtin.command:
cmd: chsh -s /usr/bin/zsh {{ uid }}
- name: Get Oh my zsh
ansible.builtin.command:
chdir: /tmp
cmd: wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
creates: /tmp/install.sh
- name: Install Oh my zsh
ansible.builtin.command:
cmd: bash /tmp/install.sh
creates: /home/{{ uid }}/.oh-my-zsh
- name: Remove Oh my zsh install script
ansible.builtin.command:
cmd: rm /tmp/install.sh
removes: /tmp/install.sh
- name: Get neovim
ansible.builtin.command:
chdir: /tmp
cmd: wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
creates: /tmp/nvim-linux64.tar.gz
- name: Unpack neovim
ansible.builtin.command:
chdir: /tmp
cmd: tar xf nvim-linux64.tar.gz
creates: /tmp/nvim-linux64
- name: Install neovim
become: true
ansible.builtin.command:
chdir: /tmp/nvim-linux64
cmd: cp -a bin/ lib/ share/ /usr/local/
creates: [/usr/local/bin/nvim]
- name: Install neovim man pages
become: true
ansible.builtin.command:
chdir: /tmp/nvim-linux64
cmd: cp -a man/ /usr/local/share/
creates: [/usr/local/share/man/man1/nvim.1]
- name: Remove neovim tar ball
ansible.builtin.command:
chdir: /tmp
cmd: rm nvim-linux64.tar.gz
removes: /tmp/nvim-linux64.tar.gz
- name: Remove neovim install files
ansible.builtin.command:
chdir: /tmp
cmd: rm -rf nvim-linux64/
removes: /tmp/nvim-linux64
- name: Get lunarvim
ansible.builtin.command:
chdir: /tmp
cmd: wget https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh
creates: /tmp/install.sh
- name: Install lunarvim
ansible.builtin.command:
cmd: bash /tmp/install.sh
creates: /home/{{ uid }}/.local/bin/lvim
- name: Remove lunarvim install script
ansible.builtin.command:
cmd: rm /tmp/install.sh
removes: /tmp/install.sh
- name: Make my lvim real vim
become: yes
ansible.builtin.file:
src: "/home/{{ uid }}/.local/bin/lvim"
dest: /usr/local/bin/vim
state: link
- name: Install zshrc
ansible.builtin.template:
src: zshrc.j2
dest: "/home/{{ uid }}/.zshrc"
owner: "{{ uid }}"
group: "{{ uid }}"
mode: '0644'
- name: Install lunarvim config
ansible.builtin.template:
src: config.lua.j2
dest: "/home/{{ uid }}/.config/lvim/config.lua"
owner: "{{ uid }}"
group: "{{ uid }}"
mode: '0644'
- name: Create sources dir
ansible.builtin.file:
dest: "/home/{{ uid }}/sources"
state: directory
- name: Get tabby plugin
ansible.builtin.command:
chdir: "/home/{{ uid }}/sources/"
cmd: git clone https://github.com/TabbyML/tabby.git
creates: "/home/{{ uid }}/sources/tabby"
- name: Create ssh dir
ansible.builtin.file:
dest: "/home/{{ uid }}/.ssh"
state: directory
- name: Install authorized keys
ansible.builtin.template:
src: authorized_keys.j2
dest: "/home/{{ uid }}/.ssh/authorized_keys"
owner: "{{ uid }}"
group: "{{ uid }}"
mode: '0600'
- name: Install autotiling
ansible.builtin.command:
cmd: pipx install autotiling
creates: "/home/{{ uid }}/.local/bin/autotiling"
- name: Create sway dir
ansible.builtin.file:
dest: "/home/{{ uid }}/.config/sway"
state: directory
- name: Install sway config
ansible.builtin.template:
src: sway_config.j2
dest: "/home/{{ uid }}/.config/sway/config"
owner: "{{ uid }}"
group: "{{ uid }}"
mode: '0640'

@ -79,21 +79,6 @@ null_ls.setup({
}, },
}) })
-- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. IMPORTANT: Requires `:LvimCacheReset` to take effect
-- ---`:LvimInfo` lists which server(s) are skipped for the current filetype
-- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server)
-- return server ~= "emmet_ls"
-- end, lvim.lsp.automatic_configuration.skipped_servers)
-- -- you can set a custom on_attach function that will be used for all the language servers
-- -- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
-- lvim.lsp.on_attach_callback = function(client, bufnr)
-- local function buf_set_option(...)
-- vim.api.nvim_buf_set_option(bufnr, ...)
-- end
-- --Enable completion triggered by <c-x><c-o>
-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-- end
-- -- linters, formatters and code actions <https://www.lunarvim.org/docs/languages#lintingformatting> -- -- linters, formatters and code actions <https://www.lunarvim.org/docs/languages#lintingformatting>
local formatters = require "lvim.lsp.null-ls.formatters" local formatters = require "lvim.lsp.null-ls.formatters"
@ -140,41 +125,6 @@ lvim.plugins = {
{ {
"rodjek/vim-puppet", "rodjek/vim-puppet",
'tpope/vim-surround', 'tpope/vim-surround',
-- {
-- 'huggingface/llm.nvim',
-- opts = {
-- api_token = "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",
-- model = "bigcode/starcoder", -- can be a model ID or an http(s) endpoint
-- tokens_to_clear = { "<|endoftext|>" }, -- tokens to remove from the model's output
-- -- parameters that are added to the request body
-- query_params = {
-- max_new_tokens = 60,
-- temperature = 0.2,
-- top_p = 0.95,
-- stop_tokens = nil,
-- },
-- -- set this if the model supports fill in the middle
-- fim = {
-- enabled = true,
-- prefix = "<fim_prefix>",
-- middle = "<fim_middle>",
-- suffix = "<fim_suffix>",
-- },
-- debounce_ms = 150,
-- accept_keymap = "<Tab>",
-- dismiss_keymap = "<S-Tab>",
-- tls_skip_verify_insecure = false,
-- -- llm-ls configuration, cf llm-ls section
-- lsp = {
-- bin_path = nil,
-- version = "0.3.0",
-- },
-- tokenizer = nil, -- cf Tokenizer paragraph
-- context_window = 8192, -- max number of tokens for the context window
-- enable_suggestions_on_startup = true,
-- enable_suggestions_on_files = "*",
-- }
-- },
{ 'tabbyml/tabby', name = 'tabby', dir = '~/sources/tabby/clients/vim', enabled = true }, { 'tabbyml/tabby', name = 'tabby', dir = '~/sources/tabby/clients/vim', enabled = true },
}, },
} }
@ -197,7 +147,7 @@ vim.api.nvim_create_autocmd("BufReadPost", {
-- }) -- })
vim.g.tabby_server_url = 'https://tabby:BogMeempAldEttEndyoravatDadnitmusfuothOl@tabby-lab.sunet.se' vim.g.tabby_server_url = 'https://tabby:{{ tabby_password }}@tabby-lab.sunet.se'
-- vim.g.tabby_server_url = 'https://tabby-test.sunet.se' -- vim.g.tabby_server_url = 'https://tabby-test.sunet.se'
vim.g.tabby_accept_binding = '<C-Right>' vim.g.tabby_accept_binding = '<C-Right>'
vim.g.tabby_dismiss_binding = '<C-Left>' vim.g.tabby_dismiss_binding = '<C-Left>'

@ -30,7 +30,7 @@ include /etc/sway/config-vars.d/*
### Output configuration ### Output configuration
# #
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill output * bg {{ wallpaper_path }} fill
# #
# Example configuration: # Example configuration:
# #
@ -244,7 +244,6 @@ exec_always {
} }
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
bindsym $mod+Shift+s mode $screenshot_mode bindsym $mod+Shift+s mode $screenshot_mode
mode $screenshot_mode { mode $screenshot_mode {
# Screenshots: # Screenshots:

@ -0,0 +1,16 @@
{
"layer": "top",
"modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": ["sway/window"],
"modules-right": ["battery", "clock", "tray"],
"sway/window": {
"max-length": 50
},
"battery": {
"format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""]
},
"clock": {
"format-alt": "{:%a, %d. %b %H:%M}"
}
}
Loading…
Cancel
Save