Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexpearce/dotfiles
My dotfiles.
https://github.com/alexpearce/dotfiles
dotfiles home-manager nix nix-flake
Last synced: 12 days ago
JSON representation
My dotfiles.
- Host: GitHub
- URL: https://github.com/alexpearce/dotfiles
- Owner: alexpearce
- License: unlicense
- Created: 2013-10-31T11:27:45.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2024-08-11T19:12:00.000Z (3 months ago)
- Last Synced: 2024-08-11T20:27:14.228Z (3 months ago)
- Topics: dotfiles, home-manager, nix, nix-flake
- Language: Lua
- Homepage:
- Size: 2.63 MB
- Stars: 134
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - alexpearce/dotfiles - My dotfiles. (Lua)
README
# Dotfiles
This is my collection of [configuration files](http://dotfiles.github.io/).
It uses [home-manager][home-manager]—a [Nix][nix]-based tool—to install
programs and create their configuration files based off the
[`home.nix`](home.nix) file in this repository. I [wrote more about it in a
blog post][nix-post].(I used to [use GNU Stow][stow-post]. The last Stow-based commit was
[`4f1feee1e`][stow-commit].)## Usage
Install [Nix][nix] with Nix Flake support enabled, for example by using the [Determinate Systems installer][nix-installer].
You should be able to run the `nix flake` command in a shell.Next, clone this repository. We'll use `~/Code/dotfiles`.
```shell
$ git clone [email protected]:alexpearce/dotfiles.git ~/Code/dotfiles
```The home-manager profile can then be built and activated:
```shell
$ nix run home-manager/master -- switch --flake ~/Code/dotfiles#apearwin
```To update dependencies:
```shell
$ nix flake update ~/Code/dotfiles
```### Fish
I like to set [fish][fish] as my default shell. On macOS this means:
1. Editing `/etc/shells` to include an entry for the home-manager-managed
`fish` binary at `~/.nix-profile/bin/fish`.
2. Setting the default shell with `chsh -s ~/.nix-profile/bin/fish`.### nix-darwin
As an alternative to using home-manager alone, the configuration supports using
it with [nix-darwin][nix-darwin].The initial setup requires moving the Nix configuration file created by the
Determinate Systems installer out of the way, so that nix-darwin can manage it
for us.```
sudo mv /etc/nix/nix.conf{,.before-nix-darwin}
nix --extra-experimental-features 'nix-command flakes' run nix-darwin -- switch --flake (pwd)
```Subsequent rebuilds, after configuration changes, are simpler.
```
darwin-rebuild switch --flake (pwd)
```## License
[MIT](http://opensource.org/licenses/MIT).
[nix]: https://nixos.org/
[nix-installer]: https://github.com/DeterminateSystems/nix-installer
[home-manager]: https://github.com/nix-community/home-manager
[fish]: https://fishshell.com/
[nix-darwin]: https://github.com/LnL7/nix-darwin[nix-post]: https://alexpearce.me/2021/07/managing-dotfiles-with-nix/
[stow-post]: https://alexpearce.me/2016/02/managing-dotfiles-with-stow/
[stow-commit]: https://github.com/alexpearce/dotfiles/tree/4f1feee1e4bc71f2ba5774af44eed1da774510a0