# NixOS configuration - managing my devices


## Using this flake
Clone this repository and use the current directory as the flake target `<target>`.

or

Use this repository as a a remote input using the following format for `<target>`:
```
git+https://git.kluster.moll.re/remoll/nixos-config
```
Don't forget to add the `#<host>` to the end of the target to specify the host configuration to use.


## Hosts

### Spectre

###



## Usage
### Deploying to a machine
Run
```bash
nixos-rebuild switch --flake <target>#<machine>
# for instance
nixos-rebuild switch --flake .#Nixtre
```
to apply the configuration.

### Using `nh`
Updating from a local config is now easy - since `nh` is already specified as installed:
```
nix flake update
nh os switch .
```


### Installer iso
To build an installer iso, run
```bash
nix build .#nixosConfigurations.bcachefs-iso.config.system.build.isoImage
```
This will create an iso image in the result directory.


### Macos install
Initial install of nix using the determinate nix installer. Then a "full" bootstrap that installs all required packages such as `nh`, `git` etc.:
```
sudo nix run nix-darwin/master#darwin-rebuild -- switch --flake .#Remys-MacBook-Pro
```
> some modifications might be necessary (i.e. due to faulty git setup at that stage).
```
# could also try something like this:
nix-shell -p git nh
```
Finally, the desired state has been reached where `nh` is available:
```
nh darwin switch .
```

## Installation
TODO - disable root user
```
 I install with --no-root-passwd and set users.mutableUsers = false in configuration.nix
```

## TODO




## Inspirations
- https://github.com/the-nix-way/dev-templates
- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
- https://ianthehenry.com/posts/how-to-learn-nix/profiles
- https://github.com/JohnRTitor/nix-conf
- https://github.com/mwaldleben/nix-config
- https://github.com/anotherhadi/nixy
- https://github.com/Numb-0/nix-0
- https://github.com/Frost-Phoenix/nixos-config
- https://github.com/nomadics9/nixcfg
- https://github.com/Daholli/nixos-config
- https://github.com/khaneliman/khanelinix
- https://github.com/NotAShelf/nyx
- https://copeberg.org/bloxx12/nichts
- https://github.com/fufexan/dotfiles
- https://github.com/spikespaz/dotfiles
- https://github.com/luisnquin/nixos-config
- https://gitlab.com/fisuri/dotfiles
- https://github.com/NobbZ/nixos-config
- https://code.maralorn.de/maralorn/config/
- https://github.com/sameemul-haque/dotfiles


#### Hyprland specific
- https://github.com/elifouts/Dotfiles
- https://github.com/Abhra00/hyprdots
