dotfiles/README.md
2026-06-24 05:23:53 -04:00

84 lines
3.2 KiB
Markdown

# 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](./dev.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-manager` does so much heavy lifting and there's only a few manual tweaks.
* **Multi-environment** - There are multiple `home-manager` profiles that can be used
## Software
Deep configurations for:
* [micro-editor](https://micro-editor.github.io/) (instead of Sublime Text)
* [git](https://git-scm.com/)
* bash
* [firefox](https://firefox.com)
* [fd](https://github.com/sharkdp/fd)
Other installed software:
* [flameshot](https://flameshot.org/)
* [ffmpeg](https://www.ffmpeg.org/)
* [activitywatch](https://activitywatch.net/)
## Usage (from a bare system)
```bash
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 `findcode` better/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](https://github.com/Cobertos/dotfiles/tree/departing-python)
* My dotfiles [when they were all Ansible](https://github.com/Cobertos/dotfiles/tree/ansible)
* My dotfiles [when they were mainly Windows-based dotfiles](https://github.com/Cobertos/dotfiles/tree/windows-df-old)