https://github.com/edmundmiller/dotfiles
For keeping all my Dotfiles update to date
https://github.com/edmundmiller/dotfiles
dotfiles emacs nix-dotfiles nixos nixos-configuration vim zsh
Last synced: about 1 year ago
JSON representation
For keeping all my Dotfiles update to date
- Host: GitHub
- URL: https://github.com/edmundmiller/dotfiles
- Owner: edmundmiller
- License: mit
- Created: 2017-05-19T21:26:29.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2025-02-08T14:42:59.000Z (over 1 year ago)
- Last Synced: 2025-03-25T00:23:02.869Z (about 1 year ago)
- Topics: dotfiles, emacs, nix-dotfiles, nixos, nixos-configuration, vim, zsh
- Language: DIGITAL Command Language
- Homepage:
- Size: 72.5 MB
- Stars: 39
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - edmundmiller/dotfiles
README
[](https://github.com/hlissner/doom-emacs)
[](https://nixos.org)
**Hey,** you. You're finally awake. You were trying to configure your OS declaratively, right? Walked right into that NixOS ambush, same as us, and those dotfiles over there.
```sh
nix run nix-darwin --experimental-feature nix-command --experimental-feature flakes -- switch --flake ~/.config/nix
```
---
| | |
| -------------- | -------------------------------------------------------- |
| **Shell:** | zsh + zgen |
| **DM:** | lightdm + lightdm-mini-greeter |
| **WM:** | bspwm + polybar |
| **Editor:** | [Doom Emacs][doom-emacs] (and occasionally [vim]) |
| **Terminal:** | st |
| **Launcher:** | rofi |
| **Browser:** | firefox |
| **GTK Theme:** | [Ant Dracula](https://github.com/EliverLara/Ant-Dracula) |
---
## Quick start
1. Yoink [NixOS 20.09][nixos] (must be newer than Sept 12, 2020 for `nixos-install --flake`).
2. Boot into the installer.
3. Do your partitions and mount your root to `/mnt`
4. `git clone https://github.com/emiller88/dotfiles /etc/nixos`
5. Install NixOS: `nixos-install --root /mnt --flake #XYZ`, where `XYZ` is your
hostname. Use `#generic` for a simple, universal config.
6. OPTIONAL: Create a sub-directory in `hosts/` for your device. See [host/kuro]
as an example.
7. Reboot!
## Management
And I say, `bin/hey`. [What's going on?](https://www.youtube.com/watch?v=ZZ5LpwO-An4)
| Command | Description |
| ----------------- | --------------------------------------------------------------- |
| `hey rebuild` | Rebuild this flake (shortcut: `hey re`) |
| `hey upgrade` | Update flake lockfile and switch to it (shortcut: `hey up`) |
| `hey rollback` | Roll back to previous system generation |
| `hey gc` | Runs `nix-collect-garbage -d`. Use sudo to clean system profile |
| `hey push REMOTE` | Deploy these dotfiles to REMOTE (over ssh) |
| `hey check` | Run tests and checks for this flake |
| `hey show` | Show flake outputs of this repo |
## Frequently asked questions
- **How do I change the default username?**
1. Set `USER` the first time you run `nixos-install`: `USER=myusername nixos-install --root /mnt --flake #XYZ`
2. Or change `"hlissner"` in modules/options.nix.
- **How do I "set up my partitions"?**
My main host [has a README](hosts/kuro/README.org) you can use as a reference.
I set up an EFI+GPT system and partitions with `parted` and `zfs`.
- **How 2 flakes?**
It wouldn't be the NixOS experience if I gave you all the answers in one,
convenient place.
[doom-emacs]: https://github.com/hlissner/doom-emacs
[vim]: https://github.com/hlissner/.vim
[nixos]: https://releases.nixos.org/?prefix=nixos/24.05-small/
[host/kuro]: https://github.com/hlissner/dotfiles/tree/master/hosts/kuro
## Usage as a flake
[](https://flakehub.com/flake/Emiller88/dotfiles)
Add dotfiles to your `flake.nix`:
```nix
{
inputs.dotfiles.url = "https://flakehub.com/f/Emiller88/dotfiles/*.tar.gz";
outputs = { self, dotfiles }: {
# Use in your outputs
};
}
```