HNIKT-Tjenesteutvikling-Systemutvikling / NixHNIKT

NixOS Config for Java, Scala and C# dev @HNIKT
GNU General Public License v3.0
3 stars 0 forks source link

NixOS Unstable

Disclaimer: This is not a community framework or distribution. It's a private configuration and an ongoing experiment to use for Java and Scala dev. There are no guarantees that it will work out of the box for anyone. It may also change drastically and without warning.

HNIKT NixOS Configuration

HNIKT NixOS Configuration is a personalized, sophisticated system configuration for NixOS that is tailored towards Java and Scala development. It is based on the flake system, a new mechanism introduced in Nix to manage Nix projects in a more reproducible way.

It is worth noting that HNIKT is not a community framework or distribution. Instead, it's a personal, ongoing experiment and its main aim is to create a system setup that enhances productivity for Java and Scala developers.

The configuration features a plethora of tools and utilities that are often used in Java and Scala development, including (but not limited to):

Moreover, the configuration is designed to be modular, allowing the setup to be tailored to specific needs. Each module contains a particular set of tools and services that can be enabled or disabled according to the requirement. Furthermore, there are also templates for setting up development environments for several other programming languages.

It is important to note that while this configuration has been made available to the public, it remains a personal experiment, meaning it may not suit everyone's needs or work out of the box for everyone. Also, it may undergo drastic changes without prior notice. Therefore, if you wish to use this setup, please be prepared to spend some time customizing it to your needs.

Remember, while NixOS provides a high level of flexibility and power, it also requires a good understanding of how the system works. Therefore, ensure to familiarize yourself with the NixOS manual and seek help from the community if you run into any problems.

Setting Up User Configuration

Before you start the install script, you need to setup the user profile. Inn the hosts/users/default.nix you need to add the user config and then also add the expression in hosts/users/yourusername/default.nix

Look at hosts/users/testUser/default.nix for example.

How To Install

./install.sh

On an existing NixOS system

If you have setup a NixOS system with a configuration.nix file its possible to switch over to this nix config with the following commands:

nix-shell
nixos-rebuild switch --flake .#

If you have setup the userprofile, then to install just run:

./install.sh

Note: This assumes your computer name matches one of the configurations in the flake.

Installation via Media

Alternatively, you can install these configurations via the install media from the nix-install repo as follows:

Updating

After switching to this configuration, you can update your system using the following command:

nixos-rebuild switch --upgrade --flake .#

or run:

./update.sh

Understanding the Structure

The flake configuration is organized as follows:

Please consult the respective directories and files for more information.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

The GPL-3.0 License is a free, copyleft license for software and other kinds of works. This license ensures that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

Please remember to respect the terms and conditions of this license when using this project, including the requirements of compatibility, attribution and disclosing source.

For more details about this license, please visit GNU General Public License v3.0.