• Stars
    star
    585
  • Rank 73,589 (Top 2 %)
  • Language
    Nix
  • License
    MIT License
  • Created almost 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Personal nixos and home-manager configurations.

built with nix hydra status

My NixOS configurations

Here's my NixOS/home-manager config files. Requires Nix flakes.

Looking for something simpler to start out with flakes? Try my starter config repo.

Highlights:

  • Multiple NixOS configurations, including desktop, laptop, server
  • Opt-in persistence through impermanence + blank snapshotting
  • Encrypted single BTRFS partition
  • Fully declarative self-hosted stuff
  • Deployment secrets using sops-nix
  • Mesh networked hosts with tailscale and headscale
  • Flexible Home Manager Configs through feature flags
  • Extensively configured wayland environments (sway and hyprland) and editor (neovim)
  • Declarative themes and wallpapers with nix-colors
  • Hydra CI/CD server and binary cache that uses the desktops as remote builders

Structure

  • flake.nix: Entrypoint for hosts and home configurations. Also exposes a devshell for boostrapping (nix develop or nix-shell).
  • lib: A few lib functions for making my flake cleaner
  • hosts: NixOS Configurations, accessible via nixos-rebuild --flake.
    • common: Shared configurations consumed by the machine-specific ones.
      • global: Configurations that are globally applied to all my machines.
      • optional: Opt-in configurations my machines can use.
    • atlas: Desktop PC - 32GB RAM, R5 3600x, RX 5700XT | Hyprland
    • pleione: Lenovo Ideapad 3 - 8GB RAM, R7 5700u | Hyprland
    • maia: Secondary Desktop PC - 16GB RAM, i5 6600, GTX 970 | Server
    • merope: Raspberry Pi 4 - 8GB RAM | Server
    • celaeno: Oracle Could VPS (Ampere) - 24GB RAM & 4vCPUs | Server
    • alcyone: Vultr VPS - 1GB RAM & 1 vCPU | Server
  • home: My Home-manager configuration, acessible via home-manager --flake
    • Each directory here is a "feature" each hm configuration can toggle, thus customizing my setup for each machine (be it a server, desktop, laptop, anything really).
  • modules: A few actual modules (with options) I haven't upstreamed yet.
  • overlay: Patches and version overrides for some packages. Accessible via nix build.
  • pkgs: My custom packages. Also accessible via nix build. You can compose these into your own configuration by using my flake's overlay, or consume them through NUR.
  • templates: A couple project templates for different languages. Accessible via nix init.

About the installation

All my computers use a single btrfs (encrypted on all except headless systems) partition, with subvolumes for /nix, a /persist directory (which I opt in using impermanence), swap file, and a root subvolume (cleared on every boot).

Home-manager is used in a standalone way, and because of opt-in persistence is activated on every boot with loginShellInit.

How to bootstrap

All you need is nix (any version). Run:

nix-shell

If you already have nix 2.4+, git, and have already enabled flakes and nix-command, you can also use the non-legacy command:

nix develop

nixos-rebuild --flake . To build system configurations

home-manager --flake . To build user configurations

nix build (or shell or run) To build and use packages

sops To manage secrets

Secrets

For deployment secrets (such as user passwords and server service secrets), I'm using the awesome sops-nix. All secrets are encrypted with my personal PGP key (stored on a YubiKey), as well as the relevant systems's SSH host keys.

On my desktop and laptop, I use pass for managing passwords, which are encrypted using (you bet) my PGP key. This same key is also used for mail signing, as well as for SSH'ing around.

Tooling and applications I use

Most relevant user apps daily drivers:

  • hyprland + swayidle + swaylock
  • waybar
  • neovim
  • fish + starship
  • kitty
  • qutebrowser
  • neomutt + mbsync
  • khal + khard + todoman + vdirsyncer
  • gpg + pass
  • tailscale
  • podman
  • zathura
  • wofi
  • bat + fd + rg
  • kdeconnect
  • sublime-music

Some of the services I host:

  • hydra
  • navidrome
  • deluge
  • prometheus
  • websites (such as https://m7.rs)
  • minecraft
  • headscale

Nixy stuff:

  • nix-colors
  • sops-nix
  • impermanence
  • home-manager
  • deploy-rs
  • and NixOS and nix itself, of course :)

Let me know if you have any questions about them :)

Unixpornish stuff

fakebusy clean

That's how my hyprland desktop setup look like (as of 2022 July).

More Repositories

1

nix-starter-configs

Simple and documented config templates to help you get started with NixOS + home-manager + flakes. All the boilerplate you need!
Nix
1,677
star
2

flavours

🎨💧 An easy to use base16 scheme manager that integrates with any workflow.
Rust
435
star
3

nix-colors

Modules and schemes to make theming with Nix awesome.
Nix
402
star
4

dotfiles

Dotfiles for my Arch setup.
Mustache
16
star
5

paste.misterio.me

Simple pasting service
Rust
12
star
6

disconic

Discord bot for interacting with subsonic music libraries
Rust
9
star
7

website

My personal website and blog
Liquid
6
star
8

base16-nebula-scheme

Blue and Green Base16 Scheme
6
star
9

minicava

A miniature cava sound visualizer, designed for running in status bars
Shell
5
star
10

aoc2022

My Haskell and Rust attempt on AoC 2022
Rust
5
star
11

base16-pasque-scheme

Purple and Gold Base16 Theme
4
star
12

Modpack

Meu modpackzinho
TOML
4
star
13

my-minecraft-server

My minecraft server, which is ran using docker compose
Shell
3
star
14

nixos-hyprland-example

Nix
3
star
15

BSI-SCC0560

Parte final do trabalho de IHC
HTML
3
star
16

nur-packages

My personal NUR repo
Nix
3
star
17

pokedex-pfpa

Projeto da disciplina de Programação Funcional Pura com Aplicações (2022)
Haskell
3
star
18

base16-spotify

Base16 for spotify (using spicetify)
HTML
2
star
19

yrmos

Protótipo para a disciplina de empreendedorismo
Rust
2
star
20

base16-catppuccin-scheme

Catppuccin base16 theme
2
star
21

BSI

Repositório arquivado, agora são vários repositórios em um projeto no SourceHut: https://hub.sr.ht/~misterio/BSI
TeX
2
star
22

sep0566

Listas e notas de introdução a economia
TeX
2
star
23

rgbdaemon

Simple script for interfacing with OpenRGB and CKB-next programmatically
Shell
2
star
24

minecraftd

Minecraft server daemon script, forked from Edenhofer. Now supports multiple servers at once.
Shell
2
star
25

base16-sakura-scheme

Light pink scheme for base16
2
star
26

shellcolord

Shell
2
star
27

drupal-12factor

drupal-12factor
PHP
2
star
28

base16-silk-scheme

Cyan/blueish theme for base16, with light and dark options
2
star
29

BMA-SME0230

Jogo da cobrinha muito bolado
C
2
star
30

BSI-SSC0510

Disciplina de Arquitetura de Computadores
1
star
31

IHC2021

Implementação de IHC
Rust
1
star
32

modpack-da-informacao

Modpack para o BSI, ICMC & amigos
1
star
33

RubensCrew

Trabalhos e projetos BSI 2020
C
1
star
34

T1-ICC2

Trabalho 1 da disciplina ICC 2
TeX
1
star
35

misterio77

Hey!
1
star
36

Trabalho-IDW

Projeto da disciplina Introdução ao Desenvolvimento Web
JavaScript
1
star
37

T2-ED2

C
1
star
38

sistemer-bot

Bot do BSI 020 para telegram
Rust
1
star
39

bsi-modpack

Modpack files
Shell
1
star
40

pass-wofi

A wofi graphical menu for pass
Shell
1
star
41

base16-spaceduck-scheme

Spaceduck scheme, packaged for use with base16
1
star
42

bungeecord-aur

Bungeecord AUR package and management script, forked from Edenhofer. Supports multiple servers.
Shell
1
star
43

pmis

CLI companion for paste.misterio.me
Rust
1
star
44

base16-uwunicorn-scheme

Pretty scheme
1
star
45

BSI-SCC0505-T1

Trabalho 1 de Introdução a Teoria Computacional
Rust
1
star
46

ModpackConfig

Just config files for my Modpack :D
1
star
47

aws-azure-login-action

GitHub action for aws-azure-login
TypeScript
1
star
48

T2-ED

Trabalho 2 de Estrutura de Dados
C
1
star
49

SCC0541-Lab-BD-Projeto

Projeto da disciplina de Laboratório de Bases de Dados (SCC0541) - 2022/1
SCSS
1
star