Compare commits
29 Commits
v0.0.3
...
feature/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c210623de9 | ||
|
|
f1c0d9ced5 | ||
|
|
cc828c381b | ||
|
|
58cde2e721 | ||
| 886c179aef | |||
|
|
27ee0b81c3 | ||
|
|
1d1f63a451 | ||
|
|
7be79aace7 | ||
|
|
75c9903022 | ||
| 251d8ef80d | |||
| bf98ed5fb9 | |||
|
|
bc5e78af57 | ||
| cc56ca800d | |||
| f9616acc97 | |||
|
|
0238308ca9 | ||
| b940f75259 | |||
|
|
387748e89b | ||
| fd5a511c71 | |||
|
|
b56d2ae42e | ||
| 69b7d89ee8 | |||
|
|
405f855298 | ||
| 66282f686d | |||
|
|
aa13febadf | ||
|
|
eeccd013dc | ||
| 907c44472c | |||
|
|
b1c5de4450 | ||
|
|
b5a1cb646a | ||
|
|
0ee97a7c72 | ||
| 6b7ebb1f42 |
@@ -1,30 +1,24 @@
|
|||||||
# .gitea/workflows/docker-build-push.yml
|
|
||||||
name: Build and Push Docker Image
|
name: Build and Push Docker Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
tags:
|
||||||
- master
|
- "v*"
|
||||||
paths:
|
|
||||||
- "nvim/**"
|
|
||||||
|
|
||||||
workflow_dispatch: # manual run button
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-push:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Log in to Gitea Container Registry
|
- name: Log in to Gitea Container Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: gitea.example.com
|
registry: gitea.setlock.net
|
||||||
username: ${{ secrets.USER }}
|
username: ${{ secrets.USER }}
|
||||||
password: ${{ secrets.TOKEN }}
|
password: ${{ secrets.TOKEN }}
|
||||||
|
|
||||||
@@ -36,9 +30,9 @@ jobs:
|
|||||||
- name: Build and Push Docker Image
|
- name: Build and Push Docker Image
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./nvim/tools
|
context: ./tools
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64
|
||||||
tags: |
|
tags: |
|
||||||
https://gitea.setlock.net/shaun/dotfiles:latest
|
gitea.setlock.net/shaun/dev-container:latest
|
||||||
https://gitea.setlock.net/shaun/dotfiles:${{ env.GIT_TAG }}
|
gitea.setlock.net/shaun/dev-container:${{ env.GIT_TAG }}
|
||||||
31
.gitea/workflows/nightly_docker_build.yml
Normal file
31
.gitea/workflows/nightly_docker_build.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build and Push Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 2 * * *"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Log in to Gitea Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: gitea.setlock.net
|
||||||
|
username: ${{ secrets.USER }}
|
||||||
|
password: ${{ secrets.TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and Push Docker Image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ./tools
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
gitea.setlock.net/shaun/dev-container:nightly
|
||||||
5
fish/functions/dev.fish
Normal file
5
fish/functions/dev.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function dev --wraps='docker exec -it mydev fish' --description 'alias dev=docker exec -it mydev fish'
|
||||||
|
docker exec -it mydev fish
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/od.fish
Normal file
5
fish/functions/od.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function od --wraps='nvim +ObsidianToday' --description 'alias od=nvim +ObsidianToday'
|
||||||
|
nvim +ObsidianToday
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/oo.fish
Normal file
5
fish/functions/oo.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function oo --wraps='nvim ~/Obsidian' --description 'alias oo=nvim ~/Obsidian'
|
||||||
|
nvim ~/Obsidian
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/ot.fish
Normal file
5
fish/functions/ot.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function ot --wraps='nvim +ObsidianTomorrow' --description 'alias ot=nvim +ObsidianTomorrow'
|
||||||
|
nvim +ObsidianTomorrow
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/oy.fish
Normal file
5
fish/functions/oy.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function oy --wraps='nvim +ObsidianYesterday' --description 'alias oy=nvim +ObsidianYesterday'
|
||||||
|
nvim +ObsidianYesterday
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/v.fish
Normal file
5
fish/functions/v.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function v --wraps='nvim .' --description 'alias v=nvim .'
|
||||||
|
nvim .
|
||||||
|
|
||||||
|
end
|
||||||
5
fish/functions/vh.fish
Normal file
5
fish/functions/vh.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Defined in - @ line 1
|
||||||
|
function vh --wraps='nvim ~/' --description 'alias vh=nvim ~/'
|
||||||
|
nvim ~/
|
||||||
|
|
||||||
|
end
|
||||||
2
nvim/lua/plugins/.markdownlint-cli2.yml
Normal file
2
nvim/lua/plugins/.markdownlint-cli2.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
config:
|
||||||
|
MD013: false
|
||||||
26
nvim/lua/plugins/blink-autocomplete.lua
Normal file
26
nvim/lua/plugins/blink-autocomplete.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
return {
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
opts = function(_, opts)
|
||||||
|
local completion_toggle = Snacks.toggle({
|
||||||
|
name = "Completion",
|
||||||
|
get = function()
|
||||||
|
return vim.b.completion
|
||||||
|
end,
|
||||||
|
set = function(state)
|
||||||
|
vim.b.completion = state
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
local function toggle_completion()
|
||||||
|
require("blink.cmp").hide()
|
||||||
|
completion_toggle:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set({ "i", "n" }, "<C-Space>", toggle_completion, { desc = "Toggle Completion" })
|
||||||
|
opts.enabled = function()
|
||||||
|
return vim.b.completion
|
||||||
|
end
|
||||||
|
|
||||||
|
return opts
|
||||||
|
end,
|
||||||
|
}
|
||||||
12
nvim/lua/plugins/markdownlint-cli2.lua
Normal file
12
nvim/lua/plugins/markdownlint-cli2.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
local HOME = os.getenv("HOME")
|
||||||
|
return {
|
||||||
|
"mfussenegger/nvim-lint",
|
||||||
|
optional = true,
|
||||||
|
opts = {
|
||||||
|
linters = {
|
||||||
|
["markdownlint-cli2"] = {
|
||||||
|
args = { "--config", HOME .. "/.config/nvim/lua/plugins/.markdownlint-cli2.yaml", "--" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
69
nvim/lua/plugins/obsidian.lua
Normal file
69
nvim/lua/plugins/obsidian.lua
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
return {
|
||||||
|
"epwalsh/obsidian.nvim",
|
||||||
|
version = "*", -- recommended, use latest release instead of latest commit
|
||||||
|
-- Disable lazy so that I can open daily notes from any directory and from outside of nvim.
|
||||||
|
-- lazy = true,
|
||||||
|
-- Below will load the plugin only for markdown files.
|
||||||
|
-- ft = "markdown",
|
||||||
|
-- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault:
|
||||||
|
-- event = {
|
||||||
|
-- "BufReadPre /home/shaun/Obsidian/*.md",
|
||||||
|
-- "BufNewFile /home/shaun/Obsidian/*.md",
|
||||||
|
-- },
|
||||||
|
dependencies = {
|
||||||
|
-- Required.
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
-- Recommended.
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
},
|
||||||
|
|
||||||
|
opts = {
|
||||||
|
workspaces = {
|
||||||
|
{
|
||||||
|
name = "Obsidian",
|
||||||
|
path = "~/Obsidian",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional, completion of wiki links, local markdown links, and tags using nvim-cmp.
|
||||||
|
completion = {
|
||||||
|
-- Set to false to disable completion.
|
||||||
|
nvim_cmp = false,
|
||||||
|
-- Trigger completion at 4 chars.
|
||||||
|
min_chars = 4,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional, configure key mappings. These are the defaults. If you don't want to set any keymappings this
|
||||||
|
-- way then set 'mappings = {}'.
|
||||||
|
mappings = {
|
||||||
|
-- Overrides the 'gf' mapping to work on markdown/wiki links within your vault.
|
||||||
|
["gf"] = {
|
||||||
|
action = function()
|
||||||
|
return require("obsidian").util.gf_passthrough()
|
||||||
|
end,
|
||||||
|
opts = { noremap = false, expr = true, buffer = true },
|
||||||
|
},
|
||||||
|
-- Toggle check-boxes.
|
||||||
|
["<leader>ch"] = {
|
||||||
|
action = function()
|
||||||
|
return require("obsidian").util.toggle_checkbox()
|
||||||
|
end,
|
||||||
|
opts = { buffer = true },
|
||||||
|
},
|
||||||
|
-- Smart action depending on context, either follow link or toggle checkbox.
|
||||||
|
["<cr>"] = {
|
||||||
|
action = function()
|
||||||
|
return require("obsidian").util.smart_action()
|
||||||
|
end,
|
||||||
|
opts = { buffer = true, expr = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional, configure additional syntax highlighting / extmarks.
|
||||||
|
-- This requires you have `conceallevel` set to 1 or 2. See `:help conceallevel` for more details.
|
||||||
|
ui = {
|
||||||
|
enable = false, -- set to false to disable all additional syntax features
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
version: "3"
|
|
||||||
services:
|
|
||||||
nv:
|
|
||||||
container_name: nv
|
|
||||||
image: shaun/neovim:latest
|
|
||||||
user: "1000:1000"
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- ~/code:/root/workspace
|
|
||||||
@@ -16,9 +16,9 @@ RUN useradd -m -u 1000 -s /usr/bin/fish shaun
|
|||||||
|
|
||||||
# Install required software
|
# Install required software
|
||||||
RUN apt-get update && apt-get -y install \
|
RUN apt-get update && apt-get -y install \
|
||||||
curl fzf ripgrep tree git xclip python3 python3-pip python3-venv nodejs npm \
|
curl fzf ripgrep tree git xclip python3 python3-pip python3-venv nodejs npm \
|
||||||
tzdata ninja-build gettext libtool libtool-bin autoconf automake cmake g++ \
|
tzdata ninja-build gettext libtool libtool-bin autoconf automake cmake g++ \
|
||||||
pkg-config zip unzip fish tmux
|
pkg-config zip unzip fish tmux
|
||||||
|
|
||||||
# Cooperate Neovim with Python 3.
|
# Cooperate Neovim with Python 3.
|
||||||
RUN python3 -m pip install --break-system-packages --root-user-action ignore pynvim
|
RUN python3 -m pip install --break-system-packages --root-user-action ignore pynvim
|
||||||
@@ -28,9 +28,9 @@ RUN npm i -g neovim
|
|||||||
|
|
||||||
# Install Neovim from source.
|
# Install Neovim from source.
|
||||||
RUN mkdir -p /tmp/neovim-src && \
|
RUN mkdir -p /tmp/neovim-src && \
|
||||||
git clone --depth 1 --branch stable https://github.com/neovim/neovim /tmp/neovim-src && \
|
git clone --depth 1 --branch stable https://github.com/neovim/neovim /tmp/neovim-src && \
|
||||||
cd /tmp/neovim-src && make -j$(nproc) && make install && \
|
cd /tmp/neovim-src && make -j$(nproc) && make install && \
|
||||||
rm -rf /tmp/neovim-src
|
rm -rf /tmp/neovim-src
|
||||||
|
|
||||||
# Clone configuration files.
|
# Clone configuration files.
|
||||||
USER shaun
|
USER shaun
|
||||||
@@ -48,7 +48,7 @@ RUN ln -s /home/shaun/dotfiles/tmux /home/shaun/.config
|
|||||||
|
|
||||||
# Install tmux plugin manager.
|
# Install tmux plugin manager.
|
||||||
RUN git clone https://github.com/tmux-plugins/tpm /home/shaun/.config/tmux/plugins/tpm && \
|
RUN git clone https://github.com/tmux-plugins/tpm /home/shaun/.config/tmux/plugins/tpm && \
|
||||||
/home/shaun/.config/tmux/plugins/tpm/scripts/install_plugins.sh
|
/home/shaun/.config/tmux/plugins/tpm/scripts/install_plugins.sh
|
||||||
|
|
||||||
# Get oh-my-fish and bob-the-fish installed.
|
# Get oh-my-fish and bob-the-fish installed.
|
||||||
RUN curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install > install
|
RUN curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install > install
|
||||||
@@ -63,11 +63,12 @@ USER root
|
|||||||
RUN usermod --shell /usr/bin/fish shaun
|
RUN usermod --shell /usr/bin/fish shaun
|
||||||
|
|
||||||
# Set workspace directory
|
# Set workspace directory
|
||||||
RUN mkdir -p /workspace && chown shaun:shaun /workspace
|
RUN mkdir -p /workspace
|
||||||
WORKDIR /workspace
|
RUN chown -R shaun:shaun /workspace
|
||||||
|
|
||||||
# Switch to non-root user
|
# Switch to non-root user
|
||||||
USER shaun
|
USER shaun
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
# Avoid container exit.
|
# Avoid container exit.
|
||||||
CMD ["tail", "-f", "/dev/null"]
|
CMD ["tail", "-f", "/dev/null"]
|
||||||
8
tools/docker-compose.yml
Normal file
8
tools/docker-compose.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
mydev:
|
||||||
|
container_name: mydev
|
||||||
|
image: gitea.setlock.net/shaun/dev-container:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /home/shaun:/workspace
|
||||||
Reference in New Issue
Block a user