Release v1.0
This commit is contained in:
@@ -1,97 +1,28 @@
|
|||||||
# Minimal Dotfiles
|
# dotfiles
|
||||||
|
|
||||||
A deliberately minimal dotfile configuration.
|
A minimal, stable Linux development environment.
|
||||||
|
|
||||||
## Philosophy
|
## Philosophy
|
||||||
|
|
||||||
Over the years I have grown tired of tweaking config files for every component of my desktop.
|
* Prefer simplicity over customisation.
|
||||||
This repository contains only the essentials.
|
* Prefer native tools over plugins.
|
||||||
|
* Change configuration only to remove recurring friction.
|
||||||
|
* If a workaround exists, use it before changing the environment.
|
||||||
|
|
||||||
Start with a minimal **Void Linux** install using the XFCE4 base image.
|
## Install
|
||||||
|
|
||||||
## What's Inside
|
|
||||||
|
|
||||||
```
|
|
||||||
.
|
|
||||||
├── config/
|
|
||||||
│ ├── alacritty/ # Alacritty terminal configuration
|
|
||||||
│ ├── fish/ # Fish shell configuration
|
|
||||||
│ ├── kanata/ # Keyboard remapping
|
|
||||||
│ ├── lf/ # Terminal file manager
|
|
||||||
│ ├── nvim/ # Neovim setup
|
|
||||||
│ └── tmux/ # Tmux configuration
|
|
||||||
├── scripts/
|
|
||||||
│ ├── install_odin # Odin compiler install recipe
|
|
||||||
│ ├── install_php # PHP install recipe
|
|
||||||
│ ├── install_raylib_deps # Raylib dependencies
|
|
||||||
│ └── install_theme # XFCE4 theme setup
|
|
||||||
└── install.sh # Dotfile symlinks and package installation
|
|
||||||
```
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
Before running `install.sh`, take care of the following manually:
|
|
||||||
|
|
||||||
- `sudo xbps-install -Su` — sync and update
|
|
||||||
- Set up SSH keys
|
|
||||||
- Clone this repo
|
|
||||||
- Install a Nerd Font
|
|
||||||
|
|
||||||
## Software Installation
|
|
||||||
|
|
||||||
Installs packages and creates config symlinks on top of the XFCE4 base image.
|
|
||||||
|
|
||||||
### Install Options
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Interactive mode (prompts for confirmation at each step)
|
|
||||||
./install.sh
|
./install.sh
|
||||||
|
|
||||||
# Only create symlinks
|
|
||||||
./install.sh -l
|
|
||||||
|
|
||||||
# Only install packages
|
|
||||||
./install.sh -i
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## What Gets Installed
|
## Structure
|
||||||
|
|
||||||
The script enables `void-repo-nonfree` (and `void-repo-multilib-nonfree` on x86_64), then installs
|
* `config/` — Application configuration
|
||||||
packages via `xbps-install`:
|
* `scripts/` — Installation and utility scripts
|
||||||
|
* `install.sh` — Creates symbolic links
|
||||||
|
|
||||||
- **CLI Tools**: `wget`, `curl`, `git`, `unzip`, `fzf`, `fd`, `ripgrep`, `bat`, `direnv`, `tree`, `jq`, `lf`, `rsync`, `pfetch`
|
## Versioning
|
||||||
- **Development**: `base-devel`, `make`, `valgrind`, `tree-sitter-cli`, `go`
|
|
||||||
- **Shell**: `fish-shell`
|
|
||||||
- **Terminal**: `alacritty`
|
|
||||||
- **Keyboard**: `kanata`
|
|
||||||
- **Desktop**: `polybar`, `rofi`, `xdotool`, `wmctrl`
|
|
||||||
- **Fonts**: `noto-fonts-ttf`, `noto-fonts-emoji`
|
|
||||||
- **Other**: `ca-certificates`, `gnupg`, `fuse`
|
|
||||||
|
|
||||||
## Symlinks Created
|
Releases are tagged.
|
||||||
|
|
||||||
| Symlink | Target |
|
The goal is to keep the environment stable. New features should solve real issues rather than my curiosity.
|
||||||
|---|---|
|
|
||||||
| `~/.config/alacritty` | `./config/alacritty` |
|
|
||||||
| `~/.config/fish` | `./config/fish` |
|
|
||||||
| `~/.config/kanata` | `./config/kanata` |
|
|
||||||
| `~/.config/nvim` | `./config/nvim` |
|
|
||||||
| `~/.config/lf` | `./config/lf` |
|
|
||||||
|
|
||||||
## Scripts
|
|
||||||
|
|
||||||
Self-contained recipes for tooling that goes beyond the core install. Each can be run independently:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./scripts/install_odin
|
|
||||||
./scripts/install_php
|
|
||||||
./scripts/install_raylib_deps
|
|
||||||
./scripts/install_theme
|
|
||||||
```
|
|
||||||
|
|
||||||
These are not run automatically by `install.sh` — they are opt-in.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
This setup prioritises **stability** and **simplicity** over customisation.
|
|
||||||
Void Linux + XFCE4 + X11 provides a fast, predictable base with minimal moving parts.
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ require("vim._core.ui2").enable({})
|
|||||||
map = vim.keymap.set
|
map = vim.keymap.set
|
||||||
vim.o.termguicolors = true
|
vim.o.termguicolors = true
|
||||||
vim.o.showmode = false
|
vim.o.showmode = false
|
||||||
|
vim.o.laststatus = 3
|
||||||
vim.o.nu = true
|
vim.o.nu = true
|
||||||
vim.o.swapfile = false
|
vim.o.swapfile = false
|
||||||
vim.o.winborder = "single"
|
vim.o.winborder = "single"
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ function M.setup()
|
|||||||
local api = require("nvim-tree.api")
|
local api = require("nvim-tree.api")
|
||||||
api.config.mappings.default_on_attach(bufnr)
|
api.config.mappings.default_on_attach(bufnr)
|
||||||
vim.keymap.del("n", "<C-e>", { buffer = bufnr })
|
vim.keymap.del("n", "<C-e>", { buffer = bufnr })
|
||||||
vim.opt_local.statusline = " "
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user