Skip to content

About

Declarative NixOS config for personal use.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

repinek's NixOS dotfiles

Declarative NixOS configuration with Home Manager for daily personal use.

Some NixOS dotfiles I've come across seem to be missing basic things you'd expect from a daily-use computer.
Like, are you really using just a WM, Vim, Git, and a browser? What about an office suite, a video player, a file explorer or literally anything else? We live in a capitalist world.
This configuration is my attempt at building a complete, practical desktop setup for everyday use, not just a minimal environment for writing code.

Everyday convenience matters to me: opening files in the right applications, previewing them in the file manager, taking and annotating screenshots, sharing files between devices, etc.
I mostly use open-source software, though.
I use Nix to keep my setup reproducible, but I still configure some applications / features imperatively. Those manual settings are documented alongside the configuration.

I use AI mainly for questions and guidance while working on these dotfiles. If a file is vibecoded, I will explicitly note it in the comments.

Contents

Screenshots

Rose Pine theme, Noctalia Shell + Control Center, Hyprland, Alacritty terminal with fastfetch

Rose Pine theme, Noctalia Shell, Hyprland, Zed

Creamy Forest Theme, Noctalia Shell, Hyprland, LibreWolf browser

Rosey AMOLED Theme, Noctalia Shell, Hyprland, Nemo file manager

Features

  • Everyday applications for files, documents, media, creative work and communication
  • Fully configured desktop experience with Hyprland and Noctalia Shell
  • Theme management with Noctalia Shell for wallpapers, GTK, Qt5/6, KColorScheme, btop, Alacritty, Fastfetch, Hyprland, VSCodium, Obsidian, Vesktop, LibreWolf, and OBS Studio
  • Useful aliases in the shell
  • Ergonomic keybindings in Hyprland
  • Declarative configs for a lot of apps, including LibreWolf, VSCodium, Obsidian, Zed, Anki, Nemo, etc.
  • Daily incremental Btrfs backups with seven-day retention

Architecture things

  • Flake-based, mostly modular system
  • Supports multiple hosts and users (not sure if I need multiple users for now tho)
  • Secret management with sops-nix
  • My own packages

Structure

nixos-dotfiles
├── assets                  # Static assets: screenshots, wallpapers, etc.
├── hosts                   # per-host configuration
│   └── desktop
│       ├── settings        # Host-specific settings
│       ├── home.nix        # Home Manager configuration for this host
│       ├── system.nix      # NixOS configuration for this host
│       └── hardware-configuration.nix
├── lib                     # Helpers
│   └── mkNixos.nix
├── modules                 # Reusable system and user modules
│   ├── cli
│   ├── core
│   │   ├── btrfs
│   │   ├── fonts
│   │   ├── nix
│   │   ├── packages        # Base system packages
│   │   ├── security
│   │   └── system
│   ├── desktop
│   │   ├── hypr            # hypr ecosystem
│   │   │   └── hyprland
│   │   ├── ly
│   │   ├── mime
│   │   ├── noctalia
│   │   └── theme
│   ├── editors
│   ├── games
│   ├── hardware
│   │   ├── audio
│   │   └── nvidia
│   ├── programs
│   │   ├── browsers 
│   │   ├── media 
│   │   └── messengers 
│   └── shell
│       └── fish
├── pkgs                    # Custom packages (Standalone flake)
│   ├── google-sans
│   ├── ida-pro
│   ├── ida-pro-mcp
│   ├── il2cpp-inspector-redux
│   ├── flake.nix
│   └── README.md
├── services                # Reusable services
├── users                   # per-user configuration
│   └── repinek
│       ├── settings        # User-specific settings
│       ├── home.nix        # Home Manager configuration for this user
│       └── system.nix      # NixOS configuration for this user
└── flake.nix

Usage

Warning

This is my personal configuration, created only for me, for my personal hardware and workflow.
DO NOT COPY & PASTE IT BLINDLY
Use it only as a reference to build and configure your own config.

If you know what you are doing and just want to look around:

git clone https://github.com/repinek/nixos-dotfiles.git
cd nixos-dotfiles

TODO

Not needed right now, just ideas for when I have free time

  • Try quickshell
  • Do something with Obsidian (I don't like it after native apps, maybe switch it to something like NeoVim with plugins or Zed)
  • Try Niri one day
  • proxypin, httptoolkit, reqable* (or anything else for traffic capturing)

There are also several FIXME and TODO comments.

License

This project is licensed under the MIT License.
See the LICENSE file for details.

Credits

About

Declarative NixOS config for personal use.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages