{"id":30169998,"url":"https://github.com/nikitasmen/nixmod","last_synced_at":"2026-05-15T21:08:14.035Z","repository":{"id":296562676,"uuid":"993511264","full_name":"nikitasmen/Nixmod","owner":"nikitasmen","description":"My nixOs configuration","archived":false,"fork":false,"pushed_at":"2025-07-31T18:52:04.000Z","size":152,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-31T21:58:47.294Z","etag":null,"topics":["config","nix","nixos","nixos-configuration","shell-scripts"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikitasmen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-30T23:26:39.000Z","updated_at":"2025-07-31T18:51:39.000Z","dependencies_parsed_at":"2025-06-15T22:25:11.314Z","dependency_job_id":"edc77ae5-5349-4031-a07f-8549d1f930fb","html_url":"https://github.com/nikitasmen/Nixmod","commit_stats":null,"previous_names":["nikitasmen/nixmod"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikitasmen/Nixmod","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitasmen%2FNixmod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitasmen%2FNixmod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitasmen%2FNixmod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitasmen%2FNixmod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikitasmen","download_url":"https://codeload.github.com/nikitasmen/Nixmod/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitasmen%2FNixmod/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269949626,"owners_count":24501998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","nix","nixos","nixos-configuration","shell-scripts"],"created_at":"2025-08-11T20:20:09.456Z","updated_at":"2026-05-15T21:08:14.028Z","avatar_url":"https://github.com/nikitasmen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NixMod - Modern NixOS Configuration with Hyprland\n\nA comprehensive NixOS desktop environment configuration centered around the Hyprland Wayland compositor, featuring modern tooling, beautiful theming, and developer-friendly utilities.\n\n[![NixOS](https://img.shields.io/badge/NixOS-Flakes-blue.svg)](https://nixos.org/)\n[![Hyprland](https://img.shields.io/badge/Hyprland-Wayland-green.svg)](https://hyprland.org/)\n[![Flakes](https://img.shields.io/badge/Nix-Flakes-orange.svg)](https://nixos.wiki/wiki/Flakes)\n\n## 📁 **Current Repository Structure**\n\nThis project is organized into separate components for better maintainability:\n\n### **🔧 nixmod-system/** - NixOS System Configuration\n- **Purpose**: System-level NixOS configuration\n- **Scope**: Packages, services, system settings, hardware configuration\n- **Target**: `/etc/nixos/` directory\n- **Management**: NixOS rebuild commands\n\n### **🎨 nixmod-dotfiles/** - User Configuration Files\n- **Purpose**: User application configurations\n- **Scope**: `.config` files, themes, application settings\n- **Target**: `~/.config/` directory\n- **Management**: Symlink-based deployment via toolkit\n\n### **🛠️ toolkit/** - Management Scripts\n- **Purpose**: Installation and maintenance utilities\n- **Scope**: Scripts for system management, configuration deployment, wallpaper management\n- **Target**: Local system management\n- **Management**: Direct script execution\n\n## 🚀 **Quick Start (Current Structure)**\n\n### **1. Install System Configuration**\n```bash\n# Clone the repository\ngit clone https://github.com/nikitasmen/Nixmod.git\ncd Nixmod\n\n# Install the system configuration\nsudo ./toolkit/nixmod.sh install\n```\n\n### **2. Install User Dotfiles**\n```bash\n# Dotfiles are now managed automatically by Home Manager. \n# Rebuild the system to apply them:\nsudo ./toolkit/nixmod.sh update\n```\nThis will automatically deploy all configurations to `~/.config` using Home Manager. No manual symlinking or `dotfiles.sh` script required.\n\n\n### **4. Hardware Configuration (New Machines)**\n`hardware-configuration.nix` and `nvidia-configuration.nix` contain machine-specific data (disk UUIDs, GPU bus IDs). When setting up a different machine, regenerate these:\n```bash\nsudo nixos-generate-config\n# Then merge or replace hardware-configuration.nix and nvidia-configuration.nix as needed\n```\n\n\n## 📚 **Documentation**\n\n- **[System Configuration](nixmod-system/README.md)** - NixOS system setup and management\n- **[User Dotfiles](nixmod-dotfiles/README.md)** - Application configurations and theming\n- **[Toolkit](toolkit/README.md)** - Management scripts and utilities\n\n## ✨ Features\n\n### 🖥️ **Desktop Environment**\n- **Hyprland**: Modern tiling Wayland compositor with custom animations and theming\n- **Waybar**: Dual-bar status system with Catppuccin Macchiato theme\n- **Dynamic Wallpapers**: Automated wallpaper rotation with hyprpaper\n- **Interactive Lock Screen**: Media controls and system information on lock screen\n- **Application Launcher**: Wofi with custom styling\n\n### 🛠️ **Development Tools**\n- **Multiple Terminals**: Kitty, Ghostty, and Alacritty with custom configurations\n- **Text Editors**: Helix editor with language server support\n- **Version Control**: Git with custom configuration\n- **Containerization**: Docker and Podman support\n- **UnixKit**: Custom utility scripts with automatic updates via flakes\n\n### 🎵 **Media \u0026 Communication**\n- **Browsers**: Firefox and Google Chrome\n- **Music**: Spotify with Spicetify theming\n- **Video**: FreeTube (YouTube alternative), Stremio\n- **Communication**: WebCord (Discord), Viber\n- **Productivity**: Logseq for note-taking\n\n### 🎨 **Customization**\n- **Themes**: Catppuccin Macchiato color scheme throughout\n- **Icons**: Custom workspace and system icons\n- **Animations**: Smooth transitions and effects\n- **Keybindings**: Intuitive keyboard shortcuts\n\n\n## 📁 **Current Project Structure**\n\n### **System Configuration (`nixmod-system/`)**\n```\nnixmod-system/\n├── README.md                     # System configuration documentation\n├── flake.nix                     # Nix flake configuration\n├── configuration.nix             # Main system configuration\n├── hardware-configuration.nix    # Hardware-specific settings\n├── nvidia-configuration.nix      # NVIDIA driver configuration\n├── unixkit.nix                   # UnixKit integration\n├── playwrightConfig.nix          # Playwright configuration\n├── modules/                      # Modular configuration components\n│   ├── desktop/                  # Desktop environment modules\n│   │   ├── hyprland.nix         # Hyprland configuration\n│   │   └── terminals.nix        # Terminal configurations\n│   ├── programs/                 # Application configurations\n│   │   ├── applications.nix     # General applications\n│   │   └── development.nix      # Development tools\n│   ├── system/                   # System-level configurations\n│   │   ├── audio.nix            # Audio system\n│   │   ├── boot.nix             # Boot configuration\n│   │   ├── fonts.nix            # Font configuration\n│   │   ├── input-remapper.nix   # Mouse/key remapping (extra buttons)\n│   │   ├── locale.nix           # Locale settings\n│   │   ├── networking.nix       # Network configuration\n│   │   └── power.nix            # Power management\n│   └── users/                    # User management\n│       └── nikmen.nix           # User configuration\n├── overlays/                     # Custom package overlays\n│   └── flameshot.nix            # Flameshot overlay\n└── README.md                     # Module documentation\n```\n\n### **User Dotfiles (`nixmod-dotfiles/`)**\n```\nnixmod-dotfiles/\n├── README.md                     # Dotfiles documentation\n├── hypr/                         # Hyprland ecosystem\n│   ├── hyprland.conf            # Main Hyprland config\n│   ├── hypridle.conf            # Idle management\n│   ├── hyprlock.conf            # Lock screen\n│   ├── hyprpaper.conf           # Wallpaper management\n│   └── last_wallpaper.txt       # Wallpaper tracking\n├── waybar/                       # Status bar\n│   ├── config                   # Main configuration\n│   ├── style.css                # Custom styling\n│   ├── macchiato.css            # Catppuccin theme\n│   └── scripts/\n│       └── exit_menu.sh         # Exit menu script\n├── kitty/                        # Kitty terminal\n│   ├── kitty.conf               # Main configuration\n│   ├── theme.conf               # Theme settings\n│   ├── splits.conf              # Split configurations\n│   └── custom-hints.py          # Custom key hints (URL/path selection)\n├── ghostty/                      # Ghostty terminal\n│   └── config                   # Terminal configuration\n├── wofi/                         # Application launcher\n│   ├── config                   # Main configuration\n│   └── style.css                # Styling\n├── wlogout/                      # Logout menu\n│   ├── layout                   # Layout configuration\n│   └── style.css                # Styling\n├── superfile/                    # File manager\n│   └── superfile/               # Superfile configuration\n│       ├── config.toml          # Main configuration\n│       ├── hotkeys.toml         # Keybindings\n│       └── theme/               # Theme collection\n├── neofetch/                     # System information\n│   ├── config.conf              # Neofetch configuration\n│   ├── asciiLogo.txt            # Custom ASCII art\n│   └── Atom.ascii               # Atom logo\n├── clipse/                       # Clipboard manager\n│   ├── config.json              # Main configuration\n│   └── custom_theme.json        # Custom theme\n└── cava/                         # Audio visualizer\n    ├── config                   # Main configuration\n    └── shaders/                 # Custom shaders\n```\n\n### **Management Toolkit (`toolkit/`)**\n```\ntoolkit/\n├── README.md                     # Toolkit documentation\n├── nixmod.sh                    # Main management script\n├── dotfiles.sh                  # Dotfiles management (install, sync, status)\n├── wallpaper.sh                 # Wallpaper management (set, random)\n├── helper.sh                    # Helper utilities\n├── add-flake.sh                 # Flake management\n└── update-unixkit.sh            # UnixKit updates\n```\n\n## 🔧 Configuration\n\n### Core Components\n\n| Component | Description | Configuration File |\n|-----------|-------------|-------------------|\n| **Hyprland** | Wayland compositor | `nixmod-dotfiles/hypr/hyprland.conf` |\n| **Waybar** | Status bar | `nixmod-dotfiles/waybar/config` |\n| **Kitty** | Terminal emulator | `nixmod-dotfiles/kitty/kitty.conf` |\n| **Wofi** | Application launcher | `nixmod-dotfiles/wofi/config` |\n| **Hyprlock** | Lock screen | `nixmod-dotfiles/hypr/hyprlock.conf` |\n\n### Customization Guide\n\n#### Changing Themes\n1. **Waybar Theme**: Edit `nixmod-dotfiles/waybar/style.css`\n2. **Hyprland Colors**: Modify `nixmod-dotfiles/hypr/hyprland.conf`\n3. **Terminal Theme**: Update `nixmod-dotfiles/kitty/theme.conf`\n\n#### Adding Applications\n1. Edit `nixmod-system/modules/programs/applications.nix`\n2. Add packages to `environment.systemPackages`\n3. Rebuild: `sudo nixos-rebuild switch --flake .#nixos`\n\n#### Keyboard Shortcuts\n- **Super + D**: Application launcher\n- **Super + Enter**: Terminal\n- **Super + Q**: Close window\n- **Super + Shift + Q**: Quit Hyprland\n- **Super + 1-9**: Switch workspaces\n- **Super + Shift + 1-9**: Move window to workspace\n\n## 🛠️ **Management Tools (Current Structure)**\n\n### **System Configuration Management**\n\n```bash\n# System configuration management\ncd nixmod-system\nsudo ../toolkit/nixmod.sh [command]\n\n# Available commands:\n# install           - Install system configuration\n# update            - Update system\n# test              - Test configuration\n# status            - Show system status\n# backup            - Create backup\n# flake-update      - Update flake inputs\n```\n\n### **User Dotfiles Management**\n\n```bash\n# Dotfiles management via toolkit\nsudo ./toolkit/nixmod.sh install-dotfiles    # Create individual symlinks for all discovered apps\nsudo ./toolkit/nixmod.sh dotfiles-status     # Check individual symlink status for all apps\nsudo ./toolkit/nixmod.sh sync-dotfiles       # Sync changes back to repository\n\n# Direct dotfiles management\n./toolkit/dotfiles.sh [command]\n\n# Available commands:\n# install [CONFIG]  - Install all or specific dotfiles\n# sync [CONFIG]     - Sync all or specific configs\n# list              - List available configurations\n# status            - Check dotfiles status\n# check             - Check for changes\n# update-paths      - Update hardcoded paths\n```\n\n### **Toolkit Utilities**\n\n```bash\n# Main management script\n./toolkit/nixmod.sh [command]\n\n# Dotfiles management\n./toolkit/dotfiles.sh [command]\n\n# Wallpaper management\n./toolkit/wallpaper.sh [command] [wallpaper-path]\n\n# Helper utilities\n./toolkit/helper.sh [command]\n\n# Flake management\n./toolkit/add-flake.sh [options]\n\n# UnixKit updates\n./toolkit/update-unixkit.sh\n```\n\n## 🔄 **Updates (Current Structure)**\n\n### **Updating System Configuration**\n\n```bash\n# Update system configuration\ncd nixmod-system\ngit pull\nsudo ../toolkit/nixmod.sh update\n\n# Or update flake inputs\nsudo ../toolkit/nixmod.sh flake-update\n```\n\n### **Updating User Dotfiles**\n\n```bash\n# Update dotfiles via toolkit (recreates individual symlinks for all discovered apps)\nsudo ./toolkit/nixmod.sh install-dotfiles\n\n# Or update directly (from repo root)\ngit pull\n./toolkit/dotfiles.sh install\n\n# Sync changes back to repository\nsudo ./toolkit/nixmod.sh sync-dotfiles\n# Or directly: ./toolkit/dotfiles.sh sync\n```\n\n### **Updating Toolkit**\n\n```bash\n# Update toolkit scripts\ncd toolkit\ngit pull\n\n# Update UnixKit\n./update-unixkit.sh\n```\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n#### Hyprland Not Starting\n```bash\n# Check logs\njournalctl --user -u hyprland\n\n# Verify Wayland session\necho $XDG_SESSION_TYPE\n```\n\n#### Configuration Not Applied\n```bash\n# Check for syntax errors\nnixos-rebuild dry-activate\n\n# Validate flake\nnix flake check\n```\n\n#### Missing Applications\n```bash\n# Rebuild with verbose output\nsudo nixos-rebuild switch --flake .#nixos --verbose\n\n# Check package availability\nnix search nixpkgs package-name\n```\n\n### Getting Help\n\n1. **Check Logs**: `journalctl -xe`\n2. **NixOS Manual**: `nixos-help`\n3. **Hyprland Wiki**: [wiki.hyprland.org](https://wiki.hyprland.org/)\n4. **Issues**: Create an issue on GitHub\n\n## 📸 Screenshots\n\n![Desktop Overview](https://github.com/user-attachments/assets/49d490d7-0cd4-4823-a911-9ca77b2f0ce0)\n\n![Application Launcher](https://github.com/user-attachments/assets/f8c25395-2a8a-4e65-a461-802c2fc422da)\n\n![Lock Screen](https://github.com/user-attachments/assets/5523ae28-f98a-4bb9-9262-dc831d20e746)\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature-name`\n3. Make your changes\n4. Test your configuration: `nixos-rebuild dry-activate`\n5. Commit your changes: `git commit -m 'Add feature'`\n6. Push to the branch: `git push origin feature-name`\n7. Submit a pull request\n\n### Development Guidelines\n\n- Follow NixOS best practices\n- Test changes before committing\n- Update documentation for new features\n- Use meaningful commit messages\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Hyprland](https://hyprland.org/) - The amazing Wayland compositor\n- [NixOS](https://nixos.org/) - The declarative Linux distribution\n- [Catppuccin](https://github.com/catppuccin/catppuccin) - Beautiful color palette\n- [UnixKit](https://github.com/nikitasmen/UnixKit) - Custom utility scripts\n\n## 📞 Support\n\n- **GitHub Issues**: [Create an issue](https://github.com/nikitasmen/Nixmod/issues)\n- **Documentation**: Check the [Wiki](https://github.com/nikitasmen/Nixmod/wiki)\n\n---\n\n**Made with ❤️ for the NixOS community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitasmen%2Fnixmod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikitasmen%2Fnixmod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitasmen%2Fnixmod/lists"}