1
0
Fork
You've already forked dotfiles
0
A collection of various primarily Linux dotfiles, plus a setup automation tool
  • Shell 52.2%
  • Makefile 24.1%
  • Lua 16.4%
  • CSS 5.3%
  • JavaScript 1.4%
  • Other 0.6%
Find a file
Olivia a5290c66fe Main setup is on wayland now
Will have to backport the xclip change manually to legacy machines still
2026年07月07日 14:57:23 +02:00
.forgejo/ISSUE_TEMPLATE Not sure how I managed to fuck that up in two separate ways 2026年03月23日 01:07:42 +01:00
.github Not sure how I managed to fuck that up in two separate ways 2026年03月23日 01:07:42 +01:00
arch Install moonbeam in the arch config too 2026年07月06日 00:29:33 +02:00
assets Utility script for auto-compiling C++ with parsing for catch2-based test suites 2026年05月16日 07:18:57 +02:00
automation Add link to small-hack/open-slopware, remove trailing spaces I stumbled into while opening all the wrong files 2026年03月25日 01:52:44 +01:00
cinnamon Add cinnamon keybind import/export to the makefile 2024年10月05日 04:38:27 +02:00
config Main setup is on wayland now 2026年07月07日 14:57:23 +02:00
docs Redirect the AI slop victims list to open slopware 2026年06月27日 21:51:45 +02:00
etc/update-motd.d minor doc updates 2025年12月27日 00:21:20 +01:00
firefox Auto-nuke Mozilla ads 2025年10月03日 23:51:00 +02:00
kde Add some KDE config files 2026年05月06日 22:54:16 +02:00
make Install moonbeam in the arch config too 2026年07月06日 00:29:33 +02:00
obsidian Upload obsidian userstyle 2025年02月06日 04:55:50 +01:00
opt/cron-scripts Fix typo after route being moved 2025年11月22日 01:02:55 +01:00
scripts Replace ccmake with a lua script 2026年07月01日 01:39:24 +02:00
shims Unfuck yay, source FF nightly outside the package manager system 2026年05月03日 02:35:09 +02:00
windows Fix bad wsl proxy command, add update before wsl2 commands 2025年10月22日 14:14:07 +02:00
zellij-layouts Add link to small-hack/open-slopware, remove trailing spaces I stumbled into while opening all the wrong files 2026年03月25日 01:52:44 +01:00
zsh Add link to small-hack/open-slopware, remove trailing spaces I stumbled into while opening all the wrong files 2026年03月25日 01:52:44 +01:00
.bashrc Misc legacy cleanup 2025年06月21日 03:35:23 +02:00
.condarc Bugfixes in vimrc, add stub .condarc (need to link later) 2020年08月27日 17:54:35 +02:00
.emacs Port dd keybind 2026年06月29日 02:46:48 +02:00
.gitattributes Ignore CRLF, updates to .vimrc 2019年10月14日 21:40:48 +02:00
.gitignore minor doc updates 2025年12月27日 00:21:20 +01:00
.p10k.zsh minor doc updates 2025年12月27日 00:21:20 +01:00
.shell_aliases Add edit util so I don't need to keep typing emacs & disown 2026年07月06日 00:27:52 +02:00
.vimrc Add custom gx maps 2026年03月07日 02:31:52 +01:00
.zshrc Fix fzf integration 2026年05月10日 05:51:34 +02:00
.zshrc.local.template Set up client key generation 2024年01月19日 19:36:02 +01:00
LICENSE Create LICENSE 2019年02月02日 22:54:15 +01:00
Makefile Make upm and umbra globally available on all non-server linuxes 2026年05月14日 01:48:32 +02:00
README.md EDITOR=emacs, remove vim bits from default setup, reintroduce markdown mode 2026年03月12日 00:23:59 +01:00
TODO.org Start an inline TODO list rather than issues 2026年05月10日 05:52:10 +02:00

dotfiles

This repository contains my dotfiles, and a massive automation system for installing and managing my dotfiles, software, and servers.

Some important folders

  • docs/: Contains conventions, manual installation steps, and noteworthy pitfalls
  • make/: contains Makefile-based modules for the main installation script
  • config/: contains content copied to ~/.config
  • cinnamon/: Contains cinnamon-specific configuration
  • automation/: Contains shell scripts for automated installation of some more complicated services. Some of these are used by specific parts of make/ (largely nova.mk?)
  • scripts/: Contains supporting scripts used through zsh
  • windows/: contains Windows-specific scripts, and also the keyboard layout I use

The remaining folders contain various minor files not directly worth mentioning here.

In addition, in my local install, secrets/ exists. This is a remote git repo stored in my local forgejo instance. As the name suggests, it contains secrets.

Warning

You should not run any of the automation scripts without fully understand what they do first. They install a lot of opinionated stuff, and make decisions that I can only guarantee make sense with my specific setup. If you're interested in joinking my dotfiles, do so manually.

However, running it as-is, unless you're me, is likely a bad idea, and will likely have unexpected consequences. You have been warned.

Prerequites

From nothing, it's assumed that:

  • You have an SSH key for GitHub set up
  • If using the secrets target, you must additionally be me, and have an SSH key to forgejo as well.
  • You have cloned the repo, and have Git installed.

TODO: replace some of the above with pass-cli

Running the automation systems

There's a few main targets, and they're somewhat modular. These are:

  • home: used for private machines
  • server: used for servers (shock)
  • work: used for work computers

In addition, the following non-bundled targets exist:

  • secrets: clones the secrets repo and runs bootstrap.sh. For context for anyone without access to my secrets repo, this is just a shell script in the secrets repo that copies the secret files where they need to be copied.
  • java: installs some Java-related tooling. Ironically, java itself is not installed through this dependency, as java versions in the wild seem to be more involved than "Just install latest and call it a day". Don't you just love legacy software?

There's also common, which runs everything except the configuration-specific targets

License

See the LICENSE file for the full details. The project is licensed under the Unlicense.