2023-02-20 06:48:10 +01:00
# winston's dotfiles
2023-02-20 07:45:06 +01:00
[![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)
[![MIT license ](https://img.shields.io/github/license/nekowinston/dotfiles?style=flat-square&color=f5c2e7 )](https://github.com/nekowinston/dotfiles/blob/main/LICENSE)
2023-02-20 06:48:10 +01:00
2023-06-16 02:59:25 +02:00
Welcome to my cross-platform dots.
Focused on improving productivity, and reducing the pain of switching between operating systems.
Minimal rice, with a focus on getting the annoying stuff out of the way.
2023-02-20 06:48:10 +01:00
### Overview
Here's what you can find:
- **[WezTerm](https://wezfurlong.org/wezterm/)** as my terminal, with tmux-like keybindings
- **[Starship](https://starship.rs)** as my prompt
2023-12-24 16:05:13 +01:00
- **Firefox** with privacy-centered settings, though I don't use it heavily anymore.
2023-06-16 02:59:25 +02:00
- My **GPG** & ** [Sops.nix ](https://github.com/Mic92/sops-nix )** settings
2023-02-20 06:48:10 +01:00
- Other random bits of config tools I've collected over the years
- The ** [Catppuccin ](https://github.com/catppuccin )** theme, wherever possible
- macOS:
2023-06-16 02:59:25 +02:00
- **[Yabai](https://github.com/koekeishiya/yabai)** as my WM
2023-02-20 06:48:10 +01:00
- Linux:
2023-06-16 02:59:25 +02:00
- **[sway](https://swaywm.org)** as my WM
2023-04-11 14:45:38 +02:00
2023-12-24 16:05:13 +01:00
**[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 ).
2023-04-11 14:45:38 +02:00
### Notes for a new install
2023-12-24 16:05:13 +01:00
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.
2023-04-11 14:45:38 +02:00
#### macOS
2023-06-16 02:59:25 +02:00
##### Install the [Xcode Command Line Tools](https://developer.apple.com/download/all/)
2023-04-11 14:45:38 +02:00
2023-12-24 16:05:13 +01:00
```console
$ xcode-select --install
2023-04-11 14:45:38 +02:00
```
2023-12-24 16:05:13 +01:00
##### Install [Homebrew](https://brew.sh)
2023-04-11 14:45:38 +02:00
2023-12-24 16:05:13 +01:00
```console
$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
2023-04-11 14:45:38 +02:00
```
##### Exclude `/nix/` from Time Machine:
2023-12-24 16:05:13 +01:00
```console
$ sudo tmutil addexclusion -v /nix
2023-04-11 14:45:38 +02:00
```
2023-12-24 16:05:13 +01:00
### Building the flake
```console
$ nix --experimental-features "nix-command flakes" develop # enter the devShell
$ just switch
2023-04-11 14:45:38 +02:00
```
2023-12-24 16:05:13 +01:00
I personally use [`nix-direnv` ](https://github.com/nix-community/nix-direnv ) to automatically enter this devShell on my machines.