28 Commits

Author SHA1 Message Date
Shaun Setlock
56b5009ebf Create fish function for flameshot gui on wayland. 2025-07-10 15:23:03 -04:00
Shaun Setlock
ba690c7a71 Adjust Obsidian nvim plugin config. 2025-07-10 15:18:37 -04:00
Shaun Setlock
5446c90359 Set cwd Obsidian related fish functions. 2025-07-10 15:17:29 -04:00
Shaun Setlock
8cb2e48406 New autocomplete toggle config.
All checks were successful
Build and Push Docker Image / build-push (push) Successful in 11s
2025-07-02 09:35:54 -04:00
Shaun Setlock
2fc3dc6ecf Add obsidian nvim plugin templates and daily notes. Remove blink toggle. 2025-07-02 09:05:12 -04:00
Shaun Setlock
c210623de9 Allow obsidian nvim plugin to not be lazy. Fix copy paste errors in related fish functions. 2025-07-01 22:07:20 -04:00
Shaun Setlock
f1c0d9ced5 Disable nvim-cmp .. its just always too eager.
All checks were successful
Build and Push Docker Image / build-push (push) Successful in 5m27s
2025-07-01 21:46:28 -04:00
Shaun Setlock
cc828c381b Add obsidian related fish functions. 2025-07-01 21:46:28 -04:00
Shaun Setlock
58cde2e721 Add plugin for obsidian integration. 2025-07-01 21:46:28 -04:00
886c179aef feature/fish_aliases (#22)
Co-authored-by: Shaun Setlock <shaun@setlock.net>
Co-authored-by: Shaun Setlock <ssetlock@zaether.com>
Reviewed-on: #22
2025-07-01 21:24:54 -04:00
Shaun Setlock
27ee0b81c3 Change working directory to workspace at the end of docker build.
All checks were successful
Build and Push Docker Image / build-push (push) Successful in 11s
2025-06-29 16:34:55 -04:00
Shaun Setlock
1d1f63a451 Remove arm64 from gitea workflows. 2025-06-29 16:30:46 -04:00
Shaun Setlock
7be79aace7 Add lua script and hidden config file.
Some checks failed
Build and Push Docker Image / build-push (push) Failing after 47m23s
2025-06-28 16:37:15 -04:00
Shaun Setlock
75c9903022 Add lua script and with keymap to toggle autocomplete. 2025-06-28 16:30:00 -04:00
251d8ef80d feature/implement_arm64_dotfiles#12 (#16)
Some checks failed
Build and Push Docker Image / build-push (push) Failing after 48m59s
Co-authored-by: Shaun Setlock <shaun@setlock.net>
Co-authored-by: Shaun Setlock <shaunsetlock@protonmail.com>
Reviewed-on: #16
2025-05-10 15:49:39 -04:00
bf98ed5fb9 Merge pull request 'Added arm build step to nightly.' (#15) from feature/implement_arm64_dotfiles#12 into master
Some checks failed
Build and Push Docker Image / build-amd (push) Successful in 3m56s
Build and Push Docker Image / build-arm (push) Failing after 41m4s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/15
2025-05-08 20:47:14 -04:00
Shaun Setlock
bc5e78af57 Added arm build step to nightly.
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 4m5s
2025-05-08 20:43:57 -04:00
cc56ca800d Moving container to its own directory; not just a nvim thing. Added a nightly workflow. Switched to tags trigger. (#14)
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 4m2s
Co-authored-by: Shaun Setlock <shaun@setlock.net>
Co-authored-by: Shaun Setlock <shaunsetlock@protonmail.com>
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/14
2025-05-06 21:43:48 -04:00
f9616acc97 Merge pull request 'Single platform for container build.' (#11) from feature/update_CICD_trigger into master
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 3m57s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/11
2025-05-04 09:30:25 -04:00
Shaun Setlock
0238308ca9 Single platform for container build. 2025-05-04 09:29:14 -04:00
b940f75259 Merge pull request 'Fixing tagging.' (#10) from feature/update_CICD_trigger into master
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 3m48s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/10
2025-05-03 22:46:30 -04:00
Shaun Setlock
387748e89b Fixing tagging. 2025-05-03 22:45:35 -04:00
fd5a511c71 Merge pull request 'Building amd64 to start.' (#9) from feature/update_CICD_trigger into master
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 4m2s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/9
2025-05-03 22:34:08 -04:00
Shaun Setlock
b56d2ae42e Building amd64 to start. 2025-05-03 22:32:03 -04:00
69b7d89ee8 Merge pull request 'Correcting tagging.' (#8) from feature/update_CICD_trigger into master
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 43m43s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/8
2025-05-03 21:11:59 -04:00
Shaun Setlock
405f855298 Correcting tagging. 2025-05-03 21:08:01 -04:00
66282f686d Merge pull request 'Correcting container registry.' (#7) from feature/update_CICD_trigger into master
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 12s
Reviewed-on: https://www.gitea.setlock.net/shaun/dotfiles/pulls/7
2025-05-03 20:52:00 -04:00
Shaun Setlock
aa13febadf Correcting container registry. 2025-05-03 20:51:20 -04:00
17 changed files with 222 additions and 30 deletions

View File

@@ -1,28 +1,24 @@
# .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:
registry: gitea.example.com
registry: gitea.setlock.net
username: ${{ secrets.USER }}
password: ${{ secrets.TOKEN }}
@@ -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 }}

View 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
View 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

View File

@@ -0,0 +1,4 @@
# Defined in - @ line 1
function flame --wraps='bash -c -- "QT_QPA_PLATFORM=wayland flameshot gui"' --description 'alias flame=bash -c -- "QT_QPA_PLATFORM=wayland flameshot gui"'
bash -c -- "QT_QPA_PLATFORM=wayland flameshot gui"
end

5
fish/functions/od.fish Normal file
View File

@@ -0,0 +1,5 @@
# Defined in - @ line 1
function od --wraps='nvim +ObsidianToday' --description 'alias od=nvim +ObsidianToday'
cd ~/Obsidian && nvim +ObsidianToday
end

5
fish/functions/oo.fish Normal file
View File

@@ -0,0 +1,5 @@
# Defined in - @ line 1
function oo --wraps='nvim ~/Obsidian' --description 'alias oo=nvim ~/Obsidian'
cd ~/Obsidian && nvim
end

5
fish/functions/ot.fish Normal file
View File

@@ -0,0 +1,5 @@
# Defined in - @ line 1
function ot --wraps='nvim +ObsidianTomorrow' --description 'alias ot=nvim +ObsidianTomorrow'
cd ~/Obsidian && nvim +ObsidianTomorrow
end

5
fish/functions/oy.fish Normal file
View File

@@ -0,0 +1,5 @@
# Defined in - @ line 1
function oy --wraps='nvim +ObsidianYesterday' --description 'alias oy=nvim +ObsidianYesterday'
cd ~/Obsidian && nvim +ObsidianYesterday
end

5
fish/functions/v.fish Normal file
View 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
View File

@@ -0,0 +1,5 @@
# Defined in - @ line 1
function vh --wraps='nvim ~/' --description 'alias vh=nvim ~/'
nvim ~/
end

View File

@@ -0,0 +1,2 @@
config:
MD013: false

22
nvim/lua/plugins/cmp.lua Normal file
View File

@@ -0,0 +1,22 @@
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,
}

View 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", "--" },
},
},
},
}

View File

@@ -0,0 +1,90 @@
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 = false,
-- 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.md",
},
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
},
},
}

View File

@@ -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

View File

@@ -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
View 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