Skip to content

snugnug/hjem-rum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hjem Rum

A module collection for managing your $HOME with Hjem.

A brief explanation

Based on the Hjem tooling, Hjem Rum (literally meaning "home rooms") is a collection of modules for various programs and services to simplify the use of Hjem for managing your $HOME files.

Hjem was initially created as an improved implementation of the home functionality that Home Manager provides. Its purpose was minimal. Hjem Rum's purpose is to create a module collection based on that tooling in order to recreate the functionality that Home Manager's large collection of modules provides, allowing you to simply install and config a program.

Setup

To start using Hjem Rum, you must first import the flake and its modules into your system(s):

# flake.nix
inputs = {
    hjem = {
        url = "github:feel-co/hjem";
        # You may want hjem to use your defined nixpkgs input to 
        # minimize redundancies
        inputs.nixpkgs.follows = "nixpkgs";
    };
    hjem-rum = {
        url = "github:the-unnamed-nug/hjem-rum";
        # You may want hjem-rum's inputs to follow your defined 
        # inputs to minimize redundancies
        inputs.nixpkgs.follows = "nixpkgs";
        inputs.hjem.follows = "hjem";
    };
};

# One example of importing the module into your system configuration
outputs = {
    self,
    nixpkgs,
    ...
} @ inputs: {
    nixosConfigurations = {
        default = nixpkgs.lib.nixosSystem {
            specialArgs = { inherit inputs; };
            modules = [
                # Whatever other modules you are importing

                # Import the flakes' modules
                inputs.hjem.nixosModules.default
                inputs.hjem-rum.nixosModules.default
            ];
        };
    };
}

Be sure to first set the necessary settings for Hjem:

# configuration.nix
hjem = {
    users.<username> = {
        enable = true;
        directory = "/home/<username>";
        user = "<username>";
    };
    # You should probably also enable clobberByDefault at least for now.
    clobberByDefault = true;  
};

You can then configure any of the options defined in this flake in any nix module:

# configuration.nix
hjem.users.<username>.rum.programs.alacritty = {
    enable = true;
    #package = pkgs.alacritty; # Default
    settings = {
        window = {
            dimensions = {
                lines = 28;
                columns = 101;
            };
            padding = {
                x = 6;
                y = 3;
            };
        };
    };
}

Contributing

Hjem Rum is certainly in need of contribution. WIP Section

Credits

Credit goes to @NotAShelf and @éclairevoyant for creating Hjem.

License

All the code within this repository is protected under the GPLv3 license unless explicitly stated otherwise within a file. Please see LICENSE for more information.

About

A module collection for hjem.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages