Skip to content

Peritia-System/Nyx-Modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nyx-Modules

Warning

This Repo moved!
Please visit: The New Repository
You can continue to use this as an Inspiration
But i recommend checking out the new Modules on my new Repo

In general Checkout:
My Repos: https://git.alovely.space/peritia
Or the Nyx Repos: https://git.alovely.space/Nyx




Welcome to Nyx-Modules!

This is my repo with all my modules, which makes it easier for me to import them into different configurations. Maybe it helps someone else too.

Modules contains all the modules:

Modules
├── Hardware
├── Home
└── System
Full tree
Modules
├── Hardware
│   ├── Bluetooth
│   │   ├── bluetooth.nix
│   │   └── default.nix
│   ├── default.nix
│   └── Surface
│       ├── custom-kernel-surfacepro-kbl.nix
│       ├── default.nix
│       └── thermal-conf.xml
├── Home
│   ├── default.nix
│   ├── GUI-Apps
│   │   ├── Browsers
│   │   │   ├── brave.nix
│   │   │   └── default.nix
│   │   ├── Communication
│   │   │   ├── default.nix
│   │   │   ├── Messaging
│   │   │   │   ├── default.nix
│   │   │   │   ├── signal-desktop.nix
│   │   │   │   └── vesktop.nix
│   │   │   └── Remote-Support
│   │   │       ├── default.nix
│   │   │       └── rustdesk.nix
│   │   ├── default.nix
│   │   ├── Development
│   │   │   ├── default.nix
│   │   │   └── vscodium.nix
│   │   ├── Gaming
│   │   │   ├── classic-game-collection.nix
│   │   │   ├── default.nix
│   │   │   └── prismlauncher.nix
│   │   ├── Multimedia
│   │   │   ├── Audio
│   │   │   │   ├── cava.nix
│   │   │   │   ├── default.nix
│   │   │   │   └── spotify.nix
│   │   │   ├── Capture
│   │   │   │   ├── camera.nix
│   │   │   │   └── default.nix
│   │   │   ├── default.nix
│   │   │   ├── Graphics
│   │   │   │   ├── default.nix
│   │   │   │   ├── image-viewer.nix
│   │   │   │   └── krita.nix
│   │   │   └── Video
│   │   │       ├── default.nix
│   │   │       ├── kdenlive.nix
│   │   │       ├── video-player.nix
│   │   │       └── zoom.nix
│   │   ├── Office
│   │   │   ├── default.nix
│   │   │   ├── Knowledge
│   │   │   │   ├── default.nix
│   │   │   │   └── obsidian.nix
│   │   │   └── Productivity
│   │   │       ├── default.nix
│   │   │       ├── libreoffice.nix
│   │   │       ├── pdf-reader.nix
│   │   │       ├── printer-scan.nix
│   │   │       └── thunderbird.nix
│   │   └── VPN
│   │       ├── default.nix
│   │       └── protonvpn.nix
│   ├── Shell
│   │   ├── cli-tools
│   │   │   ├── default.nix
│   │   │   └── tools.nix
│   │   ├── default.nix
│   │   └── zsh
│   │       ├── default.nix
│   │       └── zsh.nix
│   └── Webapps
│       ├── default.nix
│       ├── private-webapps.nix
│       └── work-webapps.nix
└── System
    ├── Application
    │   ├── cli
    │   │   ├── default.nix
    │   │   ├── docker.nix
    │   │   ├── openssh.nix
    │   │   ├── podman.nix
    │   │   ├── vm.nix
    │   │   └── zsh.nix
    │   ├── default.nix
    │   ├── Gaming
    │   │   ├── default.nix
    │   │   └── Steam
    │   │       ├── default.nix
    │   │       └── steam.nix
    │   └── Special-Applications
    │       ├── default.nix
    │       ├── flatpak.nix
    │       └── wireshark.nix
    ├── default.nix
    └── Programming-Tools
        ├── c-compiler.nix
        ├── default.nix
        ├── go.nix
        ├── lua.nix
        ├── python.nix
        └── rust.nix

Yeah… it is a lot. That is why I recommend using this mainly as a reference for your own modules. Rather than to Import it into your Config.

I’m not claiming this will be super helpful for everyone — it’s mostly a guideline for writing modules that are easy to sync across devices.


How to Use

If you decide to adapt it in your config

Adding Nyx-Modules to your Flake

{
  description = "Your Flake";

  inputs = {
    # Other inputs...
    
    # Nyx-Modules
    nyx-modules.url = "github:Peritia-System/Nyx-Modules";
    nyx-modules.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = inputs @ { nyx-modules, ... }: {
    nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
      modules = [
        nyx-modules.nixosModules.default
        ./configuration.nix
      ];
    };
  };
}

Importing in configuration.nix

imports = [
  # your other imports...

  # Nyx-Modules
  inputs.nyx-modules.nixosModules.default

  # Hardware-specific modules
  inputs.nyx-modules.nixosModules.hardware 
];

Importing in home.nix

imports = [
  inputs.nyx-modules.homeManagerModules.default
  ./desktop.nix
];

What Options are there?

Alot.
To get the full extend and use this repo fully you would best go through each file....
But that is not really viable so check: other/example this is a shortend Version of what I use for one of my Systems.

Notes

  • Again this repository is intended as a guideline and reference for building modular Nix configurations
  • Feel free to adapt any modules to your own setup
  • Modules are organized by purpose (Hardware, Home, System) to make them easy to reuse across multiple machines
  • I also love it if you are interested and want to contribute too

About

This is just for me to test and learn but maybe you learn sth too :)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages