Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REFACTOR #3

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.direnv
result*
/.pre-commit-config.yaml
4 changes: 2 additions & 2 deletions .sops.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ keys:
creation_rules:
- path_regex: hosts/common/secrets.ya?ml$
key_groups:
- age:
- *Charmander
- age:
- *Charmander
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
# HeitorAugustoLN's NixOS Configurations

This repository contains my personal NixOS configurations, including system and home environment setups. It leverages Nix flakes for reproducibility and ease of management.
This repository contains my personal NixOS configurations, including system and
home environment setups. It leverages Nix flakes for reproducibility and ease of
management.

**Highlights**:

- Extensively configured and fully declarative **KDE Plasma 6** environment
- Declarative **encrypted BTRFS** partitions using [disko](https://github.com/nix-community/disko)
- Deployment **secrets** using **sops-nix**
- Extensively configured and fully declarative **KDE Plasma 6** environment
- Declarative **encrypted BTRFS** partitions using
[disko](https://github.com/nix-community/disko)
- Deployment **secrets** using **sops-nix**

## Structure

My configuration structure is based on [misterio77's nix config](https://github.com/Misterio77/nix-config), with some adjustments for my use.
My configuration structure is based on
[misterio77's nix config](https://github.com/Misterio77/nix-config), with some
adjustments for my use.

- `.sops.yaml`: Configuration for `sops` and `sops-nix`.
- `shell.nix`: devShell configuration.
- `flake.nix`: Entrypoint for hosts and home configurations. Also exposes a devShell for boostrapping (`nix develop` or `nix-shell`).
- `flake.nix`: Entrypoint for hosts and home configurations. Also exposes a
devShell for boostrapping (`nix develop` or `nix-shell`).
- `home/`: Home environment configurations.
- `hosts/`: Host-specific configurations.
- `modules/`: NixOS and home-manager modules, that I haven't upstreamed yet.
- `overlays/`: Patches and version overrides for some packages. Accessible via `nix build`.
- `overlays/`: Patches and version overrides for some packages. Accessible via
`nix build`.
- `pkgs/`: My custom packages. Also accessible via `nix build`.

## How to bootstrap
Expand All @@ -45,19 +52,23 @@ nix develop
## Secrets

For deployment secrets (such as user passwords and server service secrets), I'm
using the awesome [`sops-nix`](https://github.com/Mic92/sops-nix). All secrets are encrypted with relevant systems's SSH host keys.
using the awesome [`sops-nix`](https://github.com/Mic92/sops-nix). All secrets
are encrypted with relevant systems's SSH host keys.

## Tooling and applications I use

Most relevant user apps daily drivers:

- KDE Plasma 6 + [plasma-manager](https://github.com/nix-community/plasma-manager)
- KDE Plasma 6 +
[plasma-manager](https://github.com/nix-community/plasma-manager)
- Neovim
- Konsole
- Firefox + [betterfox user.js](https://github.com/HeitorAugustoLN/betterfox-nix)
- Firefox +
[betterfox user.js](https://github.com/HeitorAugustoLN/betterfox-nix)
- Fish
- KDE Connect

## License

This repository is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.
This repository is licensed under the MIT License. See the [LICENSE](./LICENSE)
file for details.
Loading