Compare commits
1 Commits
8cb2e48406
...
v0.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5add7af8b0 |
@@ -1,38 +0,0 @@
|
|||||||
name: Build and Push Docker Image
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*"
|
|
||||||
|
|
||||||
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: Extract Tag Name (if any)
|
|
||||||
id: get_tag
|
|
||||||
run: |
|
|
||||||
echo "GIT_TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- 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:latest
|
|
||||||
gitea.setlock.net/shaun/dev-container:${{ env.GIT_TAG }}
|
|
||||||
47
.gitea/workflows/neovim_container_docker_build.yml
Normal file
47
.gitea/workflows/neovim_container_docker_build.yml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# .gitea/workflows/docker-build-push.yml
|
||||||
|
name: Build and Push Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
tags:
|
||||||
|
- "v*" # triggers when you push a tag like v1.0.0
|
||||||
|
paths:
|
||||||
|
- "**/Dockerfile"
|
||||||
|
|
||||||
|
workflow_dispatch: # manual run button
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Log in to Gitea Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: gitea.example.com
|
||||||
|
username: ${{ secrets.GITEA_USERNAME }}
|
||||||
|
password: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
|
||||||
|
- name: Extract Tag Name (if any)
|
||||||
|
id: get_tag
|
||||||
|
run: |
|
||||||
|
echo "GIT_TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build and Push Docker Image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ./nvim/tools
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
tags: |
|
||||||
|
https://gitea.setlock.net/shaun/dotfiles:latest
|
||||||
|
https://gitea.setlock.net/shaun/dotfiles:${{ env.GIT_TAG }}
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function od --wraps='nvim +ObsidianToday' --description 'alias od=nvim +ObsidianToday'
|
|
||||||
nvim +ObsidianToday
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function oo --wraps='nvim ~/Obsidian' --description 'alias oo=nvim ~/Obsidian'
|
|
||||||
nvim ~/Obsidian
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function ot --wraps='nvim +ObsidianTomorrow' --description 'alias ot=nvim +ObsidianTomorrow'
|
|
||||||
nvim +ObsidianTomorrow
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function oy --wraps='nvim +ObsidianYesterday' --description 'alias oy=nvim +ObsidianYesterday'
|
|
||||||
nvim +ObsidianYesterday
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function v --wraps='nvim .' --description 'alias v=nvim .'
|
|
||||||
nvim .
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Defined in - @ line 1
|
|
||||||
function vh --wraps='nvim ~/' --description 'alias vh=nvim ~/'
|
|
||||||
nvim ~/
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
config:
|
|
||||||
MD013: false
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
return {
|
|
||||||
"saghen/blink.cmp",
|
|
||||||
-- Make blink.cmp toogleable
|
|
||||||
opts = function(_, opts)
|
|
||||||
vim.b.completion = false
|
|
||||||
|
|
||||||
Snacks.toggle({
|
|
||||||
name = "Completion",
|
|
||||||
get = function()
|
|
||||||
return vim.b.completion
|
|
||||||
end,
|
|
||||||
set = function(state)
|
|
||||||
vim.b.completion = state
|
|
||||||
end,
|
|
||||||
}):map("<leader>uk")
|
|
||||||
|
|
||||||
opts.enabled = function()
|
|
||||||
return vim.b.completion ~= false
|
|
||||||
end
|
|
||||||
return opts
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
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", "--" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
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,
|
|
||||||
},
|
|
||||||
|
|
||||||
daily_notes = {
|
|
||||||
-- Optional, if you keep daily notes in a separate directory.
|
|
||||||
folder = "0. Daily Notes",
|
|
||||||
-- Optional, if you want to change the date format for the ID of daily notes.
|
|
||||||
date_format = "%Y.%m.%d",
|
|
||||||
-- Optional, if you workant to change the date format of the default alias of daily notes.
|
|
||||||
alias_format = "%B %-d, %Y",
|
|
||||||
-- Optional, default tags to add to each new daily note created.
|
|
||||||
default_tags = { "daily-notes" },
|
|
||||||
-- Optional, if you want to automatically insert a template from your template directory like 'daily.md'
|
|
||||||
template = "98. Templates/Daily Note",
|
|
||||||
},
|
|
||||||
|
|
||||||
templates = {
|
|
||||||
folder = "98. Templates",
|
|
||||||
date_format = "YYYY.MM.DD",
|
|
||||||
time_format = "HHMM",
|
|
||||||
-- A map for custom variables, the key should be the variable and the value a function
|
|
||||||
substitutions = {},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- 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
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -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,12 +63,11 @@ 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
|
RUN mkdir -p /workspace && chown shaun:shaun /workspace
|
||||||
RUN chown -R shaun:shaun /workspace
|
WORKDIR /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"]
|
||||||
9
nvim/tools/docker-compose.yml
Normal file
9
nvim/tools/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
nv:
|
||||||
|
container_name: nv
|
||||||
|
image: shaun/neovim:latest
|
||||||
|
user: "1000:1000"
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ~/code:/root/workspace
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
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