Initial commit: Nomarchy NixOS configuration
An opinionated NixOS configuration with Hyprland, featuring: - Modular flake-based architecture - Parameterized user configuration (username, timezone, locale, etc.) - Classical/antiquity theme with Thomas Cole wallpapers - Full Hyprland setup with waybar, rofi, swaync - Custom utility scripts (screenshots, screen recording, WiFi QR) - Neovim with LSP support - Interactive installer for existing NixOS systems - ISO builder for fresh installations Flake outputs: - nixosConfigurations.example - Test configuration - nixosConfigurations.installer - ISO installer - packages.iso - Bootable ISO image - apps.default - Interactive installer - lib.mkHost - Host builder function - templates.default - Starter template Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
62
modules/home/default.nix
Normal file
62
modules/home/default.nix
Normal file
@@ -0,0 +1,62 @@
|
||||
# Home-manager configuration
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
nomarchyConfig,
|
||||
...
|
||||
}: let
|
||||
username = nomarchyConfig.username;
|
||||
homeDir = "/home/${username}";
|
||||
|
||||
# Keyboard layout formatting
|
||||
kbLayouts = builtins.concatStringsSep "," nomarchyConfig.keyboardLayouts;
|
||||
kbVariants = builtins.concatStringsSep "," nomarchyConfig.keyboardVariants;
|
||||
in {
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./waybar.nix
|
||||
./rofi.nix
|
||||
./scripts.nix
|
||||
./shell.nix
|
||||
./notifications.nix
|
||||
./neovim.nix
|
||||
];
|
||||
|
||||
home = {
|
||||
inherit username;
|
||||
homeDirectory = homeDir;
|
||||
stateVersion = "24.11";
|
||||
|
||||
packages = with pkgs; [
|
||||
# Fonts
|
||||
font-awesome
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.iosevka
|
||||
nerd-fonts.victor-mono
|
||||
nerd-fonts.fantasque-sans-mono
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.monaspace
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
PATH = "$HOME/.cargo/bin:$HOME/.local/bin:$PATH";
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# Pass keyboard config to hyprland module
|
||||
_module.args.keyboardConfig = {
|
||||
layouts = kbLayouts;
|
||||
variants = kbVariants;
|
||||
};
|
||||
|
||||
# Enable programs
|
||||
programs.nix-init.enable = true;
|
||||
programs.cmus.enable = true;
|
||||
programs.satty.enable = true;
|
||||
programs.yazi.enable = true;
|
||||
}
|
||||
Reference in New Issue
Block a user