my-nixos
Here you can find the documentation for atomazu/my-nixos
To use this configuration clone the repo, add your own host and link your own hardware.nix.
You also have to add your host to flake/hosts.nix so your build command can find it.
Simple example configuration:
{
config,
pkgs,
...
}:
{
imports = [
./..
./hardware.nix
];
### Settings ###
atomazu.my-nixos {
enable = true;
host = {
name = "desktop";
user = "jonas";
locale = "en_US.UTF-8";
extraLocale = "de_DE.UTF-8";
layout = "us";
stylix = {
scheme = "tomorrow-night";
};
};
sys = {
boot = {
loader.systemd.enable = true;
};
};
home = {
git = {
enable = true;
name = "atomazu";
email = "contact@atomazu.org";
signing = {
enable = true;
format = "ssh";
};
};
shell.enable = true;
nixvim.enable = true;
tmux.enable = true;
};
profiles.sway.enable = true;
};
### Custom Tweaks ###
services.nginx = {
enable = true;
virtualHosts."api.atomazu.org" = {
locations."/" = {
proxyPass = "http://127.0.0.1:3000";
proxyWebsockets = true;
};
};
};
networking.firewall.allowedTCPPorts = [
80
443
3000
];
documentation.man.generateCaches = false;
}
There are various options available and I tried to make this pretty modular: Options
atomazu.my-nixos.enable
Whether to enable my-nixos configuration options.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.albert.enable
Whether to enable Albert application launcher.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.albert.xdgAutostart
Whether to enable Add Albert to xdg-Autostart.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.ashell.enable
Whether to enable ashell - a shell a la Material You.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.ashell.swayncIntegration
Whether to enable Sway Notification Center Integration.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.enable
Whether to enable Chromium web browser.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.package
The package to use
Type: package (read only)
Default:
<derivation chromium-138.0.7204.157>
Declared by:
atomazu.my-nixos.home.chromium.extensions.bitwarden
Whether to enable Bitwarden password manager extension.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.darkReader
Whether to enable Dark Reader for dark mode on all websites.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.malSync
Whether to enable MAL-Sync for syncing anime/manga watch history.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.sponsorBlock
Whether to enable SponsorBlock for skipping YouTube sponsors.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.uBlockLite
Whether to enable uBlock Origin ad-blocker extension.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.vimium
Whether to enable Vimium for Vim-like keybindings in Chromium.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.websiteBlocker
Whether to enable Website blocker for productivity.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.extensions.yomitan
Whether to enable YomiTan Japanese popup dictionary.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.chromium.widevine
Whether to enable WideVine binaries for playing DRM-protected content.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.enable
Whether to enable Firefox web browser.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.bitwarden
Whether to enable Bitwarden password manager extension.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.darkReader
Whether to enable Dark Reader for dark mode on all websites.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.impulseBlocker
Whether to enable Impulse Blocker for productivity.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.malSync
Whether to enable MAL-Sync for syncing anime/manga watch history.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.sponsorBlock
Whether to enable SponsorBlock for skipping YouTube sponsors.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.uBlockOrigin
Whether to enable uBlock Origin ad-blocker extension.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.vimium
Whether to enable Vimium for Vim-like keybindings in Firefox.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.firefox.extensions.yomitan
Whether to enable YomiTan Japanese popup dictionary.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.git.enable
Whether to enable Git source control integration.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.git.email
Email address for Git commits
Type: string
Example:
"example@mail.com"
Declared by:
atomazu.my-nixos.home.git.name
Full name for Git commits
Type: string
Example:
"John Doe"
Declared by:
atomazu.my-nixos.home.git.signing.enable
Whether to enable Git commit signing with a GPG or SSH key.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.git.signing.format
Key format for commit signing (ssh or gpg)
Type: one of “ssh”, “gpg”
Example:
"ssh"
Declared by:
atomazu.my-nixos.home.git.signing.key
Public key or key ID for commit signing
Type: string
Default:
"~/.ssh/id_ed25519.pub"
Declared by:
atomazu.my-nixos.home.my-shell.enable
Whether to enable atomazu’s desktop shell with opinionated settings.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.my-shell.settings
Settings to be merged into default
Type: attribute set
Default:
{ }
Declared by:
atomazu.my-nixos.home.nixvim.enable
Whether to enable Nix-managed Neovim configuration.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.shell.enable
Whether to enable Opinionated Shell Configuration.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.shell.bat.enable
Bat syntax highlighting
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.bat.pager
Pager to use
Type: string
Default:
"less -FR"
Declared by:
atomazu.my-nixos.home.shell.direnv.enable
Direnv environment management
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.editor
Default editor
Type: string
Default:
"nvim"
Declared by:
atomazu.my-nixos.home.shell.extraPackages
Additional packages to install
Type: list of package
Default:
[
<derivation gh-2.75.0>
<derivation ripgrep-14.1.1>
<derivation fd-10.2.0>
<derivation jq-1.8.1>
]
Declared by:
atomazu.my-nixos.home.shell.eza.enable
Eza file listing
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.eza.git
Enable git integration
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.eza.icons
When to show icons
Type: one of “auto”, “always”, “never”
Default:
"auto"
Declared by:
atomazu.my-nixos.home.shell.fastfetch.enable
Fastfetch system information
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.fastfetch.shellInit.enable
Whether to enable Show fastfetch on shellInit
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.home.shell.fastfetch.shellInit.args
fastfetch args when run on shellinit
Type: string
Default:
"--load-config \"examples/8.jsonc\""
Declared by:
atomazu.my-nixos.home.shell.fish.enable
Smart and user-friendly command line shell
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.fish.aliases
Additional shell aliases
Type: attribute set of string
Default:
{ }
Declared by:
atomazu.my-nixos.home.shell.fzf.enable
FZF fuzzy finder
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.fzf.defaultCommand
Default command for FZF
Type: string
Default:
"fd --type f --hidden --follow --exclude .git"
Declared by:
atomazu.my-nixos.home.shell.fzf.defaultOptions
Default options for FZF
Type: list of string
Default:
[
"--height 40%"
"--layout=reverse"
"--border"
]
Declared by:
atomazu.my-nixos.home.shell.kitty.enable
Kitty terminal emulator
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.kitty.package
Kitty package
Type: package
Default:
<derivation kitty-0.42.2>
Declared by:
atomazu.my-nixos.home.shell.sessionVariables
Additional session variables
Type: attribute set of string
Default:
{ }
Declared by:
atomazu.my-nixos.home.shell.starship.enable
Starship prompt
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.shell.starship.showNewline
Add newline before prompt
Type: boolean
Default:
false
Declared by:
atomazu.my-nixos.home.shell.zoxide.enable
Zoxide smart cd
Type: boolean
Default:
true
Declared by:
atomazu.my-nixos.home.tmux.enable
Whether to enable Tmux terminal multiplexer.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.vim.enable
Whether to enable Vi Improved.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.yazi.enable
Whether to enable Blazing Fast Terminal File Manager.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.youtube-music.enable
Whether to enable YouTube Music with opinionated defaults.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.home.youtube-music.extraSettings
Extra settings that will be recursively merged with the default configuration
Type: attribute set
Default:
{ }
Example:
{
options.startAtLogin = true;
plugins.discord.enabled = false;
plugins.notifications.urgency = "normal";
}
Declared by:
atomazu.my-nixos.home.youtube-music.themeFile
Path to custom theme CSS file. If null, uses generated stylix theme.
Type: null or absolute path
Default:
null
Example:
./themes/custom-youtube-music.css
Declared by:
atomazu.my-nixos.host.extraLocale
Additional locale for specific settings (e.g., currency, measurements)
Type: string
Default:
"en_US.UTF-8"
Declared by:
atomazu.my-nixos.host.extras.jp.enable
Whether to enable Japanese language support and input methods.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.host.extras.jp.fonts.sansSerif
Default Japanese sans-serif font
Type: attribute set
Default:
{
name = "Noto Sans CJK JP";
package = <derivation noto-fonts-cjk-sans-2.004>;
}
Declared by:
atomazu.my-nixos.host.extras.jp.fonts.serif
Default Japanese serif font
Type: attribute set
Default:
{
name = "Noto Serif CJK JP";
package = <derivation noto-fonts-cjk-serif-2.003>;
}
Declared by:
atomazu.my-nixos.host.layout
Default keyboard layout (e.g., ‘us’, ‘de’)
Type: string
Default:
"us"
Declared by:
atomazu.my-nixos.host.locale
System-wide locale and language settings
Type: string
Default:
"en_US.UTF-8"
Declared by:
atomazu.my-nixos.host.name
Hostname for the system
Type: string
Declared by:
atomazu.my-nixos.host.nh
Whether to enable nh tool for managing NixOS generations
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.host.stylix.enable
Whether to enable Stylix theming and customization
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.host.stylix.cursor
Cursor theme, package, and size
Type: attribute set
Default:
{
name = "Bibata-Modern-Classic";
package = <derivation bibata-cursors-2.0.7>;
size = 24;
}
Declared by:
atomazu.my-nixos.host.stylix.image
Path to the desktop wallpaper image
Type: absolute path
Default:
/nix/store/qv169wdw3rlzarbdl8j7zp0d8z4f6v2j-source/assets/binary.png
Declared by:
atomazu.my-nixos.host.stylix.scheme
Base16 color scheme for system-wide theming
Type: string
Default:
"/nix/store/fg9b3v45zfhc275vyw9r31b0d7f8gwwl-base16-schemes-0-unstable-2025-06-04/share/themes/catppuccin-mocha.yaml"
Declared by:
atomazu.my-nixos.host.time
System time zone (e.g., ‘Europe/Berlin’, ‘America/New_York’)
Type: string
Default:
"Europe/Berlin"
Declared by:
atomazu.my-nixos.host.user
Primary user account name
Type: string
Declared by:
atomazu.my-nixos.host.wayland
Whether to enable Wayland tweaks
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.profiles.cinnamon.enable
Whether to enable Cinnamon profile.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.gnome.enable
Whether to enable GNOME profile.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.hyprland.enable
Whether to enable Hyprland Wayland compositor.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.hyprland.hyprsunset.enable
Whether to enable Blue light filter toggle with hyprsunset.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.hyprland.hyprsunset.gamma
Gamma correction value (0-100, lower = darker)
Type: signed integer
Default:
65
Declared by:
atomazu.my-nixos.profiles.hyprland.hyprsunset.keybind
Keybinding to toggle hyprsunset
Type: string
Default:
"$mod, N"
Declared by:
atomazu.my-nixos.profiles.hyprland.hyprsunset.temperature
Color temperature in Kelvin (lower = warmer/more red)
Type: signed integer
Default:
3250
Declared by:
atomazu.my-nixos.profiles.hyprland.launcher.enable
Whether to enable Keyboard launcher integration.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.hyprland.launcher.command
Command to execute when launcher keybind is pressed
Type: string
Default:
"/nix/store/a8pbisgj2v9y29493ghxj7nk8nyhidm4-albert-0.30.0/bin/albert toggle"
Declared by:
atomazu.my-nixos.profiles.hyprland.launcher.keybind
Keybinding to open the launcher
Type: string
Default:
"$mod, R"
Declared by:
atomazu.my-nixos.profiles.hyprland.launcher.windowRules
Window rules for the launcher window
Type: list of string
Default:
[
"noborder, title:Albert"
"noblur, title:Albert"
"noshadow, title:Albert"
]
Declared by:
atomazu.my-nixos.profiles.hyprland.mod
Modifier key for keybindings (e.g., SUPER, ALT)
Type: string
Default:
"SUPER"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.enable
Whether to enable On-screen display for volume and brightness notifications.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.brightnessDown
Command to decrease brightness
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --brightness lower"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.brightnessUp
Command to increase brightness
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --brightness raise"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.micToggle
Command to toggle microphone mute
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --input-volume mute-toggle"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.volumeLower
Command to lower volume
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --output-volume lower --max-volume 100"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.volumeRaise
Command to raise volume
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --output-volume raise --max-volume 100"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.commands.volumeToggle
Command to toggle volume mute
Type: string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-client --output-volume mute-toggle"
Declared by:
atomazu.my-nixos.profiles.hyprland.osd.serverCmd
Command to start the OSD server. Set to null if no server is needed.
Type: null or string
Default:
"/nix/store/3z6hvcv825c0p7yy09zr160rj9sjcd3r-swayosd-0.2.1/bin/swayosd-server"
Declared by:
atomazu.my-nixos.profiles.hyprland.playerctl.enable
Whether to enable Media playback controls (play, pause, next, previous)
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.profiles.hyprland.polkit.enable
Whether to enable Polkit authentication agent for elevated privileges
Type: boolean
Default:
true
Example:
false
Declared by:
atomazu.my-nixos.profiles.hyprland.settings
Custom settings to override Hyprland defaults
Type: attribute set
Default:
{ }
Declared by:
atomazu.my-nixos.profiles.sway.enable
Whether to enable Sway profile.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.boot.loader.grub.enable
Whether to enable GRUB bootloader for system startup.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.boot.loader.grub.prober
Whether to enable OS detection and multi-boot menu generation.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.boot.loader.grub.res
What screen resolution Grub uses
Type: string
Default:
"auto"
Declared by:
atomazu.my-nixos.sys.boot.loader.systemd.enable
Whether to enable Systemd-boot as the system bootloader.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.boot.plymouth
Whether to enable Plymouth boot splash screen manager.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.boot.silent
Whether to enable Silent boot with suppressed kernel messages.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.displayManager.gdm.enable
Whether to enable GNOME Display Manager.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.displayManager.regreet.enable
Whether to enable A clean and customizable GTK-based greetd greeter written in Rust.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.gpu.nvidia.enable
Whether to enable Nvidia GPU support and optimizations.
Type: boolean
Default:
false
Example:
true
Declared by:
atomazu.my-nixos.sys.gpu.nvidia.beta
Whether to enable Beta Nvidia drivers with latest features.
Type: boolean
Default:
false
Example:
true
Declared by: