# 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 with one of "bare","home", etc...) nix run home-manager/master -- switch -b backup --flake .# # 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)