Skip to content

Commit 7dcd4d8

Browse files
authored
Merge pull request #7 from manghidev/develop
Changes for better functionality
2 parents f51750d + f8659a6 commit 7dcd4d8

23 files changed

+1868
-155
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Specify the current working directory path
2+
# the default is the current working directory path
3+
cwd: null
4+
5+
# Export additional ENV variables
6+
env:
7+
recording: true
8+
9+
# Explicitly set the number of columns
10+
# or use `auto` to take the current
11+
# number of columns of your shell
12+
cols: 120 # 100
13+
14+
# Explicitly set the number of rows
15+
# or use `auto` to take the current
16+
# number of rows of your shell
17+
rows: 35 # 30
18+
19+
# Amount of times to repeat GIF
20+
# If value is -1, play once
21+
# If value is 0, loop indefinitely
22+
# If value is a positive number, loop n times
23+
repeat: 0
24+
25+
# Quality
26+
# 1 - 100
27+
# Higher quality seems to make no difference, but running it through
28+
# gifsicle ends up with a much better compressed version.
29+
quality: 100
30+
31+
# Delay between frames in ms
32+
# If the value is `auto` use the actual recording delays
33+
frameDelay: auto
34+
35+
# Maximum delay between frames in ms
36+
# Ignored if the `frameDelay` isn't set to `auto`
37+
# Set to `auto` to prevent limiting the max idle time
38+
maxIdleTime: 2000
39+
40+
# The surrounding frame box
41+
# The `type` can be null, window, floating, or solid`
42+
# To hide the title use the value null
43+
# Don't forget to add a backgroundColor style with a null as type
44+
frameBox:
45+
type: floating
46+
title: Lazygit
47+
style:
48+
border: 0px black solid
49+
backgroundColor: "#1d1d1d"
50+
margin: -5px
51+
52+
# Add a watermark image to the rendered gif
53+
# You need to specify an absolute path for
54+
# the image on your machine or a URL, and you can also
55+
# add your own CSS styles
56+
watermark:
57+
imagePath: null
58+
style:
59+
position: absolute
60+
right: 15px
61+
bottom: 15px
62+
width: 100px
63+
opacity: 0.9
64+
65+
# Cursor style can be one of
66+
# `block`, `underline`, or `bar`
67+
cursorStyle: block
68+
69+
# Font family
70+
# You can use any font that is installed on your machine
71+
# in CSS-like syntax
72+
# Download from:
73+
# https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/DejaVuSansMono.zip
74+
# Not using the mono font because it makes icons too small.
75+
fontFamily: "DejaVuSansM Nerd Font"
76+
77+
# The size of the font
78+
fontSize: 8
79+
80+
# The height of lines
81+
lineHeight: 1
82+
83+
# The spacing between letters
84+
letterSpacing: 0
85+
86+
# Theme
87+
theme:
88+
background: "transparent"
89+
foreground: "#dddad6"
90+
cursor: "#c7c7c7"
91+
black: "#7a7a7a"
92+
red: "#fc4384"
93+
green: "#b3e33b"
94+
yellow: "#ffa727"
95+
blue: "#102895"
96+
magenta: "#c930c7"
97+
cyan: "#00c5c7"
98+
white: "#c7c7c7"
99+
brightBlack: "#676767"
100+
brightRed: "#ff7fac"
101+
brightGreen: "#c8ed71"
102+
brightYellow: "#ebdf86"
103+
brightBlue: "#6871ff"
104+
brightMagenta: "#ff76ff"
105+
brightCyan: "#5ffdff"
106+
brightWhite: "#fffefe"
Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,45 @@
11
{
2-
"CopilotChat.nvim": { "branch": "main", "commit": "75653259442a8eb895abfc70d7064e07aeb7134c" },
2+
"CopilotChat.nvim": { "branch": "main", "commit": "55f2162c36901224e22ff8424fd60ecef670b8fc" },
33
"LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" },
4-
"SchemaStore.nvim": { "branch": "main", "commit": "d521e71f9d5ac1c29a7653528d4e5c66ffe229c5" },
4+
"SchemaStore.nvim": { "branch": "main", "commit": "e4f80f37cd11ed58a6e914cc30850749f021b6a7" },
55
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
6-
"blink.cmp": { "branch": "main", "commit": "4f38ce99a472932d5776337f08f7a8180f1f571a" },
6+
"blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" },
77
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
8-
"catppuccin": { "branch": "main", "commit": "b7bbdf93b42866f166af98d39a2563eedb7cabac" },
9-
"conform.nvim": { "branch": "master", "commit": "372fc521f8421b7830ea6db4d6ea3bae1c77548c" },
10-
"copilot.lua": { "branch": "master", "commit": "a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0" },
8+
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
9+
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
10+
"copilot.lua": { "branch": "master", "commit": "46f4b7d026cba9497159dcd3e6aa61a185cb1c48" },
1111
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
1212
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
13-
"gitsigns.nvim": { "branch": "main", "commit": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb" },
14-
"grug-far.nvim": { "branch": "main", "commit": "6ff8a205a29db3a9b08e5debe09452b4d6fd6591" },
13+
"fzf-lua": { "branch": "main", "commit": "20d64076669c8d94f94319dd1f451608156ee3da" },
14+
"gitsigns.nvim": { "branch": "main", "commit": "1b0350ab707713b2bc6c236151f1a324175347b1" },
15+
"grug-far.nvim": { "branch": "main", "commit": "b3f9412b1ed76f14cfc68e1ee899873544330c80" },
1516
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
1617
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
17-
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
18+
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
1819
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
19-
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
20-
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
21-
"mini.ai": { "branch": "main", "commit": "e139eb1101beb0250fea322f8c07a42f0f175688" },
22-
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
23-
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
20+
"mason-lspconfig.nvim": { "branch": "main", "commit": "c4c84f4521d62de595c0d0f718a9a40c1890c8ce" },
21+
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
22+
"mini.ai": { "branch": "main", "commit": "d172ada7b0281044a06cb9a625a862553c457b6f" },
23+
"mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" },
24+
"mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" },
25+
"neo-tree.nvim": { "branch": "main", "commit": "7bc06b5efc5554d10f73a8aa508e02c03a83c2a0" },
2426
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
25-
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
26-
"nvim-lint": { "branch": "master", "commit": "9dfb77ef6c5092a19502883c02dc5a02ec648729" },
27-
"nvim-lspconfig": { "branch": "master", "commit": "1b801f68d09e70e59e6dd967b663b6d84ee3e87d" },
28-
"nvim-treesitter": { "branch": "master", "commit": "94ea4f436d2b59c80f02e293466c374584f03b8c" },
29-
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ed373482db797bbf71bdff37a15c7555a84dce47" },
27+
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
28+
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
29+
"nvim-lspconfig": { "branch": "master", "commit": "6bba673aa8993eceec233be17b42ddfb9540794b" },
30+
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
31+
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
3032
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
3133
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
3234
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
33-
"render-markdown.nvim": { "branch": "main", "commit": "b2d857c848c2c27440c8e5efc8e49a9b5bcf13c6" },
35+
"render-markdown.nvim": { "branch": "main", "commit": "c809fc129f842a7055c672593d24be6346bcc673" },
3436
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
3537
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
3638
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
3739
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
3840
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
39-
"vim-dadbod": { "branch": "master", "commit": "fa31d0ffeebaa59cf97a81e7f92194cced54a13f" },
41+
"vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" },
4042
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
41-
"vim-dadbod-ui": { "branch": "master", "commit": "460432301a5cb280ea265ddfa15c9f3dcd1d26b7" },
43+
"vim-dadbod-ui": { "branch": "master", "commit": "2900a1617b3df1a48683d872eadbe1101146a49a" },
4244
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
4345
}

.dotfiles/.config/nvim/lazyvim.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"extras": [
33
"lazyvim.plugins.extras.ai.copilot",
44
"lazyvim.plugins.extras.ai.copilot-chat",
5+
"lazyvim.plugins.extras.editor.fzf",
6+
"lazyvim.plugins.extras.editor.neo-tree",
57
"lazyvim.plugins.extras.lang.angular",
68
"lazyvim.plugins.extras.lang.astro",
79
"lazyvim.plugins.extras.lang.docker",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
opts = {
2+
dashboard = {
3+
preset = {
4+
pick = function(cmd, opts)
5+
return LazyVim.pick(cmd, opts)()
6+
end,
7+
header = [[
8+
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗
9+
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
10+
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
11+
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
12+
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
13+
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
14+
]],
15+
-- stylua: ignore
16+
---@type snacks.dashboard.Item[]
17+
keys = {
18+
{ icon = "", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" },
19+
{ icon = "", key = "n", desc = "New File", action = ":ene | startinsert" },
20+
{ icon = "", key = "g", desc = "Find Text", action = ":lua Snacks.dashboard.pick('live_grep')" },
21+
{ icon = "", key = "r", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" },
22+
{ icon = "", key = "c", desc = "Config", action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})" },
23+
{ icon = "", key = "s", desc = "Restore Session", section = "session" },
24+
{ icon = "", key = "x", desc = "Lazy Extras", action = ":LazyExtras" },
25+
{ icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy" },
26+
{ icon = "", key = "q", desc = "Quit", action = ":qa" },
27+
},
28+
},
29+
},
30+
}:

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,46 @@
1+
# LazyVim Docker - Git Ignore
2+
3+
# Dotfiles - sensitive or user-specific data
14
.dotfiles/.config/github-copilot/*
25
.dotfiles/.cache/*
36
.dotfiles/.local
47
.dotfiles/.npm
58
.dotfiles/.zcompdump-*
69
.dotfiles/.zsh_history
710

11+
# Backup files
12+
backups/
13+
*.backup
14+
*.bak
15+
16+
# Temporary files
17+
*.tmp
18+
*.temp
19+
.temp/
20+
21+
# OS specific files
822
.DS_Store
23+
.DS_Store?
24+
._*
25+
.Spotlight-V100
26+
.Trashes
27+
ehthumbs.db
28+
Thumbs.db
29+
30+
# IDE files
31+
.vscode/
32+
.idea/
33+
*.swp
34+
*.swo
35+
*~
36+
37+
# Docker specific
38+
.docker/
39+
40+
# Logs
41+
*.log
42+
logs/
43+
44+
# Environment files
45+
.env.local
46+
.env.*.local

Dockerfile

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,38 @@ LABEL maintainer="ManghiDev <https://manghi.dev>" \
88
description="Dockerfile for LazyVim and Zsh with oh-my-zsh" \
99
version=$VERSION
1010

11-
#* Install necessary dependencies
12-
RUN apk add --no-cache git lazygit fzf curl neovim ripgrep alpine-sdk zsh shadow
11+
#* Install necessary dependencies and development tools
12+
RUN apk add --no-cache \
13+
# Core tools
14+
git lazygit fzf curl neovim ripgrep alpine-sdk zsh sudo \
15+
# Additional development tools
16+
tmux tree htop unzip zip \
17+
# Language tools
18+
python3 py3-pip \
19+
# Network tools
20+
openssh-client wget \
21+
# Build tools
22+
make cmake g++ \
23+
# Text processing
24+
jq yq sed gawk grep \
25+
# Terminal enhancements
26+
bat exa fd github-cli \
27+
# Timezone support
28+
tzdata \
29+
# Python packages via apk (more stable on Alpine)
30+
&& apk add --no-cache py3-requests py3-beautifulsoup4 \
31+
# Install some Python tools that need pip
32+
&& pip3 install --break-system-packages --no-cache-dir \
33+
black flake8 mypy pytest pandas
34+
35+
#* Configure timezone (default to America/Mexico_City, can be overridden with build arg)
36+
ARG TIMEZONE=America/Mexico_City
37+
ENV TZ=$TIMEZONE
38+
RUN cp /usr/share/zoneinfo/$TIMEZONE /etc/localtime && \
39+
echo $TIMEZONE > /etc/timezone
1340

1441
#* Create a new user 'developer' with home directory and grant sudo privileges
15-
RUN useradd -m -s /bin/zsh developer && \
42+
RUN adduser -D -s /bin/zsh developer && \
1643
echo "developer ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
1744

1845
#* Switch to the 'developer' user for the rest of the setup
@@ -22,9 +49,11 @@ WORKDIR /home/developer
2249
#* Install Oh My Zsh for the 'developer' user
2350
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" || true
2451

25-
#* Install the zsh-autosuggestions plugin
52+
#* Install useful zsh plugins
2653
RUN git clone https://github.com/zsh-users/zsh-autosuggestions /home/developer/.oh-my-zsh/custom/plugins/zsh-autosuggestions && \
27-
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions)/' /home/developer/.zshrc
54+
git clone https://github.com/zsh-users/zsh-syntax-highlighting /home/developer/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting && \
55+
git clone https://github.com/zsh-users/zsh-completions /home/developer/.oh-my-zsh/custom/plugins/zsh-completions && \
56+
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting zsh-completions)/' /home/developer/.zshrc
2857

2958
#* Install the Powerlevel10k theme
3059
RUN git clone --depth=1 https://github.com/romkatv/powerlevel10k.git /home/developer/.oh-my-zsh/custom/themes/powerlevel10k && \
@@ -36,8 +65,29 @@ RUN git clone https://github.com/LazyVim/starter /home/developer/.config/nvim
3665
#* Remove the .git folder, so you can add it to your own repo later
3766
RUN rm -rf /home/developer/.config/nvim/.git
3867

39-
#* Ensure proper permissions for the 'developer' user
40-
RUN chown -R developer:developer /home/developer
68+
#* Create useful aliases in .zshrc
69+
RUN echo 'alias ll="exa -la"' >> /home/developer/.zshrc && \
70+
echo 'alias cat="bat"' >> /home/developer/.zshrc && \
71+
echo 'alias find="fd"' >> /home/developer/.zshrc && \
72+
echo 'alias vim="nvim"' >> /home/developer/.zshrc && \
73+
echo 'alias vi="nvim"' >> /home/developer/.zshrc && \
74+
echo 'alias lg="lazygit"' >> /home/developer/.zshrc
75+
76+
#* Add helpful environment variables
77+
RUN echo 'export EDITOR=nvim' >> /home/developer/.zshrc && \
78+
echo 'export VISUAL=nvim' >> /home/developer/.zshrc && \
79+
echo 'export PAGER=bat' >> /home/developer/.zshrc
80+
81+
#* Switch back to root to fix permissions and create directories
82+
USER root
83+
84+
#* Create cache directories and ensure proper permissions
85+
RUN mkdir -p /home/developer/.cache/nvim /home/developer/.cache/zsh /home/developer/.cache/pip \
86+
/home/developer/.local/share/nvim /home/developer/.local/state/nvim && \
87+
chown -R developer:developer /home/developer
88+
89+
#* Switch back to developer user
90+
USER developer
4191

4292
#* Set the default working directory
4393
WORKDIR /home/developer

0 commit comments

Comments
 (0)