No description
- Nix 49.7%
- Python 12.7%
- Shell 11.9%
- CSS 8.7%
- JavaScript 8.6%
- Other 8.4%
| .config | ||
| .gitea/workflows | ||
| actions | ||
| desktop | ||
| fonts | ||
| git | ||
| krita | ||
| nix | ||
| scripts | ||
| terminal | ||
| .bashrc | ||
| .dockerignore | ||
| .gitignore | ||
| .profile | ||
| .pylintrc | ||
| bare.nix | ||
| claude.nix | ||
| config.nix | ||
| desktop-niri.nix | ||
| desktop-x11-generic.nix | ||
| dev.Dockerfile | ||
| dev.sh | ||
| flake.lock | ||
| flake.nix | ||
| kmonad.kbd | ||
| README.md | ||
Dot Files
systemctl --user start activitywatch.target
This repo contains:
- My home-manager configuration as a nix flake
- My dotfiles and various configs
- A dockerfile that builds an isolated development container with home-manager, nix, and my dotfiles in various flavors
Are these really just dotfiles anymore...?
Guiding Principles
- Linking - Symlinks over copying
- Public - Private keys and licenses are separate.
- Reproducible -
home-managerdoes so much heavy lifting and there's only a few manual tweaks. - Multi-environment - There are multiple
home-managerprofiles that can be used
Software
Deep configurations for:
- micro-editor (instead of Sublime Text)
- git
- bash
- firefox
- fd
Other installed software:
Usage (from a bare system)
cd ~
sudo apt update && sudo apt install git
git clone https://github.com/Cobertos/dotfiles.git
cd dotfiles
# Installs nix
./dev.sh
# Run home-manager (replace <flavor> with one of "bare","home", etc...)
nix run home-manager/master -- switch -b backup --flake .#<flavor>
# Run activitywatch target if not relogging
systemctl --user start activitywatch.target
Manual steps
- Firefox
- Install extensions
- Migrate from old computer
- Insomnia configs (all the sqlite databases in Insomnia's home directory)
- .ssh keys
- Any environment variables holding keys
- Firefox/Chrome/wherever history
- Setup filesystem favorites
Linux specific manually
- Configure Linux Mint Desktop
- Change the theme to Dark (for Window borders, controls, and desktop)
- Change wallpapers/backgrouns to the folder that has them all in it
- Add a panel to every monitor, without grouped list applet merging and with window titles
- Change the Linux Mint start menu icon
TODO: Future Support
- Blender
- OBS (and prefs to record into Seafile?)
- Voicemeeter Banana (Linux / Ubuntu equivalent?)
- Setup correct file associations (for .xml, .html, etc...)
- VLC Plugins
- Audacity and configurations
- Make sure that Chrome/Firefox syncs settings for refined GitHub (looks like it worked)
- /etc/hosts and C:\Windows\System32\drivers\etc\hosts or wherever it is in Windows
- Seafile notifications disabling?
- Configure keybindings (like for flameshot)
- Add a little indicator to PS1 when dotfiles is out of date
- Make
findcodebetter/nicer. Can we have some sort of indexing search? - Put Userscripts for Tampermonkey in here (or maybe submodule? would be nice to use their WebDAV interface)
- Switch pip over to use the --user flag, or make it an option? Not sure what pipx needs?
Historical versions of the dotfiles
- My dotfiles when they worked using a custom Python library
- My dotfiles when they were all Ansible
- My dotfiles when they were mainly Windows-based dotfiles