refactor: store flake at ~/.config/flake, update docs

This commit is contained in:
winston 2023-12-24 16:05:13 +01:00
parent d60ae95181
commit cc06956350
Signed by: winston
GPG key ID: 3786770EDBC2B481
3 changed files with 22 additions and 18 deletions

View file

@ -3,7 +3,6 @@
[![flake check status](https://img.shields.io/github/actions/workflow/status/nekowinston/dotfiles/check.yml?label=flake%20check&logo=nixos&logoColor=%23fff&style=flat-square&color=f5c2e7)](https://github.com/nekowinston/dotfiles/actions/workflows/check.yml)
[![GitHub stars](https://img.shields.io/github/stars/nekowinston/dotfiles?style=flat-square&color=f5c2e7)](https://github.com/nekowinston/dotfiles/stargazers)
[![commit activity](https://img.shields.io/github/commit-activity/w/nekowinston/dotfiles?style=flat-square&label=commits&color=f5c2e7)](https://github.com/nekowinston/dotfiles/commits)
[![SLOC](https://img.shields.io/tokei/lines/github/nekowinston/dotfiles?style=flat-square&color=f5c2e7)](#)
[![MIT license](https://img.shields.io/github/license/nekowinston/dotfiles?style=flat-square&color=f5c2e7)](https://github.com/nekowinston/dotfiles/blob/main/LICENSE)
Welcome to my cross-platform dots.
@ -15,11 +14,8 @@ Minimal rice, with a focus on getting the annoying stuff out of the way.
Here's what you can find:
- **[WezTerm](https://wezfurlong.org/wezterm/)** as my terminal, with tmux-like keybindings
- **[Neovim](https://neovim.io)** as my tui editor & my JetBrains IdeaVim config
- **[Neomutt](http://www.neomutt.org)** as my mail client
- **[Taskwarrior](https://taskwarrior.org)** for task management
- **[Starship](https://starship.rs)** as my prompt
- **Firefox** with privacy-centered settings
- **Firefox** with privacy-centered settings, though I don't use it heavily anymore.
- My **GPG** & **[Sops.nix](https://github.com/Mic92/sops-nix)** settings
- Other random bits of config tools I've collected over the years
- The **[Catppuccin](https://github.com/catppuccin)** theme, wherever possible
@ -28,31 +24,39 @@ Here's what you can find:
- Linux:
- **[sway](https://swaywm.org)** as my WM
**[Neovim](https://neovim.io)** used to be part of this repository, but now my config is fully reproducible & stored over [here](https://github.com/nekowinston/neovim.drv).
### Notes for a new install
This flake technically has an impurity at its core, because it assumes that it will be stored in `~/.config/flake` and will create symlinks pointing there.
This is so I can edit some dotfiles (e.g. VSCode `settings.json`) in place and have programs hot reload them.
#### macOS
##### Install the [Xcode Command Line Tools](https://developer.apple.com/download/all/)
```sh
xcode-select --install
```console
$ xcode-select --install
```
##### [Install Brew](https://brew.sh)
##### Install [Homebrew](https://brew.sh)
```sh
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
```console
$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
```
##### Exclude `/nix/` from Time Machine:
```sh
sudo tmutil addexclusion -v /nix
```console
$ sudo tmutil addexclusion -v /nix
```
##### Initial build for the flake
```sh
nix build .#darwinConfigurations.sashimi.system
./result/sw/bin/darwin-rebuild switch --flake .
### Building the flake
```console
$ nix --experimental-features "nix-command flakes" develop # enter the devShell
$ just switch
```
I personally use [`nix-direnv`](https://github.com/nix-community/nix-direnv) to automatically enter this devShell on my machines.

View file

@ -7,8 +7,8 @@
extraSpecialArgs = {
flakePath =
if pkgs.stdenv.isDarwin
then "/Users/${username}/.config/nixpkgs"
else "/home/${username}/.config/nixpkgs";
then "/Users/${username}/.config/flake"
else "/home/${username}/.config/flake";
inherit inputs;
};
hmStandaloneConfig = let