Compare commits
21 Commits
v0.0.8
...
e7a8953007
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7a8953007 | ||
|
|
da43dda853 | ||
|
|
7d4fc1c907 | ||
| 886c179aef | |||
|
|
27ee0b81c3 | ||
|
|
1d1f63a451 | ||
|
|
7be79aace7 | ||
|
|
75c9903022 | ||
| 251d8ef80d | |||
| bf98ed5fb9 | |||
|
|
bc5e78af57 | ||
| cc56ca800d | |||
| f9616acc97 | |||
|
|
0238308ca9 | ||
| b940f75259 | |||
|
|
387748e89b | ||
| fd5a511c71 | |||
|
|
b56d2ae42e | ||
| 69b7d89ee8 | |||
|
|
405f855298 | ||
| 66282f686d |
@@ -1,24 +1,20 @@
|
||||
# .gitea/workflows/docker-build-push.yml
|
||||
name: Build and Push Docker Image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- "v*"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
build-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:
|
||||
@@ -34,9 +30,9 @@ jobs:
|
||||
- name: Build and Push Docker Image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: ./nvim/tools
|
||||
context: ./tools
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm64
|
||||
platforms: linux/amd64
|
||||
tags: |
|
||||
https://gitea.setlock.net/shaun/dotfiles:latest
|
||||
https://gitea.setlock.net/shaun/dotfiles:${{ env.GIT_TAG }}
|
||||
gitea.setlock.net/shaun/dev-container:latest
|
||||
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 od --wraps='nvim +ObsidianTomorrow' --description 'alias od=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 od --wraps='nvim +ObsidianYesterday' --description 'alias od=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", "--" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
68
nvim/lua/plugins/obsidian.lua
Normal file
68
nvim/lua/plugins/obsidian.lua
Normal file
@@ -0,0 +1,68 @@
|
||||
return {
|
||||
"epwalsh/obsidian.nvim",
|
||||
version = "*", -- recommended, use latest release instead of latest commit
|
||||
lazy = true,
|
||||
-- Below will load the plugin for all 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
|
||||
RUN apt-get update && apt-get -y install \
|
||||
curl fzf ripgrep tree git xclip python3 python3-pip python3-venv nodejs npm \
|
||||
tzdata ninja-build gettext libtool libtool-bin autoconf automake cmake g++ \
|
||||
pkg-config zip unzip fish tmux
|
||||
curl fzf ripgrep tree git xclip python3 python3-pip python3-venv nodejs npm \
|
||||
tzdata ninja-build gettext libtool libtool-bin autoconf automake cmake g++ \
|
||||
pkg-config zip unzip fish tmux
|
||||
|
||||
# Cooperate Neovim with Python 3.
|
||||
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.
|
||||
RUN mkdir -p /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 && \
|
||||
rm -rf /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 && \
|
||||
rm -rf /tmp/neovim-src
|
||||
|
||||
# Clone configuration files.
|
||||
USER shaun
|
||||
@@ -48,7 +48,7 @@ RUN ln -s /home/shaun/dotfiles/tmux /home/shaun/.config
|
||||
|
||||
# Install tmux plugin manager.
|
||||
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.
|
||||
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
|
||||
|
||||
# Set workspace directory
|
||||
RUN mkdir -p /workspace && chown shaun:shaun /workspace
|
||||
WORKDIR /workspace
|
||||
RUN mkdir -p /workspace
|
||||
RUN chown -R shaun:shaun /workspace
|
||||
|
||||
# Switch to non-root user
|
||||
USER shaun
|
||||
WORKDIR /workspace
|
||||
|
||||
# Avoid container exit.
|
||||
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