No description
- Nix 50.5%
- Python 12.5%
- Shell 11.6%
- CSS 8.6%
- JavaScript 8.5%
- Other 8.3%
| .config | ||
| .gitea/workflows | ||
| actions | ||
| fonts | ||
| 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
This repo contains:
- My dotfiles and various configs
- Nix-flake-based home-manager configurations for installing it all (multiple flavors)
- A Dockerfile that builds a few flavors of development containers based on the above
It's not really just dotfiles anymore but...
Guiding Principles
- Linking - Symlinks over copying
- Public - Private keys and licenses are separate.
- Reproducible -
home-managerdoes 97% of the heavy lifting - Multi-environment - There are multiple
home-managerprofiles that can be used
Flavors
bare
Bare essentials for servers
- fd - for file searching
- micro-editor + many customizations - for terminal IDE
- other small, expected utilities
desktop-niri
Main desktop, using the Niri window manager
- firefox + configuration
- niri - window manager
-
- waybar - for taskbar
-
- niri_window_buttons - for taskbar windows in sort order
-
- nirimon - to configure displays
-
- fuzzel - for launcher
-
- swaybg - for backdrops
-
- grim + slurp + satty - for screenshot editing, replaces Flameshot for me
-
- activitywatch + watchers
- kmonad + configuration for custom macro pad inputs
- sublime text + packages configured through Nix
- other utilities
desktop-x11-generic
desktop-x11-genericlegacy, might use again, who knows
claude
claudelegacy
Usage (from a bare system)
cd ~
sudo apt update && sudo apt install git
git clone https://gitdab.com/cobertos/dotfiles.git
cd dotfiles
# Installs nix
./dev.sh
# Run home-manager (replace <flavor> with one of "bare","desktop-niri", etc...)
nix run home-manager/master -- switch -b backup --flake .#<flavor>
# Run activitywatch target if not relogging
systemctl --user start activitywatch.target
and then there are some manual steps:
- Firefox
- Install extensions
TODO: Future Support
- Loose ends: Need to install nemo (file manager), gtk (+gtk configs)
- 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
- /etc/hosts and C:\Windows\System32\drivers\etc\hosts or wherever it is in Windows
- Seafile notifications disabling?
- Configure keybindings (like for flameshot)
- 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)
- 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
- Add all my wallpapers
- Make wallpapers rotate