No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
NoctisWolfshadow 191ab05c6b docs: add disclaimer about active development
- Note breaking changes possible during development
    - Clarify first release stability expectations
2026-08-07 15:19:45 +02:00
src/dotfilesforge feat: add Obsidian installer with AppImage support 2026-08-06 17:02:52 +02:00
.gitignore Initial Commit 2026-03-04 16:11:02 +01:00
.python-version feat: drop support for Python < 3.11 2026-03-17 14:35:48 +01:00
pyproject.toml chore: update dependencies and build requirements 2026-07-30 23:40:17 +02:00
README.md docs: add disclaimer about active development 2026-08-07 15:19:45 +02:00
uv.lock chore: update dependencies and build requirements 2026-07-30 23:40:17 +02:00

DotfilesForge

Disclaimer

This Project is still activly being developed. Breaking changes can occur often. The first Release will be Stable but will not necessarily be without bugs.

Description

This Python CLI Tool trys to deliver a always repeatable install of your Dotfiles and the needed programs. It is configured with a Toml Config File that is read in. Tools to install can be also added if not yet in this Repository since all Tools should follow the same Base Models. If you add a Tool for yourself we would like if you also add a Pull Request so it can be included for everyone else if possible.

Installation

To install this package you can clone this Repository and use uv to run or install it as tool.

Run this in the cloned Repository:

uv run dotfilesforge [COMMAND] uv tool install .

Config

This is how a config could look.

[paths]
git_repos = "~/git"
dotfiles = "~/.dotfiles"
appimages = "~/.dotfiles/AppImage"

[tools.ghostty]
enabled=true
version="tip"
#Optional defaults to true
wsl=false

[tools.neovim]
enabled=true
version="0.11.6"
install_method="default"

[services]
snap=true
flatpak=false
shell="zsh"

[packages]
pacman=['blueprint-compiler', 'ninja', 'gcc']

[dotfiles]
repo_name="test/test"
repo_host="custom" # github, gitlab
#Optional when not wanted https for cloning
#repo_modus="ssh"
#Only Used if repo_host is custom
repo_url="gitlab.noctiswolfshadow.com"